EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE コールバック関数 (wdfwmi.h)
[KMDF にのみ適用]
ドライバーの EvtWmiInstanceQueryInstance コールバック関数は、WMI プロバイダーのインスタンス データを WMI クライアントに配信するためのバッファーにコピーします。
構文
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;
NTSTATUS EvtWdfWmiInstanceQueryInstance(
[in] WDFWMIINSTANCE WmiInstance,
[in] ULONG OutBufferSize,
[in] PVOID OutBuffer,
[out] PULONG BufferUsed
)
{...}
パラメーター
[in] WmiInstance
WMI インスタンス オブジェクトへのハンドル。
[in] OutBufferSize
OutBuffer が指す出力バッファーのサイズ (バイト単位)。
[in] OutBuffer
出力バッファーへのポインター。
[out] BufferUsed
ドライバーが出力バッファーに配置するバイト数を受け取る場所へのポインター。 OutBufferSize パラメーターが指定する出力バッファー サイズが小さすぎる場合、ドライバーはこの場所を必要なバッファー サイズに設定します。
戻り値
OutBufferSize パラメーターの値がデータを受信するには出力バッファーが小さすぎることを示している場合、EvtWmiInstanceQueryInstance コールバック関数はSTATUS_BUFFER_TOO_SMALLを返す必要があります。 それ以外の場合、コールバック関数はデータをバッファーにコピーし、STATUS_SUCCESSを返す必要があります。
注釈
EvtWmiInstanceQueryInstance コールバック関数を登録するには、WdfWmiInstanceCreate を呼び出す前に、ドライバーが関数のアドレスを WDF_WMI_INSTANCE_CONFIG 構造体に配置する必要があります。
フレームワークは、ドライバーが指定したインスタンス データを WMI クライアントに送信する前に、必要なすべての WMI ヘッダー情報をデータに追加します。
ドライバーが WMI インスタンス オブジェクトのWDF_WMI_INSTANCE_CONFIG構造体の UseContextForQuery メンバーを読み取り専用データ ブロックの TRUE に設定した場合、ドライバーは EvtWmiInstanceQueryInstance コールバック関数を提供しません。
ドライバーが WMI クライアントに文字列データを提供する必要がある場合、ドライバーは WDF_WMI_BUFFER_APPEND_STRING 関数を呼び出して文字列を書式設定する必要があります。
EvtWmiInstanceQueryInstance コールバック関数の詳細については、「読み取り/書き込み WMI データ ブロックのサポート」および「Read-Only WMI データ ブロックのサポート」を参照してください。
フレームワークは、ドライバーの WMI イベント コールバック関数の呼び出しを相互に、またはドライバーの他のイベント コールバック関数と同期しません。 EvtWmiInstanceQueryInstance コールバック関数のデータが動的で、他のコールバック関数と共有されている場合、ドライバーはフレームワークの待機ロックまたはスピン ロックを使用してデータへのアクセスを同期できます。
WMI の詳細については、「 Framework-Based ドライバーでの WMI のサポート」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfwmi.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |