source: trunk/DirectShowSpy/DirectShowSpy.idl @ 249

Last change on this file since 249 was 249, checked in by roman, 9 years ago

Added even more ISpy methods

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