IoWMIExecuteMethod 関数 (wdm.h)
IoWMIExecuteMethod ルーチンは、指定された WMI データ ブロック インスタンスに対して WMI クラス メソッドを実行します。
構文
NTSTATUS IoWMIExecuteMethod(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in, out] PULONG OutBufferSize,
[in, out] PUCHAR InOutBuffer
);
パラメーター
[in] DataBlockObject
WMI データ ブロック オブジェクトへのポインター。 呼び出し元は、IoWMIOpenBlockを使用して WMI クラスのデータ ブロック オブジェクトを開きます。 オブジェクトは、WMIGUID_EXECUTEアクセス権で開く必要があります。
[in] InstanceName
データ ブロックのインスタンスの名前を指定します。 この値は、ブロックの InstanceName プロパティの値に対応します。
[in] MethodId
設定するメソッドのメソッド項目 ID を指定します。 このパラメーターの値は、メソッドの WmiMethodId 修飾子で宣言された値に対応します。
[in] InBufferSize
メソッドの入力データのサイズをバイト単位で指定します。 実際の入力データは、InOutBuffer パラメーターが指すバッファーに渡されます。
[in, out] OutBufferSize
メソッドによって出力されるデータの予想されるサイズ (バイト) を指定する ULONG へのポインター。 実際の出力データは、InOutBuffer パラメーターが指すバッファーで返されます。 ルーチンが成功した場合、メモリの場所を更新して、inOutBuffer に実際に格納されているバイト数指定します。 ルーチンがSTATUS_BUFFER_TOO_SMALLで失敗した場合、データを返すために必要なバイト数が返されます。
[in, out] InOutBuffer
呼び出し元が WMI メソッドの入力データを渡し、WMI メソッドの出力データを受け取るバッファーへのポインター。
戻り値
このルーチンは NTSTATUS コードを返します。 可能な戻り値は次のとおりです。
リターン コード | 形容 |
---|---|
|
操作は成功しました。 このルーチンは、InOutBuffer パラメーターが指すバッファー内の WMI データを返します。 また、このルーチンは、OutBufferSize パラメーターが指すメモリ位置で返されたデータのサイズをバイト単位で返します。 |
|
WMI クラスを実装するドライバーはありません。 |
|
InstanceName パラメーターで指定された値と等しい InstanceName プロパティを持つ WMI クラスのインスタンスを実装するドライバーはありません。 |
|
WMI クラスには、メソッド ID が MethodId の値と等しいメソッド含まれていません。 |
|
OutBuffer パラメーターで呼び出し元によって渡されるバッファーが小さすぎます。 このルーチンは、InOutBufferSize パラメーターが指すメモリ位置に必要なバッファー サイズを返します。 |
|
WMI GUID は使用できなくなったか、使用できませんでした。 |
備考
IoWMIExecuteMethod 、指定した WMI クラスとインスタンス名をサポートするドライバーを決定します。 各ドライバーに IRP_MN_EXECUTE_METHOD 要求を発行します。 一致する InstanceName プロパティを持つデータ ブロック インスタンスをエクスポートするドライバーは、指定された WMI メソッドを実行します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
関連項目
IoWMIOpenBlock の