webservices: Add asynchronous support for WsReceiveMessage.
[wine.git] / dlls / vssapi / main.c
blob9234544c571b163034e2e933a93c36e7d793a02d
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 #undef __thiscall
30 #ifdef __i386__ /* thiscall functions are i386-specific */
32 #define THISCALL(func) __thiscall_ ## func
33 #define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
34 #define __thiscall __stdcall
35 #define DEFINE_THISCALL_WRAPPER(func,args) \
36 extern void THISCALL(func)(void); \
37 __ASM_GLOBAL_FUNC(__thiscall_ ## func, \
38 "popl %eax\n\t" \
39 "pushl %ecx\n\t" \
40 "pushl %eax\n\t" \
41 "jmp " __ASM_NAME(#func) __ASM_STDCALL(args) )
42 #else /* __i386__ */
44 #define THISCALL(func) func
45 #define THISCALL_NAME(func) __ASM_NAME(#func)
46 #define __thiscall __cdecl
47 #define DEFINE_THISCALL_WRAPPER(func,args) /* nothing */
49 #endif /* __i386__ */
51 struct CVssWriter
53 void **vtable;
56 /******************************************************************
57 * ??0CVssWriter@@QAE@XZ (VSSAPI.@)
59 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_default_ctor, 4 )
60 struct CVssWriter * __thiscall VSSAPI_CVssWriter_default_ctor( struct CVssWriter *writer )
62 FIXME( "%p\n", writer );
63 writer->vtable = NULL;
64 return writer;
67 /******************************************************************
68 * ??1CVssWriter@@UAE@XZ (VSSAPI.@)
70 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_dtor, 4 )
71 void __thiscall VSSAPI_CVssWriter_dtor( struct CVssWriter *writer )
73 FIXME( "%p\n", writer );
76 /******************************************************************
77 * ?Initialize@CVssWriter@@QAGJU_GUID@@PBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N@Z
79 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_Initialize, 52 )
80 HRESULT __thiscall VSSAPI_CVssWriter_Initialize( struct CVssWriter *writer, VSS_ID id,
81 LPCWSTR name, VSS_USAGE_TYPE usage_type, VSS_SOURCE_TYPE source_type,
82 VSS_APPLICATION_LEVEL level, DWORD timeout, VSS_ALTERNATE_WRITER_STATE alt_writer_state,
83 BOOL throttle, LPCWSTR instance )
85 FIXME( "%p, %s, %s, %u, %u, %u, %u, %u, %d, %s\n", writer, debugstr_guid(&id),
86 debugstr_w(name), usage_type, source_type, level, timeout, alt_writer_state,
87 throttle, debugstr_w(instance) );
88 return S_OK;
91 /******************************************************************
92 * ?Subscribe@CVssWriter@@QAGJK@Z
94 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_Subscribe, 8 )
95 HRESULT __thiscall VSSAPI_CVssWriter_Subscribe( struct CVssWriter *writer, DWORD flags )
97 FIXME( "%p, %x\n", writer, flags );
98 return S_OK;
101 /******************************************************************
102 * ?Unsubscribe@CVssWriter@@QAGJXZ
104 DEFINE_THISCALL_WRAPPER( VSSAPI_CVssWriter_Unsubscribe, 4 )
105 HRESULT __thiscall VSSAPI_CVssWriter_Unsubscribe( struct CVssWriter *writer )
107 FIXME( "%p\n", writer );
108 return S_OK;