1 2import "unknwn.idl"; 3import "strmif.idl"; 4 5cpp_quote("#include \"ks.h\"") 6cpp_quote("#ifndef _KS_") 7typedef struct { 8 ULONG FromNode; 9 ULONG FromNodePin; 10 ULONG ToNode; 11 ULONG ToNodePin; 12} KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION; 13cpp_quote("#endif") 14 15 16[ 17 object, 18 local, 19 uuid(720D4AC0-7533-11D0-A5D6-28DB04C10000), 20 pointer_default(unique) 21] 22interface IKsTopologyInfo : IUnknown 23{ 24 HRESULT get_NumCategories([out] DWORD *pdwNumCategories); 25 HRESULT get_Category([in] DWORD dwIndex, [out] GUID *pCategory); 26 HRESULT get_NumConnections([out] DWORD *pdwNumConnections); 27 HRESULT get_ConnectionInfo([in] DWORD dwIndex, [out] KSTOPOLOGY_CONNECTION *pConnectionInfo); 28 HRESULT get_NodeName([in] DWORD dwNodeId, [out] WCHAR *pwchNodeName, [in] DWORD dwBufSize, [out] DWORD *pdwNameLen); 29 HRESULT get_NumNodes([out] DWORD *pdwNumNodes); 30 HRESULT get_NodeType([in] DWORD dwNodeId, [out] GUID *pNodeType); 31 HRESULT CreateNodeInstance([in] DWORD dwNodeId, [in] REFIID iid, [out] void **ppvObject); 32} 33 34[ 35 object, 36 local, 37 uuid(11737C14-24A7-4bb5-81A0-0D003813B0C4), 38 pointer_default(unique) 39] 40interface IKsNodeControl :IUnknown 41{ 42 HRESULT put_NodeId([in] DWORD dwNodeId); 43 HRESULT put_KsControl([in] PVOID pKsControl); 44} 45 46[ 47 object, 48 local, 49 uuid(1ABDAECA-68B6-4F83-9371-B413907C7B9F), 50 pointer_default(unique) 51] 52interface ISelector : IUnknown 53{ 54 HRESULT get_NumSources([out] DWORD *pdwNumSources); 55 HRESULT get_SourceNodeId([out] DWORD *pdwPinId); 56 HRESULT put_SourceNodeId([in] DWORD dwPinId); 57} 58 59 60 61