Прочитать на английском

Поделиться через


Функция IoWMISetSingleItem (wdm.h)

Подпрограмма IoWMISetSingleItem задает одно свойство в экземпляре блока данных, которое соответствует указанному классу WMI и имени экземпляра.

Синтаксис

C++
NTSTATUS IoWMISetSingleItem(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           DataItemId,
  [in] ULONG           Version,
  [in] ULONG           ValueBufferSize,
  [in] PVOID           ValueBuffer
);

Параметры

[in] DataBlockObject

Указатель на объект блока данных WMI. Вызывающий объект открывает объект блока данных для класса WMI с помощью подпрограммы IoWMIOpenBlock. Объект должен быть открыт с помощью права доступа WMIGUID_SET.

[in] InstanceName

Указывает имя экземпляра блока данных. Это значение соответствует значению свойства InstanceName для блока.

[in] DataItemId

Указывает идентификатор элемента данных для заданного свойства. Значение этого параметра соответствует значению, объявленному в квалификаторе WmiDataId WmiDataId для свойства.

[in] Version

Зарезервировано для дальнейшего использования. Вызывающие элементы должны задать для этого параметра значение нулю.

[in] ValueBufferSize

Задает размер буфера, передаваемого в параметре ValueBuffer.

[in] ValueBuffer

Указатель на буфер, содержащий новое значение для свойства, указанного параметром DataItemId.

Возвращаемое значение

Подпрограмма возвращает код NTSTATUS. Возможные возвращаемые значения:

Возвращаемый код Описание
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.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance