Partager via


Méthode IPart::GetSubType (devicetopology.h)

La méthode GetSubType obtient le sous-type de composant de ce composant.

Syntaxe

HRESULT GetSubType(
  [out] GUID *pSubType
);

Paramètres

[out] pSubType

Pointeur vers une variable GUID dans laquelle la méthode écrit le GUID de sous-type pour cette partie.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_POINTER
Pointeur pSubType a la valeur NULL.

Notes

Cette méthode récupère généralement l’une des valeurs guid KSNODETYPE_Xxx à partir du fichier d’en-tête Ksmedia.h, bien que certains pilotes personnalisés puissent fournir d’autres valeurs GUID. Pour plus d’informations sur les GUID KSNODETYPE_Xxx , consultez la documentation du DDK Windows.

Comme expliqué dans IPart Interface, un composant peut être un connecteur ou une sous-unité.

Pour une partie qui est un connecteur, cette méthode récupère le GUID de catégorie de broche que le pilote a affecté au connecteur. Voici des exemples de GUID de catégorie d’épingles :

  • KSNODETYPE_ANALOG_CONNECTOR, si le connecteur fait partie du chemin d’accès aux données vers ou depuis un appareil analogique tel qu’un microphone ou des haut-parleurs.
  • KSNODETYPE_SPDIF_INTERFACE, si le connecteur fait partie du chemin d’accès aux données vers ou à partir d’un port S/PDIF.
Pour plus d’informations, consultez la discussion de la propriété pin-category, KSPROPERTY_PIN_CATEGORY, dans la documentation du DDK Windows.

Pour une partie qui est une sous-unité, cette méthode récupère un GUID de sous-type qui indique la fonction de traitement de flux effectuée par la sous-unité. Par exemple, pour une sous-unité de contrôle de volume, la méthode récupère la valeur GUID KSNODETYPE_VOLUME.

Le tableau suivant répertorie certains GUID de sous-type qui peuvent être récupérés par la méthode GetSubType pour une sous-unité.

GUID de sous-type Interface de contrôle Obligatoire ou facultatif
KSNODETYPE_3D_EFFECTS IAudioChannelConfig Facultatif
KSNODETYPE_AGC IAudioAutoGainControl Obligatoire
KSNODETYPE_DAC IAudioChannelConfig Facultatif
KSNODETYPE_DEMUX IAudioOutputSelector Obligatoire
KSNODETYPE_DEV_SPECIFIC IDeviceSpecificProperty Obligatoire
KSNODETYPE_LOUDNESS IAudioLoudness Obligatoire
KSNODETYPE_MUTE IAudioMute Obligatoire
KSNODETYPE_MUX IAudioInputSelector Obligatoire
KSNODETYPE_PEAKMETER IAudioPeakMeter Obligatoire
KSNODETYPE_PROLOGIC_DECODER IAudioChannelConfig Facultatif
KSNODETYPE_TONE IAudioBass

IAudioMidrange

IAudioTreble

FacultatifOptional

Facultatif

KSNODETYPE_VOLUME IAudioChannelConfig

IAudioVolumeLevel

FacultatifRequired
 

Dans le tableau précédent, la colonne du milieu répertorie les interfaces de contrôle prises en charge par les sous-unités du sous-type spécifié dans la colonne de gauche. La colonne de droite indique si la prise en charge par la sous-unité pour une interface de contrôle est requise ou facultative. Si la prise en charge est requise, une application peut s’appuyer sur une sous-unité du sous-type spécifié pour prendre en charge l’interface de contrôle. Si la prise en charge est facultative, une sous-unité du sous-type spécifié peut, mais pas nécessairement, prendre en charge l’interface de contrôle.

Les interfaces de contrôle du tableau précédent fournissent un accès pratique aux propriétés des sous-unités. Toutefois, certaines sous-unités ont des propriétés pour lesquelles aucune interface de contrôle correspondante n’existe. Les applications peuvent accéder à ces propriétés via l’interface IKsControl . Pour plus d’informations, consultez Utilisation de l’interface IKsControl pour accéder aux propriétés audio.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête devicetopology.h

Voir aussi

IPart, interface