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 パラメーターが指定する出力バッファー サイズが小さすぎる場合、ドライバーはこの場所を必要なバッファー サイズに設定します。
戻り値
EvtWmiInstanceQueryInstance コールバック関数は、OutBufferSize パラメーターの値が、出力バッファーが小さすぎてデータを受信することが示されていない場合、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 |
ヘッダー | wdfwmi.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
EvtWmiInstanceExecuteMethod の
EvtWmiInstanceSetInstance の
EvtWmiInstanceSetItem の
EvtWmiProviderFunctionControl の