структура PCNODE_DESCRIPTOR (portcls.h)

Структура PCNODE_DESCRIPTOR описывает узел в фильтре, который реализует драйвер мини-порта топологии.

Синтаксис

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

Члены

Flags

Задайте нулевое значение. В настоящее время биты флагов не определены.

AutomationTable

Указатель на таблицу автоматизации, которая представляет собой структуру типа PCAUTOMATION_TABLE. Для этого элемента можно задать значение NULL , чтобы указать на отсутствие поддержки автоматизации. В таблице автоматизации указываются обработчики свойств и событий, принадлежащих экземпляру узла.

Type

Указывает тип узла. Этот элемент является указателем на GUID, который однозначно идентифицирует тип узла. См. список GUID типа узла в разделе Узлы топологии аудио.

Name

Указатель на GUID, представляющий имя этого узла топологии. Этот GUID указывается в запросе KSPROPERTY_TOPOLOGY_NAMEget-property для получения соответствующей строки имени узла. Для этого указателя можно задать значение NULL , чтобы указать, что для определения имени узла следует использовать GUID в элементе Type .

Комментарии

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

Например, если фильтр содержит один узел СУММ, элемент Type для этого узла указывает на значение GUID KSNODETYPE_SUM, а для элемента Name задано значение NULL. При запросе имени этого узла свойство KSPROPERTY_TOPOLOGY_NAME , определяя, что значение name узла равно NULL, извлекает строку имени из записи реестра для KSNODETYPE_SUM GUID. Однако один и тот же фильтр может содержать несколько узлов томов. В этом случае значения Type для этих узлов указывают на одно и то же значение GUID , KSNODETYPE_VOLUME, а значение Name должно однозначно идентифицировать каждый из узлов тома. Например, значение Name для узла управления объемом входных волн должно указывать на значение GUID KSAUDFNAME_WAVE_IN_VOLUME (определенное в ksmedia.h). Запись реестра для этого GUID содержит строку имени, которую свойство KSPROPERTY_TOPOLOGY_NAME извлекает для узла.

Структура PCFILTER_DESCRIPTOR содержит указатель на массив PCNODE_DESCRIPTOR структур.

Простой пример кода, демонстрирующий использование структуры PCNODE_DESCRIPTOR , см. в разделе Предоставление топологии фильтра.

Требования

Требование Значение
Заголовок portcls.h (включая Portcls.h)

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

KSPROPERTY_TOPOLOGY_NAME

PCAUTOMATION_TABLE

PCFILTER_DESCRIPTOR