次の方法で共有


WNODE_EVENT_ITEM構造体 (wmistr.h)

WNODE_EVENT_ITEM 構造体には、イベントのドライバーによって生成されたデータが含まれています。

構文

typedef struct tagWNODE_EVENT_ITEM {
  struct _WNODE_HEADER WnodeHeader;
} WNODE_EVENT_ITEM, *PWNODE_EVENT_ITEM;

メンバーズ

WnodeHeader

バッファー サイズ、要求に関連付けられたデータ ブロックを表す GUID、渡されるか返されるデータ WNODE_XXX に関する情報を提供するフラグなど、すべての WNODE_XXX 構造体に共通する情報を含む WNODE_HEADER 構造体を指定します。

備考

WNODE_EVENT_ITEM 構造体の WnodeHeader メンバーの後に、WnodeHeader で設定されているフラグに依存する型構造体が続きます。 可能性は、WNODE_ALL_DATAWNODE_SINGLE_INSTANCE、および WNODE_SINGLE_ITEMが含まれます。 フラグの詳細については、WNODE_HEADERを参照してください。

WNODE_EVENT_ITEM 構造体で使用する WNODE_HEADER 構造体の ProviderId メンバーは、IoWMIDeviceObjectToProviderIdを使用して初期化する必要があります。

ドライバーは、IRP_MN_ENABLE_EVENTS 要求に応答して以前に有効にしたイベントのみを生成します。 イベントを生成するために、ドライバーは IoWMIWriteEvent 呼び出し、WNODE_EVENT_ITEMへのポインターを渡します。 WMI は、そのイベントに登録されているすべてのデータ コンシューマーに配信するためにイベントをキューに入れます。

パフォーマンスを最大限に高めるには、イベントのサイズを小さくする必要があります。 ただし、イベントのデータ量がレジストリで定義されている最大サイズを超える場合、ドライバーは、WMI が関連する WNODE_EVENT_ITEMのクエリに使用する WNODE_EVENT_REFERENCEを渡すことができます。 WMI イベントの定義と生成の詳細については、「Windows Management Instrumentation」を参照してください。

必要条件

要件 価値
ヘッダー wmistr.h (Wmistr.h を含む)

関連項目

IRP_MN_ENABLE_EVENTS

IoWMIDeviceObjectToProviderId

IoWMIWriteEvent

WNODE_ALL_DATA

WNODE_EVENT_REFERENCE

WNODE_HEADER

WNODE_SINGLE_INSTANCE

WNODE_SINGLE_ITEM