다음을 통해 공유


DEVICE_STATE_XXX 상수

DEVICE_STATE_XXX 상수는 오디오 엔드포인트 디바이스의 현재 상태를 나타냅니다.

상수/값 설명
DEVICE_STATE_ACTIVE
0x00000001
오디오 엔드포인트 디바이스가 활성 상태입니다. 즉, 엔드포인트 디바이스에 연결하는 오디오 어댑터가 있고 사용하도록 설정되어 있습니다. 또한 엔드포인트 디바이스가 어댑터의 잭에 연결하는 경우 엔드포인트 디바이스가 연결됩니다.
DEVICE_STATE_DISABLED
0x00000002
오디오 엔드포인트 디바이스를 사용할 수 없습니다. 사용자가 Windows 멀티미디어 제어판에서 디바이스를 사용하지 않도록 설정했습니다. Mmsys.cpl. 자세한 내용은 설명 부분을 참조하세요.
DEVICE_STATE_NOTPRESENT
0x00000004
엔드포인트 디바이스에 연결하는 오디오 어댑터가 시스템에서 제거되었거나 사용자가 장치 관리자 어댑터 디바이스를 사용하지 않도록 설정했기 때문에 오디오 엔드포인트 디바이스가 없습니다.
DEVICE_STATE_UNPLUGGED
0x00000008
오디오 엔드포인트 디바이스가 분리되어 있습니다. 엔드포인트 디바이스의 잭을 포함하는 오디오 어댑터가 있고 사용하도록 설정되어 있지만 엔드포인트 디바이스가 잭에 연결되어 있지 않습니다. 잭 프레즌스 검색이 있는 디바이스만 이 상태에 있을 수 있습니다. 잭 프레즌스 검색에 대한 자세한 내용은 오디오 엔드포인트 디바이스를 참조하세요.
DEVICE_STATEMASK_ALL
0x0000000F
활성 상태, 사용 안 함, 존재하지 않음 및 분리된 모든 상태의 오디오 엔드포인트 디바이스를 포함합니다.

설명

IMMDeviceEnumerator::EnumAudioEndpoints, IMMDevice::GetStateIMMNotificationClient::OnDeviceStateChanged 메서드는 DEVICE_STATE_XXX 상수를 사용합니다. 이러한 메서드를 사용하면 클라이언트가 DEVICE_STATE_XXX 상수로 표시되는 모든 상태에 있는 엔드포인트 디바이스에 대한 정보를 가져올 수 있습니다.

그러나 클라이언트는 DEVICE_STATE_ACTIVE 상태에 있는 디바이스에서만 스트림을 열 수 있습니다(예: 디바이스에 대한 IAudioClient 인터페이스를 가져와서).

Mmsys.cpl Windows 멀티미디어 제어판은 시스템에 오디오 엔드포인트 디바이스를 표시합니다. Mmsys.cpl 디바이스를 사용하지 않도록 설정하면 상위 수준 오디오 API의 디바이스 검색 메커니즘에서 디바이스가 숨겨지지만 디바이스를 사용하지 않도록 설정하기 전에 클라이언트가 인스턴스화했을 수 있는 스트림 개체는 무효화되지 않습니다. 예를 들어 사용자가 Mmsys.cpl 사용하지 않도록 설정할 때 디바이스에서 스트림이 재생되는 경우 스트림은 중단 없이 계속 재생됩니다.

반면, 장치 관리자 디바이스를 사용하지 않도록 설정하면 시스템에서 디바이스가 효과적으로 제거됩니다.

Mmsys.cpl 사용하여 렌더링 디바이스를 보려면 명령 프롬프트 창을 열고 다음 명령을 입력합니다.

컨트롤 mmsys.cpl,,0

캡처 디바이스를 보려면 다음 명령을 입력합니다.

컨트롤 mmsys.cpl,,1

또는 작업 표시줄 오른쪽에 있는 알림 영역에서 스피커 아이콘을 마우스 오른쪽 단추로 클릭하고 재생 디바이스 또는 기록 디바이스를 선택하여 Mmsys.cpl 렌더링 디바이스 또는 캡처 디바이스 를 볼 수 있습니다.

Mmsys.cpl 항상 DEVICE_STATE_ACTIVE 상태에 있는 엔드포인트 디바이스를 표시합니다. 또한 사용하지 않도록 설정되고 연결이 끊긴 디바이스를 표시하도록 구성할 수 있습니다.

DEVICE_STATE_DISABLED 및 DEVICE_STATE_NOTPRESENT 상태에 있는 엔드포인트 디바이스를 보려면 Mmsys.cpl 창을 마우스 오른쪽 단추로 클릭하고 사용 안 함 디바이스 표시 옵션을 선택합니다.

DEVICE_STATE_UNPLUGGED 상태에 있는 엔드포인트 디바이스를 보려면 Mmsys.cpl 창을 마우스 오른쪽 단추로 클릭하고 연결이 끊긴 디바이스 표시 옵션을 선택합니다.

DEVICE_STATE_ACTIVE 상태에 있는 엔드포인트 디바이스만 보려면 비활성화된 디바이스 표시연결이 끊긴 디바이스 표시 옵션을 모두 선택 취소합니다.

Mmsys.cpl 엔드포인트 디바이스를 사용하거나 사용하지 않도록 설정하려면 디바이스가 재생 또는 녹화 디바이스인지에 따라 재생 또는 녹화를 클릭합니다. 다음으로 디바이스를 선택하고 속성을 클릭합니다. 속성 창의 디바이스 사용 옆에 있는 이 디바이스 사용(사용) 또는 이 디바이스 사용 안 함(사용 안 함)을 선택합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
헤더
Mmdeviceapi.h

추가 정보

핵심 오디오 상수

IMMDevice::GetState

IMMDeviceEnumerator 인터페이스

IMMDeviceEnumerator::EnumAudioEndpoints

IMMNotificationClient::OnDeviceStateChanged