Share via


StorPortGetDeviceBase 함수(storport.h)

StorPortGetDeviceBase 루틴은 I/O 주소를 시스템 주소 공간에 매핑합니다.

구문

STORPORT_API PVOID StorPortGetDeviceBase(
  [in] PVOID                 HwDeviceExtension,
  [in] INTERFACE_TYPE        BusType,
  [in] ULONG                 SystemIoBusNumber,
  [in] STOR_PHYSICAL_ADDRESS IoAddress,
  [in] ULONG                 NumberOfBytes,
  [in] BOOLEAN               InIoSpace
);

매개 변수

[in] HwDeviceExtension

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

[in] BusType

HBA가 연결된 I/O 버스의 인터페이스 형식을 지정합니다. 미니포트 드라이버의 HwStorFindAdapter 루틴은 입력 PORT_CONFIGURATION_INFORMATIONAdapterInterfaceType 멤버에서 이 매개 변수의 값을 가져옵니다.

[in] SystemIoBusNumber

HBA가 연결된 I/O 버스의 시스템 할당 번호를 지정합니다. HwStorFindAdapter 루틴은 입력 PORT_CONFIGURATION_INFORMATIONSystemIoBusNumber 멤버에서 이 매개 변수의 값을 가져옵니다.

[in] IoAddress

HBA에서 사용하는 범위의 버스 상대 기준 주소를 지정합니다. HwStorFindAdapter 루틴은 포트 드라이버가 범위 구성 정보를 제공하는 경우 PORT_CONFIGURATION_INFORMATIONAccessRanges 요소 중 하나에서 이 매개 변수의 값을 가져옵니다. 그렇지 않으면 이 주소는 StorPortGetBusData 에서 반환된 값 또는 미니포트 드라이버 제공 기본값일 수 있습니다. 반환 상태 NULL(오류 상태)과 충돌할 수 있으므로 기본 주소 0을 사용하지 마세요.

[in] NumberOfBytes

매핑에서 포함해야 하는 범위의 크기(바이트)를 지정합니다. 포트 드라이버가 범위 구성 정보를 제공하는 경우 HwStorFindAdapter 루틴은 IoAddress와 동일한 AccessRanges 요소에서 이 매개 변수의 값을 가져옵니다. 그렇지 않으면 StorPortGetBusData 또는 미니포트 드라이버 제공 기본값에서 이 값을 반환할 수 있습니다. 어떤 경우든 드라이버는 반환된 매핑된 범위 외부의 하드웨어에 액세스해서는 안 됩니다.

[in] InIoSpace

TRUE는 매핑할 범위가 I/O 공간에 있음을 나타내며 미니포트 드라이버는 이 범위의 매핑된 주소를 Storport 포트 읽기/쓰기 루틴에 전달하여 HBA와 통신합니다. HwStorFindAdapter 루틴은 IoAddress와 동일한 AccessRanges 요소에서 이 매개 변수의 값을 가져옵니다. 미니포트 드라이버는 InIoSpace 인수로 StorPortGetDeviceBase에 전달되기 전에 ACCESS_RANGE 형식 요소의 InMemorySpace 멤버 값을 반전해야 합니다. FALSE 는 매핑할 범위가 메모리 공간에 있음을 나타냅니다.

반환 값

IoAddress 매개 변수에 제공된 버스 상대 주소에 해당하는 매핑된 논리적 기본 주소입니다.

설명

모든 미니포트 드라이버는 HBA와 통신할 때 매핑된 논리적 액세스 범위 주소를 Storport 포트 읽기/쓰기 루틴 및 Storport 레지스터 읽기/쓰기 루틴에 전달해야 합니다.

이 루틴은 시스템 플러그 앤 플레이(PnP) 관리자가 드라이버에 할당한 주소만 지원합니다.

요구 사항

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

추가 정보

StorPortFreeDeviceBase