ReactOS  0.4.14-dev-49-gfb4591c
avifile_ifaces.idl
Go to the documentation of this file.
1 /*
2  * Proxy support for avifil32
3  *
4  * Copyright 2016 Dmitry Timoshkov
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 
21 /*
22  * These interface descriptions are supposed to be used for automatic proxy
23  * generation by an IDL compiler.
24  *
25  * While it's possible to convert include/vfw.h to an .idl, that's proved to
26  * be a major waste of an effort because the resulting interface descriptions
27  * can't be used for automatic proxy generation since they are not compatible
28  * with IDL compiler restrictions for proxies, and fixing them up would make
29  * generated vfw.h source incompatible with PSDK's equivalent.
30  */
31 
32 import "wtypes.idl";
33 import "unknwn.idl";
34 
35 typedef struct _AVISTREAMINFOW
36 {
37  DWORD fccType;
39  DWORD dwFlags;
40  DWORD dwCaps;
43  DWORD dwScale;
44  DWORD dwRate;
45  DWORD dwStart;
51  RECT rcFrame;
54  WCHAR szName[64];
56 
57 [
58  object,
59  uuid(00020021-0000-0000-c000-000000000046)
60 ]
61 interface IAVIStream : IUnknown
62 {
63  HRESULT Create(LPARAM lParam1, LPARAM lParam2);
64  HRESULT Info(AVISTREAMINFOW *psi, LONG lSize);
65  LONG FindSample(LONG lPos, LONG lFlags);
66  HRESULT ReadFormat(LONG lPos, [out,size_is(*lpcbFormat)] char *lpFormat, [in,out] LONG *lpcbFormat);
67  HRESULT SetFormat(LONG lPos, [in,size_is(cbFormat)] char *lpFormat, LONG cbFormat);
68  HRESULT Read(LONG lStart, LONG lSamples, [out,size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer, LONG *plBytes, LONG *plSamples);
69  HRESULT Write(LONG lStart, LONG lSamples, [in,size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer, DWORD dwFlags, LONG *plSampWritten, LONG *plBytesWritten);
70  HRESULT Delete(LONG lStart, LONG lSamples);
71  HRESULT ReadData(DWORD fcc, [out,size_is(*lpcbBuffer)] char *lpBuffer, [in,out] LONG *lpcbBuffer);
72  HRESULT WriteData(DWORD fcc, [in,size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer);
73  HRESULT SetInfo(AVISTREAMINFOW *plInfo, LONG cbInfo);
74 };
75 
76 typedef struct _AVIFILEINFOW
77 {
79  DWORD dwFlags;
80  DWORD dwCaps;
83  DWORD dwWidth;
85  DWORD dwScale;
86  DWORD dwRate;
89  WCHAR szFileType[64];
90 } AVIFILEINFOW;
91 
92 [
93  object,
94  uuid(00020020-0000-0000-c000-000000000046)
95 ]
96 interface IAVIFile : IUnknown
97 {
98  HRESULT Info(AVIFILEINFOW *pfi, LONG lSize);
99  HRESULT GetStream(IAVIStream **ppStream, DWORD fccType, LONG lParam);
100  HRESULT CreateStream(IAVIStream **ppStream, AVISTREAMINFOW *psi);
101  HRESULT WriteData(DWORD fcc, [in,size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer);
102  HRESULT ReadData(DWORD fcc, [out,size_is(*lpcbBuffer)] char *lpBuffer, [in,out] LONG *lpcbBuffer);
103  HRESULT EndRecord(void);
105 };
HRESULT WriteData(DWORD fcc, [in, size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer)
DWORD dwSampleSize
Definition: avifil32.idl:42
HRESULT ReadData(DWORD fcc, [out, size_is(*lpcbBuffer)] char *lpBuffer, [in, out] LONG *lpcbBuffer)
DWORD dwSuggestedBufferSize
Definition: avifil32.idl:40
DWORD dwFlags
Definition: avifil32.idl:71
HRESULT SetInfo(AVISTREAMINFOW *plInfo, LONG cbInfo)
HRESULT WriteData(DWORD fcc, [in, size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer)
HRESULT ReadData(DWORD fcc, [out, size_is(*lpcbBuffer)] char *lpBuffer, [in, out] LONG *lpcbBuffer)
HRESULT Create(LPARAM lParam1, LPARAM lParam2)
HRESULT Info(AVIFILEINFOW *pfi, LONG lSize)
long LONG
Definition: pedump.c:60
HRESULT SetFormat(LONG lPos, [in, size_is(cbFormat)] char *lpFormat, LONG cbFormat)
HRESULT Delete(LONG lStart, LONG lSamples)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:173
DWORD dwInitialFrames
Definition: avifil32.idl:39
struct _AVISTREAMINFOW AVISTREAMINFOW
LONG_PTR LPARAM
Definition: windef.h:208
struct _AVIFILEINFOW AVIFILEINFOW
DWORD dwWidth
Definition: avifil32.idl:75
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
HRESULT ReadFormat(LONG lPos, [out, size_is(*lpcbFormat)] char *lpFormat, [in, out] LONG *lpcbFormat)
DWORD dwLength
Definition: avifil32.idl:79
DWORD dwHeight
Definition: avifil32.idl:76
DWORD dwEditCount
Definition: avifil32.idl:44
DWORD dwScale
Definition: avifil32.idl:77
unsigned short WORD
Definition: ntddk_ex.h:93
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
WCHAR szFileType[64]
Definition: avifil32.idl:81
LONG FindSample(LONG lPos, LONG lFlags)
HRESULT Info(AVISTREAMINFOW *psi, LONG lSize)
HRESULT Read(LONG lStart, LONG lSamples, [out, size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer, LONG *plBytes, LONG *plSamples)
DWORD dwSuggestedBufferSize
Definition: avifil32.idl:74
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
LPCWSTR lpFormat
Definition: trayclock.cpp:32
HRESULT EndRecord(void)
GLuint in
Definition: glext.h:9616
DWORD dwRate
Definition: avifil32.idl:78
DWORD dwEditCount
Definition: avifil32.idl:80
DWORD dwStreams
Definition: avifil32.idl:73
DWORD fccHandler
Definition: avifil32.idl:30
WCHAR szName[64]
Definition: avifil32.idl:46
HRESULT Write(LONG lStart, LONG lSamples, [in, size_is(cbBuffer)] char *lpBuffer, LONG cbBuffer, DWORD dwFlags, LONG *plSampWritten, LONG *plBytesWritten)
HRESULT DeleteStream(DWORD fccType, LONG lParam)
DWORD dwMaxBytesPerSec
Definition: avifil32.idl:70
DWORD dwCaps
Definition: avifil32.idl:72
DWORD dwFormatChangeCount
Definition: avifil32.idl:45
LPARAM lParam
Definition: combotst.c:139
void * object
Definition: jmemsys.h:48
HRESULT GetStream(IAVIStream **ppStream, DWORD fccType, LONG lParam)
HRESULT CreateStream(IAVIStream **ppStream, AVISTREAMINFOW *psi)