Função ScsiPortGetLogicalUnit (srb.h)
A rotina ScsiPortGetLogicalUnit retorna um ponteiro para a área de armazenamento por LU do driver de miniporto para um determinado periférico.
Sintaxe
SCSIPORT_API PVOID ScsiPortGetLogicalUnit(
[in] PVOID HwDeviceExtension,
[in] UCHAR PathId,
[in] UCHAR TargetId,
[in] UCHAR Lun
);
Parâmetros
[in] HwDeviceExtension
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 miniporto. 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 DeviceExtension->HwDeviceExtension membro 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.
[in] PathId
Identifica o barramento SCSI.
[in] TargetId
Identifica o controlador de destino ou o dispositivo no barramento.
[in] Lun
Identifica o número de unidade lógica do dispositivo de destino.
Valor de retorno
ScsiPortGetLogicalUnit retorna um ponteiro para a área de armazenamento do driver de miniporto para a unidade lógica solicitada. Se o driver de porta específico do sistema operacional considerar essa unidade lógica inexistente, ele retornará NULL.
Observações
ScsiPortGetLogicalUnit será irrelevante se a rotina DriverEntry do driver de miniporto especificar zero para o LuExtensionSize no HW_INITIALIZATION_DATA quando chamou ScsiPortInitialize. Caso contrário, o driver de porta específico do sistema operacional aloca e inicializa com zeros um conjunto de extensões LU do tamanho especificado para o driver de miniporto a ser usado.
Per-LU armazenamento pode ser usado para armazenar dados relevantes para um periférico específico, como ponteiros de dados salvos. Para acessar essa área, o driver de miniporto chama ScsiPortGetLogicalUnit quando o driver está mantendo informações sobre o estado da operação atual ou de qualquer periférico específico.
O driver de porta específico do sistema operacional pode considerar uma unidade lógica inexistente se não houver nenhuma solicitação ativa para essa unidade lógica e o dispositivo nunca tiver sido selecionado com êxito.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | srb.h (inclua Miniport.h, Scsi.h) |
biblioteca | Scsiport.lib |
Consulte também
DriverEntry do do Driver de Miniporto SCSI