Estrutura WMIREGINFOW (wmistr.h)

A estrutura WMIREGINFO contém informações fornecidas por um driver para registrar ou atualizar seus blocos de dados e blocos de eventos.

Sintaxe

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

Membros

BufferSize

Indica o tamanho total dos dados de registro WMI associados a essa estrutura WMIREGINFO , calculado da seguinte maneira: (sizeof(WMIREGINFO) + (GuidCount * sizeof(WMIREGGUID) + additionaldata). Dados adicionais podem incluir itens como o nome do recurso MOF, o caminho do registro e nomes de instância estática para blocos.

NextWmiRegInfo

Se um driver manipular solicitações WMI em nome de outro driver, como um driver de classe pode em nome de um driver de miniclasse, NextWmiRegInfo indica o deslocamento em bytes do início desse WMIREGINFO para a próxima estrutura WMIREGINFO que contém informações de registro WMI para o outro driver. Caso contrário, NextWmiRegInfo será zero.

RegistryPath

Indica o deslocamento em bytes do início dessa estrutura para uma cadeia de caracteres Unicode contada que especifica o caminho do Registro passado para a rotina DriverEntry do driver. A cadeia de caracteres deve ser alinhada em um limite do USHORT. Esse membro deve ser definido somente em resposta a uma solicitação de registro WMI (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX com Parameters.WMI.DataPath definido como WMIREGISTER).

MofResourceName

Indica o deslocamento em bytes do início dessa estrutura para uma cadeia de caracteres Unicode contada que especifica o nome do recurso MOF no arquivo de imagem do driver. A cadeia de caracteres deve ser alinhada em um limite do USHORT. Esse membro deve ser definido somente em resposta a uma solicitação de registro WMI (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX com Parameters.WMI.DataPath definido como WMIREGISTER).

GuidCount

Indica o número de estruturas WMIREGGUID na matriz em WmiRegGuid.

WmiRegGuid

É uma matriz de estruturas GuidCount WMIREGGUID .

Comentários

Em resposta a uma solicitação de registro (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX com Parameters.WMI.DataPath definido como WMIREGISTER), um driver cria pelo menos uma estrutura WMIREGINFO e grava a estrutura WMIREGINFO no buffer em IrpStack-Parameters.WMI.Buffer>. A estrutura WMIREGINFO contém uma matriz de estruturas WMIREGGUID , uma para cada bloco de dados ou bloco de eventos exposto pelo driver.

Se o driver manipular solicitações WMI em nome de outro driver, ele criará outro WMIREGINFO contendo uma matriz de estruturas WMIREGGUID para cada bloco exposto pelo outro driver, definirá o membro NextWmiRegInfo do primeiro WMIREGINFO como um deslocamento em bytes desde o início do primeiro WMIREGINFO até o início do próximo WMIREGINFO no buffer, e grava ambas as estruturas no buffer. O driver indica o tamanho total das estruturas WMIREGINFO e dos dados associados quando chama IoCompleteRequest para concluir o IRP.

Um driver pode usar as mesmas estruturas WMIREGINFO para remover ou atualizar blocos em resposta a uma solicitação de atualização (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX com Parameters.WMI.DataPath definido como WMIUPDATE). Se WMIREG_FLAG_REMOVE_GUID for definido no membro Flags de um WMIREGGUID, o WMI removerá esse bloco da lista de blocos registrados anteriormente pelo driver. Se WMIREG_FLAG_REMOVE_GUID estiver claro, o WMI atualizará as informações de registro para esse bloco somente se outros membros WMIREGGUID tiverem sido alterados; caso contrário, o WMI não mudará para suas informações de registro para esse bloco.

Requisitos

Requisito Valor
Cabeçalho wmistr.h (inclua Wmistr.h)

Confira também

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

IoCompleteRequest

WMIREGGUID