次の方法で共有


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 オペレーティング システムで使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance