StorPortGetPhysicalAddress 함수(storport.h)

StorPortGetPhysicalAddress 루틴은 지정된 가상 주소 범위를 DMA 작업의 실제 주소 범위로 변환합니다.

구문

STORPORT_API STOR_PHYSICAL_ADDRESS StorPortGetPhysicalAddress(
  [in]           PVOID               HwDeviceExtension,
  [in, optional] PSCSI_REQUEST_BLOCK Srb,
  [in]           PVOID               VirtualAddress,
  [out]          ULONG               *Length
);

매개 변수

[in] HwDeviceExtension

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

[in, optional] Srb

변환할 가상 주소가 해당 SRB의 DataBuffer 멤버 또는 SenseInfoBuffer 멤버에서 가져온 경우 SCSI 요청 블록에 대한 포인터입니다. 그렇지 않으면 이 매개 변수는 NULL이어야 합니다.

[in] VirtualAddress

변환할 기본 가상 주소에 대한 포인터입니다. 이 가상 주소가 SRB 제공 DataBuffer의 범위 내에 있는 경우 호출자는 Srb 포인터도 제공해야 합니다.

[out] Length

반환된 실제 주소에서 시작하여 매핑된 바이트 수를 나타내는 값에 대한 포인터입니다.

반환 값

StorPortGetPhysicalAddress 는 지정된 가상 주소에 해당하는 실제 주소를 반환합니다. 지정된 주소를 변환할 수 없는 경우 함수는 NULL을 반환합니다.

설명

StorPortGetPhysicalAddress에 전달된 가상 주소가 StorPortAllocateContiguousMemorySpecifyCacheNode에서 가져온 경우 Length에 대해 반환된 값은 무시되어야 합니다.

Windows 8 Srb 매개 변수는 SCSI_REQUEST_BLOCK 또는 STORAGE_REQUEST_BLOCK 가리킬 수 있습니다. Srb의 함수 필드에 있는 함수 식별자가 SRB_FUNCTION_STORAGE_REQUEST_BLOCK 경우 SRB는 STORAGE_REQUEST_BLOCK 요청 구조입니다.

StorPortGetPhysicalAddressSTOR_PHYSICAL_ADDRESS 사용하여 실제 주소를 나타냅니다.

typedef PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS, *PSTOR_PHYSICAL_ADDRESS;

STOR_PHYSICAL_ADDRESS 형식은 Storport 미니포트 드라이버가 물리적 주소 또는 버스 상대 주소를 나타내는 데 사용하는 운영 체제 독립적 데이터 형식입니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 storport.h(Storport.h 포함)
라이브러리 Storport.lib

추가 정보

SCSI_REQUEST_BLOCK

STORAGE_REQUEST_BLOCK

ScsiPortGetPhysicalAddress