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 .
SCSIPORT_API VOID ScsiPortLogError(
PVOID HwDeviceExtension,
PSCSI_REQUEST_BLOCK Srb,
UCHAR PathId,
UCHAR TargetId,
UCHAR Lun,
ULONG ErrorCode,
ULONG UniqueId
);
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.
Nenhum
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.
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | srb.h (inclua Miniport.h, Scsi.h) |
Biblioteca | Scsiport.lib |