Estructura WMIGUIDREGINFO (wmilib.h)

La estructura WMIGUIDREGINFO contiene información de registro para un bloque de datos o bloque de eventos determinado expuesto por un controlador que usa las rutinas de compatibilidad de la biblioteca WMI.

Sintaxis

typedef struct _WMIGUIDREGINFO {
  LPCGUID Guid;
  ULONG   InstanceCount;
  ULONG   Flags;
} WMIGUIDREGINFO, *PWMIGUIDREGINFO;

Miembros

Guid

Puntero al GUID que identifica el bloque. La memoria que contiene el GUID se puede paginar a menos que también se use para llamar a WmiFireEvent.

InstanceCount

Especifica el número de instancias definidas para el bloque .

Flags

Marcas de bits que indican las características del bloque. Estos bits de marca se definen en el archivo de encabezado Wmistr.h. WMI OR el valor del parámetro Flags con los bits de marca establecidos por el controlador en el parámetro RegFlags de su rutina DpWmiQueryReginfo , que se aplica a todos los bloques de datos y bloques de eventos registrados por el controlador. Por lo tanto, las marcas complementan la configuración predeterminada del controlador para un bloque determinado.

Un controlador puede establecer el siguiente bit de marca en Marcas:

WMIREG_FLAG_INSTANCE_PDO

Solicita a WMI que genere nombres de instancia estáticos a partir del identificador de instancia de dispositivo para el PDO. Si se establece esta marca, el parámetro Pdo de la rutina DpWmiQueryReginfo del controlador apunta al PDO pasado a la rutina AddDevice del controlador. WMI genera nombres de instancia a partir de la ruta de acceso de la instancia de dispositivo del PDO. El uso de la ruta de acceso de la instancia de dispositivo como base para nombres de instancia estáticos es eficaz porque se garantiza que estos nombres son únicos. WMI proporciona automáticamente un nombre "descriptivo" para la instancia como un elemento de un bloque de datos que los consumidores de datos pueden consultar.

Un controlador también puede establecer uno o varios de los siguientes bits de marca:

WMIREG_FLAG_EVENT_ONLY_GUID

El bloque solo se puede habilitar o deshabilitar como un evento y no se puede consultar ni establecer. Si esta marca está clara, el bloque también se puede consultar o establecer.

WMIREG_FLAG_EXPENSIVE

Solicita a WMI que envíe una solicitud de IRP_MN_ENABLE_COLLECTION la primera vez que un consumidor de datos abra el bloque de datos y una solicitud de IRP_MN_DISABLE_COLLECTION cuando el último consumidor de datos cierre el bloque de datos. Esto se recomienda si la recopilación de estos datos afecta al rendimiento, ya que un controlador no necesita recopilar los datos hasta que un consumidor de datos lo solicite explícitamente abriendo el bloque .

WMIREG_FLAG_REMOVE_GUID

Solicita a WMI que quite la compatibilidad con este bloque. Esta marca solo es válida en respuesta a una solicitud para actualizar la información de registro (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath establecido en WMIUPDATE).

Comentarios

Un controlador que controla los IRP de WMI mediante una llamada a las rutinas de compatibilidad de la biblioteca WMI crea una matriz de estructuras WMIGUIDREGINFO , una para cada bloque de datos y bloque de eventos que se va a registrar. El controlador establece el miembro GuidList de su estructura WMILIB_CONTEXT para que apunte al primer WMIGUIDREGINFO de la serie.

La memoria de esta estructura se puede asignar desde el grupo paginado.

Requisitos

Requisito Valor
Header wmilib.h (incluya Wmilib.h)

Consulte también

DpWmiQueryReginfo

IRP_MN_DISABLE_COLLECTION

IRP_MN_ENABLE_COLLECTION

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

WMILIB_CONTEXT

WmiFireEvent