Константы 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::GetState и IMMNotificationClient::OnDeviceStateChanged используют константы DEVICE_STATE_XXX. Эти методы позволяют клиентам получать сведения об устройствах конечных точек, которые находятся в любом из состояний, представленных константами DEVICE_STATE_XXX.

Однако клиент может открыть поток (например, получив интерфейс IAudioClient для устройства) только на устройстве, которое находится в состоянии DEVICE_STATE_ACTIVE.

Панель управления мультимедиа Windows, Mmsys.cpl, отображает конечные звуковые устройства в системе. Отключение устройства в Mmsys.cpl скрывает устройство от механизмов обнаружения устройств в API аудио более высокого уровня, но не делает недействительными объекты потока, экземпляры которых клиент мог создать до отключения устройства. Например, если поток воспроизводит на устройстве, когда пользователь отключает его в Mmsys.cpl, поток продолжает воспроизводиться непрерывно.

В отличие от этого, отключение устройства в диспетчер устройств эффективно удаляет устройство из системы.

Чтобы использовать Mmsys.cpl для просмотра устройств отрисовки, откройте окно командной строки и введите следующую команду:

control 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