IDE_CONTROLLER_CONFIGURATION 구조체(irb.h)
IDE_CONTROLLER_CONFIGURATION 구조는 포트 드라이버와 미니포트 드라이버 간에 컨트롤러 구성 정보를 전달하는 데 사용됩니다.
통사론
typedef struct _IDE_CONTROLLER_CONFIGURATION {
USHORT Version;
UCHAR NumberOfChannels;
IDE_OPERATION_MODE ControllerMode;
UCHAR NumberOfPhysicalBreaks;
ULONG MaximumTransferLength;
BOOLEAN Reserved;
BOOLEAN NativeModeEnabled;
BOOLEAN Dma64BitAddress;
BOOLEAN BusMaster;
IDE_BUS_TYPE AtaBusType;
PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;
회원
Version
포트 드라이버는 포트 드라이버의 버전을 나타내도록 이 필드를 설정합니다. 포트 드라이버는 버전을 sizeof(IDE_CONTROLLER_CONFIGURATION)로 설정합니다. 미니포트 드라이버는 버전이 사용 중인 버전보다 크거나 같은지 확인해야 합니다.
NumberOfChannels
HBA에서 지원하는 채널 수를 지정합니다. 이는 비활성화된 채널을 포함한 총 채널 수를 나타냅니다.
ControllerMode
포트 드라이버는 ATA 미니포트에서 실행 중인 모드를 알리도록 이 필드를 설정합니다. 가능한 두 가지 모드는 다음과 같습니다.
모드 | 묘사 |
---|---|
IdeModeNormal | ATA 미니포트가 정상적으로 작동할 수 있는 표준 전체 기능 모드입니다. |
IdeModeDump | 최대 절전 모드 또는 크래시덤프 중에 ATA 미니포트가 작동하는 제한된 메모리 없음 모드입니다. 이 모드에서는 콜백 루틴 및 레지스트리 액세스 루틴을 사용할 수 없습니다. |
NumberOfPhysicalBreaks
HBA가 분산/수집을 지원하는 경우 데이터 버퍼가 가질 수 있는 주소 범위 간의 최대 중단 수를 지정합니다. 즉, 분산/수집 목록 수에서 1을 뺀 값입니다. 기본적으로 이 멤버의 값은 IDE_UNINITIALIZED_VALUE HBA가 무제한의 물리적 불연속성을 지원할 수 있음을 나타냅니다. 포트 드라이버가 이 멤버에 대한 값을 설정하는 경우 미니포트 드라이버는 값을 더 낮게 조정할 수 있지만 더 높은 값은 조정할 수 없습니다. 이 멤버가 IDE_UNINITIALIZED_VALUE 경우 미니포트 드라이버는 HBA의 분산/수집 용량에 따라 이 멤버를 다시 설정해야 합니다.
MaximumTransferLength
HBA가 단일 전송 작업에서 전송할 수 있는 최대 바이트 수를 지정합니다. 기본적으로 이 멤버의 값은 무제한 최대 전송 크기를 나타내는 IDE_UNINITIALIZED_VALUE.
Reserved
나중에 사용할 수 있습니다. 미니포트 드라이버는 이 필드를 사용하지 않아야 합니다.
NativeModeEnabled
미니포트 드라이버는 이 멤버를 TRUE 설정하여 컨트롤러가 기본 모드에서 작동함을 나타낼 수 있습니다.
Dma64BitAddress
미니포트 드라이버는 64비트 DMA 작업에 대한 지원을 나타내기 위해 이 멤버를 TRUE 설정할 수 있습니다.
BusMaster
미니포트 드라이버는 이 멤버를 TRUE 설정하여 버스 마스터링 지원을 나타낼 수 있습니다.
AtaBusType
SATA인지 PATA 컨트롤러인지 여부를 나타냅니다.
ControllerResources
ATA 컨트롤러에 대한 하드웨어 리소스를 제공합니다.
요구 사항
요구 | 값 |
---|---|
헤더 | irb.h(Irb.h 포함) |