WMIGUIDREGINFO 構造体 (wmilib.h)
WMIGUIDREGINFO 構造体には、WMI ライブラリサポート ルーチンを使用するドライバーによって公開される特定のデータ ブロックまたはイベント ブロックの登録情報が含まれています。
構文
typedef struct _WMIGUIDREGINFO {
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
} WMIGUIDREGINFO, *PWMIGUIDREGINFO;
メンバーズ
Guid
ブロックを識別する GUID へのポインター。 GUID を含むメモリは、WmiFireEvent 呼び出すためにも使用されない限り、ページングできます。
InstanceCount
ブロックに対して定義されているインスタンスの数を指定します。
Flags
ブロックの特性を示すフラグ ビット。 これらのフラグ ビットは、Wmistr.h ヘッダー ファイルで定義されます。 WMI Flags パラメーター値は、ドライバーによって登録されているすべてのデータ ブロックとイベント ブロックに適用される、DpWmiQueryReginfo ルーチンの RegFlags パラメーターでドライバーによって設定されたフラグ ビットを持ちます。 したがって、フラグ は、特定のブロックのドライバーの既定の設定を補完します。
ドライバーは、フラグで次のフラグ ビットを設定する場合があります。
WMIREG_FLAG_INSTANCE_PDO
PDO のデバイス インスタンス ID から静的インスタンス名を生成するように WMI に要求します。 このフラグが設定されている場合、ドライバーの DpWmiQueryReginfo ルーチンの Pdo パラメーターは、ドライバーの AddDevice ルーチンに渡された PDO を指します。 WMI は、PDO のデバイス インスタンス パスからインスタンス名を生成します。 静的インスタンス名のベースとしてデバイス インスタンス パスを使用すると、このような名前が一意であることが保証されるため、効率的です。 WMI は、データ コンシューマーが照会できるデータ ブロック内の項目として、インスタンスの "フレンドリ" 名を自動的に指定します。
ドライバーは、次のフラグ ビットの 1 つ以上を設定することもできます。
WMIREG_FLAG_EVENT_ONLY_GUID
ブロックはイベントとしてのみ有効または無効にすることができ、クエリや設定はできません。 このフラグがクリアされている場合は、ブロックを照会または設定することもできます。
WMIREG_FLAG_EXPENSIVE
データ コンシューマーがデータ ブロックを初めて開いたときに、IRP_MN_ENABLE_COLLECTION 要求を送信するように WMI に要求し、最後のデータ コンシューマーがデータ ブロックを閉じたときに IRP_MN_DISABLE_COLLECTION 要求を要求します。 このようなデータの収集がパフォーマンスに影響を与える場合は、データ コンシューマーがブロックを開いて明示的に要求するまで、ドライバーがデータを収集する必要がないため、この方法をお勧めします。
WMIREG_FLAG_REMOVE_GUID
このブロックのサポートを削除するように WMI に要求します。 このフラグは、登録情報を更新する要求 (IRP_MN_REGINFO または Parameters.WMI.DataPath WMIUPDATE に設定された IRP_MN_REGINFO_EX) への応答でのみ有効です。
備考
WMI ライブラリサポート ルーチンを呼び出して WMI IRP を処理するドライバーは、登録するデータ ブロックとイベント ブロックごとに 1 つずつ、WMIGUIDREGINFO 構造体の配列を構築します。 ドライバーは、GuidListWMILIB_CONTEXT 構造体のメンバーを、シリーズの最初の WMIGUIDREGINFO を指すように設定します。
この構造体のメモリは、ページング されたプールから割り当てることができます。
必要条件
要件 | 価値 |
---|---|
ヘッダー | wmilib.h (Wmilib.h を含む) |
関連項目
DpWmiQueryReginfo を する
WmiFireEvent の