source: trunk/DirectShowSpy/DirectShowSpy.idl @ 171

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