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 |
---|---|
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. |
|
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. |
|
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
Selecione o projeto de driver (.vcxProj) no Microsoft Visual Studio. No menu Driver, clique em Iniciar Driver Verifier estático….
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).