このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Microsoft Edge をダウンロードする
Internet Explorer と Microsoft Edge の詳細情報
ドライバーが他のシステム コンポーネント、ドライバー、またはアプリケーションにエクスポートする項目の新しい GUID を定義します。 たとえば、いずれかのデバイスでカスタム PnP イベントの新しい GUID を定義します。 新しい GUID を定義してエクスポートするには、次の操作を行う必要があります。
GUID のシンボリック名を選択します。
GUID の目的を表す名前を選択します。 たとえば、オペレーティング システムでは、GUID_BUS_TYPE_PCIやPARPORT_WMI_ALLOCATE_FREE_COUNTS_GUIDなどの名前が使用されます。
Uuidgen.exeまたはGuidgen.exeを使用して GUID の値を生成します。 Microsoft Windows SDKをインストールすると、Uuidgen.exeが自動的にインストールされます。 Guidgen.exeは、
Microsoft Exchange Server GUID ジェネレーター
のダウンロード ページから入手できます。
これらのユーティリティは、128 ビット値を表す一意の書式設定された文字列を生成します。 Uuidgen.exeの "-s" スイッチは、C 構造体として書式設定された GUID を出力します。
適切なヘッダー ファイルで GUID を定義します。
DEFINE_GUID
マクロ (Guiddef.h で定義) を使用して、GUID シンボリック名とその値を関連付けます (例 1 を参照)。
例 1: GUID-Only ヘッダー ファイルでの GUID の定義
DEFINE_GUID( GUID_BUS_TYPE_PCMCIA, 0x09343630L, 0xaf9f, 0x11d0,
0x92,0x9f, 0x00, 0xc0, 0x4f, 0xc3, 0x40, 0xb1 );
DEFINE_GUID( GUID_BUS_TYPE_PCI, 0xc8ebdfb0L, 0xb510, 0x11d0,
0x80,0xE9, 0x00, 0x00, 0xf8, 0x1e, 0x1b, 0x30 );
GUID 定義以外のステートメントを含むヘッダー ファイルで GUID が定義されている場合は、ヘッダー ファイルを含むドライバーで GUID がインスタンス化されるように、追加の手順を実行する必要があります。
DEFINE_GUID
ステートメントは、複数の包含を妨げる
#ifdef
ステートメントの外部で実行する必要があります。 それ以外の場合、ヘッダー ファイルがプリコンパイル済みヘッダーに含まれている場合、GUID はヘッダー ファイルを使用するドライバーではインスタンス化されません。 混合ヘッダー ファイルのサンプル GUID 定義については、例 2 を参照してください。
例 2: 混合ヘッダー・ファイルでの GUID の定義
#ifndef _NTDDSER_ // this ex. is from a serial driver .h file
#define _NTDDSER_
// Put other header file definitions here.
#endif // _NTDDSER_
#ifdef DEFINE_GUID // Do not break compiles of drivers that
// include this header but that do not
// want the GUIDs.
// Put GUID definitions outside of the multiple inclusion
// protection.
DEFINE_GUID(GUID_CLASS_COMPORT, 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c,
0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x73);
DEFINE_GUID (GUID_SERENUM_BUS_ENUMERATOR, 0x4D36E978, 0xE325,
0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18);
#endif // DEFINE_GUID
複数のインクルードを防止するステートメントの外部に GUID 定義を配置しても、GUID がEXTERN_C変数 として定義DEFINE_GUID ので、ドライバーに GUID の複数のインスタンスが発生することはありません。 型が一致する限り、EXTERN 変数の複数の宣言が許可されます。
新しい デバイス セットアップ クラスまたはデバイスインターフェイス クラスの GUID を作成する場合、次の規則が適用されます。
1 つの GUID を使用して、デバイス セットアップ クラスとデバイス インターフェイス クラスの両方を識別しないでください。
GUID に関連付けるシンボリック名を作成する場合は、次の規則を使用します。
デバイス セットアップ クラスの場合は、GUID_DEVCLASS_XXX 形式を使用します。
デバイス インターフェイス クラスの場合は、GUID_DEVINTERFACE_XXX 形式を使用します。