IDE_CONTROLLER_CONFIGURATION 구조체(irb.h)

IDE_CONTROLLER_CONFIGURATION 구조는 포트 드라이버와 미니포트 드라이버 간에 컨트롤러 구성 정보를 전달하는 데 사용됩니다.

참고 ATA 포트 드라이버 및 ATA 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버Storport 미니포트 드라이버 모델을 사용하는 것이 좋습니다.
 

구문

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 미니포트에서 실행 중인 모드를 알리도록 이 필드를 설정합니다. 가능한 모드로는

Mode Description
IdeModeNormal ATA 미니포트가 정상적으로 작동할 수 있는 표준 전체 기능 모드입니다.
IdeModeDump 최대 절전 모드 또는 크래시덤프 중에 ATA 미니포트가 작동하는 제한된 메모리 없음 모드입니다. 이 모드에서는 콜백 루틴 및 레지스트리 액세스 루틴을 사용할 수 없습니다.

NumberOfPhysicalBreaks

HBA가 분산/수집을 지원하는 경우 데이터 버퍼가 가질 수 있는 주소 범위 간의 최대 나누기 수를 지정합니다. 즉, 분산/수집 목록 수에서 1을 뺀 값입니다. 기본적으로 이 멤버의 값은 IDE_UNINITIALIZED_VALUE, 이는 HBA가 무제한의 물리적 변조를 지원할 수 있음을 나타냅니다. 포트 드라이버가 이 멤버에 대한 값을 설정하는 경우 미니포트 드라이버는 값을 낮게 조정할 수 있지만 더 높은 값은 조정할 수 없습니다. 이 멤버가 IDE_UNINITIALIZED_VALUE 경우 미니포트 드라이버는 HBA의 분산/수집 용량에 따라 이 멤버를 다시 설정해야 합니다.

MaximumTransferLength

HBA가 단일 전송 작업에서 전송할 수 있는 최대 바이트 수를 지정합니다. 기본적으로 이 멤버의 값은 무제한 최대 전송 크기를 나타내는 IDE_UNINITIALIZED_VALUE.

Reserved

다음에 사용하도록 예약됩니다. 미니포트 드라이버는 이 필드를 사용하지 않아야 합니다.

NativeModeEnabled

미니포트 드라이버는 이 멤버를 TRUE 로 설정하여 컨트롤러가 기본 모드에서 작동해야 함을 나타낼 수 있습니다.

Dma64BitAddress

미니포트 드라이버는 이 멤버를 TRUE 로 설정하여 64비트 DMA 작업에 대한 지원을 나타낼 수 있습니다.

BusMaster

미니포트 드라이버는 버스 마스터링 지원을 나타내기 위해 이 멤버를 TRUE 로 설정할 수 있습니다.

AtaBusType

SATA인지 PATA 컨트롤러인지 여부를 나타냅니다.

ControllerResources

ATA 컨트롤러에 대한 하드웨어 리소스를 제공합니다.

요구 사항

요구 사항
헤더 irb.h(Irb.h 포함)