Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Qualquer driver WMI que registre um ou mais blocos de eventos deve lidar com esse IRP. Um driver pode lidar com IRPs WMI chamando WmiSystemControl ou manipulando o IRP em si, conforme descrito em Tratamento de Solicitações WMI.
Se um driver chamar WmiSystemControl para lidar com uma solicitação IRP_MN_DISABLE_EVENTS , o WMI, por sua vez, chamará a rotina DpWmiFunctionControl desse driver.
Código principal
Quando enviado
O WMI envia esse IRP para informar ao driver que um consumidor de dados não solicitou nenhuma notificação adicional de um evento.
O WMI envia esse IRP em IRQL = PASSIVE_LEVEL em um contexto de thread arbitrário.
Parâmetros de Entrada
Parameters.WMI.ProviderId aponta para o objeto de dispositivo do driver que deve responder à solicitação. Esse ponteiro está localizado no local da pilha de E/S do driver no IRP.
Parameters.WMI.DataPath aponta para um GUID que identifica o bloco de eventos a ser desabilitado.
Parâmetros de saída
Nenhum.
Bloco de Status de E/S
Se o driver manipular o IRP chamando WmiSystemControl, o WMI definirá Irp-IoStatus.Status> e Irp-IoStatus.Information> no bloco de E/S status.
Caso contrário, o driver define Irp-IoStatus.Status> como STATUS_SUCCESS ou para um erro apropriado status como o seguinte:
STATUS_WMI_GUID_NOT_FOUND
STATUS_INVALID_DEVICE_REQUEST
Com êxito, um driver define Irp-IoStatus.Information> como zero.
Operação
Um driver pode lidar com IRPs WMI chamando WmiSystemControl ou manipulando o IRP em si, conforme descrito em Tratamento de Solicitações WMI.
Se um driver manipular IRPs WMI chamando WmiSystemControl, essa rotina chamará a rotina DpWmiFunctionControl do driver ou retornará STATUS_SUCCESS se o driver não definir a rotina.
Se um driver manipular uma solicitação de IRP_MN_DISABLE_EVENTS em si, ele deverá fazê-lo somente se Parameters.WMI.ProviderId apontar para o mesmo objeto de dispositivo que o ponteiro que o driver passou para IoWMIRegistrationControl. Caso contrário, o driver deve encaminhar a solicitação para o driver mais baixo.
Antes de lidar com uma solicitação, o driver deve determinar se Parameters.WMI.DataPath aponta para um GUID compatível com o driver. Caso contrário, o driver deve falhar no IRP e retornar STATUS_WMI_GUID_NOT_FOUND.
Se o driver der suporte ao bloco de eventos, ele desabilita o evento para todas as instâncias desse bloco.
É desnecessário que o driver marcar se os eventos já estão desabilitados para o bloco de eventos porque o WMI envia uma única solicitação de desabilitação para esse bloco de eventos quando o último consumidor de dados desabilita o evento. O WMI não enviará outra solicitação de desabilitação sem uma solicitação intervindo para habilitar.
Para obter detalhes sobre como definir blocos de eventos, consulte Criando dados WMI e blocos de eventos.
Requisitos
parâmetro |
Wdm.h (inclua Wdm.h, Ntddk.h ou Ntifs.h) |