IoWMISetSingleItem 関数 (wdm.h)
IoWMISetSingleItem ルーチンは、指定された WMI クラスとインスタンス名に一致する単一のプロパティをデータ ブロック インスタンスに設定します。
構文
NTSTATUS IoWMISetSingleItem(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in] ULONG DataItemId,
[in] ULONG Version,
[in] ULONG ValueBufferSize,
[in] PVOID ValueBuffer
);
パラメーター
[in] DataBlockObject
WMI データ ブロック オブジェクトへのポインター。 呼び出し元は、 IoWMIOpenBlock ルーチンを使用して WMI クラスのデータ ブロック オブジェクトを開きます。 オブジェクトは、WMIGUID_SETアクセス権で開く必要があります。
[in] InstanceName
データ ブロックのインスタンスの名前を指定します。 この値は、 ブロックの InstanceName プロパティの値に対応します。
[in] DataItemId
設定するプロパティのデータ項目 ID を指定します。 このパラメーターの値は、 プロパティの WmiDataId 修飾子で宣言された値に対応します。
[in] Version
将来利用するために予約されています。 呼び出し元は、このパラメーターを 0 に設定する必要があります。
[in] ValueBufferSize
ValueBuffer パラメーターで渡されるバッファーのサイズをバイト単位で指定します。
[in] ValueBuffer
DataItemId パラメーターで指定されたプロパティの新しい値を含むバッファーへのポインター。
戻り値
ルーチンは NTSTATUS コードを返します。 可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
操作が成功しました。 WMI データ ブロック インスタンス内の プロパティの値は、 ValueBuffer パラメーターによって指されるバッファーの内容に更新されます。 |
|
WMI クラスを実装するドライバーはありません。 |
|
InstanceName プロパティが InstanceName パラメーターで指定された値と等しい WMI データ ブロックのインスタンスを実装するドライバーはありません。 |
|
WMI クラスには、 DataItemId の値と等しいデータ項目 ID を持つプロパティは含まれません。 |
|
データ ブロック内のデータ項目 ID は読み取り専用です。 |
|
WMI データ ブロック インスタンスを実装するドライバーは、 DataItemId で指定されたプロパティを更新できません。 |
注釈
IoWMISetSingleItem は、指定された WMI クラスとインスタンス名をサポートするドライバーを決定します。 このような各ドライバーに IRP_MN_CHANGE_SINGLE_ITEM 要求を発行します。 一致する InstanceName プロパティを持つデータ ブロック インスタンスをエクスポートするドライバーは、データ ブロック インスタンス内の指定されたプロパティを更新します。
ドライバーは 、IoWMISetSingleInstance を使用して、WMI クラス インスタンスのすべてのプロパティを同時に更新することもできます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |