Compartir a través de


Función IoWMIOpenBlock (wdm.h)

La rutina IoWMIOpenBlock abre el objeto de bloque de datos WMI para la clase WMI especificada.

Sintaxis

NTSTATUS IoWMIOpenBlock(
  [in]  LPCGUID Guid,
  [in]  ULONG   DesiredAccess,
  [out] PVOID   *DataBlockObject
);

Parámetros

[in] Guid

Especifica el GUID de la clase WMI.

[in] DesiredAccess

Especifica los derechos de acceso deseados para el objeto de bloque de datos. El autor de la llamada debe tener determinados derechos de acceso para realizar determinadas operaciones.

A continuación se muestra una descripción de cada bit correcto de acceso y las operaciones que permite:

WMIGUID_EXECUTE

El objeto de bloque de datos se puede usar para ejecutar métodos de clase WMI. Esta marca debe establecerse para usar IoWMIExecuteMethod en el objeto de bloque de datos.

WMIGUID_NOTIFICATION

El objeto de bloque de datos se puede usar para registrar devoluciones de llamada de notificación de eventos. Esta marca debe establecerse para usar IoWMISetNotificationCallback y solo se puede usar para los bloques de eventos WMI. Los autores de llamadas que especifican esta marca también deben especificar la marca SYNCHRONIZE.

WMIGUID_QUERY

El objeto de bloque de datos se puede usar para consultar las propiedades de la clase WMI. Esta marca debe establecerse para usar cualquiera de las rutinas IoWMIQueryXxx en el objeto de bloque de datos.

WMIGUID_SET

El objeto de bloque de datos se puede usar para establecer propiedades de clase WMI. Esta marca debe establecerse para usar cualquiera de las rutinas IoWMISetXxx en el objeto de bloque de datos.

[out] DataBlockObject

Puntero a una ubicación de memoria donde la rutina devuelve un puntero al objeto de bloque de datos.

Valor devuelto

Devuelve STATUS_SUCCESS si se ejecuta correctamente o el código de error NTSTATUS adecuado en caso de error.

Comentarios

El llamador usa IoWMIOpenBlock para crear un objeto de bloque de datos para el GUID de clase WMI especificado. Posteriormente, el autor de la llamada puede usar el objeto de bloque de datos para leer o escribir propiedades de clase WMI, ejecutar métodos de clase WMI y registrar devoluciones de llamada para eventos WMI.

Use las rutinas IoWMIQueryXxx e IoWMISetXxx para leer y escribir propiedades de clase WMI. Use IoWMIExecuteMethod para ejecutar métodos de clase WMI y use IoWMISetNotificationCallback para registrar una devolución de llamada de notificación de eventos WMI.

Use ObDereferenceObject para cerrar el objeto de bloque de datos una vez que ya no sea necesario.

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 Ntddk.h, Ntifs.h. Los valores de WMIGUID_XXX se declaran en Wmistr.h. Para usarlos, incluya Wmistr.h).
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

IoWMIExecuteMethod

IoWMIQueryAllData

IoWMIQueryAllDataMultiple

IoWMIQuerySingleInstance

IoWMIQuerySingleInstanceMultiple

IoWMISetNotificationCallback

IoWMISetSingleInstance

IoWMISetSingleItem

ZwClose