source: trunk/DirectShowSpy/DirectShowSpy.idl @ 242

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