Partilhar via


Função StorPortGetLogicalUnit (storport.h)

A rotina StorPortGetLogicalUnit retorna um ponteiro para a área de armazenamento por unidade lógica do driver de miniport.

Sintaxe

STORPORT_API PVOID StorPortGetLogicalUnit(
  [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 para o HBA. Essa área estará disponível para o driver de miniporto assim que a rotina dedeHwStorFindAdapter do driver de miniporto for chamada. 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 lu (unidade lógica) do dispositivo de destino.

Valor de retorno

StorPortGetLogicalUnit retorna um ponteiro para a área de armazenamento do driver de miniporto para a unidade lógica solicitada. Se a unidade lógica não existir, ela retornará NULL.

Observações

StorPortGetLogicalUnit será irrelevante se a rotina DriverEntry do driver de miniporto especificar zero para o LuExtensionSize no HW_INITIALIZATION_DATA quando chamou StorPortInitialize. 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 StorPortGetLogicalUnit 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.

Nota

Quando o driver de miniporto chama StorPortGetLogicalUnit em IRQL = DISPATCH_LEVEL, a função adquire o bloqueio de interrupção. Chamar StorPortGetLogicalUnit com muita frequência nesse nível de IRQL afeta o desempenho e a escalabilidade do driver de miniporto.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows XP e versões posteriores dos sistemas operacionais Windows.
da Plataforma de Destino Universal
cabeçalho storport.h (inclua Storport.h)
biblioteca Storport.lib

Consulte também

HW_INITIALIZATION_DATA

StorPortInitialize