AtaPortInitializeEx 함수(irb.h)
AtaPortInitializeEx ATA 포트 드라이버 라이브러리 루틴은 포트 및 미니포트 드라이버를 초기화합니다.
참고 ATA 포트 드라이버 및 ATA 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버 및 Storport 미니포트 드라이버 모델을 사용하는 것이 좋습니다.
구문
ULONG AtaPortInitializeEx(
[in] PVOID DriverObject,
[in] PVOID RegistryPath,
[in] PIDE_CONTROLLER_INTERFACE ControllerInterface
);
매개 변수
[in] DriverObject
미니포트 드라이버 개체에 대한 포인터입니다.
[in] RegistryPath
미니포트 드라이버 구성 정보가 저장된 레지스트리의 위치를 나타내는 유니코드 문자열을 포함합니다.
[in] ControllerInterface
AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabled 및 AtaControllerTransferModeSelect 루틴에 대한 진입점을 포함합니다.
반환 값
작업이 성공하면 AtaPortInitializeEx는 STATUS_SUCCESS 반환합니다. 그렇지 않으면 오류 코드를 반환합니다.
설명
AtaPortInitializeEx 루틴은 포트 및 미니포트 드라이버에서 사용되는 주요 데이터 구조를 초기화합니다. 또한 컨트롤러 채널의 초기화도 시작합니다. 다음 시퀀스는 이 루틴에서 수행한 주체 작업을 설명합니다.
- DriverEntry 루틴에서 미니포트 드라이버는 포트 드라이버의 AtaPortInitializeEx 라이브러리 루틴을 호출하고 다음 주요 매개 변수를 전달합니다.
- ControllerInterface: AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabled 및 AtaControllerTransferModeSelect 루틴의 진입점을 포함합니다.
- AtaPortInitializeEx 루틴은 포트 및 미니포트 드라이버에서 사용되는 주요 데이터 구조를 초기화하고 다음 작업을 수행합니다.
- 미니포트 드라이버의 디스패치 테이블을 초기화합니다.
- 드라이버 개체에 대한 확장을 할당합니다.
- ControllerInterface를 드라이버 확장에 복사합니다.
- AtaPortInitializeEx가 포트 드라이버의 초기화를 완료하면 미니포트 드라이버의 DriverEntry 루틴으로 돌아갑니다.
- 어댑터 디바이스를 시작하는 동안 컨트롤 작업 IdeStart를 사용하여 포트 드라이버에서 미니포트 드라이버 루틴 AtaAdapterControl을 호출합니다.
- ATA 포트 드라이버가 채널 디바이스 시작 요청을 처리하는 경우 컨트롤러의 각 채널에 대해 미니포트 드라이버 루틴 AtaControllerChannelEnabled 가 호출되어 사용 여부를 확인합니다.
- AtaControllerChannelEnabled 루틴이 사용하도록 설정된 채널을 결정한 후 ATA 포트 드라이버는 이 채널에 대해 AtaChannelInitRoutine을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | irb.h(Ata.h, Irb.h 포함) |
라이브러리 | Pciidex.lib |