Partager via


structure PCNODE_DESCRIPTOR (portcls.h)

La structure PCNODE_DESCRIPTOR décrit un nœud dans le filtre qu’un pilote miniport de topologie implémente.

Syntaxe

typedef struct {
  ULONG                    Flags;
  const PCAUTOMATION_TABLE *AutomationTable;
  const GUID               *Type;
  const GUID               *Name;
} PCNODE_DESCRIPTOR, *PPCNODE_DESCRIPTOR;

Membres

Flags

Définit la valeur zéro. Aucun bits d’indicateur n’est actuellement défini.

AutomationTable

Pointeur vers la table Automation, qui est une structure de type PCAUTOMATION_TABLE. Ce membre peut être défini sur NULL pour indiquer qu’aucune prise en charge de l’automatisation n’est prise en charge. La table Automation spécifie les gestionnaires pour les propriétés et les événements appartenant au nœud instance.

Type

Spécifie le type de nœud. Ce membre est un pointeur vers un GUID qui identifie de manière unique le type de nœud. Consultez la liste des GUID de type nœud dans Les nœuds de topologie audio.

Name

Pointeur vers un GUID qui représente le nom de ce nœud de topologie. Ce GUID est spécifié dans une KSPROPERTY_TOPOLOGY_NAMEdemande get-property pour obtenir la chaîne de nom correspondante pour le nœud. Ce pointeur peut avoir la valeur NULL pour indiquer que le GUID dans le membre Type doit être utilisé pour déterminer le nom du nœud.

Remarques

Si un filtre ne contient qu’un seul nœud du type spécifié par le membre Type , le membre Name peut être spécifié comme NULL , car la valeur Type est suffisante pour identifier de manière unique le nœud dans le filtre. Si le filtre contient au moins deux nœuds du même type, les membres Name de ces nœuds doivent être non NULL.

Par exemple, si un filtre contient un seul nœud SOMME, le membre Type de ce nœud pointe vers la valeur GUID KSNODETYPE_SUM, et le membre Name a la valeur NULL. Lorsqu’elle est interrogée pour le nom de ce nœud, la propriété KSPROPERTY_TOPOLOGY_NAME , après avoir déterminé que la valeur Name du nœud est NULL, récupère la chaîne de nom de l’entrée de Registre pour le GUID KSNODETYPE_SUM. Toutefois, le même filtre peut contenir plusieurs nœuds de volume, auquel cas les valeurs Type de ces nœuds pointent toutes vers la même valeur GUID, KSNODETYPE_VOLUME, et la valeur Name doit identifier de manière unique chacun des nœuds de volume. La valeur Name du nœud de contrôle du volume d’entrée d’onde, par exemple, doit pointer vers la valeur GUID KSAUDFNAME_WAVE_IN_VOLUME (définie dans ksmedia.h). L’entrée de Registre de ce GUID contient la chaîne de nom que la propriété KSPROPERTY_TOPOLOGY_NAME récupère pour le nœud.

La structure PCFILTER_DESCRIPTOR contient un pointeur vers un tableau de structures PCNODE_DESCRIPTOR .

Pour obtenir un exemple de code simple qui montre comment la structure PCNODE_DESCRIPTOR est utilisée, consultez Exposition de la topologie de filtre.

Configuration requise

Condition requise Valeur
En-tête portcls.h (include Portcls.h)

Voir aussi

KSPROPERTY_TOPOLOGY_NAME

PCAUTOMATION_TABLE

PCFILTER_DESCRIPTOR