MMDevice API 정보
MMDevice(Windows 멀티미디어 디바이스) API를 사용하면 오디오 클라이언트가 오디오 엔드포인트 디바이스를 검색하고, 해당 기능을 확인하고, 해당 디바이스에 대한 드라이버 인스턴스를 만들 수 있습니다.
헤더 파일 Mmdeviceapi.h는 MMDevice API의 인터페이스를 정의합니다.
MMDevice API는 여러 인터페이스로 구성됩니다. 이 중 첫 번째는 IMMDeviceEnumerator 인터페이스입니다. MMDevice API의 인터페이스에 액세스하기 위해 클라이언트는 다음 코드 조각과 같이 CoCreateInstance 함수를 호출하여 디바이스 열거자 개체의 IMMDeviceEnumerator 인터페이스에 대한 참조를 가져옵니다.
const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
hr = CoCreateInstance(
CLSID_MMDeviceEnumerator, NULL,
CLSCTX_ALL, IID_IMMDeviceEnumerator,
(void**)&pEnumerator);
앞의 코드 조각에서 CLSID_MMDeviceEnumerator 및 IID_IMMDeviceEnumerator MMDeviceEnumerator 클래스 개체 및 IMMDeviceEnumerator 인터페이스에 특성으로 연결된 GUID 값입니다.
CoCreateInstance 호출은 이러한 값을 참조로 전달합니다. 변수 hr
는 HRESULT 형식이고 변수 pEnumerator
는 디바이스 열거자 개체의 IMMDeviceEnumerator 인터페이스에 대한 포인터입니다.
IMMDeviceEnumerator 는 오디오 엔드포인트 디바이스를 열거하는 메서드를 제공합니다.
__uuidof 연산자, CoCreateInstance 함수 및 CLSCTX_Xxx 상수에 대한 자세한 내용은 Windows SDK 설명서를 참조하세요.
IMMDeviceEnumerator 인터페이스를 통해 클라이언트는 MMDevice API의 다른 인터페이스에 대한 참조를 가져올 수 있습니다. MMDevice API는 다음 인터페이스를 구현합니다.
인터페이스 | 설명 |
---|---|
IMMDevice | 오디오 디바이스를 나타냅니다. |
IMMDeviceCollection | 오디오 디바이스의 컬렉션을 나타냅니다. |
IMMDeviceEnumerator | 오디오 디바이스를 열거하는 메서드를 제공합니다. |
IMMEndpoint | 오디오 엔드포인트 디바이스를 나타냅니다. |
또한 오디오 엔드포인트 디바이스의 상태 변경에 대한 알림이 필요한 MMDevice API의 클라이언트는 다음 인터페이스를 구현해야 합니다.
인터페이스 | 설명 |
---|---|
IMMNotificationClient | 오디오 엔드포인트 디바이스가 추가 또는 제거되거나, 디바이스의 상태 또는 속성이 변경되거나, 디바이스에 할당된 기본 역할이 변경될 때 알림을 제공합니다. |
관련 항목