Метод IConnector::GetDeviceIdConnectedTo (devicetopology.h)

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

Синтаксис

HRESULT GetDeviceIdConnectedTo(
  [out] LPWSTR *ppwstrDeviceId
);

Параметры

[out] ppwstrDeviceId

Указатель на строковый указатель, в который метод записывает адрес строки с расширенными символами, завершающейся null, которая содержит идентификатор подключенного устройства. Метод выделяет хранилище для строки. Вызывающий объект отвечает за освобождение хранилища, когда оно больше не требуется, путем вызова функции CoTaskMemFree . Если вызов GetDeviceIdConnectedTo завершается сбоем, *ppwstrDeviceId имеет значение NULL. Сведения о CoTaskMemFree см. в документации по Windows SDK.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.

Код возврата Описание
E_POINTER
Указатель ppwstrDeviceId имеет значение NULL.
E_NOTFOUND
Этот соединитель не подключен или другая сторона подключения не является другой топологией устройства (например, подключением Software_IO).
E_MEMORY
Недостаточно памяти.

Комментарии

Идентификатор устройства, полученный из этого метода, можно использовать в качестве входного параметра для метода IMMDeviceEnumerator::GetDevice .

Этот метод функционально эквивалентен, но более эффективен, чем следующие серии вызовов методов:

  • Вызовите метод IConnector::GetConnectedTo , чтобы получить интерфейс IConnector соединителя "to".
  • Вызовите метод IConnector::QueryInterface (с параметром iid , равным REFIID IID_IPart), чтобы получить интерфейс IPart соединителя "to".
  • Вызовите метод IPart::GetTopologyObject , чтобы получить интерфейс IDeviceTopology устройства "to" (устройство, содержащее соединитель "to").
  • Вызовите метод IDeviceTopology::GetDeviceId , чтобы получить идентификатор устройства to.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header devicetopology.h

См. также раздел

Интерфейс IConnector

IMMDeviceEnumerator::GetDevice