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 |
---|---|
|
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 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 | FacultatifOptional Facultatif |
KSNODETYPE_VOLUME | IAudioChannelConfig | 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 |