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

0으로 설정됩니다. 플래그 비트는 현재 정의되어 있지 않습니다.

AutomationTable

PCAUTOMATION_TABLE 형식의 구조인 자동화 테이블에 대한 포인터입니다. 이 멤버는 자동화 지원이 없음을 나타내기 위해 NULL 로 설정할 수 있습니다. 자동화 테이블은 노드 instance 속하는 속성 및 이벤트에 대한 처리기를 지정합니다.

Type

노드 유형을 지정합니다. 이 멤버는 노드 형식을 고유하게 식별하는 GUID에 대한 포인터입니다. 오디오 토폴로지 노드의 노드 유형 GUID 목록을 참조하세요.

Name

이 토폴로지 노드의 이름을 나타내는 GUID에 대한 포인터입니다. 이 GUID는 노드에 해당하는 이름 문자열을 가져오기 위해 KSPROPERTY_TOPOLOGY_NAMEget-property 요청에 지정됩니다. 이 포인터를 NULL 로 설정하여 Type 멤버의 GUID를 사용하여 노드 이름을 확인해야 함을 나타낼 수 있습니다.

설명

필터에 Type 멤버가 지정한 형식의 단일 노드만 포함된 경우 Type값이 필터 내의 노드를 고유하게 식별하기에 충분하기 때문에 Name 멤버를 NULL로 지정할 수 있습니다. 필터에 동일한 형식의 노드가 두 개 이상 포함된 경우 해당 노드에 대한 이름 멤버는 NULL이 아니어야 합니다.

예를 들어 필터에 단일 SUM 노드가 포함된 경우 해당 노드의 Type 멤버는 KSNODETYPE_SUM GUID 값을 가리키고 Name 멤버는 NULL로 설정됩니다. 해당 노드의 이름을 쿼리할 때 KSPROPERTY_TOPOLOGY_NAME 속성은 노드의 Name 값이 NULL임을 결정한 후 KSNODETYPE_SUM GUID에 대한 레지스트리 항목에서 이름 문자열을 검색합니다. 그러나 동일한 필터에는 여러 볼륨 노드가 포함될 수 있습니다. 이 경우 이러한 노드의 Type 값은 모두 동일한 GUID 값인 KSNODETYPE_VOLUME 가리키며 Name 값은 각 볼륨 노드를 고유하게 식별해야 합니다. 예를 들어 웨이브 입력 볼륨 제어 노드의 이름 값은 KSAUDFNAME_WAVE_IN_VOLUME GUID 값(ksmedia.h에 정의됨)을 가리킵니다. 이 GUID의 레지스트리 항목에는 KSPROPERTY_TOPOLOGY_NAME 속성이 노드에 대해 검색하는 이름 문자열이 포함됩니다.

PCFILTER_DESCRIPTOR 구조체에는 PCNODE_DESCRIPTOR 구조체의 배열에 대한 포인터가 포함되어 있습니다.

PCNODE_DESCRIPTOR 구조체를 사용하는 방법을 보여 주는 간단한 코드 예제는 필터 토폴로지 노출을 참조하세요.

요구 사항

요구 사항
헤더 portcls.h(Portcls.h 포함)

추가 정보

KSPROPERTY_TOPOLOGY_NAME

PCAUTOMATION_TABLE

PCFILTER_DESCRIPTOR