次の方法で共有


IoWMISetSingleInstance 関数 (wdm.h)

IoWMISetSingleInstance ルーチンは、指定された WMI クラスとインスタンス名に一致するデータ ブロック インスタンス内のプロパティの値を設定します。

構文

NTSTATUS IoWMISetSingleInstance(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           Version,
  [in] ULONG           ValueBufferSize,
  [in] PVOID           ValueBuffer
);

パラメーター

[in] DataBlockObject

WMI データ ブロック オブジェクトへのポインター。 呼び出し元は、IoWMIOpenBlock ルーチンを使用して WMI クラスのデータ ブロック オブジェクトを開きます。 オブジェクトは、WMIGUID_SETアクセス権で開く必要があります。

[in] InstanceName

データ ブロックのインスタンスの名前を指定します。 この値は、ブロックの InstanceName プロパティの値に対応します。

[in] Version

将来の使用のために予約されています。 呼び出し元は、このパラメーターを 0 に設定する必要があります。

[in] ValueBufferSize

ValueBuffer パラメーターで渡されるバッファーのサイズをバイト単位で指定します。

[in] ValueBuffer

データ ブロック内のプロパティの新しい値を格納しているバッファーへのポインター。

戻り値

このルーチンは NTSTATUS コードを返します。 可能な戻り値は次のとおりです。

リターン コード 形容
STATUS_SUCCESS
操作は成功しました。 WMI データ ブロック インスタンス プロパティの値は、ValueBuffer パラメーターによって指されるバッファーの内容に更新されます。
STATUS_WMI_GUID_NOT_FOUND
WMI クラスを実装するドライバーはありません。
STATUS_WMI_INSTANCE_NOT_FOUND
InstanceName パラメーターで指定された値と等しい InstanceName プロパティを持つ WMI クラスのインスタンスを実装するドライバーはありません。
STATUS_WMI_READ_ONLY
WMI クラスのすべてのプロパティは読み取り専用です。
STATUS_WMI_SET_FAILURE
WMI データ ブロック インスタンスを実装するドライバーは、インスタンスを更新できません。

備考

IoWMISetSingleInstance 、指定した WMI クラスとインスタンス名をサポートする可能性があるドライバーを決定し、そのようなドライバーごとに IRP_MN_CHANGE_SINGLE_INSTANCE 要求を発行します。 InstanceName プロパティに一致するデータ ブロック インスタンス エクスポートするドライバーは、そのデータ ブロック インスタンスを更新します。 データ ブロックには、読み取り専用プロパティと読み取り/書き込みプロパティの両方が含まれる場合があることに注意してください。 この場合、読み取り/書き込みプロパティのみが更新され、STATUS_SUCCESSが返されます。

ドライバーは、IoWMISetSingleItem ルーチンを使用して、クラス インスタンス内の 1 つのプロパティを更新することもできます。

必要条件

要件 価値
サポートされる最小クライアント Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

IRP_MN_CHANGE_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem