Функция 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. Вызывающий объект открывает объект блока данных для класса WMI с помощью процедуры IoWMIOpenBlock . Объект должен быть открыт с правом доступа WMIGUID_SET.

[in] InstanceName

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

[in] DataItemId

Указывает идентификатор элемента данных для задаемого свойства. Значение этого параметра соответствует значению, объявленному в квалификаторе 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 (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также раздел

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance