다음을 통해 공유


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

추가 정보

IPort

IMiniportWavePci::Init