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
保留供未來使用。 呼叫端必須將此參數設定為零。
[in] ValueBufferSize
指定 在 ValueBuffer 參數中傳遞之緩衝區的大小,以位元組為單位。
[in] ValueBuffer
緩衝區的指標,其中包含數據區塊內屬性的新值。
傳回值
例程會傳回NTSTATUS程式代碼。 可能的傳回值包括:
傳回碼 | Description |
---|---|
|
作業成功。 WMI 數據區塊實例屬性的值會更新為 ValueBuffer 參數所指向的緩衝區內容。 |
|
沒有驅動程式會實作 WMI 類別。 |
|
沒有驅動程式會實作 WMI 類別的實例, 其 InstanceName 屬性等於 InstanceName 參數中指定的值。 |
|
WMI 類別的所有屬性都是唯讀的。 |
|
實作 WMI 數據區塊實例的驅動程式無法更新實例。 |
備註
IoWMISetSingleInstance 會決定哪些驅動程式可能支援指定的 WMI 類別和實例名稱,並發出每個這類驅動程式 的IRP_MN_CHANGE_SINGLE_INSTANCE 要求。 匯出具有相符 InstanceName 屬性之數據區塊實例的驅動程式會更新其數據區塊實例。 請注意,數據區塊可能同時具有唯讀和讀取/寫入屬性。 在此情況下,只會更新讀取/寫入屬性,並傳回STATUS_SUCCESS。
驅動程式也可以使用 IoWMISetSingleItem 例程來更新類別實例內的單一屬性。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows XP 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |