Partilhar via


Tratamento de solicitações WMI

Todos os drivers devem definir um ponto de entrada da tabela de despacho para uma rotina DispatchSystemControl para lidar com solicitações WMI. Se um driver se registrar como um provedor de dados WMI, ele deverá lidar com todas as solicitações WMI. Caso contrário, o driver deve encaminhar todas as solicitações WMI para o próximo driver inferior.

Todos os IRPs WMI têm o código principal IRP_MJ_SYSTEM_CONTROL e um dos seguintes códigos secundários:

O componente WMI em modo kernel envia IRPs WMI em qualquer altura após o registo bem-sucedido de um driver como fornecedor de dados WMI, normalmente quando um consumidor de dados em modo utilizador solicita informações WMI sobre o dispositivo de um driver. Se um driver se registrar como um provedor de dados WMI chamando IoWMIRegistrationControl, ele deverá lidar com cada solicitação WMI subsequente de uma das seguintes maneiras:

  • Chame a rotina da biblioteca WMI do modo kernel WmiSystemControl. Um driver pode chamar WmiSystemControl para lidar com solicitações relativas apenas a blocos que não usam nomes de instância dinâmicos e que baseiam nomes de instância estática em uma única cadeia de caracteres de nome base ou o ID de instância do dispositivo de um DOP. Para obter mais informações, consulte Utilizando WmiSystemControl para manipular IRPs WMI.

  • Em sua rotina DispatchSystemControl , processe e conclua qualquer solicitação marcada com o ponteiro para seu objeto de dispositivo que o driver passou em sua chamada para IoWMIRegistrationControl e encaminhe outras solicitações de IRP_MJ_SYSTEM_CONTROL para o próximo driver inferior. Para obter mais informações, consulte Processar IRPs WMI numa rotina DispatchSystemControl.

Para obter uma lista dos IRPs menores do WMI, consulte IRPs menores do WMI