source: trunk/DirectShowSpy/DirectShowSpy.idl @ 231

Last change on this file since 231 was 231, checked in by roman, 10 years ago

Added IFilterGraphHelper::DoPropertyFrameModal? UI for filter graph review, also available from graph list Properties button

  • Property svn:keywords set to Id
File size: 4.4 KB
Line 
1////////////////////////////////////////////////////////////
2// Copyright (C) Roman Ryltsov, 2008-2014
3// Created by Roman Ryltsov roman@alax.info
4
5import "oaidl.idl";
6import "ocidl.idl";
7
8[
9        object,
10        uuid(6945711B-FE0F-4C54-965F-5B67969C28B7),
11        dual,
12        oleautomation,
13        nonextensible,
14        helpstring("ISpy Interface"),
15        pointer_default(unique)
16]
17interface ISpy : IDispatch
18{
19};
20[
21        object,
22        uuid(34B280D7-A144-4a64-BCB9-3616896F6877),
23        dual,
24        oleautomation,
25        nonextensible,
26        helpstring("IFilterMapperSpy Interface"),
27        pointer_default(unique)
28]
29interface IFilterMapperSpy : IDispatch
30{
31};
32[
33        object,
34        uuid(14EB119F-25CE-4654-ABE1-E6742AF03F2D),
35        dual,
36        oleautomation,
37        nonextensible,
38        helpstring("ISystemDeviceEnumeratorSpy Interface"),
39        pointer_default(unique)
40]
41interface ISystemDeviceEnumeratorSpy : IDispatch
42{
43};
44[
45        object,
46        uuid(3D1AF248-DEF1-4E26-A071-FEDF15FED6A8),
47        dual,
48        oleautomation,
49        nonextensible,
50        helpstring("IFilterGraphHelper Interface"),
51        pointer_default(unique)
52]
53interface IFilterGraphHelper : IDispatch
54{
55        [id(DISPID_VALUE), propget] HRESULT FilterGraph([out, retval] IUnknown** ppFilterGraphUnknown);
56        [id(DISPID_VALUE), propput] HRESULT FilterGraph([in] IUnknown* pFilterGraphUnknown);
57        [id(1), propget] HRESULT Text([out, retval] BSTR* psText);
58        [id(2)] HRESULT DoPropertyFrameModal([in] LONG nParentWindowHandle);
59};
60[
61        uuid(B9EC374B-834B-4DA9-BFB5-C1872CE736FF),
62        version(1.0),
63        helpstring("Alax.Info Filter Graph Spy 1.0 Type Library")
64]
65library AlaxInfoDirectShowSpy
66{
67        importlib("stdole2.tlb");
68        [
69                object,
70                uuid(ACBECDFD-D8CA-49c8-B799-D23225D5BFAD),
71                nonextensible,
72                helpstring("IFilterGraphAddRemoveHook Interface"),
73                pointer_default(unique)
74        ]
75        interface IFilterGraphAddRemoveHook : IUnknown
76        {
77                HRESULT OnAddFilter([in] ISpy* pSpy, [in] IUnknown* pBaseFilterUnknown, [in] LPCWSTR pszName, [in, out] BOOL* pbDefault);
78                HRESULT OnRemoveFilter([in] ISpy* pSpy, [in] IUnknown* pBaseFilterUnknown, [in, out] BOOL* pbDefault);
79                HRESULT OnAddSourceFilter([in] ISpy* pSpy, [in] LPCWSTR pszFileName, [in] LPCWSTR pszFilterName, [out] IUnknown** ppBaseFilterUnknown, [in, out] BOOL* pbDefault);
80                HRESULT OnAddSourceFilterForMoniker([in] ISpy* pSpy, [in] IUnknown* pMonikerUnknown, [in] IUnknown* pBindCtxUnknown, [in] LPCWSTR pszFilterName, [out] IUnknown** ppBaseFilterUnknown, [in, out] BOOL* pbDefault);
81        };
82        [
83                object,
84                uuid(D0F4C168-D09D-481e-903D-7461CE69E391),
85                nonextensible,
86                helpstring("IFilterGraphConnectHook Interface"),
87                pointer_default(unique)
88        ]
89        interface IFilterGraphConnectHook : IUnknown
90        {
91                HRESULT OnConnectDirect([in] ISpy* pSpy, [in] IUnknown* pOutputPinUnknown, [in] IUnknown* pInputPinUnknown, [in] const BYTE* pMediaTypeData, [in, out] BOOL* pbDefault);
92                HRESULT OnReconnect([in] ISpy* pSpy, [in] IUnknown* pPinUnknown, [in, out] BOOL* pbDefault);
93                HRESULT OnDisconnect([in] ISpy* pSpy, [in] IUnknown* pPinUnknown, [in, out] BOOL* pbDefault);
94                HRESULT OnConnect([in] ISpy* pSpy, [in] IUnknown* pOutputPinUnknown, [in] IUnknown* pInputPinUnknown, [in, out] BOOL* pbDefault);
95                HRESULT OnReconnectEx([in] ISpy* pSpy, [in] IUnknown* pPinUnknown, [in] const BYTE* pMediaTypeData, [in, out] BOOL* pbDefault);
96        };
97        [
98                object,
99                uuid(65FA1519-A935-4fa9-A15D-9426457E02F6),
100                nonextensible,
101                helpstring("IFilterGraphStateControlHook Interface"),
102                pointer_default(unique)
103        ]
104        interface IFilterGraphStateControlHook : IUnknown
105        {
106                HRESULT OnRun([in] ISpy* pSpy, [in, out] BOOL* pbDefault);
107                HRESULT OnPause([in] ISpy* pSpy, [in, out] BOOL* pbDefault);
108                HRESULT OnStop([in] ISpy* pSpy, [in, out] BOOL* pbDefault);
109        };
110        [
111                uuid(F552C23D-F088-41C3-A080-8464D7BB9BAD),
112                helpstring("Spy Class")
113        ]
114        coclass Spy
115        {
116                [default] interface ISpy;
117        };
118        [
119                uuid(2C281C40-8853-4a30-99D3-9DCFF2C015C9),
120                helpstring("NoThreadSpy Class")
121        ]
122        coclass NoThreadSpy
123        {
124                [default] interface ISpy;
125        };
126        [
127                uuid(B6274D9B-1AD3-4c32-83C5-35DC33CAFF47),
128                helpstring("FilterMapperSpy Class")
129        ]
130        coclass FilterMapperSpy
131        {
132                [default] interface IFilterMapperSpy;
133        };
134        [
135                uuid(AD42E3BD-7B9B-4783-9DA2-61A9ACD0D4D2),
136                helpstring("SystemDeviceEnumeratorSpy Class")
137        ]
138        coclass SystemDeviceEnumeratorSpy
139        {
140                [default] interface ISystemDeviceEnumeratorSpy;
141        };
142        [
143                uuid(5A9A684C-A891-4032-8D31-FF6EAB5A0C1E),
144                helpstring("FilterGraphHelper Class")
145        ]
146        coclass FilterGraphHelper
147        {
148                [default] interface IFilterGraphHelper;
149        };
150};
Note: See TracBrowser for help on using the repository browser.