Função ScsiPortGetLogicalUnit (srb.h)
A rotina ScsiPortGetLogicalUnit retorna um ponteiro para a área de armazenamento por LU do driver de miniport 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 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.
[in] PathId
Identifica o barramento SCSI.
[in] TargetId
Identifica o controlador de destino ou o dispositivo no barramento.
[in] Lun
Identifica o número da unidade lógica do dispositivo de destino.
Retornar valor
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, ela retornará NULL.
Comentários
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.
O armazenamento por LU 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 para 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 |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | srb.h (inclua Miniport.h, Scsi.h) |
Biblioteca | Scsiport.lib |