다음을 통해 공유


IDE_TRANSFER_MODE_PARAMETERS 구조체(irb.h)

IDE_TRANSFER_MODE_PARAMETERS 구조는 미니포트 드라이버의 AtaControllerTransferModeSelect 루틴과 함께 사용하여 채널에서 전송 모드 매개 변수를 설정합니다.

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

통사론

typedef struct _IDE_TRANSFER_MODE_PARAMETERS {
  UCHAR           ChannelNumber;
  IDE_DEVICE_TYPE DeviceType[MAX_IDE_DEVICE];
  BOOLEAN         IoReadySupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeCurrent[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSelected[MAX_IDE_DEVICE];
} IDE_TRANSFER_MODE_PARAMETERS, *PIDE_TRANSFER_MODE_PARAMETERS;

회원

ChannelNumber

모드 매개 변수를 설정할 채널 번호를 나타냅니다.

DeviceType[MAX_IDE_DEVICE]

디바이스 유형을 나타내는 IDE_DEVICE_TYPE 형식의 열거형 값을 포함합니다. 디바이스 유형이 DeviceNotExist 경우 미니포트 드라이버는 전송 모드를 선택해서는 안 됩니다.

IoReadySupported[MAX_IDE_DEVICE]

표시된 디바이스 식별 데이터의 49개 단어 중 비트 11이 1로 설정된 TRUE 시기를 나타냅니다. 함수 값이 IRB_FUNCTION_ATA_IDENTIFY IDE 요청은 디바이스의 식별 데이터를 검색합니다. ATA 식별 데이터에 대한 자세한 내용은 ATA/ATAPI 사양버전 6.0의 디바이스 정보 식별 패킷 섹션을 참조하세요.

DeviceTransferModeSupported[MAX_IDE_DEVICE]

채널의 각 디바이스에 대해 지원되는 전송 모드를 나타내는 비트맵을 포함합니다. 포트 드라이버는 이 멤버를 설정합니다. 미니포트 드라이버는 포트 드라이버가 지원하지 않는 전송 모드를 선택해서는 안 됩니다. 이 멤버에 대한 자세한 내용은 설명 섹션을 참조하세요.

DeviceTransferModeCurrent[MAX_IDE_DEVICE]

채널의 각 디바이스에 대한 현재 전송 모드 설정을 나타내는 비트맵을 포함합니다. 포트 드라이버는 디바이스 식별 데이터에서 디바이스의 현재 전송 모드를 검색합니다. 이 멤버에 대한 자세한 내용은 설명 섹션을 참조하세요.

DeviceTransferModeSelected[MAX_IDE_DEVICE]

채널의 각 디바이스에 대해 선택한 전송 모드 설정을 나타내는 비트맵을 포함합니다. 미니포트 드라이버는 이 멤버를 사용하여 선택한 전송 모드를 포트 드라이버에 표시해야 합니다. 이 멤버에 대한 자세한 내용은 설명 섹션을 참조하세요.

발언

DeviceTransferModeSupported , DeviceTransferModeCurrentDeviceTransferModeSelected멤버 배열은 PIO 및 DMA 전송 모드의 조합을 나타내는 ULONG 비트맵 배열입니다. 비트맵은 다음과 같이 정의됩니다.

PIO 모드

#define PIO_MODE0           (1 << 0)
#define PIO_MODE1           (1 << 1)
#define PIO_MODE2           (1 << 2)
#define PIO_MODE3           (1 << 3)
#define PIO_MODE4           (1 << 4)

// Single-word DMA Modes

#define SWDMA_MODE0         (1 << 5)
#define SWDMA_MODE1         (1 << 6)
#define SWDMA_MODE2         (1 << 7)

// Multi-word DMA Modes

#define MWDMA_MODE0         (1 << 8)
#define MWDMA_MODE1         (1 << 9)
#define MWDMA_MODE2         (1 << 10)

// Ultra DMA Modes

#define UDMA_MODE0          (1 << 11)
#define UDMA_MODE1          (1 << 12)
#define UDMA_MODE2          (1 << 13)
#define UDMA_MODE3          (1 << 14)
#define UDMA_MODE4          (1 << 15)
#define UDMA_MODE5          (1 << 16)

요구 사항

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

참고 항목

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE