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 設定して、自動化のサポートがないことを示すことができます。 オートメーション テーブルは、ノード インスタンスに属するプロパティとイベントのハンドラーを指定します。
Type
ノードの種類を指定します。 このメンバーは、ノードの種類を一意に識別する GUID へのポインターです。 オーディオ トポロジ ノードのノード タイプ GUID の一覧を参照してください。
Name
このトポロジ ノードの名前を表す GUID へのポインター。 この GUID は、ノードの対応する名前文字列を取得するために、KSPROPERTY_TOPOLOGY_NAMEget-property 要求で指定されます。 このポインター NULL に設定すると、Type メンバーの GUID を使用してノード名を決定する必要があることを示すことができます。
備考
Type メンバーで指定された型のノードがフィルターに 1 つだけ含まれている場合、Name メンバーは、Type 値でフィルター内のノードを一意に識別するのに十分であるため、NULL として指定できます。 フィルターに同じ型のノードが 2 つ以上含まれている場合、それらのノードの Name メンバーは、NULL以外である必要があります。
たとえば、フィルターに 1 つの SUM ノードが含まれている場合、そのノードの Type メンバーは GUID 値 KSNODETYPE_SUMを指し、Name メンバーは NULL 設定されます。 そのノードの名前を照会すると、KSPROPERTY_TOPOLOGY_NAME プロパティは、ノードの Name 値が NULL 決定した後、KSNODETYPE_SUM GUID のレジストリ エントリから名前文字列を取得します。 ただし、同じフィルターに複数のボリューム ノードが含まれている場合があります。その場合、これらのノードの Type 値はすべて同じ GUID 値 (KSNODETYPE_VOLUME) を指し、名前 値は各ボリューム ノードを一意に識別する必要があります。 たとえば、ウェーブ入力ボリューム制御ノードの Name 値は、GUID 値 KSAUDFNAME_WAVE_IN_VOLUME (ksmedia.h で定義) を指している必要があります。 この GUID のレジストリ エントリには、KSPROPERTY_TOPOLOGY_NAME プロパティがノードに対して取得する名前文字列が含まれています。
PCFILTER_DESCRIPTOR 構造体には、PCNODE_DESCRIPTOR 構造体の配列へのポインターが含まれています。
PCNODE_DESCRIPTOR 構造の使用方法を示す簡単なコード例については、「フィルター トポロジのの公開」を参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | portcls.h (Portcls.h を含む) |