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

[in] InstanceName

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

[in] Version

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

[in] ValueBufferSize

Задает размер (в байтах) буфера, переданного в параметре ValueBuffer .

[in] ValueBuffer

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

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

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

Код возврата Описание
STATUS_SUCCESS
Операция успешно выполнена. Значения свойств экземпляра блока данных WMI обновляются до содержимого буфера, на который указывает параметр ValueBuffer .
STATUS_WMI_GUID_NOT_FOUND
Ни в каких драйверах не реализован класс WMI.
STATUS_WMI_INSTANCE_NOT_FOUND
Драйвер не реализует экземпляр класса WMI со свойством InstanceName , равным значению, указанному в параметре InstanceName .
STATUS_WMI_READ_ONLY
Все свойства класса WMI доступны только для чтения.
STATUS_WMI_SET_FAILURE
Драйвер, реализующий экземпляр блока данных WMI, не может обновить экземпляр.

Комментарии

IoWMISetSingleInstance определяет, какие драйверы могут поддерживать указанный класс WMI и имя экземпляра, и выдает IRP_MN_CHANGE_SINGLE_INSTANCE запрос к каждому из таких драйверов. Драйвер, экспортируемый экземпляр блока данных с соответствующим свойством InstanceName , обновляет свой экземпляр блока данных. Обратите внимание, что блок данных может иметь свойства только для чтения и чтения и записи. В этом случае будут обновлены только свойства чтения и записи, и возвращается STATUS_SUCCESS.

Драйверы также могут использовать подпрограмму IoWMISetSingleItem для обновления одного свойства в экземпляре класса.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях операционной системы Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

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

IRP_MN_CHANGE_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem