Função ScsiPortLogError (srb.h)

A rotina ScsiPortLogError registra erros no log de eventos do sistema quando um driver de miniporto ou seu HBA detecta uma condição de erro SCSI.

Observação

Os modelos de driver de porta SCSI e driver de miniporto SCSI podem ser alterados ou indisponíveis no futuro. Em vez disso, use os modelos de driver do Storport e do miniportor Storport .

Sintaxe

SCSIPORT_API VOID ScsiPortLogError(
  PVOID               HwDeviceExtension,
  PSCSI_REQUEST_BLOCK Srb,
  UCHAR               PathId,
  UCHAR               TargetId,
  UCHAR               Lun,
  ULONG               ErrorCode,
  ULONG               UniqueId
);

Parâmetros

HwDeviceExtension

[in] Ponteiro para a extensão do dispositivo de hardware. Essa é uma área de armazenamento por HBA que o driver de porta aloca e inicializa em nome do driver de miniport. Os drivers de miniporto geralmente armazenam informações específicas do HBA nessa extensão, como o estado do HBA e os intervalos de acesso mapeados do HBA. Essa área está disponível para o driver de miniporto no membro DeviceExtension-HwDeviceExtension> do objeto de dispositivo do HBA imediatamente após o driver de miniporto chamar ScsiPortInitialize. O driver de porta libera essa memória quando remove o dispositivo.

Srb

[in, opcional] Ponteiro para um bloco de solicitação SCSI se um estiver associado ao erro. Caso contrário, esse parâmetro será NULL.

PathId

[in] Identifica o barramento SCSI.

TargetId

[in] Identifica o controlador de destino ou o dispositivo no barramento.

Lun

[in] Identifica o número da unidade lógica do dispositivo de destino.

ErrorCode

[in] Especifica um código de erro. Esse parâmetro pode ser um dos valores a seguir como o tipo de erro.

Valor Significado
SP_BAD_FW_ERROR Indica que o driver detectou firmware inválido ou antigo. O dispositivo não será usado.
SP_BAD_FW_WARNING Indica que o driver detectou um cartão com firmware antigo ou inválido, o que pode resultar em desempenho ou funcionalidade reduzidos.
SP_BUS_PARITY_ERROR Indica que um erro de paridade de barramento SCSI foi detectado.
SP_BUS_TIME_OUT Indica que uma conexão de barramento SCSI com uma unidade lógica atingiu o tempo limite.
SP_INTERNAL_ADAPTER_ERROR Indica que um erro HBA interno foi detectado.
SP_INVALID_RESELECTION Indica uma unidade lógica reeleita inesperadamente ou com uma marca de fila inválida.
SP_IRQ_NOT_RESPONDING Indica que o HBA não está interrompendo quando esperado.
SP_PROTOCOL_ERROR Indica que o driver de miniporte detectou um erro de protocolo de barramento SCSI.
SP_REQUEST_TIMEOUT Indica que uma operação para o controlador atingiu o tempo limite.
SP_UNEXPECTED_DISCONNECT Indica que um destino foi desconectado inesperadamente.

UniqueId

[in] Especifica um identificador exclusivo para o erro. Esse valor diferencia o erro atual de outros erros com o mesmo ErrorCode. Para alguns drivers de miniporto, isso identifica a linha de código em que o erro foi detectado. Para outros, são informações adicionais retornadas pelo HBA.

Retornar valor

Nenhum

Comentários

Um driver de miniporte deve registrar todos os erros reais de hardware. No entanto, ele não deve registrar erros operacionais comuns, como tempos limite de seleção ou redefinições de barramento.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho srb.h (inclua Miniport.h, Scsi.h)
Biblioteca Scsiport.lib

Confira também

ScsiPortNotification