Partilhar via


Conjunto de regras IrpProcessing (KMDF)

Use as regras para verificar se o driver processa corretamente os pacotes de solicitação de E/S (IRP).

Nesta seção

Tópico Descrição

FwdIrpToIoQueueValid

A regra FwdIrpToIoQueueValid especifica que o driver envia um IRP para uma fila de E/S usando o método WdfDeviceWdmDispatchIrpToIoQueue do retorno de chamada EvtDeviceWdmIrpDispatch ou do retorno de chamada EvtDeviceWdmIrpPreprocess.

SetCompletionRoutineFromDispatch

A regra SetCompletionRoutineFromDispatch verifica se o driver não especifica uma rotina de conclusão em um IRP na função de retorno de chamada EvtDeviceWdmIrpDispatch.

MiniportOnlyWdmDevice

A regra MiniportOnlyWdmDevice especifica se os drivers WDF não devem usar as funções IoCreateDevice e IoCreateDeviceSecure para criar objetos de dispositivo WDM básicos. Isso fará com que o computador trave se alguém tentar enviar um IRP para o dispositivo WDM. Isso ocorre porque as entradas de despacho IRP do dispositivo são definidas como entradas específicas do WDF, mas a estrutura não criou um dispositivo WDF. No entanto, os drivers de miniporta podem usar as DDIs porque os pontos de entrada de despacho de driver não estão definidos para eles.

Para selecionar o conjunto de regras IrpProcessing

  1. Selecione o projeto de driver (.vcxProj) no Microsoft Visual Studio. No menu Driver, clique em Iniciar Driver Verifier estático….

  2. Clique na guia Regras. Em Conjuntos de Regras, selecione IrpProcessing.

    Para selecionar o conjunto de regras padrão em uma janela de prompt de comando do desenvolvedor do Visual Studio, especifique IrpProcessing.sdv com a opção /check. Por exemplo:

    msbuild /t:sdv /p:Inputs="/check:IrpProcessing.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Para obter mais informações, consulte Como usar o Driver Verifier estático para encontrar defeitos em drivers e Comandos do Driver Verifier estático (MSBuild).