다음을 통해 공유


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 매개 변수는 선택 사항입니다.

  • UnknownAdapterNULLInit이 아닌 경우 메서드는 IInterruptSync 인터페이스에 대해 UnknownAdapter 개체를 쿼리합니다.
  • UnknownAdapterNULLInit 경우 메서드는 PcNewInterruptSync를 호출하여 새 IInterruptSync 개체를 만듭니다. 이 경우 ResourceList 가 가리키는 리소스 목록은 새 IInterruptSync 개체가 사용하는 인터럽트 리소스를 제공합니다.
두 경우 모두 메서드 Init 및 는 IInterruptSync 개체에서 RegisterServiceRoutine 메서드를 호출하여 인터럽트 동기화 루틴 목록에 미니포트 드라이버의 ISR(인터럽트 서비스 루틴)을 추가합니다. 어댑터 드라이버가 나중에 포트 개체를 해제하면 포트 드라이버는 IInterruptSync 개체에 대한 참조를 해제합니다.

UnknownAdapterResourceList 매개 변수는 어댑터 드라이버가 이전에 IPortMidi 개체의 Init 메서드에 매개 변수로 전달한 것과 동일한 포인터 값입니다(IPort::Init 참조).

UnknownAdapter, ResourceList, PortServiceGroup 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 portcls.h(Portcls.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync