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éfini sur 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 d’automatisation n’est prise en charge. La table Automation spécifie les gestionnaires des propriétés et des événements appartenant à l’instance de nœud.

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 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 requête get-property KSPROPERTY_TOPOLOGY_NAMEpour obtenir la chaîne de nom correspondante pour le nœud. Ce pointeur peut être défini sur 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 deux nœuds ou plus du même type, les membres Name pour ces nœuds doivent être non-NULL.

Par exemple, si un filtre contient un seul nœud SUM, le membre Type pour ce nœud pointe vers la valeur GUID KSNODETYPE_SUM, et le membre Name est défini sur NULL. Lorsque vous avez interrogé 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 pour ces nœuds pointent tous 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 pour le nœud de contrôle de 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 pour 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 Exposing Filter Topology.

Exigences

Exigence Valeur
d’en-tête portcls.h (include Portcls.h)

Voir aussi

KSPROPERTY_TOPOLOGY_NAME

PCAUTOMATION_TABLE

PCFILTER_DESCRIPTOR