IPortDMus::RegisterServiceGroup 메서드(dmusicks.h)
메서드는 RegisterServiceGroup
DMus 포트 드라이버에 서비스 그룹을 등록합니다.
구문
void RegisterServiceGroup(
[in] PSERVICEGROUP ServiceGroup
);
매개 변수
[in] ServiceGroup
IServiceGroup 개체에 대한 포인터입니다. 등록할 서비스 그룹입니다.
반환 값
없음
설명
미니포트 드라이버는 메서드를 RegisterServiceGroup
호출하여 포트 드라이버에 서비스 그룹(IServiceGroup 개체)을 등록합니다. 포트 드라이버는 하나 이상의 서비스 싱크(IServiceSink 개체)를 이 서비스 그룹에 삽입할 수 있습니다. 미니포트 드라이버는 인터럽트 발생 시 서비스 그룹에 알림을 보냅니다( IPortDMus::Notify 호출). 알림을 받으면 서비스 그룹은 DPC(지연 프로시저 호출)를 예약합니다. DPC는 서비스 그룹의 모든 서비스 싱크를 반복하고 각각에 알림을 보냅니다.
미니포트 드라이버는 일반적으로 IMiniportDMus::Init 메서드를 실행하는 동안 RegisterServiceSink를 호출합니다. 이 호출의 목적은 인터럽트 처리가 활성화되는 즉시 시작할 수 있을 만큼 일찍 포트 드라이버에 서비스 그룹을 등록하는 것입니다. Init 메서드가 출력하는 서비스 그룹은 Init 메서드에서 반환될 때까지 포트 드라이버에서 사용할 수 없습니다.
미니포트 드라이버가 를 호출 RegisterServiceSink
하는 경우 미니포트 드라이버가 메서드에 RegisterServiceSink
전달하는 서비스 그룹은 미니포트 드라이버가 Init 메서드를 통해 출력하는 것과 동일해야 합니다.
IMiniportDMus::Init의 반환이 발생한 후에는 일반적인 미니포트 드라이버를 더 이상 호출 RegisterServiceSink
할 필요가 없습니다.
미니포트 드라이버가 IMiniportDMus::Init 메서드 내에서 를 호출 RegisterServiceSink
하는 방법을 보여 주는 코드 예제는 Microsoft WDK(Windows 드라이버 키트)의 DMusUART 샘플 오디오 드라이버를 참조하세요.
pServiceGroup 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dmusicks.h(Dmusicks.h 포함) |
IRQL | PASSIVE_LEVEL |