Метод IPart::GetSubType (devicetopology.h)

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

Синтаксис

HRESULT GetSubType(
  [out] GUID *pSubType
);

Параметры

[out] pSubType

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

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

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

Код возврата Описание
E_POINTER
Указатель pSubType имеет значение NULL.

Комментарии

Этот метод обычно извлекает одно из значений GUID KSNODETYPE_Xxx из файла заголовка Ksmedia.h, хотя некоторые пользовательские драйверы могут предоставлять другие значения GUID. Дополнительные сведения о идентификаторах GUID KSNODETYPE_Xxx см. в документации по Windows DDK.

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

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

  • KSNODETYPE_ANALOG_CONNECTOR, если соединитель является частью пути данных к аналоговым устройствам, таким как микрофон или динамики, или от нее.
  • KSNODETYPE_SPDIF_INTERFACE, если соединитель является частью пути данных к порту S/PDIF или из нее.
Дополнительные сведения см. в описании свойства категории контактов KSPROPERTY_PIN_CATEGORY в документации windows DDK.

Для части, которая является подъединитом, этот метод извлекает GUID подтипа, который указывает функцию потоковой обработки, которую выполняет подсоединие. Например, для подъединицы управления томом метод получает значение GUID KSNODETYPE_VOLUME.

В следующей таблице перечислены некоторые идентификаторы GUID подтипов, которые могут быть получены методом GetSubType для подсоединения.

GUID подтипа Интерфейс управления Обязательный или необязательный
KSNODETYPE_3D_EFFECTS IAudioChannelConfig Необязательно
KSNODETYPE_AGC IAudioAutoGainControl Обязательно
KSNODETYPE_DAC IAudioChannelConfig Необязательно
KSNODETYPE_DEMUX IAudioOutputSelector Обязательно
KSNODETYPE_DEV_SPECIFIC IDeviceSpecificProperty Обязательно
KSNODETYPE_LOUDNESS IAudioLoudness Обязательно
KSNODETYPE_MUTE IAudioMute Обязательно
KSNODETYPE_MUX IAudioInputSelector Обязательно
KSNODETYPE_PEAKMETER IAudioPeakMeter Обязательно
KSNODETYPE_PROLOGIC_DECODER IAudioChannelConfig Необязательно
KSNODETYPE_TONE IAudioBass

IAudioMidrange

IAudioTreble

OptionalOptional

Необязательно

KSNODETYPE_VOLUME IAudioChannelConfig

IAudioVolumeLevel

OptionalRequired
 

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

Интерфейсы элементов управления в предыдущей таблице обеспечивают удобный доступ к свойствам вложенных элементов. Однако некоторые подъединицы имеют свойства, для которых не существует соответствующих интерфейсов управления. Приложения могут получить доступ к этим свойствам через интерфейс IKsControl . Дополнительные сведения см. в статье Использование интерфейса IKsControl для доступа к свойствам звука.

Требования

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

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

Интерфейс IPart