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 |