IDE_CHANNEL_INIT 콜백 함수(irb.h)

AtaChannelInitRoutine 미니포트 드라이버 루틴은 미니포트 드라이버의 채널 인터페이스를 초기화합니다.

참고

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

구문

IDE_CHANNEL_INIT IdeChannelInit;

BOOLEAN IdeChannelInit(
  PVOID ChannelExtension,
  PIDE_CHANNEL_INTERFACE ChannelInterface,
  PVOID InitContext
)
{...}

매개 변수

ChannelExtension

[in] 미니포트 드라이버 채널 확장에 대한 포인터입니다.

ChannelInterface

[in, out] 표시된 채널에 대한 인터페이스 정보를 포함하는 IDE_CHANNEL_INTERFACE 구조체에 대한 포인터입니다.

InitContext

[in, out] 컨트롤러 확장에 대한 포인터입니다.

반환 값

초기화에 성공하면 AtaChannelInitRoutine이 TRUE를 반환합니다. 초기화에 실패한 경우 FALSE를 반환합니다.

설명

채널 인터페이스를 지원하는 공급업체에서 제공하는 미니포트 드라이버는 컨트롤러의 채널을 초기화하기 위해 AtaChannelInitRoutine 루틴을 구현해야 합니다. 특히 AtaChannelInitRoutine 루틴은 IDE_CHANNEL_INTERFACE 구조체의 초기화를 완료해야 합니다. 다음 시퀀스는 미니포트 드라이버와 포트 드라이버가 상호 작용하여 채널을 초기화하는 방법을 설명합니다.

  1. DriverEntry 루틴에서 미니포트 드라이버는 포트 드라이버의 AtaPortInitializeEx 라이브러리 루틴을 호출하여 컨트롤러 및 미니포트 드라이버의 초기화를 시작합니다.

  2. 미니포트 드라이버가 채널 인터페이스를 지원하는 경우 DriverEntry 루틴은 미니포트 드라이버의 AtaChannelInitRoutine 루틴을 가리키도록 IDE_CONTROLLER_INTERFACEAtaChannelInitRoutine 멤버를 초기화해야 합니다.

  3. 포트 드라이버는 제어 작업 IdeStart를 사용하여 AtaAdapterControl 루틴을 호출합니다. AtaChannelInitRoutineAtaAdapterControlIdeStart 작업을 처리할 때 AtaAdapterControl 루틴에서 반환되는 ControllerConfiguration 구조에 지정된 모든 NumberOfChannels에 대해 한 번 호출됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 irb.h(Irb.h 포함)

추가 정보

AtaPortInitializeEx

IDE_CHANNEL_INTERFACE

IDE_CONTROLLER_INTERFACE