Compartir a través de


Función IoWMISetSingleItem (wdm.h)

La rutina IoWMISetSingleItem establece una sola propiedad en la instancia de bloque de datos que coincide con el nombre de instancia y la clase WMI especificados.

Sintaxis

NTSTATUS IoWMISetSingleItem(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           DataItemId,
  [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] DataItemId

Especifica el identificador del elemento de datos para la propiedad que se va a establecer. El valor de este parámetro corresponde al valor declarado en el WmiDataId calificador para la propiedad .

[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 el nuevo valor de la propiedad especificada por el parámetro DataItemId.

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. El valor de la propiedad dentro de la instancia del bloque de datos WMI se actualiza 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 del bloque de datos WMI con propiedad InstanceName igual al valor especificado en el parámetro InstanceName.
STATUS_WMI_ITEMID_NOT_FOUND
La clase WMI no contiene una propiedad con el identificador de elemento de datos igual al valor de DataItemId.
STATUS_WMI_READ_ONLY
El identificador del elemento de datos del bloque de datos es de solo lectura.
STATUS_WMI_SET_FAILURE
El controlador que implementa la instancia del bloque de datos WMI no puede actualizar la propiedad especificada por DataItemId.

Observaciones

ioWMISetSingleItem determina qué controladores pueden admitir la clase WMI y el nombre de instancia especificados. Emite una solicitud IRP_MN_CHANGE_SINGLE_ITEM a cada controlador de este tipo. El controlador que exporta la instancia del bloque de datos con InstanceName coincidente propiedad actualiza la propiedad especificada en la instancia del bloque de datos.

Los controladores también pueden usar ioWMISetSingleInstance para actualizar cada propiedad de la instancia de clase WMI simultáneamente.

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_ITEM

ioWMIOpenBlock

IoWMIQuerySingleInstance

ioWMISetSingleInstance