Метод IMMDeviceEnumerator::GetDevice (mmdeviceapi.h)
Метод GetDevice извлекает устройство конечной точки звука, идентифицируемое строкой идентификатора конечной точки.
Синтаксис
HRESULT GetDevice(
[in] LPCWSTR pwstrId,
[out] IMMDevice **ppDevice
);
Параметры
[in] pwstrId
Указатель на строку, содержащую идентификатор конечной точки. Вызывающий объект обычно получает эту строку из метода IMMDevice::GetId или одного из методов в интерфейсе IMMNotificationClient .
[out] ppDevice
Указатель на переменную указателя, в которую метод записывает адрес интерфейса IMMDevice для указанного устройства. С помощью этого метода вызывающий объект получает подсчитываемую ссылку на интерфейс . Вызывающий объект отвечает за освобождение интерфейса, когда он больше не нужен, путем вызова метода Release интерфейса. Если вызов GetDevice завершается ошибкой , *ppDevice имеет значение NULL.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Параметр pwstrId или ppDevice имеет значение NULL. |
|
Идентификатор устройства не идентифицирует звуковое устройство, которое находится в этой системе. |
|
Недостаточно памяти. |
Комментарии
Если две программы выполняются в двух разных процессах и обеим требуется доступ к одному и тому же устройству конечной точки аудио, одна программа не может просто передать интерфейс IMMDevice устройства другой программе. Однако программы могут получить доступ к одному и тому же устройству, выполнив следующие действия.
- Первая программа вызывает метод IMMDevice::GetId в первом процессе, чтобы получить строку идентификатора конечной точки, которая идентифицирует устройство.
- Первая программа передает строку идентификатора конечной точки через границу процесса во вторую программу.
- Чтобы получить ссылку на интерфейс IMMDevice устройства во втором процессе, вторая программа вызывает GetDevice со строкой идентификатора конечной точки.
- Свойства устройства
- События устройства
- Использование интерфейса IKsControl для доступа к свойствам звука
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | mmdeviceapi.h |