Compartilhar via


Verificação do Storport

O recurso Verificação do Storport monitora a interação entre um driver de miniporto storport e o driver de porta. Se o driver de miniporta usar incorretamente uma rotina, responder incorretamente a uma solicitação do driver de porta ou levar um tempo excessivo para responder a uma solicitação, um bug marcar será emitido.

Observação

O recurso verificação do Storport só está disponível no Windows Vista e em versões posteriores do Windows.

Violações detectadas pela verificação do Storport

O recurso Verificação do Storport pode detectar vários usos indevidos de rotinas do Storport. Também é possível desabilitar individualmente algumas dessas verificações.

O recurso Verificação do Storport emitirá marcar 0xF1 de bugs ou marcar 0xC4 se um driver de miniporto storport confirmar uma das seguintes violações:

  • O driver de miniporta passa um argumento inválido (um ponteiro NULL) para a rotina StorPortInitialize .

  • O driver de miniporto chama StorPortStallExecution e especifica um atraso de mais de 0,1 segundo, parando o processador por um período excessivo de tempo.

  • StorPortFreeDeviceBase só pode ser chamado da rotina HwStorFindAdapter do driver de miniport.

  • StorPortGetUncachedExtension só pode ser chamado da rotina HwStorFindAdapter do driver de miniport e só pode ser chamado para um adaptador de master de ônibus. Um miniporto deve definir o SrbExtensionSize da estrutura HW_INITIALIZATION_DATA (Storport) antes de chamar StorPortGetUncachedExtension.

  • A rotina StorPortGetDeviceBase dá suporte apenas aos endereços atribuídos ao driver pelo gerenciador de Plug and Play do sistema (PnP).

  • O driver de miniporta passa um endereço virtual inválido para uma das rotinas xxx ou StorPortWritexxx do StorPortWrite (por exemplo, StorPortReadRegisterUchar ou StorPortWritePortBufferUlong). Isso geralmente significa que o endereço fornecido não é mapeado para a área de buffer comum. O Registro ou Porta especificado deve estar no intervalo de espaço de memória mapeado retornado pela rotina StorPortGetDeviceBase . Esse marcar tem suporte apenas em sistemas baseados em x86.

Para obter uma lista dos parâmetros de marcar de bugs usados pela Verificação do Storport, consulte 0xF1 de Verificação de Bugs (SCSI_VERIFIER_DETECTED_VIOLATION). Além do 0xF1 de Verificação de Bugs, a Verificação do Storport também usa 0xC4 de Verificação de Bugs (DRIVER_VERIFIER_DETECTED_VIOLATION).

Observação

A verificação de bugs 0xF1 é usada para verificação SCSI e verificação do Storport.

Ativando a opção de verificação do Storport

O procedimento para ativar a opção Verificação do Storport é diferente dos procedimentos para ativar outras opções do Verificador de Driver.

  1. Usando o Gerenciador de Verificador de Driver ou a linha de comando Verifier.exe , inicie uma verificação do driver de miniporta. Como a Verificação do Storport não estará disponível como uma opção, você deve selecionar pelo menos uma outra opção verificador de driver. Para obter mais informações, consulte Selecionando opções do verificador de driver e Selecionando drivers a serem verificados.

  2. Abra o registro usando regedit.exe. Na chaveHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort , adicione uma subchave chamada Verifier. Se a chave StorPort não existir, você precisará criá-la. Na chaveHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier , adicione uma entrada de REG_DWORD chamada VerifyLevel. O valor atribuído a essa entrada determinará quais testes de Verificação do Storport estarão ativos. O valor 0x1 fornecerá verificação máxima.

  3. Reinicie o computador.

Se o valor VerifyLevel não existir ou for igual a 0xFFFFFFFF, a Verificação do Storport será desabilitada.

Ativando sem reinicialização

Em geral, você não pode ativar ou desativar a Verificação do Storport sem reiniciar (reinicializar) o computador em qualquer sistema operacional Windows. O driverStorPort.sys lê a entrada do Registro VerifyLevel somente quando ela é carregada, que normalmente é no momento da inicialização. No entanto, se o driver deStorPort.sys não for carregado quando você adicionar a entrada do Registro ou se ela for descarregada e recarregada, você poderá habilitar a Verificação do Storport no Windows Vista e versões posteriores do Windows sem reiniciar o computador.