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


Функция 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 (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

IRP_MN_CHANGE_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem