Compartir a través de


Función IoWMISetSingleInstance (wdm.h)

La rutina IoWMISetSingleInstance establece los valores de las propiedades dentro 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 propiedad InstanceName para el 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 posibles valores devueltos 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 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.

Observaciones

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 InstanceName coincidente propiedad 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 Valor
cliente mínimo admitido Disponible en Windows XP y versiones posteriores del sistema operativo Windows.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

IRP_MN_CHANGE_SINGLE_INSTANCE

ioWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem