共用方式為


(wdm.h) IoWMISetSingleItem 函式

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

指定要設定之屬性的數據項識別碼。 此參數的值會對應至 屬性的 WmiDataId 限定符中所宣告的值。

[in] Version

保留供未來使用。 呼叫端必須將此參數設定為零。

[in] ValueBufferSize

指定 ValueBuffer 參數中傳遞之緩衝區的大小,以位元組為單位。

[in] ValueBuffer

緩衝區的指標,其中包含 DataItemId 參數所指定之屬性的新值。

傳回值

例程會傳回NTSTATUS程式代碼。 可能的傳回值包括:

傳回碼 Description
STATUS_SUCCESS
作業成功。 WMI 數據區塊實例內的 屬性值會更新為 ValueBuffer 參數指向的緩衝區內容。
STATUS_WMI_GUID_NOT_FOUND
沒有驅動程式會實作 WMI 類別。
STATUS_WMI_INSTANCE_NOT_FOUND
沒有驅動程式會實作 WMI 數據區塊的實例,其中 InstanceName 屬性等於 InstanceName 參數中指定的值。
STATUS_WMI_ITEMID_NOT_FOUND
WMI 類別不包含數據項識別碼等於 DataItemId 值的屬性。
STATUS_WMI_READ_ONLY
數據區塊中的數據項標識碼是唯讀的。
STATUS_WMI_SET_FAILURE
實作 WMI 數據區塊實例的驅動程式無法更新 DataItemId 所指定的屬性。

備註

IoWMISetSingleItem 決定哪些驅動程式可能支援指定的 WMI 類別和實例名稱。 它會對每個這類驅動程式發出 IRP_MN_CHANGE_SINGLE_ITEM 要求。 匯出具有相符 InstanceName 屬性之數據區塊實例的驅動程式會更新數據區塊實例中指定的屬性。

驅動程式也可以使用 IoWMISetSingleInstance 同時更新WMI類別實例的每個屬性。

規格需求

需求
最低支援的用戶端 適用於 Windows XP 和更新版本的 Windows 作業系統。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance