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
指定要設定之屬性的數據項識別碼。 此參數的值會對應至 屬性 WmiDataId 中宣告的值 限定符。
[in] Version
保留供日後使用。 呼叫端必須將此參數設定為零。
[in] ValueBufferSize
指定傳入 ValueBuffer 參數之緩衝區的大小,以位元組為單位。
[in] ValueBuffer
緩衝區的指標,其中包含 DataItemId 參數所指定之屬性的新值。
傳回值
例程會傳回NTSTATUS程式代碼。 可能的傳回值包括:
傳回碼 | 描述 |
---|---|
|
作業成功。 WMI 數據區塊實例內的 屬性值會更新為 ValueBuffer 參數所指向的緩衝區內容。 |
|
沒有驅動程式會實作 WMI 類別。 |
|
沒有驅動程式會實作 WMI 數據區塊的實例,InstanceName 屬性等於 InstanceName 參數中指定的值。 |
|
WMI 類別不包含數據項識別碼等於 DataItemId值的屬性。 |
|
數據區塊中的數據項標識碼是唯讀的。 |
|
實作 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 |