다음을 통해 공유


ScsiPortGetLogicalUnit 함수(srb.h)

ScsiPortGetLogicalUnit 루틴은 지정된 주변 디바이스에 대한 미니포트 드라이버의 LU당 스토리지 영역에 대한 포인터를 반환합니다.

참고 SCSI 포트 드라이버 및 SCSI 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버Storport 미니포트 드라이버 모델을 사용하는 것이 좋습니다.
 

구문

SCSIPORT_API PVOID ScsiPortGetLogicalUnit(
  [in] PVOID HwDeviceExtension,
  [in] UCHAR PathId,
  [in] UCHAR TargetId,
  [in] UCHAR Lun
);

매개 변수

[in] HwDeviceExtension

하드웨어 디바이스 확장에 대한 포인터입니다. 포트 드라이버가 미니포트 드라이버를 대신하여 할당하고 초기화하는 HBA별 스토리지 영역입니다. 미니포트 드라이버는 일반적으로 HBA 상태 및 HBA의 매핑된 액세스 범위와 같은 HBA 관련 정보를 이 확장에 저장합니다. 이 영역은 미니포트 드라이버가 ScsiPortInitialize를 호출한 직후 HBA 디바이스 개체의 DeviceExtension-HwDeviceExtension> 멤버의 미니포트 드라이버에서 사용할 수 있습니다. 포트 드라이버는 디바이스를 제거할 때 이 메모리를 해제합니다.

[in] PathId

SCSI 버스를 식별합니다.

[in] TargetId

버스의 대상 컨트롤러 또는 디바이스를 식별합니다.

[in] Lun

대상 디바이스의 논리적 단위 번호를 식별합니다.

반환 값

ScsiPortGetLogicalUnit 은 요청된 논리 단위에 대한 미니포트 드라이버의 스토리지 영역에 대한 포인터를 반환합니다. 운영 체제별 포트 드라이버가 이 논리 단위를 존재하지 않는 것으로 간주하면 NULL을 반환합니다.

설명

ScsiPortGetLogicalUnit은 미니포트 드라이버의 DriverEntry 루틴이 ScsiPortInitialize를 호출할 때 HW_INITIALIZATION_DATA LuExtensionSize에 대해 0을 지정한 경우 관련이 없습니다. 그렇지 않으면 운영 체제별 포트 드라이버는 미니포트 드라이버에서 사용할 지정된 크기의 LU 확장 집합을 0으로 할당하고 초기화합니다.

LU별 스토리지는 저장된 데이터 포인터와 같은 특정 주변 장치와 관련된 데이터를 저장하는 데 사용할 수 있습니다. 이 영역에 액세스하기 위해 미니포트 드라이버는 드라이버가 특정 주변 디바이스의 상태 또는 현재 작업에 대한 정보를 유지 관리하는 경우 ScsiPortGetLogicalUnit 을 호출합니다.

운영 체제별 포트 드라이버는 해당 논리 단위에 대한 활성 요청이 없고 디바이스를 성공적으로 선택한 적이 없는 경우 논리 단위가 존재하지 않는 것으로 간주할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 srb.h(Miniport.h, Scsi.h 포함)
라이브러리 Scsiport.lib

추가 정보

SCSI 미니포트 드라이버의 DriverEntry

HW_INITIALIZATION_DATA(SCSI)

ScsiPortInitialize

ScsiPortMoveMemory