//--------------------------------------------------------------------------- // // Module: tn.h // // Description: Topology Node Class // // //@@BEGIN_MSINTERNAL // Development Team: // Mike McLaughlin // // History: Date Author Comment // //@@END_MSINTERNAL //--------------------------------------------------------------------------- // // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR // PURPOSE. // // Copyright (c) 1996-1999 Microsoft Corporation. All Rights Reserved. // //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // Constants and Macros //--------------------------------------------------------------------------- #define TN_FLAGS_DONT_FORWARD 0x00000001 //--------------------------------------------------------------------------- // Classes //--------------------------------------------------------------------------- typedef ListMulti LIST_MULTI_LOGICAL_FILTER_NODE; //--------------------------------------------------------------------------- typedef class CTopologyNode : public CListSingleItem { public: CTopologyNode( PFILTER_NODE pFilterNode, ULONG ulNodeNumber, GUID *pguidType ); ~CTopologyNode( ); static NTSTATUS Create( PTOPOLOGY_NODE *ppTopologyNode, PFILTER_NODE pFilterNode, ULONG ulNodeNumber, GUID *pguidType ); ENUMFUNC Destroy() { Assert(this); delete this; return(STATUS_CONTINUE); }; ENUMFUNC InitializeTopologyNode( PVOID pGraphNodeInstance ); ENUMFUNC AddTopologyNode( PVOID pGraphNodeInstance ); ENUMFUNC MatchTopologyNode( PVOID pReference ) { if(this == PTOPOLOGY_NODE(pReference)) { return(STATUS_SUCCESS); } return(STATUS_CONTINUE); }; #ifdef DEBUG ENUMFUNC Dump( ); #endif PFILTER_NODE pFilterNode; GUID *pguidType; ULONG ulFlags; ULONG ulRealNodeNumber; ULONG ulSysaudioNodeNumber; ULONG iVirtualSource; LIST_TOPOLOGY_PIN lstTopologyPin; LIST_MULTI_LOGICAL_FILTER_NODE lstLogicalFilterNode; DefineSignature(0x20204E54); // TN } TOPOLOGY_NODE, *PTOPOLOGY_NODE; //--------------------------------------------------------------------------- typedef ListSingleDestroy LIST_TOPOLOGY_NODE; //--------------------------------------------------------------------------- typedef ListData LIST_DATA_TOPOLOGY_NODE, *PLIST_DATA_TOPOLOGY_NODE; //--------------------------------------------------------------------------- // Globals //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // Local prototypes //--------------------------------------------------------------------------- NTSTATUS CreateTopology( PFILTER_NODE pFilterNode, PKSTOPOLOGY pTopology ); //---------------------------------------------------------------------------