Compartilhar via


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.

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

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

Confira também

DriverEntry of SCSI Miniport Driver

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory