在驱动程序代码中包含 GUID

若要在内核模式驱动程序中使用 GUID,必须执行两项操作:

  1. 包括重新定义 DEFINE_GUID 宏的 Initguid.h 头文件。

    Initguid.h 头文件重新定义 DEFINE_GUID 宏以实例化 GUID (,而不是仅声明 EXTERN 引用) 。 将此头文件包含在应实例化 GUID 的驱动程序源文件中。 (用户模式应用程序在包含包含 GUID 定义的头文件之前包括 Objbase.h。)

  2. 包括用于定义 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。