IPort::Init 메서드(portcls.h)
Init 메서드는 포트 드라이버를 초기화합니다.
구문
NTSTATUS Init(
PVOID DeviceObject,
PVOID Irp,
PUNKNOWN UnknownMiniport,
PUNKNOWN UnknownAdapter,
PRESOURCELIST ResourceList
);
매개 변수
DeviceObject
어댑터 드라이버의 디바이스 시작 루틴에 인수로 전달된 디바이스 개체에 대한 포인터입니다. 디바이스 개체는 DEVICE_OBJECT 형식의 시스템 구조입니다.
Irp
어댑터 드라이버의 디바이스 시작 루틴에 인수로 전달된 IRP에 대한 포인터입니다.
UnknownMiniport
초기화되지 않은 미니포트 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 인터페이스는 포트 드라이버에서 지원하는 특정 미니포트 인터페이스에 대해 쿼리되고 해당 인터페이스의 초기화 함수가 호출됩니다.
UnknownAdapter
포트 드라이버가 초기화되는 어댑터 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 포인터는 선택 사항이며 NULL로 지정할 수 있습니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
ResourceList
어댑터 드라이버의 디바이스 시작 루틴에 인수로 전달된 IResourceList 개체에 대한 포인터입니다. 이 참조를 미니포트 드라이버에 전달한 후 포트 드라이버는 리소스 목록의 내용을 자유롭게 검사할 수 있지만 이 목록의 내용은 수정하지 않습니다.
반환 값
이 메서드는 호출이 성공한 경우 STATUS_SUCCESS 포함하는 NTSTATUS를 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.
설명
UnknownMiniport에 지정된 미니포트 개체는 포트 드라이버에 필요한 미니포트 인터페이스를 지원해야 합니다. 그렇지 않으면 Init 호출이 실패합니다.
IPort::Init 호출 중에 포트 드라이버는 미니포트 드라이버의 초기화 메서드를 호출합니다(예: IMiniportWavePci::Init 참조).
UnknownAdapter 매개 변수는 어댑터 개체의 COM 인터페이스를 가리킵니다. 어댑터 드라이버는 일반적으로 디바이스 시작 루틴 내에서 이 개체를 만듭니다. 이 루틴은 운영 체제가 디바이스를 시작하기 위해 호출하는 루틴입니다(시작 시퀀스 참조). 어댑터 개체에 대한 인터페이스의 예제는 sysvad 오디오 드라이버 샘플의 정의 및 구현을 참조 CMiniportWaveRT::Init
하세요.
UnknownMiniport, UnknownAdapter 및 ResourceList 매개 변수는 COM 개체에 대한 표준 참조 계산 규칙을 따릅니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | portcls.h |
IRQL | PASSIVE_LEVEL |