Compartir a través de


Estructura WMIREGINFOW (wmistr.h)

La estructura WMIREGINFO contiene información proporcionada por un controlador para registrar o actualizar sus bloques de datos y bloques de eventos.

Sintaxis

typedef struct {
  ULONG       BufferSize;
  ULONG       NextWmiRegInfo;
  ULONG       RegistryPath;
  ULONG       MofResourceName;
  ULONG       GuidCount;
  WMIREGGUIDW WmiRegGuid[];
} WMIREGINFOW, *PWMIREGINFOW;

Miembros

BufferSize

Indica el tamaño total de los datos de registro de WMI asociados a esta estructura WMIREGINFO , calculado de la siguiente manera: (sizeof(WMIREGINFO) + (GuidCount * sizeof(WMIREGGUID) + additionaldata). Los datos adicionales pueden incluir elementos como el nombre del recurso MOF, la ruta de acceso del Registro y los nombres de instancia estáticos para los bloques.

NextWmiRegInfo

Si un controlador controla las solicitudes WMI en nombre de otro controlador, como un controlador de clase podría en nombre de un controlador de miniclase, NextWmiRegInfo indica el desplazamiento en bytes desde el principio de este WMIREGINFO hasta la siguiente estructura WMIREGINFO que contiene información de registro de WMI para el otro controlador. De lo contrario, NextWmiRegInfo es cero.

RegistryPath

Indica el desplazamiento en bytes desde el principio de esta estructura a una cadena Unicode con recuento que especifica la ruta de acceso del Registro pasada a la rutina DriverEntry del controlador. La cadena debe alinearse en un límite de USHORT. Este miembro solo debe establecerse en respuesta a una solicitud de registro WMI (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath establecido en WMIREGISTER).

MofResourceName

Indica el desplazamiento en bytes desde el principio de esta estructura a una cadena Unicode con recuento que especifica el nombre del recurso MOF en el archivo de imagen del controlador. La cadena debe alinearse en un límite de USHORT. Este miembro solo debe establecerse en respuesta a una solicitud de registro WMI (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath establecido en WMIREGISTER).

GuidCount

Indica el número de estructuras WMIREGGUID de la matriz en WmiRegGuid.

WmiRegGuid

Es una matriz de estructuras WMIREGGUIDguidCount.

Comentarios

En respuesta a una solicitud de registro (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath establecido en WMIREGISTER), un controlador compila al menos una estructura WMIREGINFO y escribe la estructura WMIREGINFO en el búfer en IrpStack-Parameters.WMI.Buffer>. La estructura WMIREGINFO contiene una matriz de estructuras WMIREGGUID , una para cada bloque de datos o bloque de eventos expuesto por el controlador.

Si el controlador controla las solicitudes WMI en nombre de otro controlador, compila otro WMIREGINFO que contiene una matriz de estructuras WMIREGGUID para cada bloque expuesto por el otro controlador, establece el miembro NextWmiRegInfo del primer WMIREGINFO en un desplazamiento en bytes desde el principio del primer WMIREGINFO hasta el principio del siguiente WMIREGINFO en el búfer, y escribe ambas estructuras en el búfer. El controlador indica el tamaño total de las estructuras WMIREGINFO y los datos asociados cuando llama a IoCompleteRequest para completar el IRP.

Un controlador puede usar las mismas estructuras WMIREGINFO para quitar o actualizar bloques en respuesta a una solicitud de actualización (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath establecido en WMIUPDATE). Si WMIREG_FLAG_REMOVE_GUID se establece en el miembro Flags de un WMIREGGUID, WMI quita ese bloque de la lista de bloques registrados previamente por el controlador. Si WMIREG_FLAG_REMOVE_GUID está claro, WMI actualiza la información de registro de ese bloque solo si otros miembros WMIREGGUID han cambiado; de lo contrario, WMI no cambia a su información de registro para ese bloque.

Requisitos

Requisito Valor
Header wmistr.h (incluye Wmistr.h)

Consulte también

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

IoCompleteRequest

WMIREGGUID