IMiniportMidi::Init 메서드(portcls.h)
메서드는 Init
MIDI 미니포트 개체를 초기화합니다.
구문
NTSTATUS Init(
[in] PUNKNOWN UnknownAdapter,
[in] PRESOURCELIST ResourceList,
[in] PPORTMIDI Port,
[out] PSERVICEGROUP *ServiceGroup
);
매개 변수
[in] UnknownAdapter
미니포트 개체가 초기화되는 어댑터 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL로 지정할 수 있습니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
[in] ResourceList
초기화 중에 미니포트 드라이버에 제공할 리소스 목록 개체의 IResourceList 인터페이스에 대한 포인터입니다. 이 참조를 미니포트 드라이버에 전달한 후 포트 드라이버는 리소스 목록의 내용을 자유롭게 검사할 수 있지만 이 목록의 내용은 수정하지 않습니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
[in] Port
이 미니포트 개체에 바인딩된 IPortMidi 개체에 대한 포인터입니다. 호출자는 이 매개 변수에 대해 유효한 NULL 이 아닌 포인터 값을 지정합니다.
[out] ServiceGroup
서비스 그룹에 대한 출력 포인터입니다. 이 매개 변수는 메서드가 미니포트 드라이버의 서비스 그룹 개체의 IServiceGroup 인터페이스에 대한 포인터를 쓰는 호출자 할당 포인터 변수를 가리킵니다. 인터럽트 알림에 등록되는 서비스 그룹입니다. 호출자는 이 매개 변수에 대해 유효한 NULL 이 아닌 포인터 값을 지정합니다.
반환 값
Init
는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.
설명
UnknownAdapter 매개 변수는 선택 사항입니다.
-
UnknownAdapter가 NULL
Init
이 아닌 경우 메서드는 IInterruptSync 인터페이스에 대해 UnknownAdapter 개체를 쿼리합니다. -
UnknownAdapter가 NULL인
Init
경우 메서드는 PcNewInterruptSync를 호출하여 새 IInterruptSync 개체를 만듭니다. 이 경우 ResourceList 가 가리키는 리소스 목록은 새 IInterruptSync 개체가 사용하는 인터럽트 리소스를 제공합니다.
Init
및 는 IInterruptSync 개체에서 RegisterServiceRoutine 메서드를 호출하여 인터럽트 동기화 루틴 목록에 미니포트 드라이버의 ISR(인터럽트 서비스 루틴)을 추가합니다. 어댑터 드라이버가 나중에 포트 개체를 해제하면 포트 드라이버는 IInterruptSync 개체에 대한 참조를 해제합니다.
UnknownAdapter 및 ResourceList 매개 변수는 어댑터 드라이버가 이전에 IPortMidi 개체의 Init 메서드에 매개 변수로 전달한 것과 동일한 포인터 값입니다(IPort::Init 참조).
UnknownAdapter, ResourceList, Port 및 ServiceGroup 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | PASSIVE_LEVEL |