wined3d: Don't use persistent BOs from the client thread if we might need to do verte...
[wine.git] / dlls / wbemprox / sysrestore.c
blob44c7c4a98a34dfdc5f4853a354c3ab6dfda3183e
1 /*
2 * SystemRestore implementation
4 * Copyright 2020 Dmitry Timoshkov
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.
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.
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
21 #define COBJMACROS
23 #include <stdarg.h>
25 #include "windef.h"
26 #include "winbase.h"
27 #include "wbemcli.h"
29 #include "wine/debug.h"
30 #include "wbemprox_private.h"
32 WINE_DEFAULT_DEBUG_CHANNEL(wbemprox);
34 HRESULT sysrestore_create( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out )
36 FIXME("stub\n");
37 return S_OK;
40 HRESULT sysrestore_disable( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out )
42 FIXME("stub\n");
43 return S_OK;
46 HRESULT sysrestore_enable( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out )
48 VARIANT drive, retval;
49 IWbemClassObject *sig, *out_params = NULL;
50 HRESULT hr;
52 TRACE("%p, %p, %p, %p\n", obj, context, in, out);
54 hr = IWbemClassObject_Get( in, L"Drive", 0, &drive, NULL, NULL );
55 if (hr != S_OK) return hr;
57 hr = create_signature( WBEMPROX_NAMESPACE_CIMV2, L"SystemRestore", L"Enable", PARAM_OUT, &sig );
58 if (hr != S_OK)
60 VariantClear( &drive );
61 return hr;
64 if (out)
66 hr = IWbemClassObject_SpawnInstance( sig, 0, &out_params );
67 if (hr != S_OK)
69 VariantClear( &drive );
70 IWbemClassObject_Release( sig );
71 return hr;
75 FIXME("%s: stub\n", wine_dbgstr_variant(&drive));
77 VariantClear( &drive );
78 IWbemClassObject_Release( sig );
80 if (out_params)
82 set_variant( VT_UI4, ERROR_SUCCESS, NULL, &retval );
83 hr = IWbemClassObject_Put( out_params, L"ReturnValue", 0, &retval, CIM_UINT32 );
86 if (hr == S_OK && out)
88 *out = out_params;
89 IWbemClassObject_AddRef( out_params );
91 if (out_params) IWbemClassObject_Release( out_params );
93 return hr;
96 HRESULT sysrestore_get_last_status( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out )
98 FIXME("stub\n");
99 return E_NOTIMPL;
102 HRESULT sysrestore_restore( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out )
104 FIXME("stub\n");
105 return S_OK;