在驱动程序代码中包含 GUID
若要在内核模式驱动程序中使用 GUID,必须执行两项操作:
包括重新定义 DEFINE_GUID 宏的 Initguid.h 头文件。
Initguid.h 头文件重新定义 DEFINE_GUID 宏以实例化 GUID (,而不是仅声明 EXTERN 引用) 。 将此头文件包含在应实例化 GUID 的驱动程序源文件中。 (用户模式应用程序在包含包含 GUID 定义的头文件之前包括 Objbase.h。)
包括用于定义 GUID 的头文件 () 。
在包含 Initguid.h 的语句之后,包括包含 GUID 定义的头文件。 驱动程序可能包含多个包含 GUID 定义的头文件,包括系统提供的头文件和第三方头文件。
以下代码摘录显示了用于包括 GUID 的语句序列:
:
// include system headers here such as wdm.h
#include <initguid.h>
// include system and driver-specific header files here that contain
// GUID definitions
...
将上述语句放在驱动程序的一个模块中;通常是main模块。 如果存在上述语句,则驱动程序使用其符号名称引用 GUID。