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 コードを返します。 可能な戻り値は次のとおりです。

リターン コード 説明
STATUS_SUCCESS
操作が成功しました。 WMI データ ブロック インスタンス内の プロパティの値は、 ValueBuffer パラメーターによって指されるバッファーの内容に更新されます。
STATUS_WMI_GUID_NOT_FOUND
WMI クラスを実装するドライバーはありません。
STATUS_WMI_INSTANCE_NOT_FOUND
InstanceName プロパティが InstanceName パラメーターで指定された値と等しい WMI データ ブロックのインスタンスを実装するドライバーはありません。
STATUS_WMI_ITEMID_NOT_FOUND
WMI クラスには、 DataItemId の値と等しいデータ項目 ID を持つプロパティは含まれません。
STATUS_WMI_READ_ONLY
データ ブロック内のデータ項目 ID は読み取り専用です。
STATUS_WMI_SET_FAILURE
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

こちらもご覧ください

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance