Función IoWMISetSingleInstance (wdm.h)

La rutina IoWMISetSingleInstance establece los valores de las propiedades de la instancia de bloque de datos que coincide con el nombre de instancia y la clase WMI especificados.

Sintaxis

NTSTATUS IoWMISetSingleInstance(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           Version,
  [in] ULONG           ValueBufferSize,
  [in] PVOID           ValueBuffer
);

Parámetros

[in] DataBlockObject

Puntero a un objeto de bloque de datos WMI. El autor de la llamada abre el objeto de bloque de datos para la clase WMI con la rutina IoWMIOpenBlock . El objeto debe abrirse con el derecho de acceso WMIGUID_SET.

[in] InstanceName

Especifica el nombre de la instancia del bloque de datos. Este valor corresponde al valor de la propiedad InstanceName del bloque.

[in] Version

Reservado para uso futuro. Los autores de llamadas deben establecer este parámetro en cero.

[in] ValueBufferSize

Especifica el tamaño, en bytes, del búfer pasado en el parámetro ValueBuffer .

[in] ValueBuffer

Puntero al búfer que contiene los nuevos valores de las propiedades dentro del bloque de datos.

Valor devuelto

La rutina devuelve un código NTSTATUS. Entre los valores devueltos posibles se incluyen:

Código devuelto Descripción
STATUS_SUCCESS
La operación se realizó correctamente. Los valores de las propiedades de instancia del bloque de datos WMI se actualizan al contenido del búfer al que apunta el parámetro ValueBuffer .
STATUS_WMI_GUID_NOT_FOUND
Ningún controlador implementa la clase WMI.
STATUS_WMI_INSTANCE_NOT_FOUND
Ningún controlador implementa una instancia de la clase WMI con la propiedad InstanceName igual al valor especificado en el parámetro InstanceName .
STATUS_WMI_READ_ONLY
Todas las propiedades de la clase WMI son de solo lectura.
STATUS_WMI_SET_FAILURE
El controlador que implementa la instancia del bloque de datos WMI no puede actualizar la instancia.

Comentarios

IoWMISetSingleInstance determina qué controladores pueden admitir la clase WMI y el nombre de instancia especificados, y emite una solicitud de IRP_MN_CHANGE_SINGLE_INSTANCE a cada controlador de este tipo. El controlador que exporta la instancia del bloque de datos con la propiedad InstanceName coincidente actualiza su instancia de bloque de datos. Tenga en cuenta que un bloque de datos puede tener propiedades de solo lectura y de lectura y escritura. En este caso, solo se actualizarán las propiedades de lectura y escritura y se devolverá STATUS_SUCCESS.

Los controladores también pueden usar la rutina IoWMISetSingleItem para actualizar una sola propiedad dentro de la instancia de clase.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows XP y versiones posteriores del sistema operativo Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

IRP_MN_CHANGE_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem