第一卷,第 7 期 by Stuart on 2005-11-27 translated by samuel1991 on 2010-02-13
欢迎到 ReactOS 时事通讯周刊- 第 7 期,犹如耶和华见证地锲而不舍的精神。这个星期,我将探讨关于 ReactOS 开发者所使用的 NDK,涵盖 WINE 0.9.2,以及详细说明最近的 SVN 活动。
top NDK:它做什么,而且为什么是必要的
"NDK 是设计来做什么?",好的我听到您的疑问。额,首先上一点历史课。 NDK 是 Native Development Kit 的缩写(翻译为:“原生开发包”),并且是 Alex Ionescu 的作品,以便允许 Windows 和 ReactOS 开发者有相同的访问到大量未记载的内核以及原生结构和函数的原型。
NDK 提供统一标题套件以便开发:
那些使用原生函数的用户模式应用程序(包括使用 windows.h 文件和用户模式NDK)
原生应用程序(包括用户模式 NDK)
那些内核模式驱动程序使用未记载的内核函数(包括 DDK – 设备开发包和、或 IFS 以及内核模式的 NDK)
top 以下的东西应该进入 NDK:
那些在 DDK 里未记载的内核模式 API(应用程序编程界面)函数原型或者类型或者是在 DDK,IFS 或者 Windows 标题里未记载的 IFS 原生 (RTL, DBG, PFX, NT/ZW) API 函数原型或者类型。
top 以下的东西不应该进入 NDK:
在 NDK 已经记载的信息除非它可以从用户模式里访问(从而不包括 DDK 或 IFS)
原生 ReactOS 特定的信息。
私有 ReactOS 函数或者类型。
用户模式未记载的函数(比如 shell32,等)。可是,如果该函数是在 NTDLL 之内,您就必须添加它到 'umfuncs.h.'。
top NDK 是如何授权?
它的授权是以下三个之一,取决于情况而定:
GPL 和 LGPL 可以被任何与 GPL/LGPL 兼容的工程所使用,取决于哪一个比较容易使用。这个 "NDK 授权" 表示当牵涉到一份封闭代源码软件时所应该使用的授权于 NDK 。
完整详细的解释 NDK 可以在这里找到(英文) 。截止此时我在打字的时候,NDK 的第一测试版已经在主干了,并且一个公共的 1.0 发布能在这个星期内完成。
top 放眼看 SVN:这个礼拜对 ReactOS 的改进
top 编译:
Advapi32
Cmd
Gdiplus
Kernel32
Msconfigv
Ntoskrnl
SMSS
Taskmgr
USetup
Win32k
top Makefile:
自动检测 MSYS
检查 GNU Make 3.80+,在找到 3.7x 或更低的版本时会警告
top 杂项:
SinVerifier 已经添加到持续集合系统 (Continuous Integration System)(我会在第 8 期详细探讨)
现在墙纸在重新启动后仍然保留。
top 注册表编辑器:
收藏菜单现在会出现收藏(尽管它们目前仍然被禁用)
上下文菜单的树状视图有了改进
已实现导出
已添加“权限”的占位符
支持添加可扩展字串符和多重字串符的数值
已实现能够选择当前收藏的功能
已创建添加收藏,移除收藏和查找对话框的对话框资源
局部实现查找、查找下一个
top 即插即用、设备管理器:
识别 PNP0000 设备
现在能够显示设备制造商和位置
初步实现硬件页面
简化显示高级设备属性
已添加一般设备信息页面
已添加Math Co=Processor PNP ID
已添加其他不需要驱动程序的硬件ID(编号)
top VBE:
我们现在会检测坏图形的 BIOSes。有些显示卡会报告为 VBE 2.0 然而它们却是 VBE 1.2。这会发生当制造商使用错误的版本,并且并没有设置 OemVendoerPtr。当这样的情况发生时,显示卡是使用 VBE 1.2
top 不支持的供应商
Avifil32 (WINE)
WINE 0.9.2
WMC
top 已实现
top 设备管理器:
DeviceAdvancedPropertiesA/W
top MMDRV:
SoundGetData
SoundSetData
ThreadCallWaveDevice
WaveOpen
WaveThreadGetData
WaveThreadSetData
WaveThreadSetState
局部实现 WDMAUD.DRV
top MSVCRT:
top NDIS:
IRP_MN_QUERY_DEVICE_RELATIONS
top KERNEL32:
CreateActCtxA
FindActCtxSectionStringA
top SETUPAPI:
SetupDiGetClassDevPropertySheetsW(多数)
SetupDiGetDeviceInstanceIdA
SetupDiGetDeviceInstanceIdW
top 已添加的扎根:
SetupDiGetClassDevPropertySheetsA/W
SetupDiGetDeviceInstanceIdA/W
SetupDiLoadClassIcon
HalAllocateCrashDumpRegisters
WaveThread
Wow64DisableWow64FsRedirection
Wow64RevertWow64FsRedirection
top 已添加到引导光盘¬:
d3d8thk.dll
devmgr.dll
dplay.dll
dplayx.dll
top WINE 0.9.2
WINE 0.9.2 现已发布,并且这些修正包含:
Winelib 资源管理器应用程序(目前只是围绕 winefile 的包装)。
清理和改善调试器。
许多 wininet 的修正。
更好地自动生成API 说明页面。
一堆朝鲜语的翻译。
很多错误修正
top 下周有什么事情?
现在,这就是您身为读者可以加入。是的,也包括开发者们。我想要在下周建议一个 涵盖 ReactOS 特色的部分。它可以是即插即用,USB,等,只要有原因。谁知道,您也可以提议一些东西,并且在下个时事通讯里看到您的姓名被提起。;-)
直到下一周.. 祝您编译快乐!
Stuart "TwoTailedFox" Robbins
ReactOS 时事通讯周刊编辑人
top