次の方法で共有


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 を呼び出す必要があります。 これにより、そのイベントの表示を待機しているイベント コンシューマーが確実に存在します。

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

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL (「解説」セクションを参照)

こちらもご覧ください

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM