Función IoWMISetSingleItem (wdm.h)

La rutina IoWMISetSingleItem establece una sola propiedad en la instancia del 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 la propiedad InstanceName del 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 calificador WmiDataId 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 la propiedad InstanceName igual al valor especificado en el parámetro InstanceName .
STATUS_WMI_ITEMID_NOT_FOUND
La clase WMI no contiene una propiedad con 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.

Comentarios

IoWMISetSingleItem determina qué controladores pueden admitir la clase WMI y el nombre de instancia especificados. Emite una solicitud de IRP_MN_CHANGE_SINGLE_ITEM a cada controlador de este tipo. El controlador que exporta la instancia del bloque de datos con la propiedad InstanceName coincidente 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 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_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance