Partilhar via


Verificação Storport

O recurso de verificação de Storport monitora a interação entre um driver de miniporta 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 demorar um tempo excessivo para responder a uma solicitação, uma verificação de bug será emitida.

Observação

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

Violações detetadas pela verificação Storport

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

O recurso de verificação Storport emite uma verificação de erro 0xF1 ou 0xC4 se um driver de miniporta Storport cometer uma das seguintes violações:

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

  • O driver de miniporta chama StorPortStallExecution e especifica um atraso superior a 0,1 segundo, paralisando o processador por um período excessivo de tempo.

  • StorPortFreeDeviceBase pode ser chamado somente a partir da rotina HwStorFindAdapter do driver de miniporta.

  • StorPortGetUncachedExtension pode ser chamado apenas a partir da rotina HwStorFindAdapter do driver miniport e é aplicável apenas para um adaptador bus-master. Uma miniporta deve definir o SrbExtensionSize da estrutura HW_INITIALIZATION_DATA (Storport) antes de chamar StorPortGetUncachedExtension.

  • A rotina StorPortGetDeviceBase suporta apenas os endereços que foram atribuídos ao driver pelo gerenciador Plug and Play (PnP) do sistema.

  • O driver de miniporta passa um endereço virtual inválido para uma das rotinas StorPortReadxxx ou StorPortWritexxx (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 . Esta verificação é suportada apenas em sistemas baseados em x86.

Para obter uma lista dos parâmetros de verificação de erros que o Storport Verification utiliza, consulte Bug Check 0xF1 (SCSI_VERIFIER_DETECTED_VIOLATION). Além do Bug Check 0xF1, o Storport Verification também utiliza o Bug Check 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION).

Observação

O Bug Check 0xF1 é usado para Verificação SCSI e Verificação Storport.

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

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

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

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

  3. Reinicie o computador.

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

Ativando sem reinicializar

Em geral, não é possível ativar ou desativar a Verificação Storport sem reiniciar (reinicializar) o computador em qualquer sistema operacional Windows. O driver StorPort.sys lê a entrada do Registro VerifyLevel somente quando ela é carregada, o que normalmente ocorre no momento da inicialização. No entanto, se o controlador StorPort.sys não estiver carregado quando o utilizador adicionar a entrada no Registo, ou se for descarregado e recarregado, poderá ativar o Storport Verification no Windows Vista e em versões posteriores do Windows sem reiniciar o computador.