ACCESS_RANGE 구조체(storport.h)

ACCESS_RANGE HBA에서 사용하는 메모리 또는 I/O 포트 범위를 설명합니다.

구문

typedef struct _ACCESS_RANGE {
  STOR_PHYSICAL_ADDRESS RangeStart;
  ULONG                 RangeLength;
  BOOLEAN               RangeInMemory;
} ACCESS_RANGE, *PACCESS_RANGE;

멤버

RangeStart

HBA에서 사용하는 범위의 버스 상대 기준 주소를 지정하는 실제 주소를 포함합니다. 이 멤버의 값은 PORT_CONFIGURATION_INFORMATION 구조체의 AccessRanges 요소 중 하나에서 가져올 수 있습니다. StorPortGetDeviceBase에 전달할 수 있는 주소입니다.

RangeLength

범위의 포트 크기, 바이트 또는 수를 지정합니다. 미니포트 드라이버는 이 값이 어댑터에서 실제로 디코딩된 범위와 일치하는지 확인해야 합니다. 예를 들어 HBA가 7개의 레지스터를 사용하지만 8에 응답하는 경우 이 멤버는 8로 설정해야 합니다.

RangeInMemory

범위가 I/O 공간이 아닌 TRUE인 경우 메모리에 있음을 나타냅니다. FALSE이면 범위가 I/O 공간에 있습니다.

설명

각 ACCESS_RANGE 미니포트 드라이버의 HwStorFindAdapter 루틴에 전달되는 PORT_CONFIGURATION_INFORMATION 구조 내의 AccessRanges 배열 요소입니다.

Storport는 액세스 범위에 대한 메모리를 할당하고 AccessRanges 멤버를 초기화합니다. 미니포트 드라이버의 HwStorFindAdapter 루틴은 제공된 주소만 사용해야 하며 자체 고안의 주소를 사용하여 동일한 버스에서 다른 HBA를 찾으려고 시도 해서는 안 됩니다. 포트 드라이버가 범위 정보를 제공한 경우, 특히 일부 디바이스가 x86 실제 모드로 초기화되는 x86 전용 시스템에서 다른 버스 상대 포트 또는 메모리 범위에 액세스하려고 하면 버스의 다른 디바이스가 초기화에 실패하거나 시스템이 부팅 프로세스에 실패할 수 있습니다.

요구 사항

요구 사항
헤더 storport.h(Srb.h, Storport.h, Strmini.h 포함)

추가 정보

HwStorFindAdapter

PORT_CONFIGURATION_INFORMATION

StorPortGetDeviceBase