次の方法で共有


ドライバー コードに GUID を含める

カーネル モード ドライバーで GUID を使用するには、以下の 2 つの操作を行う必要があります。

  1. DEFINE_GUID マクロを再定義する Initguid.h ヘッダー ファイルを含めます。

    Initguid.h ヘッダー ファイルは、(EXTERN 参照の宣言だけではなく) DEFINE_GUID マクロを再定義して GUID をインスタンス化します。 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

...

上記のステートメントをドライバーの 1 つのモジュールに配置します。通常はメイン モジュールです。 上記のステートメントが存在する場合、ドライバーはシンボリック名を使用して GUID を参照します。