winedump: Add more image debug types.
[wine/multimedia.git] / dlls / vssapi / main.c
blob133f4c52fd8ec3936b6662e2093ed1ac3b966f18
1 /*
2 * Copyright 2014 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "config.h"
20 #include <stdarg.h>
21 #include "windef.h"
22 #include "winbase.h"
23 #include "vss.h"
24 #include "vswriter.h"
25 #include "wine/debug.h"
27 WINE_DEFAULT_DEBUG_CHANNEL( vssapi );
29 #ifdef __i386__ /* thiscall functions are i386-specific */
31 #define THISCALL(func) __thiscall_ ## func
32 #define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
33 #define __thiscall __stdcall
34 #define DEFINE_THISCALL_WRAPPER(func,args) \
35 extern void THISCALL(func)(void); \
36 __ASM_GLOBAL_FUNC(__thiscall_ ## func, \
37 "popl %eax\n\t" \
38 "pushl %ecx\n\t" \
39 "pushl %eax\n\t" \
40 "jmp " __ASM_NAME(#func) __ASM_STDCALL(args) )
41 #else /* __i386__ */
43 #define THISCALL(func) func
44 #define THISCALL_NAME(func) __ASM_NAME(#func)
45 #define __thiscall __cdecl
46 #define DEFINE_THISCALL_WRAPPER(func,args) /* nothing */
48 #endif /* __i386__ */
50 struct CVssWriter
52 void **vtable;
55 /******************************************************************
56 * ??0CVssWriter@@QAE@XZ (VSSAPI.@)
58 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_default_ctor, 4 )
59 struct CVssWriter * __thiscall VSSAPI_CVssWriter_default_ctor( struct CVssWriter *writer )
61 FIXME( "%p\n", writer );
62 writer->vtable = NULL;
63 return writer;
66 /******************************************************************
67 * ??1CVssWriter@@UAE@XZ (VSSAPI.@)
69 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_dtor, 4 )
70 void __thiscall VSSAPI_CVssWriter_dtor( struct CVssWriter *writer )
72 FIXME( "%p\n", writer );
75 /******************************************************************
76 * ?Initialize@CVssWriter@@QAGJU_GUID@@PBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N@Z
78 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_Initialize, 52 )
79 HRESULT __thiscall VSSAPI_CVssWriter_Initialize( struct CVssWriter *writer, VSS_ID id,
80 LPCWSTR name, VSS_USAGE_TYPE usage_type, VSS_SOURCE_TYPE source_type,
81 VSS_APPLICATION_LEVEL level, DWORD timeout, VSS_ALTERNATE_WRITER_STATE alt_writer_state,
82 BOOL throttle, LPCWSTR instance )
84 FIXME( "%p, %s, %s, %u, %u, %u, %u, %u, %d, %s\n", writer, debugstr_guid(&id),
85 debugstr_w(name), usage_type, source_type, level, timeout, alt_writer_state,
86 throttle, debugstr_w(instance) );
87 return S_OK;
90 /******************************************************************
91 * ?Subscribe@CVssWriter@@QAGJK@Z
93 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_Subscribe, 8 )
94 HRESULT __thiscall VSSAPI_CVssWriter_Subscribe( struct CVssWriter *writer, DWORD flags )
96 FIXME( "%p, %x\n", writer, flags );
97 return S_OK;
100 /******************************************************************
101 * ?Unsubscribe@CVssWriter@@QAGJXZ
103 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_Unsubscribe, 4 )
104 HRESULT __thiscall VSSAPI_CVssWriter_Unsubscribe( struct CVssWriter *writer )
106 FIXME( "%p\n", writer );
107 return S_OK;