次の方法で共有


IoWMIWriteEvent 関数 (wdm.h)

IoWMIWriteEvent ルーチンは、通知のために特定のイベントをユーザー モード WMI コンポーネントに配信します。

構文

NTSTATUS IoWMIWriteEvent(
  [in, out] PVOID WnodeEventItem
);

パラメーター

[in, out] WnodeEventItem

イベントの通知を要求したユーザー モード WMI コンポーネントに配信される WNODE_EVENT_ITEM 構造体へのポインター。

戻り値

IoWMIWriteEvent は、次の一覧から状態コードを返します。

リターン コード 形容
STATUS_SUCCESS
WMI がユーザー モード WMI コンポーネントに配信するためにイベントを正常にキューに入れたことを示します。
STATUS_UNSUCCESSFUL
WMI サービスが使用できないことを示します。
STATUS_BUFFER_OVERFLOW
指定されたイベント項目が最大許容サイズを超えていることを示します。
STATUS_INSUFFICIENT_RESOURCES
WMI が配信のためにイベントをキューに登録するために十分なリソースが使用されなかったことを示します。

備考

呼び出し元によって割り当てられ、WnodeEventItem で渡されるWNODE_EVENT_ITEM構造体は、非ページ プールから割り当てる必要があります。 IoWMIWriteEvent STATUS_SUCCESSが返された場合、イベント項目のメモリはシステムによって自動的に解放されます。 IoWMIWriteEvent STATUS_SUCCESS以外のものを返す場合、バッファーを解放するのは呼び出し元の責任です。

ドライバーは、WMI 有効になっているイベントの IoWMIWriteEvent のみを呼び出す必要があります。 これにより、そのイベントの表示を待機しているイベント コンシューマーが存在することが保証されます。

このルーチンの呼び出し元は、IRQL <= APC_LEVELで実行する必要があります。ただし、1 つの例外があります。 WNODE_HEADER 構造体の Flags メンバーにWNODE_FLAG_TRACED_GUIDが含まれている場合は、任意の IRQL で IoWMIWriteEvent 呼び出すことができます。 (WNODE_HEADER 構造体は、WnodeEventItem パラメーターが指す WNODE_EVENT_ITEM 構造体のメンバーです)。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (「解説」セクションを参照)

関連項目

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM