Поделиться через


Интерфейс IPart (devicetopology.h)

Интерфейс IPart представляет часть (соединитель или вложенный элемент) топологии устройства. Клиент получает ссылку на интерфейс IPart , вызывая метод IDeviceTopology::GetPartById или IPartsList::GetPart , или вызывая метод QueryInterface интерфейса IConnector или ISubunit в объекте части и установив для метода iid параметр REFIID IID_IPart.

Объект с интерфейсом IPart может инкапсулировать одну из следующих частей топологии устройств:

  • Соединитель. Это часть, которая подключается к другому устройству для формирования пути данных для передачи аудиопотока между устройствами.
  • Подунижите. Это часть, которая обрабатывает аудиопоток (например, управление громкости).
Интерфейс IPart соединителя или объекта подсоединения представляет универсальные функции, которые являются общими для всех частей, а интерфейс IConnector или ISubunit объекта представляет функции, относящиеся к соединителю или подсоединение. Кроме того, часть может поддерживать один или несколько интерфейсов управления для управления или мониторинга функции части. Например, клиент управляет вложенным элементом управления томом с помощью интерфейса IAudioVolumeLevel .

Интерфейс IPart предоставляет методы для получения имени, локального идентификатора, глобального идентификатора и типа части соединителя или подъединения. Кроме того, IPart может активировать интерфейс управления в соединителе или подъединике.

Примеры кода, использующие интерфейс IPart , см. в реализациях функций GetHardwareDeviceTopology и SelectCaptureDevice в топологиях устройств.

Наследство

Интерфейс IPart наследует от интерфейса IUnknown . IPart также имеет следующие типы элементов:

Методы

Интерфейс IPart имеет эти методы.

 
IPart::Activate

Метод Activate активирует интерфейс, зависящий от функции, в соединителе или подунитуре.
IPart::EnumPartsIncoming

Метод EnumPartsIncoming получает список всех входящих частей, то есть частей, находящихся на путях данных, которые находятся в вышестоящем потоке из этой части.
IPart::EnumPartsOutgoing

Метод EnumPartsOutgoing извлекает список всех исходящих частей, т. е. частей, которые находятся на путях данных, которые находятся внизу из этой части.
IPart::GetControlInterface

Метод GetControlInterface получает ссылку на указанный интерфейс управления, если эта часть поддерживает ее.
IPart::GetControlInterfaceCount

Метод GetControlInterfaceCount получает количество интерфейсов управления, поддерживаемых этой частью.
IPart::GetGlobalId

Метод GetGlobalId получает глобальный идентификатор этой части.
IPart::GetLocalId

Метод GetLocalId получает локальный идентификатор этой части.
IPart::GetName

Метод GetName получает понятное имя этой части.
IPart::GetPartType

Метод GetPartType получает тип части этой части.
IPart::GetSubType

Метод GetSubType получает подтип части этой части.
IPart::GetTopologyObject

Метод GetTopologyObject получает ссылку на интерфейс IDeviceTopology объекта device-topology, содержащего эту часть.
IPart::RegisterControlChangeCallback

Метод RegisterControlChangeCallback регистрирует интерфейс IControlChangeNotify, который клиент реализует для получения уведомлений об изменениях состояния в этой части.
IPart::UnregisterControlChangeCallback

Метод UnregisterControlChangeCallback удаляет регистрацию интерфейса IControlChangeNotify, который клиент ранее зарегистрировал вызовом метода IPart::RegisterControlChangeCallback.

Требования

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

См. также

Основные звуковые интерфейсы

DeviceTopology API

Интерфейс IAudioVolumeLevel

Интерфейс IConnector

IDeviceTopology::GetPartById

IPartsList::GetPart

Интерфейс ISubunit