authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-10-12 03:17:52-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2022-10-12 03:17:52-04:00
loga3c9c154b4822f0f46c9f09df642fd0d40e24a89
tree657e736c577bb6e03335af55b8bf6df93a79fc0a
parente6ebdcb82ed9fd226ef18670115b8b2617c0a392
parentb020d83265b10544f4f1f4da1502dba0ebb445d6
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #13089 from ziglang/update-mingw


360 files changed, 37731 insertions(+), 9243 deletions(-)

ci/azure/pipelines.yml+1-1
......@@ -16,7 +16,7 @@ jobs:
1616 vmImage: 'windows-2019'
1717 variables:
1818 TARGET: 'x86_64-windows-gnu'
19 ZIG_LLVM_CLANG_LLD_NAME: 'zig+llvm+lld+clang-${{ variables.TARGET }}-0.10.0-dev.4193+f3a1b5c48'
19 ZIG_LLVM_CLANG_LLD_NAME: 'zig+llvm+lld+clang-${{ variables.TARGET }}-0.10.0-dev.4251+7713ded24'
2020 ZIG_LLVM_CLANG_LLD_URL: 'https://ziglang.org/deps/${{ variables.ZIG_LLVM_CLANG_LLD_NAME }}.zip'
2121 steps:
2222 - pwsh: |
lib/libc/include/any-windows-any/_mingw.h+10-4
......@@ -221,13 +221,19 @@ limitations in handling dllimport attribute. */
221221
222222#ifndef __MSVCRT_VERSION__
223223/* High byte is the major version, low byte is the minor. */
224# ifndef _UCRT
225# define __MSVCRT_VERSION__ 0x700
226# else
224# if defined(__CRTDLL__)
225# define __MSVCRT_VERSION__ 0x00
226# elif defined(_UCRT)
227227# define __MSVCRT_VERSION__ 0xE00
228# else
229# define __MSVCRT_VERSION__ 0x700
228230# endif
229231#endif
230232
233#if !defined(_UCRT) && ((__MSVCRT_VERSION__ >= 0x1400) || (__MSVCRT_VERSION__ >= 0xE00 && __MSVCRT_VERSION__ < 0x1000))
234/* Allow both 0x1400 and 0xE00 to identify UCRT */
235#define _UCRT
236#endif
231237
232238#ifndef _WIN32_WINNT
233239#define _WIN32_WINNT 0x0603
......@@ -583,7 +589,7 @@ __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void)
583589#if defined(__i386__) || defined(__x86_64__)
584590 __asm__ __volatile__("int {$}3":);
585591#elif defined(__arm__)
586 __asm__ __volatile__("udf #1");
592 __asm__ __volatile__("udf #0xfe");
587593#elif defined(__aarch64__)
588594 __asm__ __volatile__("brk #0xf000");
589595#else
lib/libc/include/any-windows-any/_mingw_mac.h+4-2
......@@ -11,7 +11,7 @@
1111#define __MINGW64_STRINGIFY(x) \
1212 __STRINGIFY(x)
1313
14#define __MINGW64_VERSION_MAJOR 9
14#define __MINGW64_VERSION_MAJOR 10
1515#define __MINGW64_VERSION_MINOR 0
1616#define __MINGW64_VERSION_BUGFIX 0
1717
......@@ -301,6 +301,8 @@
301301# define __mingw_attribute_artificial
302302#endif
303303
304#define __MINGW_SELECTANY __attribute__((__selectany__))
305
304306#if _FORTIFY_SOURCE > 0 && __OPTIMIZE__ > 0 && __MINGW_GNUC_PREREQ(4, 1)
305307# if _FORTIFY_SOURCE > 1
306308# define __MINGW_FORTIFY_LEVEL 2
......@@ -353,7 +355,7 @@
353355
354356/* Enable workaround for ABI incompatibility on affected platforms */
355357#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
356#if defined(__GNUC__) && defined(__cplusplus) && (defined(__x86_64__) || defined(__i386__))
358#if defined(__GNUC__) && defined(__cplusplus)
357359#define WIDL_EXPLICIT_AGGREGATE_RETURNS
358360#endif
359361#endif
lib/libc/include/any-windows-any/activation.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/activation.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/activation.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activaut.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/activaut.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/activaut.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activdbg.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/activdbg.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/activdbg.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activdbg100.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/activdbg100.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/activdbg100.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activprof.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/activprof.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/activprof.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activscp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/activscp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/activscp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/adhoc.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/adhoc.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/adhoc.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/afunix.h created+19
......@@ -0,0 +1,19 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _AFUNIX_
8#define _AFUNIX_
9
10#define UNIX_PATH_MAX 108
11
12typedef struct sockaddr_un {
13 ADDRESS_FAMILY sun_family;
14 char sun_path[UNIX_PATH_MAX];
15} SOCKADDR_UN, *PSOCKADDR_UN;
16
17#define SIO_AF_UNIX_GETPEERPID _WSAIOR(IOC_VENDOR, 256)
18
19#endif /* _AFUNIX_ */
lib/libc/include/any-windows-any/alg.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/alg.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/alg.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/amstream.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/amstream.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/amstream.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/amvideo.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/amvideo.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/amvideo.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/asyncinfo.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/asyncinfo.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/asyncinfo.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/audioclient.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/audioclient.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/audioclient.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/audioendpoints.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/audioendpoints.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/audioendpoints.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/audiopolicy.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/audiopolicy.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/audiopolicy.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/austream.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/austream.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/austream.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/bdaiface.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/bdaiface.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/bdaiface.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/bits.h+1084-456
......@@ -1,379 +1,792 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
1/*** Autogenerated by WIDL 7.0 from include/bits.idl - Do not edit ***/
2
3#ifdef _WIN32
64#ifndef __REQUIRED_RPCNDR_H_VERSION__
75#define __REQUIRED_RPCNDR_H_VERSION__ 475
86#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
7#include <rpc.h>
8#include <rpcndr.h>
159#endif
1610
1711#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
12#include <windows.h>
13#include <ole2.h>
2014#endif
2115
2216#ifndef __bits_h__
2317#define __bits_h__
2418
19/* Forward declarations */
20
2521#ifndef __IBackgroundCopyFile_FWD_DEFINED__
2622#define __IBackgroundCopyFile_FWD_DEFINED__
27typedef struct IBackgroundCopyFile IBackgroundCopyFile;
23typedef interface IBackgroundCopyFile IBackgroundCopyFile;
24#ifdef __cplusplus
25interface IBackgroundCopyFile;
26#endif /* __cplusplus */
2827#endif
2928
3029#ifndef __IEnumBackgroundCopyFiles_FWD_DEFINED__
3130#define __IEnumBackgroundCopyFiles_FWD_DEFINED__
32typedef struct IEnumBackgroundCopyFiles IEnumBackgroundCopyFiles;
31typedef interface IEnumBackgroundCopyFiles IEnumBackgroundCopyFiles;
32#ifdef __cplusplus
33interface IEnumBackgroundCopyFiles;
34#endif /* __cplusplus */
3335#endif
3436
3537#ifndef __IBackgroundCopyError_FWD_DEFINED__
3638#define __IBackgroundCopyError_FWD_DEFINED__
37typedef struct IBackgroundCopyError IBackgroundCopyError;
39typedef interface IBackgroundCopyError IBackgroundCopyError;
40#ifdef __cplusplus
41interface IBackgroundCopyError;
42#endif /* __cplusplus */
3843#endif
3944
4045#ifndef __IBackgroundCopyJob_FWD_DEFINED__
4146#define __IBackgroundCopyJob_FWD_DEFINED__
42typedef struct IBackgroundCopyJob IBackgroundCopyJob;
47typedef interface IBackgroundCopyJob IBackgroundCopyJob;
48#ifdef __cplusplus
49interface IBackgroundCopyJob;
50#endif /* __cplusplus */
4351#endif
4452
4553#ifndef __IEnumBackgroundCopyJobs_FWD_DEFINED__
4654#define __IEnumBackgroundCopyJobs_FWD_DEFINED__
47typedef struct IEnumBackgroundCopyJobs IEnumBackgroundCopyJobs;
55typedef interface IEnumBackgroundCopyJobs IEnumBackgroundCopyJobs;
56#ifdef __cplusplus
57interface IEnumBackgroundCopyJobs;
58#endif /* __cplusplus */
4859#endif
4960
5061#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
5162#define __IBackgroundCopyCallback_FWD_DEFINED__
52typedef struct IBackgroundCopyCallback IBackgroundCopyCallback;
53#endif
54
55#ifndef __AsyncIBackgroundCopyCallback_FWD_DEFINED__
56#define __AsyncIBackgroundCopyCallback_FWD_DEFINED__
57typedef struct AsyncIBackgroundCopyCallback AsyncIBackgroundCopyCallback;
63typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
64#ifdef __cplusplus
65interface IBackgroundCopyCallback;
66#endif /* __cplusplus */
5867#endif
5968
6069#ifndef __IBackgroundCopyManager_FWD_DEFINED__
6170#define __IBackgroundCopyManager_FWD_DEFINED__
62typedef struct IBackgroundCopyManager IBackgroundCopyManager;
71typedef interface IBackgroundCopyManager IBackgroundCopyManager;
72#ifdef __cplusplus
73interface IBackgroundCopyManager;
74#endif /* __cplusplus */
6375#endif
6476
6577#ifndef __BackgroundCopyManager_FWD_DEFINED__
6678#define __BackgroundCopyManager_FWD_DEFINED__
67
6879#ifdef __cplusplus
6980typedef class BackgroundCopyManager BackgroundCopyManager;
7081#else
7182typedef struct BackgroundCopyManager BackgroundCopyManager;
72#endif
73#endif
83#endif /* defined __cplusplus */
84#endif /* defined __BackgroundCopyManager_FWD_DEFINED__ */
7485
75#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
76#define __IBackgroundCopyCallback_FWD_DEFINED__
77typedef struct IBackgroundCopyCallback IBackgroundCopyCallback;
78#endif
86/* Headers for imported files */
7987
80#include "unknwn.h"
88#include <unknwn.h>
8189
8290#ifdef __cplusplus
83extern "C"{
84#endif
85
86#ifndef __MIDL_user_allocate_free_DEFINED__
87#define __MIDL_user_allocate_free_DEFINED__
88 void *__RPC_API MIDL_user_allocate(size_t);
89 void __RPC_API MIDL_user_free(void *);
91extern "C" {
9092#endif
9193
9294#include "bitsmsg.h"
9395#define BG_SIZE_UNKNOWN (UINT64)(-1)
94
95 extern RPC_IF_HANDLE __MIDL_itf_bits_0000_v0_0_c_ifspec;
96 extern RPC_IF_HANDLE __MIDL_itf_bits_0000_v0_0_s_ifspec;
97
96#define BG_NOTIFY_JOB_TRANSFERRED 0x0001
97#define BG_NOTIFY_JOB_ERROR 0x0002
98#define BG_NOTIFY_DISABLE 0x0004
99#define BG_NOTIFY_JOB_MODIFICATION 0x0008
100#define BG_NOTIFY_FILE_TRANSFERRED 0x0010
101#ifdef WINE_NO_UNICODE_MACROS
102#undef EnumJobs
103#undef GetJob
104#endif
105/*****************************************************************************
106 * IBackgroundCopyFile interface
107 */
98108#ifndef __IBackgroundCopyFile_INTERFACE_DEFINED__
99109#define __IBackgroundCopyFile_INTERFACE_DEFINED__
100110
101 typedef struct _BG_FILE_PROGRESS {
111typedef struct _BG_FILE_PROGRESS {
102112 UINT64 BytesTotal;
103113 UINT64 BytesTransferred;
104114 WINBOOL Completed;
105 } BG_FILE_PROGRESS;
106
107 EXTERN_C const IID IID_IBackgroundCopyFile;
115} BG_FILE_PROGRESS;
116DEFINE_GUID(IID_IBackgroundCopyFile, 0x01b7bd23, 0xfb88, 0x4a77, 0x84,0x90, 0x58,0x91,0xd3,0xe4,0x65,0x3a);
108117#if defined(__cplusplus) && !defined(CINTERFACE)
109 struct IBackgroundCopyFile : public IUnknown {
110 public:
111 virtual HRESULT WINAPI GetRemoteName(LPWSTR *pVal) = 0;
112 virtual HRESULT WINAPI GetLocalName(LPWSTR *pVal) = 0;
113 virtual HRESULT WINAPI GetProgress(BG_FILE_PROGRESS *pVal) = 0;
114 };
118MIDL_INTERFACE("01b7bd23-fb88-4a77-8490-5891d3e4653a")
119IBackgroundCopyFile : public IUnknown
120{
121 virtual HRESULT STDMETHODCALLTYPE GetRemoteName(
122 LPWSTR *pVal) = 0;
123
124 virtual HRESULT STDMETHODCALLTYPE GetLocalName(
125 LPWSTR *pVal) = 0;
126
127 virtual HRESULT STDMETHODCALLTYPE GetProgress(
128 BG_FILE_PROGRESS *pVal) = 0;
129
130};
131#ifdef __CRT_UUID_DECL
132__CRT_UUID_DECL(IBackgroundCopyFile, 0x01b7bd23, 0xfb88, 0x4a77, 0x84,0x90, 0x58,0x91,0xd3,0xe4,0x65,0x3a)
133#endif
115134#else
116 typedef struct IBackgroundCopyFileVtbl {
135typedef struct IBackgroundCopyFileVtbl {
117136 BEGIN_INTERFACE
118 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyFile *This,REFIID riid,void **ppvObject);
119 ULONG (WINAPI *AddRef)(IBackgroundCopyFile *This);
120 ULONG (WINAPI *Release)(IBackgroundCopyFile *This);
121 HRESULT (WINAPI *GetRemoteName)(IBackgroundCopyFile *This,LPWSTR *pVal);
122 HRESULT (WINAPI *GetLocalName)(IBackgroundCopyFile *This,LPWSTR *pVal);
123 HRESULT (WINAPI *GetProgress)(IBackgroundCopyFile *This,BG_FILE_PROGRESS *pVal);
137
138 /*** IUnknown methods ***/
139 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
140 IBackgroundCopyFile *This,
141 REFIID riid,
142 void **ppvObject);
143
144 ULONG (STDMETHODCALLTYPE *AddRef)(
145 IBackgroundCopyFile *This);
146
147 ULONG (STDMETHODCALLTYPE *Release)(
148 IBackgroundCopyFile *This);
149
150 /*** IBackgroundCopyFile methods ***/
151 HRESULT (STDMETHODCALLTYPE *GetRemoteName)(
152 IBackgroundCopyFile *This,
153 LPWSTR *pVal);
154
155 HRESULT (STDMETHODCALLTYPE *GetLocalName)(
156 IBackgroundCopyFile *This,
157 LPWSTR *pVal);
158
159 HRESULT (STDMETHODCALLTYPE *GetProgress)(
160 IBackgroundCopyFile *This,
161 BG_FILE_PROGRESS *pVal);
162
124163 END_INTERFACE
125 } IBackgroundCopyFileVtbl;
126 struct IBackgroundCopyFile {
127 CONST_VTBL struct IBackgroundCopyFileVtbl *lpVtbl;
128 };
164} IBackgroundCopyFileVtbl;
165
166interface IBackgroundCopyFile {
167 CONST_VTBL IBackgroundCopyFileVtbl* lpVtbl;
168};
169
129170#ifdef COBJMACROS
171#ifndef WIDL_C_INLINE_WRAPPERS
172/*** IUnknown methods ***/
130173#define IBackgroundCopyFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
131174#define IBackgroundCopyFile_AddRef(This) (This)->lpVtbl->AddRef(This)
132175#define IBackgroundCopyFile_Release(This) (This)->lpVtbl->Release(This)
176/*** IBackgroundCopyFile methods ***/
133177#define IBackgroundCopyFile_GetRemoteName(This,pVal) (This)->lpVtbl->GetRemoteName(This,pVal)
134178#define IBackgroundCopyFile_GetLocalName(This,pVal) (This)->lpVtbl->GetLocalName(This,pVal)
135179#define IBackgroundCopyFile_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
180#else
181/*** IUnknown methods ***/
182static FORCEINLINE HRESULT IBackgroundCopyFile_QueryInterface(IBackgroundCopyFile* This,REFIID riid,void **ppvObject) {
183 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
184}
185static FORCEINLINE ULONG IBackgroundCopyFile_AddRef(IBackgroundCopyFile* This) {
186 return This->lpVtbl->AddRef(This);
187}
188static FORCEINLINE ULONG IBackgroundCopyFile_Release(IBackgroundCopyFile* This) {
189 return This->lpVtbl->Release(This);
190}
191/*** IBackgroundCopyFile methods ***/
192static FORCEINLINE HRESULT IBackgroundCopyFile_GetRemoteName(IBackgroundCopyFile* This,LPWSTR *pVal) {
193 return This->lpVtbl->GetRemoteName(This,pVal);
194}
195static FORCEINLINE HRESULT IBackgroundCopyFile_GetLocalName(IBackgroundCopyFile* This,LPWSTR *pVal) {
196 return This->lpVtbl->GetLocalName(This,pVal);
197}
198static FORCEINLINE HRESULT IBackgroundCopyFile_GetProgress(IBackgroundCopyFile* This,BG_FILE_PROGRESS *pVal) {
199 return This->lpVtbl->GetProgress(This,pVal);
200}
136201#endif
137202#endif
138 HRESULT WINAPI IBackgroundCopyFile_GetRemoteName_Proxy(IBackgroundCopyFile *This,LPWSTR *pVal);
139 void __RPC_STUB IBackgroundCopyFile_GetRemoteName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
140 HRESULT WINAPI IBackgroundCopyFile_GetLocalName_Proxy(IBackgroundCopyFile *This,LPWSTR *pVal);
141 void __RPC_STUB IBackgroundCopyFile_GetLocalName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
142 HRESULT WINAPI IBackgroundCopyFile_GetProgress_Proxy(IBackgroundCopyFile *This,BG_FILE_PROGRESS *pVal);
143 void __RPC_STUB IBackgroundCopyFile_GetProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
203
144204#endif
145205
206
207#endif /* __IBackgroundCopyFile_INTERFACE_DEFINED__ */
208
209/*****************************************************************************
210 * IEnumBackgroundCopyFiles interface
211 */
146212#ifndef __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__
147213#define __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__
148 EXTERN_C const IID IID_IEnumBackgroundCopyFiles;
214
215DEFINE_GUID(IID_IEnumBackgroundCopyFiles, 0xca51e165, 0xc365, 0x424c, 0x8d,0x41, 0x24,0xaa,0xa4,0xff,0x3c,0x40);
149216#if defined(__cplusplus) && !defined(CINTERFACE)
150 struct IEnumBackgroundCopyFiles : public IUnknown {
151 public:
152 virtual HRESULT WINAPI Next(ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched) = 0;
153 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
154 virtual HRESULT WINAPI Reset(void) = 0;
155 virtual HRESULT WINAPI Clone(IEnumBackgroundCopyFiles **ppenum) = 0;
156 virtual HRESULT WINAPI GetCount(ULONG *puCount) = 0;
157 };
217MIDL_INTERFACE("ca51e165-c365-424c-8d41-24aaa4ff3c40")
218IEnumBackgroundCopyFiles : public IUnknown
219{
220 virtual HRESULT STDMETHODCALLTYPE Next(
221 ULONG celt,
222 IBackgroundCopyFile **rgelt,
223 ULONG *pceltFetched) = 0;
224
225 virtual HRESULT STDMETHODCALLTYPE Skip(
226 ULONG celt) = 0;
227
228 virtual HRESULT STDMETHODCALLTYPE Reset(
229 ) = 0;
230
231 virtual HRESULT STDMETHODCALLTYPE Clone(
232 IEnumBackgroundCopyFiles **ppenum) = 0;
233
234 virtual HRESULT STDMETHODCALLTYPE GetCount(
235 ULONG *puCount) = 0;
236
237};
238#ifdef __CRT_UUID_DECL
239__CRT_UUID_DECL(IEnumBackgroundCopyFiles, 0xca51e165, 0xc365, 0x424c, 0x8d,0x41, 0x24,0xaa,0xa4,0xff,0x3c,0x40)
240#endif
158241#else
159 typedef struct IEnumBackgroundCopyFilesVtbl {
242typedef struct IEnumBackgroundCopyFilesVtbl {
160243 BEGIN_INTERFACE
161 HRESULT (WINAPI *QueryInterface)(IEnumBackgroundCopyFiles *This,REFIID riid,void **ppvObject);
162 ULONG (WINAPI *AddRef)(IEnumBackgroundCopyFiles *This);
163 ULONG (WINAPI *Release)(IEnumBackgroundCopyFiles *This);
164 HRESULT (WINAPI *Next)(IEnumBackgroundCopyFiles *This,ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched);
165 HRESULT (WINAPI *Skip)(IEnumBackgroundCopyFiles *This,ULONG celt);
166 HRESULT (WINAPI *Reset)(IEnumBackgroundCopyFiles *This);
167 HRESULT (WINAPI *Clone)(IEnumBackgroundCopyFiles *This,IEnumBackgroundCopyFiles **ppenum);
168 HRESULT (WINAPI *GetCount)(IEnumBackgroundCopyFiles *This,ULONG *puCount);
244
245 /*** IUnknown methods ***/
246 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
247 IEnumBackgroundCopyFiles *This,
248 REFIID riid,
249 void **ppvObject);
250
251 ULONG (STDMETHODCALLTYPE *AddRef)(
252 IEnumBackgroundCopyFiles *This);
253
254 ULONG (STDMETHODCALLTYPE *Release)(
255 IEnumBackgroundCopyFiles *This);
256
257 /*** IEnumBackgroundCopyFiles methods ***/
258 HRESULT (STDMETHODCALLTYPE *Next)(
259 IEnumBackgroundCopyFiles *This,
260 ULONG celt,
261 IBackgroundCopyFile **rgelt,
262 ULONG *pceltFetched);
263
264 HRESULT (STDMETHODCALLTYPE *Skip)(
265 IEnumBackgroundCopyFiles *This,
266 ULONG celt);
267
268 HRESULT (STDMETHODCALLTYPE *Reset)(
269 IEnumBackgroundCopyFiles *This);
270
271 HRESULT (STDMETHODCALLTYPE *Clone)(
272 IEnumBackgroundCopyFiles *This,
273 IEnumBackgroundCopyFiles **ppenum);
274
275 HRESULT (STDMETHODCALLTYPE *GetCount)(
276 IEnumBackgroundCopyFiles *This,
277 ULONG *puCount);
278
169279 END_INTERFACE
170 } IEnumBackgroundCopyFilesVtbl;
171 struct IEnumBackgroundCopyFiles {
172 CONST_VTBL struct IEnumBackgroundCopyFilesVtbl *lpVtbl;
173 };
280} IEnumBackgroundCopyFilesVtbl;
281
282interface IEnumBackgroundCopyFiles {
283 CONST_VTBL IEnumBackgroundCopyFilesVtbl* lpVtbl;
284};
285
174286#ifdef COBJMACROS
287#ifndef WIDL_C_INLINE_WRAPPERS
288/*** IUnknown methods ***/
175289#define IEnumBackgroundCopyFiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
176290#define IEnumBackgroundCopyFiles_AddRef(This) (This)->lpVtbl->AddRef(This)
177291#define IEnumBackgroundCopyFiles_Release(This) (This)->lpVtbl->Release(This)
292/*** IEnumBackgroundCopyFiles methods ***/
178293#define IEnumBackgroundCopyFiles_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
179294#define IEnumBackgroundCopyFiles_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
180295#define IEnumBackgroundCopyFiles_Reset(This) (This)->lpVtbl->Reset(This)
181296#define IEnumBackgroundCopyFiles_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
182297#define IEnumBackgroundCopyFiles_GetCount(This,puCount) (This)->lpVtbl->GetCount(This,puCount)
298#else
299/*** IUnknown methods ***/
300static FORCEINLINE HRESULT IEnumBackgroundCopyFiles_QueryInterface(IEnumBackgroundCopyFiles* This,REFIID riid,void **ppvObject) {
301 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
302}
303static FORCEINLINE ULONG IEnumBackgroundCopyFiles_AddRef(IEnumBackgroundCopyFiles* This) {
304 return This->lpVtbl->AddRef(This);
305}
306static FORCEINLINE ULONG IEnumBackgroundCopyFiles_Release(IEnumBackgroundCopyFiles* This) {
307 return This->lpVtbl->Release(This);
308}
309/*** IEnumBackgroundCopyFiles methods ***/
310static FORCEINLINE HRESULT IEnumBackgroundCopyFiles_Next(IEnumBackgroundCopyFiles* This,ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched) {
311 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
312}
313static FORCEINLINE HRESULT IEnumBackgroundCopyFiles_Skip(IEnumBackgroundCopyFiles* This,ULONG celt) {
314 return This->lpVtbl->Skip(This,celt);
315}
316static FORCEINLINE HRESULT IEnumBackgroundCopyFiles_Reset(IEnumBackgroundCopyFiles* This) {
317 return This->lpVtbl->Reset(This);
318}
319static FORCEINLINE HRESULT IEnumBackgroundCopyFiles_Clone(IEnumBackgroundCopyFiles* This,IEnumBackgroundCopyFiles **ppenum) {
320 return This->lpVtbl->Clone(This,ppenum);
321}
322static FORCEINLINE HRESULT IEnumBackgroundCopyFiles_GetCount(IEnumBackgroundCopyFiles* This,ULONG *puCount) {
323 return This->lpVtbl->GetCount(This,puCount);
324}
183325#endif
184326#endif
185 HRESULT WINAPI IEnumBackgroundCopyFiles_Next_Proxy(IEnumBackgroundCopyFiles *This,ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched);
186 void __RPC_STUB IEnumBackgroundCopyFiles_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
187 HRESULT WINAPI IEnumBackgroundCopyFiles_Skip_Proxy(IEnumBackgroundCopyFiles *This,ULONG celt);
188 void __RPC_STUB IEnumBackgroundCopyFiles_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
189 HRESULT WINAPI IEnumBackgroundCopyFiles_Reset_Proxy(IEnumBackgroundCopyFiles *This);
190 void __RPC_STUB IEnumBackgroundCopyFiles_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
191 HRESULT WINAPI IEnumBackgroundCopyFiles_Clone_Proxy(IEnumBackgroundCopyFiles *This,IEnumBackgroundCopyFiles **ppenum);
192 void __RPC_STUB IEnumBackgroundCopyFiles_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
193 HRESULT WINAPI IEnumBackgroundCopyFiles_GetCount_Proxy(IEnumBackgroundCopyFiles *This,ULONG *puCount);
194 void __RPC_STUB IEnumBackgroundCopyFiles_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
327
195328#endif
196329
330
331#endif /* __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__ */
332
333/*****************************************************************************
334 * IBackgroundCopyError interface
335 */
197336#ifndef __IBackgroundCopyError_INTERFACE_DEFINED__
198337#define __IBackgroundCopyError_INTERFACE_DEFINED__
199 typedef enum __MIDL_IBackgroundCopyError_0001 {
200 BG_ERROR_CONTEXT_NONE = 0,BG_ERROR_CONTEXT_UNKNOWN = 1,BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = 3,
201 BG_ERROR_CONTEXT_LOCAL_FILE = 4,BG_ERROR_CONTEXT_REMOTE_FILE = 5,BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,BG_ERROR_CONTEXT_REMOTE_APPLICATION = 7
202 } BG_ERROR_CONTEXT;
203338
204 EXTERN_C const IID IID_IBackgroundCopyError;
339typedef enum __WIDL_bits_generated_name_0000000C {
340 BG_ERROR_CONTEXT_NONE = 0,
341 BG_ERROR_CONTEXT_UNKNOWN = 1,
342 BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,
343 BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = 3,
344 BG_ERROR_CONTEXT_LOCAL_FILE = 4,
345 BG_ERROR_CONTEXT_REMOTE_FILE = 5,
346 BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,
347 BG_ERROR_CONTEXT_REMOTE_APPLICATION = 7
348} BG_ERROR_CONTEXT;
349DEFINE_GUID(IID_IBackgroundCopyError, 0x19c613a0, 0xfcb8, 0x4f28, 0x81,0xae, 0x89,0x7c,0x3d,0x07,0x8f,0x81);
205350#if defined(__cplusplus) && !defined(CINTERFACE)
206 struct IBackgroundCopyError : public IUnknown {
207 public:
208 virtual HRESULT WINAPI GetError(BG_ERROR_CONTEXT *pContext,HRESULT *pCode) = 0;
209 virtual HRESULT WINAPI GetFile(IBackgroundCopyFile **pVal) = 0;
210 virtual HRESULT WINAPI GetErrorDescription(DWORD LanguageId,LPWSTR *pErrorDescription) = 0;
211 virtual HRESULT WINAPI GetErrorContextDescription(DWORD LanguageId,LPWSTR *pContextDescription) = 0;
212 virtual HRESULT WINAPI GetProtocol(LPWSTR *pProtocol) = 0;
213 };
351MIDL_INTERFACE("19c613a0-fcb8-4f28-81ae-897c3d078f81")
352IBackgroundCopyError : public IUnknown
353{
354 virtual HRESULT STDMETHODCALLTYPE GetError(
355 BG_ERROR_CONTEXT *pContext,
356 HRESULT *pCode) = 0;
357
358 virtual HRESULT STDMETHODCALLTYPE GetFile(
359 IBackgroundCopyFile **pVal) = 0;
360
361 virtual HRESULT STDMETHODCALLTYPE GetErrorDescription(
362 DWORD LanguageId,
363 LPWSTR *pErrorDescription) = 0;
364
365 virtual HRESULT STDMETHODCALLTYPE GetErrorContextDescription(
366 DWORD LanguageId,
367 LPWSTR *pContextDescription) = 0;
368
369 virtual HRESULT STDMETHODCALLTYPE GetProtocol(
370 LPWSTR *pProtocol) = 0;
371
372};
373#ifdef __CRT_UUID_DECL
374__CRT_UUID_DECL(IBackgroundCopyError, 0x19c613a0, 0xfcb8, 0x4f28, 0x81,0xae, 0x89,0x7c,0x3d,0x07,0x8f,0x81)
375#endif
214376#else
215 typedef struct IBackgroundCopyErrorVtbl {
377typedef struct IBackgroundCopyErrorVtbl {
216378 BEGIN_INTERFACE
217 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyError *This,REFIID riid,void **ppvObject);
218 ULONG (WINAPI *AddRef)(IBackgroundCopyError *This);
219 ULONG (WINAPI *Release)(IBackgroundCopyError *This);
220 HRESULT (WINAPI *GetError)(IBackgroundCopyError *This,BG_ERROR_CONTEXT *pContext,HRESULT *pCode);
221 HRESULT (WINAPI *GetFile)(IBackgroundCopyError *This,IBackgroundCopyFile **pVal);
222 HRESULT (WINAPI *GetErrorDescription)(IBackgroundCopyError *This,DWORD LanguageId,LPWSTR *pErrorDescription);
223 HRESULT (WINAPI *GetErrorContextDescription)(IBackgroundCopyError *This,DWORD LanguageId,LPWSTR *pContextDescription);
224 HRESULT (WINAPI *GetProtocol)(IBackgroundCopyError *This,LPWSTR *pProtocol);
379
380 /*** IUnknown methods ***/
381 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
382 IBackgroundCopyError *This,
383 REFIID riid,
384 void **ppvObject);
385
386 ULONG (STDMETHODCALLTYPE *AddRef)(
387 IBackgroundCopyError *This);
388
389 ULONG (STDMETHODCALLTYPE *Release)(
390 IBackgroundCopyError *This);
391
392 /*** IBackgroundCopyError methods ***/
393 HRESULT (STDMETHODCALLTYPE *GetError)(
394 IBackgroundCopyError *This,
395 BG_ERROR_CONTEXT *pContext,
396 HRESULT *pCode);
397
398 HRESULT (STDMETHODCALLTYPE *GetFile)(
399 IBackgroundCopyError *This,
400 IBackgroundCopyFile **pVal);
401
402 HRESULT (STDMETHODCALLTYPE *GetErrorDescription)(
403 IBackgroundCopyError *This,
404 DWORD LanguageId,
405 LPWSTR *pErrorDescription);
406
407 HRESULT (STDMETHODCALLTYPE *GetErrorContextDescription)(
408 IBackgroundCopyError *This,
409 DWORD LanguageId,
410 LPWSTR *pContextDescription);
411
412 HRESULT (STDMETHODCALLTYPE *GetProtocol)(
413 IBackgroundCopyError *This,
414 LPWSTR *pProtocol);
415
225416 END_INTERFACE
226 } IBackgroundCopyErrorVtbl;
227 struct IBackgroundCopyError {
228 CONST_VTBL struct IBackgroundCopyErrorVtbl *lpVtbl;
229 };
417} IBackgroundCopyErrorVtbl;
418
419interface IBackgroundCopyError {
420 CONST_VTBL IBackgroundCopyErrorVtbl* lpVtbl;
421};
422
230423#ifdef COBJMACROS
424#ifndef WIDL_C_INLINE_WRAPPERS
425/*** IUnknown methods ***/
231426#define IBackgroundCopyError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
232427#define IBackgroundCopyError_AddRef(This) (This)->lpVtbl->AddRef(This)
233428#define IBackgroundCopyError_Release(This) (This)->lpVtbl->Release(This)
429/*** IBackgroundCopyError methods ***/
234430#define IBackgroundCopyError_GetError(This,pContext,pCode) (This)->lpVtbl->GetError(This,pContext,pCode)
235431#define IBackgroundCopyError_GetFile(This,pVal) (This)->lpVtbl->GetFile(This,pVal)
236432#define IBackgroundCopyError_GetErrorDescription(This,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,LanguageId,pErrorDescription)
237433#define IBackgroundCopyError_GetErrorContextDescription(This,LanguageId,pContextDescription) (This)->lpVtbl->GetErrorContextDescription(This,LanguageId,pContextDescription)
238434#define IBackgroundCopyError_GetProtocol(This,pProtocol) (This)->lpVtbl->GetProtocol(This,pProtocol)
435#else
436/*** IUnknown methods ***/
437static FORCEINLINE HRESULT IBackgroundCopyError_QueryInterface(IBackgroundCopyError* This,REFIID riid,void **ppvObject) {
438 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
439}
440static FORCEINLINE ULONG IBackgroundCopyError_AddRef(IBackgroundCopyError* This) {
441 return This->lpVtbl->AddRef(This);
442}
443static FORCEINLINE ULONG IBackgroundCopyError_Release(IBackgroundCopyError* This) {
444 return This->lpVtbl->Release(This);
445}
446/*** IBackgroundCopyError methods ***/
447static FORCEINLINE HRESULT IBackgroundCopyError_GetError(IBackgroundCopyError* This,BG_ERROR_CONTEXT *pContext,HRESULT *pCode) {
448 return This->lpVtbl->GetError(This,pContext,pCode);
449}
450static FORCEINLINE HRESULT IBackgroundCopyError_GetFile(IBackgroundCopyError* This,IBackgroundCopyFile **pVal) {
451 return This->lpVtbl->GetFile(This,pVal);
452}
453static FORCEINLINE HRESULT IBackgroundCopyError_GetErrorDescription(IBackgroundCopyError* This,DWORD LanguageId,LPWSTR *pErrorDescription) {
454 return This->lpVtbl->GetErrorDescription(This,LanguageId,pErrorDescription);
455}
456static FORCEINLINE HRESULT IBackgroundCopyError_GetErrorContextDescription(IBackgroundCopyError* This,DWORD LanguageId,LPWSTR *pContextDescription) {
457 return This->lpVtbl->GetErrorContextDescription(This,LanguageId,pContextDescription);
458}
459static FORCEINLINE HRESULT IBackgroundCopyError_GetProtocol(IBackgroundCopyError* This,LPWSTR *pProtocol) {
460 return This->lpVtbl->GetProtocol(This,pProtocol);
461}
239462#endif
240463#endif
241 HRESULT WINAPI IBackgroundCopyError_GetError_Proxy(IBackgroundCopyError *This,BG_ERROR_CONTEXT *pContext,HRESULT *pCode);
242 void __RPC_STUB IBackgroundCopyError_GetError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
243 HRESULT WINAPI IBackgroundCopyError_GetFile_Proxy(IBackgroundCopyError *This,IBackgroundCopyFile **pVal);
244 void __RPC_STUB IBackgroundCopyError_GetFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
245 HRESULT WINAPI IBackgroundCopyError_GetErrorDescription_Proxy(IBackgroundCopyError *This,DWORD LanguageId,LPWSTR *pErrorDescription);
246 void __RPC_STUB IBackgroundCopyError_GetErrorDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
247 HRESULT WINAPI IBackgroundCopyError_GetErrorContextDescription_Proxy(IBackgroundCopyError *This,DWORD LanguageId,LPWSTR *pContextDescription);
248 void __RPC_STUB IBackgroundCopyError_GetErrorContextDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
249 HRESULT WINAPI IBackgroundCopyError_GetProtocol_Proxy(IBackgroundCopyError *This,LPWSTR *pProtocol);
250 void __RPC_STUB IBackgroundCopyError_GetProtocol_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
464
251465#endif
252466
467
468#endif /* __IBackgroundCopyError_INTERFACE_DEFINED__ */
469
470/*****************************************************************************
471 * IBackgroundCopyJob interface
472 */
253473#ifndef __IBackgroundCopyJob_INTERFACE_DEFINED__
254474#define __IBackgroundCopyJob_INTERFACE_DEFINED__
255 typedef struct _BG_FILE_INFO {
475
476typedef struct _BG_FILE_INFO {
256477 LPWSTR RemoteName;
257478 LPWSTR LocalName;
258 } BG_FILE_INFO;
259
260 typedef struct _BG_JOB_PROGRESS {
479} BG_FILE_INFO;
480typedef struct _BG_JOB_PROGRESS {
261481 UINT64 BytesTotal;
262482 UINT64 BytesTransferred;
263483 ULONG FilesTotal;
264484 ULONG FilesTransferred;
265 } BG_JOB_PROGRESS;
266
267 typedef struct _BG_JOB_TIMES {
485} BG_JOB_PROGRESS;
486typedef struct _BG_JOB_TIMES {
268487 FILETIME CreationTime;
269488 FILETIME ModificationTime;
270489 FILETIME TransferCompletionTime;
271 } BG_JOB_TIMES;
272
273 typedef enum __MIDL_IBackgroundCopyJob_0001 {
490} BG_JOB_TIMES;
491typedef enum __WIDL_bits_generated_name_0000000D {
274492 BG_JOB_PRIORITY_FOREGROUND = 0,
275 BG_JOB_PRIORITY_HIGH,BG_JOB_PRIORITY_NORMAL,BG_JOB_PRIORITY_LOW
276 } BG_JOB_PRIORITY;
493 BG_JOB_PRIORITY_HIGH = 1,
494 BG_JOB_PRIORITY_NORMAL = 2,
495 BG_JOB_PRIORITY_LOW = 3
496} BG_JOB_PRIORITY;
497typedef enum __WIDL_bits_generated_name_0000000E {
498 BG_JOB_STATE_QUEUED = 0,
499 BG_JOB_STATE_CONNECTING = 1,
500 BG_JOB_STATE_TRANSFERRING = 2,
501 BG_JOB_STATE_SUSPENDED = 3,
502 BG_JOB_STATE_ERROR = 4,
503 BG_JOB_STATE_TRANSIENT_ERROR = 5,
504 BG_JOB_STATE_TRANSFERRED = 6,
505 BG_JOB_STATE_ACKNOWLEDGED = 7,
506 BG_JOB_STATE_CANCELLED = 8
507} BG_JOB_STATE;
508typedef enum __WIDL_bits_generated_name_0000000F {
509 BG_JOB_TYPE_DOWNLOAD = 0,
510 BG_JOB_TYPE_UPLOAD = 1,
511 BG_JOB_TYPE_UPLOAD_REPLY = 2
512} BG_JOB_TYPE;
513typedef enum __WIDL_bits_generated_name_00000010 {
514 BG_JOB_PROXY_USAGE_PRECONFIG = 0,
515 BG_JOB_PROXY_USAGE_NO_PROXY = 1,
516 BG_JOB_PROXY_USAGE_OVERRIDE = 2,
517 BG_JOB_PROXY_USAGE_AUTODETECT = 3
518} BG_JOB_PROXY_USAGE;
519DEFINE_GUID(IID_IBackgroundCopyJob, 0x37668d37, 0x507e, 0x4160, 0x93,0x16, 0x26,0x30,0x6d,0x15,0x0b,0x12);
520#if defined(__cplusplus) && !defined(CINTERFACE)
521MIDL_INTERFACE("37668d37-507e-4160-9316-26306d150b12")
522IBackgroundCopyJob : public IUnknown
523{
524 virtual HRESULT STDMETHODCALLTYPE AddFileSet(
525 ULONG cFileCount,
526 BG_FILE_INFO *pFileSet) = 0;
277527
278 typedef enum __MIDL_IBackgroundCopyJob_0002 {
279 BG_JOB_STATE_QUEUED = 0,BG_JOB_STATE_CONNECTING,BG_JOB_STATE_TRANSFERRING,
280 BG_JOB_STATE_SUSPENDED,BG_JOB_STATE_ERROR,BG_JOB_STATE_TRANSIENT_ERROR,
281 BG_JOB_STATE_TRANSFERRED,BG_JOB_STATE_ACKNOWLEDGED,BG_JOB_STATE_CANCELLED
282 } BG_JOB_STATE;
528 virtual HRESULT STDMETHODCALLTYPE AddFile(
529 LPCWSTR RemoteUrl,
530 LPCWSTR LocalName) = 0;
283531
284 typedef enum __MIDL_IBackgroundCopyJob_0003 {
285 BG_JOB_TYPE_DOWNLOAD = 0,BG_JOB_TYPE_UPLOAD,BG_JOB_TYPE_UPLOAD_REPLY
286 } BG_JOB_TYPE;
532 virtual HRESULT STDMETHODCALLTYPE EnumFiles(
533 IEnumBackgroundCopyFiles **pEnum) = 0;
287534
288 typedef enum __MIDL_IBackgroundCopyJob_0004 {
289 BG_JOB_PROXY_USAGE_PRECONFIG = 0,BG_JOB_PROXY_USAGE_NO_PROXY,
290 BG_JOB_PROXY_USAGE_OVERRIDE,BG_JOB_PROXY_USAGE_AUTODETECT
291 } BG_JOB_PROXY_USAGE;
535 virtual HRESULT STDMETHODCALLTYPE Suspend(
536 ) = 0;
292537
293 EXTERN_C const IID IID_IBackgroundCopyJob;
294#if defined(__cplusplus) && !defined(CINTERFACE)
295 struct IBackgroundCopyJob : public IUnknown {
296 public:
297 virtual HRESULT WINAPI AddFileSet(ULONG cFileCount,BG_FILE_INFO *pFileSet) = 0;
298 virtual HRESULT WINAPI AddFile(LPCWSTR RemoteUrl,LPCWSTR LocalName) = 0;
299 virtual HRESULT WINAPI EnumFiles(IEnumBackgroundCopyFiles **pEnum) = 0;
300 virtual HRESULT WINAPI Suspend(void) = 0;
301 virtual HRESULT WINAPI Resume(void) = 0;
302 virtual HRESULT WINAPI Cancel(void) = 0;
303 virtual HRESULT WINAPI Complete(void) = 0;
304 virtual HRESULT WINAPI GetId(GUID *pVal) = 0;
305 virtual HRESULT WINAPI GetType(BG_JOB_TYPE *pVal) = 0;
306 virtual HRESULT WINAPI GetProgress(BG_JOB_PROGRESS *pVal) = 0;
307 virtual HRESULT WINAPI GetTimes(BG_JOB_TIMES *pVal) = 0;
308 virtual HRESULT WINAPI GetState(BG_JOB_STATE *pVal) = 0;
309 virtual HRESULT WINAPI GetError(IBackgroundCopyError **ppError) = 0;
310 virtual HRESULT WINAPI GetOwner(LPWSTR *pVal) = 0;
311 virtual HRESULT WINAPI SetDisplayName(LPCWSTR Val) = 0;
312 virtual HRESULT WINAPI GetDisplayName(LPWSTR *pVal) = 0;
313 virtual HRESULT WINAPI SetDescription(LPCWSTR Val) = 0;
314 virtual HRESULT WINAPI GetDescription(LPWSTR *pVal) = 0;
315 virtual HRESULT WINAPI SetPriority(BG_JOB_PRIORITY Val) = 0;
316 virtual HRESULT WINAPI GetPriority(BG_JOB_PRIORITY *pVal) = 0;
317 virtual HRESULT WINAPI SetNotifyFlags(ULONG Val) = 0;
318 virtual HRESULT WINAPI GetNotifyFlags(ULONG *pVal) = 0;
319 virtual HRESULT WINAPI SetNotifyInterface(IUnknown *Val) = 0;
320 virtual HRESULT WINAPI GetNotifyInterface(IUnknown **pVal) = 0;
321 virtual HRESULT WINAPI SetMinimumRetryDelay(ULONG Seconds) = 0;
322 virtual HRESULT WINAPI GetMinimumRetryDelay(ULONG *Seconds) = 0;
323 virtual HRESULT WINAPI SetNoProgressTimeout(ULONG Seconds) = 0;
324 virtual HRESULT WINAPI GetNoProgressTimeout(ULONG *Seconds) = 0;
325 virtual HRESULT WINAPI GetErrorCount(ULONG *Errors) = 0;
326 virtual HRESULT WINAPI SetProxySettings(BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) = 0;
327 virtual HRESULT WINAPI GetProxySettings(BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) = 0;
328 virtual HRESULT WINAPI TakeOwnership(void) = 0;
329 };
538 virtual HRESULT STDMETHODCALLTYPE Resume(
539 ) = 0;
540
541 virtual HRESULT STDMETHODCALLTYPE Cancel(
542 ) = 0;
543
544 virtual HRESULT STDMETHODCALLTYPE Complete(
545 ) = 0;
546
547 virtual HRESULT STDMETHODCALLTYPE GetId(
548 GUID *pVal) = 0;
549
550 virtual HRESULT STDMETHODCALLTYPE GetType(
551 BG_JOB_TYPE *pVal) = 0;
552
553 virtual HRESULT STDMETHODCALLTYPE GetProgress(
554 BG_JOB_PROGRESS *pVal) = 0;
555
556 virtual HRESULT STDMETHODCALLTYPE GetTimes(
557 BG_JOB_TIMES *pVal) = 0;
558
559 virtual HRESULT STDMETHODCALLTYPE GetState(
560 BG_JOB_STATE *pVal) = 0;
561
562 virtual HRESULT STDMETHODCALLTYPE GetError(
563 IBackgroundCopyError **ppError) = 0;
564
565 virtual HRESULT STDMETHODCALLTYPE GetOwner(
566 LPWSTR *pVal) = 0;
567
568 virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
569 LPCWSTR Val) = 0;
570
571 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
572 LPWSTR *pVal) = 0;
573
574 virtual HRESULT STDMETHODCALLTYPE SetDescription(
575 LPCWSTR Val) = 0;
576
577 virtual HRESULT STDMETHODCALLTYPE GetDescription(
578 LPWSTR *pVal) = 0;
579
580 virtual HRESULT STDMETHODCALLTYPE SetPriority(
581 BG_JOB_PRIORITY Val) = 0;
582
583 virtual HRESULT STDMETHODCALLTYPE GetPriority(
584 BG_JOB_PRIORITY *pVal) = 0;
585
586 virtual HRESULT STDMETHODCALLTYPE SetNotifyFlags(
587 ULONG Val) = 0;
588
589 virtual HRESULT STDMETHODCALLTYPE GetNotifyFlags(
590 ULONG *pVal) = 0;
591
592 virtual HRESULT STDMETHODCALLTYPE SetNotifyInterface(
593 IUnknown *Val) = 0;
594
595 virtual HRESULT STDMETHODCALLTYPE GetNotifyInterface(
596 IUnknown **pVal) = 0;
597
598 virtual HRESULT STDMETHODCALLTYPE SetMinimumRetryDelay(
599 ULONG Seconds) = 0;
600
601 virtual HRESULT STDMETHODCALLTYPE GetMinimumRetryDelay(
602 ULONG *Seconds) = 0;
603
604 virtual HRESULT STDMETHODCALLTYPE SetNoProgressTimeout(
605 ULONG Seconds) = 0;
606
607 virtual HRESULT STDMETHODCALLTYPE GetNoProgressTimeout(
608 ULONG *Seconds) = 0;
609
610 virtual HRESULT STDMETHODCALLTYPE GetErrorCount(
611 ULONG *Errors) = 0;
612
613 virtual HRESULT STDMETHODCALLTYPE SetProxySettings(
614 BG_JOB_PROXY_USAGE ProxyUsage,
615 const WCHAR *ProxyList,
616 const WCHAR *ProxyBypassList) = 0;
617
618 virtual HRESULT STDMETHODCALLTYPE GetProxySettings(
619 BG_JOB_PROXY_USAGE *pProxyUsage,
620 LPWSTR *pProxyList,
621 LPWSTR *pProxyBypassList) = 0;
622
623 virtual HRESULT STDMETHODCALLTYPE TakeOwnership(
624 ) = 0;
625
626};
627#ifdef __CRT_UUID_DECL
628__CRT_UUID_DECL(IBackgroundCopyJob, 0x37668d37, 0x507e, 0x4160, 0x93,0x16, 0x26,0x30,0x6d,0x15,0x0b,0x12)
629#endif
330630#else
331 typedef struct IBackgroundCopyJobVtbl {
631typedef struct IBackgroundCopyJobVtbl {
332632 BEGIN_INTERFACE
333 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob *This,REFIID riid,void **ppvObject);
334 ULONG (WINAPI *AddRef)(IBackgroundCopyJob *This);
335 ULONG (WINAPI *Release)(IBackgroundCopyJob *This);
336 HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);
337 HRESULT (WINAPI *AddFile)(IBackgroundCopyJob *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);
338 HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob *This,IEnumBackgroundCopyFiles **pEnum);
339 HRESULT (WINAPI *Suspend)(IBackgroundCopyJob *This);
340 HRESULT (WINAPI *Resume)(IBackgroundCopyJob *This);
341 HRESULT (WINAPI *Cancel)(IBackgroundCopyJob *This);
342 HRESULT (WINAPI *Complete)(IBackgroundCopyJob *This);
343 HRESULT (WINAPI *GetId)(IBackgroundCopyJob *This,GUID *pVal);
344 HRESULT (WINAPI *GetType)(IBackgroundCopyJob *This,BG_JOB_TYPE *pVal);
345 HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob *This,BG_JOB_PROGRESS *pVal);
346 HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob *This,BG_JOB_TIMES *pVal);
347 HRESULT (WINAPI *GetState)(IBackgroundCopyJob *This,BG_JOB_STATE *pVal);
348 HRESULT (WINAPI *GetError)(IBackgroundCopyJob *This,IBackgroundCopyError **ppError);
349 HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob *This,LPWSTR *pVal);
350 HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob *This,LPCWSTR Val);
351 HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob *This,LPWSTR *pVal);
352 HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob *This,LPCWSTR Val);
353 HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob *This,LPWSTR *pVal);
354 HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob *This,BG_JOB_PRIORITY Val);
355 HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob *This,BG_JOB_PRIORITY *pVal);
356 HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob *This,ULONG Val);
357 HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob *This,ULONG *pVal);
358 HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob *This,IUnknown *Val);
359 HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob *This,IUnknown **pVal);
360 HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob *This,ULONG Seconds);
361 HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob *This,ULONG *Seconds);
362 HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob *This,ULONG Seconds);
363 HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob *This,ULONG *Seconds);
364 HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob *This,ULONG *Errors);
365 HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);
366 HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);
367 HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob *This);
633
634 /*** IUnknown methods ***/
635 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
636 IBackgroundCopyJob *This,
637 REFIID riid,
638 void **ppvObject);
639
640 ULONG (STDMETHODCALLTYPE *AddRef)(
641 IBackgroundCopyJob *This);
642
643 ULONG (STDMETHODCALLTYPE *Release)(
644 IBackgroundCopyJob *This);
645
646 /*** IBackgroundCopyJob methods ***/
647 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
648 IBackgroundCopyJob *This,
649 ULONG cFileCount,
650 BG_FILE_INFO *pFileSet);
651
652 HRESULT (STDMETHODCALLTYPE *AddFile)(
653 IBackgroundCopyJob *This,
654 LPCWSTR RemoteUrl,
655 LPCWSTR LocalName);
656
657 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
658 IBackgroundCopyJob *This,
659 IEnumBackgroundCopyFiles **pEnum);
660
661 HRESULT (STDMETHODCALLTYPE *Suspend)(
662 IBackgroundCopyJob *This);
663
664 HRESULT (STDMETHODCALLTYPE *Resume)(
665 IBackgroundCopyJob *This);
666
667 HRESULT (STDMETHODCALLTYPE *Cancel)(
668 IBackgroundCopyJob *This);
669
670 HRESULT (STDMETHODCALLTYPE *Complete)(
671 IBackgroundCopyJob *This);
672
673 HRESULT (STDMETHODCALLTYPE *GetId)(
674 IBackgroundCopyJob *This,
675 GUID *pVal);
676
677 HRESULT (STDMETHODCALLTYPE *GetType)(
678 IBackgroundCopyJob *This,
679 BG_JOB_TYPE *pVal);
680
681 HRESULT (STDMETHODCALLTYPE *GetProgress)(
682 IBackgroundCopyJob *This,
683 BG_JOB_PROGRESS *pVal);
684
685 HRESULT (STDMETHODCALLTYPE *GetTimes)(
686 IBackgroundCopyJob *This,
687 BG_JOB_TIMES *pVal);
688
689 HRESULT (STDMETHODCALLTYPE *GetState)(
690 IBackgroundCopyJob *This,
691 BG_JOB_STATE *pVal);
692
693 HRESULT (STDMETHODCALLTYPE *GetError)(
694 IBackgroundCopyJob *This,
695 IBackgroundCopyError **ppError);
696
697 HRESULT (STDMETHODCALLTYPE *GetOwner)(
698 IBackgroundCopyJob *This,
699 LPWSTR *pVal);
700
701 HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
702 IBackgroundCopyJob *This,
703 LPCWSTR Val);
704
705 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
706 IBackgroundCopyJob *This,
707 LPWSTR *pVal);
708
709 HRESULT (STDMETHODCALLTYPE *SetDescription)(
710 IBackgroundCopyJob *This,
711 LPCWSTR Val);
712
713 HRESULT (STDMETHODCALLTYPE *GetDescription)(
714 IBackgroundCopyJob *This,
715 LPWSTR *pVal);
716
717 HRESULT (STDMETHODCALLTYPE *SetPriority)(
718 IBackgroundCopyJob *This,
719 BG_JOB_PRIORITY Val);
720
721 HRESULT (STDMETHODCALLTYPE *GetPriority)(
722 IBackgroundCopyJob *This,
723 BG_JOB_PRIORITY *pVal);
724
725 HRESULT (STDMETHODCALLTYPE *SetNotifyFlags)(
726 IBackgroundCopyJob *This,
727 ULONG Val);
728
729 HRESULT (STDMETHODCALLTYPE *GetNotifyFlags)(
730 IBackgroundCopyJob *This,
731 ULONG *pVal);
732
733 HRESULT (STDMETHODCALLTYPE *SetNotifyInterface)(
734 IBackgroundCopyJob *This,
735 IUnknown *Val);
736
737 HRESULT (STDMETHODCALLTYPE *GetNotifyInterface)(
738 IBackgroundCopyJob *This,
739 IUnknown **pVal);
740
741 HRESULT (STDMETHODCALLTYPE *SetMinimumRetryDelay)(
742 IBackgroundCopyJob *This,
743 ULONG Seconds);
744
745 HRESULT (STDMETHODCALLTYPE *GetMinimumRetryDelay)(
746 IBackgroundCopyJob *This,
747 ULONG *Seconds);
748
749 HRESULT (STDMETHODCALLTYPE *SetNoProgressTimeout)(
750 IBackgroundCopyJob *This,
751 ULONG Seconds);
752
753 HRESULT (STDMETHODCALLTYPE *GetNoProgressTimeout)(
754 IBackgroundCopyJob *This,
755 ULONG *Seconds);
756
757 HRESULT (STDMETHODCALLTYPE *GetErrorCount)(
758 IBackgroundCopyJob *This,
759 ULONG *Errors);
760
761 HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
762 IBackgroundCopyJob *This,
763 BG_JOB_PROXY_USAGE ProxyUsage,
764 const WCHAR *ProxyList,
765 const WCHAR *ProxyBypassList);
766
767 HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
768 IBackgroundCopyJob *This,
769 BG_JOB_PROXY_USAGE *pProxyUsage,
770 LPWSTR *pProxyList,
771 LPWSTR *pProxyBypassList);
772
773 HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
774 IBackgroundCopyJob *This);
775
368776 END_INTERFACE
369 } IBackgroundCopyJobVtbl;
370 struct IBackgroundCopyJob {
371 CONST_VTBL struct IBackgroundCopyJobVtbl *lpVtbl;
372 };
777} IBackgroundCopyJobVtbl;
778
779interface IBackgroundCopyJob {
780 CONST_VTBL IBackgroundCopyJobVtbl* lpVtbl;
781};
782
373783#ifdef COBJMACROS
784#ifndef WIDL_C_INLINE_WRAPPERS
785/*** IUnknown methods ***/
374786#define IBackgroundCopyJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
375787#define IBackgroundCopyJob_AddRef(This) (This)->lpVtbl->AddRef(This)
376788#define IBackgroundCopyJob_Release(This) (This)->lpVtbl->Release(This)
789/*** IBackgroundCopyJob methods ***/
377790#define IBackgroundCopyJob_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
378791#define IBackgroundCopyJob_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
379792#define IBackgroundCopyJob_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
......@@ -406,294 +819,509 @@ extern "C"{
406819#define IBackgroundCopyJob_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
407820#define IBackgroundCopyJob_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
408821#define IBackgroundCopyJob_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
822#else
823/*** IUnknown methods ***/
824static FORCEINLINE HRESULT IBackgroundCopyJob_QueryInterface(IBackgroundCopyJob* This,REFIID riid,void **ppvObject) {
825 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
826}
827static FORCEINLINE ULONG IBackgroundCopyJob_AddRef(IBackgroundCopyJob* This) {
828 return This->lpVtbl->AddRef(This);
829}
830static FORCEINLINE ULONG IBackgroundCopyJob_Release(IBackgroundCopyJob* This) {
831 return This->lpVtbl->Release(This);
832}
833/*** IBackgroundCopyJob methods ***/
834static FORCEINLINE HRESULT IBackgroundCopyJob_AddFileSet(IBackgroundCopyJob* This,ULONG cFileCount,BG_FILE_INFO *pFileSet) {
835 return This->lpVtbl->AddFileSet(This,cFileCount,pFileSet);
836}
837static FORCEINLINE HRESULT IBackgroundCopyJob_AddFile(IBackgroundCopyJob* This,LPCWSTR RemoteUrl,LPCWSTR LocalName) {
838 return This->lpVtbl->AddFile(This,RemoteUrl,LocalName);
839}
840static FORCEINLINE HRESULT IBackgroundCopyJob_EnumFiles(IBackgroundCopyJob* This,IEnumBackgroundCopyFiles **pEnum) {
841 return This->lpVtbl->EnumFiles(This,pEnum);
842}
843static FORCEINLINE HRESULT IBackgroundCopyJob_Suspend(IBackgroundCopyJob* This) {
844 return This->lpVtbl->Suspend(This);
845}
846static FORCEINLINE HRESULT IBackgroundCopyJob_Resume(IBackgroundCopyJob* This) {
847 return This->lpVtbl->Resume(This);
848}
849static FORCEINLINE HRESULT IBackgroundCopyJob_Cancel(IBackgroundCopyJob* This) {
850 return This->lpVtbl->Cancel(This);
851}
852static FORCEINLINE HRESULT IBackgroundCopyJob_Complete(IBackgroundCopyJob* This) {
853 return This->lpVtbl->Complete(This);
854}
855static FORCEINLINE HRESULT IBackgroundCopyJob_GetId(IBackgroundCopyJob* This,GUID *pVal) {
856 return This->lpVtbl->GetId(This,pVal);
857}
858static FORCEINLINE HRESULT IBackgroundCopyJob_GetType(IBackgroundCopyJob* This,BG_JOB_TYPE *pVal) {
859 return This->lpVtbl->GetType(This,pVal);
860}
861static FORCEINLINE HRESULT IBackgroundCopyJob_GetProgress(IBackgroundCopyJob* This,BG_JOB_PROGRESS *pVal) {
862 return This->lpVtbl->GetProgress(This,pVal);
863}
864static FORCEINLINE HRESULT IBackgroundCopyJob_GetTimes(IBackgroundCopyJob* This,BG_JOB_TIMES *pVal) {
865 return This->lpVtbl->GetTimes(This,pVal);
866}
867static FORCEINLINE HRESULT IBackgroundCopyJob_GetState(IBackgroundCopyJob* This,BG_JOB_STATE *pVal) {
868 return This->lpVtbl->GetState(This,pVal);
869}
870static FORCEINLINE HRESULT IBackgroundCopyJob_GetError(IBackgroundCopyJob* This,IBackgroundCopyError **ppError) {
871 return This->lpVtbl->GetError(This,ppError);
872}
873static FORCEINLINE HRESULT IBackgroundCopyJob_GetOwner(IBackgroundCopyJob* This,LPWSTR *pVal) {
874 return This->lpVtbl->GetOwner(This,pVal);
875}
876static FORCEINLINE HRESULT IBackgroundCopyJob_SetDisplayName(IBackgroundCopyJob* This,LPCWSTR Val) {
877 return This->lpVtbl->SetDisplayName(This,Val);
878}
879static FORCEINLINE HRESULT IBackgroundCopyJob_GetDisplayName(IBackgroundCopyJob* This,LPWSTR *pVal) {
880 return This->lpVtbl->GetDisplayName(This,pVal);
881}
882static FORCEINLINE HRESULT IBackgroundCopyJob_SetDescription(IBackgroundCopyJob* This,LPCWSTR Val) {
883 return This->lpVtbl->SetDescription(This,Val);
884}
885static FORCEINLINE HRESULT IBackgroundCopyJob_GetDescription(IBackgroundCopyJob* This,LPWSTR *pVal) {
886 return This->lpVtbl->GetDescription(This,pVal);
887}
888static FORCEINLINE HRESULT IBackgroundCopyJob_SetPriority(IBackgroundCopyJob* This,BG_JOB_PRIORITY Val) {
889 return This->lpVtbl->SetPriority(This,Val);
890}
891static FORCEINLINE HRESULT IBackgroundCopyJob_GetPriority(IBackgroundCopyJob* This,BG_JOB_PRIORITY *pVal) {
892 return This->lpVtbl->GetPriority(This,pVal);
893}
894static FORCEINLINE HRESULT IBackgroundCopyJob_SetNotifyFlags(IBackgroundCopyJob* This,ULONG Val) {
895 return This->lpVtbl->SetNotifyFlags(This,Val);
896}
897static FORCEINLINE HRESULT IBackgroundCopyJob_GetNotifyFlags(IBackgroundCopyJob* This,ULONG *pVal) {
898 return This->lpVtbl->GetNotifyFlags(This,pVal);
899}
900static FORCEINLINE HRESULT IBackgroundCopyJob_SetNotifyInterface(IBackgroundCopyJob* This,IUnknown *Val) {
901 return This->lpVtbl->SetNotifyInterface(This,Val);
902}
903static FORCEINLINE HRESULT IBackgroundCopyJob_GetNotifyInterface(IBackgroundCopyJob* This,IUnknown **pVal) {
904 return This->lpVtbl->GetNotifyInterface(This,pVal);
905}
906static FORCEINLINE HRESULT IBackgroundCopyJob_SetMinimumRetryDelay(IBackgroundCopyJob* This,ULONG Seconds) {
907 return This->lpVtbl->SetMinimumRetryDelay(This,Seconds);
908}
909static FORCEINLINE HRESULT IBackgroundCopyJob_GetMinimumRetryDelay(IBackgroundCopyJob* This,ULONG *Seconds) {
910 return This->lpVtbl->GetMinimumRetryDelay(This,Seconds);
911}
912static FORCEINLINE HRESULT IBackgroundCopyJob_SetNoProgressTimeout(IBackgroundCopyJob* This,ULONG Seconds) {
913 return This->lpVtbl->SetNoProgressTimeout(This,Seconds);
914}
915static FORCEINLINE HRESULT IBackgroundCopyJob_GetNoProgressTimeout(IBackgroundCopyJob* This,ULONG *Seconds) {
916 return This->lpVtbl->GetNoProgressTimeout(This,Seconds);
917}
918static FORCEINLINE HRESULT IBackgroundCopyJob_GetErrorCount(IBackgroundCopyJob* This,ULONG *Errors) {
919 return This->lpVtbl->GetErrorCount(This,Errors);
920}
921static FORCEINLINE HRESULT IBackgroundCopyJob_SetProxySettings(IBackgroundCopyJob* This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) {
922 return This->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList);
923}
924static FORCEINLINE HRESULT IBackgroundCopyJob_GetProxySettings(IBackgroundCopyJob* This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) {
925 return This->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList);
926}
927static FORCEINLINE HRESULT IBackgroundCopyJob_TakeOwnership(IBackgroundCopyJob* This) {
928 return This->lpVtbl->TakeOwnership(This);
929}
409930#endif
410931#endif
411 HRESULT WINAPI IBackgroundCopyJob_AddFileSet_Proxy(IBackgroundCopyJob *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);
412 void __RPC_STUB IBackgroundCopyJob_AddFileSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
413 HRESULT WINAPI IBackgroundCopyJob_AddFile_Proxy(IBackgroundCopyJob *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);
414 void __RPC_STUB IBackgroundCopyJob_AddFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
415 HRESULT WINAPI IBackgroundCopyJob_EnumFiles_Proxy(IBackgroundCopyJob *This,IEnumBackgroundCopyFiles **pEnum);
416 void __RPC_STUB IBackgroundCopyJob_EnumFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
417 HRESULT WINAPI IBackgroundCopyJob_Suspend_Proxy(IBackgroundCopyJob *This);
418 void __RPC_STUB IBackgroundCopyJob_Suspend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
419 HRESULT WINAPI IBackgroundCopyJob_Resume_Proxy(IBackgroundCopyJob *This);
420 void __RPC_STUB IBackgroundCopyJob_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
421 HRESULT WINAPI IBackgroundCopyJob_Cancel_Proxy(IBackgroundCopyJob *This);
422 void __RPC_STUB IBackgroundCopyJob_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
423 HRESULT WINAPI IBackgroundCopyJob_Complete_Proxy(IBackgroundCopyJob *This);
424 void __RPC_STUB IBackgroundCopyJob_Complete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
425 HRESULT WINAPI IBackgroundCopyJob_GetId_Proxy(IBackgroundCopyJob *This,GUID *pVal);
426 void __RPC_STUB IBackgroundCopyJob_GetId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
427 HRESULT WINAPI IBackgroundCopyJob_GetType_Proxy(IBackgroundCopyJob *This,BG_JOB_TYPE *pVal);
428 void __RPC_STUB IBackgroundCopyJob_GetType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
429 HRESULT WINAPI IBackgroundCopyJob_GetProgress_Proxy(IBackgroundCopyJob *This,BG_JOB_PROGRESS *pVal);
430 void __RPC_STUB IBackgroundCopyJob_GetProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
431 HRESULT WINAPI IBackgroundCopyJob_GetTimes_Proxy(IBackgroundCopyJob *This,BG_JOB_TIMES *pVal);
432 void __RPC_STUB IBackgroundCopyJob_GetTimes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
433 HRESULT WINAPI IBackgroundCopyJob_GetState_Proxy(IBackgroundCopyJob *This,BG_JOB_STATE *pVal);
434 void __RPC_STUB IBackgroundCopyJob_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
435 HRESULT WINAPI IBackgroundCopyJob_GetError_Proxy(IBackgroundCopyJob *This,IBackgroundCopyError **ppError);
436 void __RPC_STUB IBackgroundCopyJob_GetError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
437 HRESULT WINAPI IBackgroundCopyJob_GetOwner_Proxy(IBackgroundCopyJob *This,LPWSTR *pVal);
438 void __RPC_STUB IBackgroundCopyJob_GetOwner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
439 HRESULT WINAPI IBackgroundCopyJob_SetDisplayName_Proxy(IBackgroundCopyJob *This,LPCWSTR Val);
440 void __RPC_STUB IBackgroundCopyJob_SetDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
441 HRESULT WINAPI IBackgroundCopyJob_GetDisplayName_Proxy(IBackgroundCopyJob *This,LPWSTR *pVal);
442 void __RPC_STUB IBackgroundCopyJob_GetDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
443 HRESULT WINAPI IBackgroundCopyJob_SetDescription_Proxy(IBackgroundCopyJob *This,LPCWSTR Val);
444 void __RPC_STUB IBackgroundCopyJob_SetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
445 HRESULT WINAPI IBackgroundCopyJob_GetDescription_Proxy(IBackgroundCopyJob *This,LPWSTR *pVal);
446 void __RPC_STUB IBackgroundCopyJob_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
447 HRESULT WINAPI IBackgroundCopyJob_SetPriority_Proxy(IBackgroundCopyJob *This,BG_JOB_PRIORITY Val);
448 void __RPC_STUB IBackgroundCopyJob_SetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
449 HRESULT WINAPI IBackgroundCopyJob_GetPriority_Proxy(IBackgroundCopyJob *This,BG_JOB_PRIORITY *pVal);
450 void __RPC_STUB IBackgroundCopyJob_GetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
451 HRESULT WINAPI IBackgroundCopyJob_SetNotifyFlags_Proxy(IBackgroundCopyJob *This,ULONG Val);
452 void __RPC_STUB IBackgroundCopyJob_SetNotifyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
453 HRESULT WINAPI IBackgroundCopyJob_GetNotifyFlags_Proxy(IBackgroundCopyJob *This,ULONG *pVal);
454 void __RPC_STUB IBackgroundCopyJob_GetNotifyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
455 HRESULT WINAPI IBackgroundCopyJob_SetNotifyInterface_Proxy(IBackgroundCopyJob *This,IUnknown *Val);
456 void __RPC_STUB IBackgroundCopyJob_SetNotifyInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
457 HRESULT WINAPI IBackgroundCopyJob_GetNotifyInterface_Proxy(IBackgroundCopyJob *This,IUnknown **pVal);
458 void __RPC_STUB IBackgroundCopyJob_GetNotifyInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
459 HRESULT WINAPI IBackgroundCopyJob_SetMinimumRetryDelay_Proxy(IBackgroundCopyJob *This,ULONG Seconds);
460 void __RPC_STUB IBackgroundCopyJob_SetMinimumRetryDelay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
461 HRESULT WINAPI IBackgroundCopyJob_GetMinimumRetryDelay_Proxy(IBackgroundCopyJob *This,ULONG *Seconds);
462 void __RPC_STUB IBackgroundCopyJob_GetMinimumRetryDelay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
463 HRESULT WINAPI IBackgroundCopyJob_SetNoProgressTimeout_Proxy(IBackgroundCopyJob *This,ULONG Seconds);
464 void __RPC_STUB IBackgroundCopyJob_SetNoProgressTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
465 HRESULT WINAPI IBackgroundCopyJob_GetNoProgressTimeout_Proxy(IBackgroundCopyJob *This,ULONG *Seconds);
466 void __RPC_STUB IBackgroundCopyJob_GetNoProgressTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
467 HRESULT WINAPI IBackgroundCopyJob_GetErrorCount_Proxy(IBackgroundCopyJob *This,ULONG *Errors);
468 void __RPC_STUB IBackgroundCopyJob_GetErrorCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
469 HRESULT WINAPI IBackgroundCopyJob_SetProxySettings_Proxy(IBackgroundCopyJob *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);
470 void __RPC_STUB IBackgroundCopyJob_SetProxySettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
471 HRESULT WINAPI IBackgroundCopyJob_GetProxySettings_Proxy(IBackgroundCopyJob *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);
472 void __RPC_STUB IBackgroundCopyJob_GetProxySettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
473 HRESULT WINAPI IBackgroundCopyJob_TakeOwnership_Proxy(IBackgroundCopyJob *This);
474 void __RPC_STUB IBackgroundCopyJob_TakeOwnership_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
932
475933#endif
476934
935
936#endif /* __IBackgroundCopyJob_INTERFACE_DEFINED__ */
937
938/*****************************************************************************
939 * IEnumBackgroundCopyJobs interface
940 */
477941#ifndef __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__
478942#define __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__
479 EXTERN_C const IID IID_IEnumBackgroundCopyJobs;
943
944DEFINE_GUID(IID_IEnumBackgroundCopyJobs, 0x1af4f612, 0x3b71, 0x466f, 0x8f,0x58, 0x7b,0x6f,0x73,0xac,0x57,0xad);
480945#if defined(__cplusplus) && !defined(CINTERFACE)
481 struct IEnumBackgroundCopyJobs : public IUnknown {
482 public:
483 virtual HRESULT WINAPI Next(ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched) = 0;
484 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
485 virtual HRESULT WINAPI Reset(void) = 0;
486 virtual HRESULT WINAPI Clone(IEnumBackgroundCopyJobs **ppenum) = 0;
487 virtual HRESULT WINAPI GetCount(ULONG *puCount) = 0;
488 };
946MIDL_INTERFACE("1af4f612-3b71-466f-8f58-7b6f73ac57ad")
947IEnumBackgroundCopyJobs : public IUnknown
948{
949 virtual HRESULT STDMETHODCALLTYPE Next(
950 ULONG celt,
951 IBackgroundCopyJob **rgelt,
952 ULONG *pceltFetched) = 0;
953
954 virtual HRESULT STDMETHODCALLTYPE Skip(
955 ULONG celt) = 0;
956
957 virtual HRESULT STDMETHODCALLTYPE Reset(
958 ) = 0;
959
960 virtual HRESULT STDMETHODCALLTYPE Clone(
961 IEnumBackgroundCopyJobs **ppenum) = 0;
962
963 virtual HRESULT STDMETHODCALLTYPE GetCount(
964 ULONG *puCount) = 0;
965
966};
967#ifdef __CRT_UUID_DECL
968__CRT_UUID_DECL(IEnumBackgroundCopyJobs, 0x1af4f612, 0x3b71, 0x466f, 0x8f,0x58, 0x7b,0x6f,0x73,0xac,0x57,0xad)
969#endif
489970#else
490 typedef struct IEnumBackgroundCopyJobsVtbl {
971typedef struct IEnumBackgroundCopyJobsVtbl {
491972 BEGIN_INTERFACE
492 HRESULT (WINAPI *QueryInterface)(IEnumBackgroundCopyJobs *This,REFIID riid,void **ppvObject);
493 ULONG (WINAPI *AddRef)(IEnumBackgroundCopyJobs *This);
494 ULONG (WINAPI *Release)(IEnumBackgroundCopyJobs *This);
495 HRESULT (WINAPI *Next)(IEnumBackgroundCopyJobs *This,ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched);
496 HRESULT (WINAPI *Skip)(IEnumBackgroundCopyJobs *This,ULONG celt);
497 HRESULT (WINAPI *Reset)(IEnumBackgroundCopyJobs *This);
498 HRESULT (WINAPI *Clone)(IEnumBackgroundCopyJobs *This,IEnumBackgroundCopyJobs **ppenum);
499 HRESULT (WINAPI *GetCount)(IEnumBackgroundCopyJobs *This,ULONG *puCount);
973
974 /*** IUnknown methods ***/
975 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
976 IEnumBackgroundCopyJobs *This,
977 REFIID riid,
978 void **ppvObject);
979
980 ULONG (STDMETHODCALLTYPE *AddRef)(
981 IEnumBackgroundCopyJobs *This);
982
983 ULONG (STDMETHODCALLTYPE *Release)(
984 IEnumBackgroundCopyJobs *This);
985
986 /*** IEnumBackgroundCopyJobs methods ***/
987 HRESULT (STDMETHODCALLTYPE *Next)(
988 IEnumBackgroundCopyJobs *This,
989 ULONG celt,
990 IBackgroundCopyJob **rgelt,
991 ULONG *pceltFetched);
992
993 HRESULT (STDMETHODCALLTYPE *Skip)(
994 IEnumBackgroundCopyJobs *This,
995 ULONG celt);
996
997 HRESULT (STDMETHODCALLTYPE *Reset)(
998 IEnumBackgroundCopyJobs *This);
999
1000 HRESULT (STDMETHODCALLTYPE *Clone)(
1001 IEnumBackgroundCopyJobs *This,
1002 IEnumBackgroundCopyJobs **ppenum);
1003
1004 HRESULT (STDMETHODCALLTYPE *GetCount)(
1005 IEnumBackgroundCopyJobs *This,
1006 ULONG *puCount);
1007
5001008 END_INTERFACE
501 } IEnumBackgroundCopyJobsVtbl;
502 struct IEnumBackgroundCopyJobs {
503 CONST_VTBL struct IEnumBackgroundCopyJobsVtbl *lpVtbl;
504 };
1009} IEnumBackgroundCopyJobsVtbl;
1010
1011interface IEnumBackgroundCopyJobs {
1012 CONST_VTBL IEnumBackgroundCopyJobsVtbl* lpVtbl;
1013};
1014
5051015#ifdef COBJMACROS
1016#ifndef WIDL_C_INLINE_WRAPPERS
1017/*** IUnknown methods ***/
5061018#define IEnumBackgroundCopyJobs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5071019#define IEnumBackgroundCopyJobs_AddRef(This) (This)->lpVtbl->AddRef(This)
5081020#define IEnumBackgroundCopyJobs_Release(This) (This)->lpVtbl->Release(This)
1021/*** IEnumBackgroundCopyJobs methods ***/
5091022#define IEnumBackgroundCopyJobs_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
5101023#define IEnumBackgroundCopyJobs_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
5111024#define IEnumBackgroundCopyJobs_Reset(This) (This)->lpVtbl->Reset(This)
5121025#define IEnumBackgroundCopyJobs_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
5131026#define IEnumBackgroundCopyJobs_GetCount(This,puCount) (This)->lpVtbl->GetCount(This,puCount)
1027#else
1028/*** IUnknown methods ***/
1029static FORCEINLINE HRESULT IEnumBackgroundCopyJobs_QueryInterface(IEnumBackgroundCopyJobs* This,REFIID riid,void **ppvObject) {
1030 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1031}
1032static FORCEINLINE ULONG IEnumBackgroundCopyJobs_AddRef(IEnumBackgroundCopyJobs* This) {
1033 return This->lpVtbl->AddRef(This);
1034}
1035static FORCEINLINE ULONG IEnumBackgroundCopyJobs_Release(IEnumBackgroundCopyJobs* This) {
1036 return This->lpVtbl->Release(This);
1037}
1038/*** IEnumBackgroundCopyJobs methods ***/
1039static FORCEINLINE HRESULT IEnumBackgroundCopyJobs_Next(IEnumBackgroundCopyJobs* This,ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched) {
1040 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1041}
1042static FORCEINLINE HRESULT IEnumBackgroundCopyJobs_Skip(IEnumBackgroundCopyJobs* This,ULONG celt) {
1043 return This->lpVtbl->Skip(This,celt);
1044}
1045static FORCEINLINE HRESULT IEnumBackgroundCopyJobs_Reset(IEnumBackgroundCopyJobs* This) {
1046 return This->lpVtbl->Reset(This);
1047}
1048static FORCEINLINE HRESULT IEnumBackgroundCopyJobs_Clone(IEnumBackgroundCopyJobs* This,IEnumBackgroundCopyJobs **ppenum) {
1049 return This->lpVtbl->Clone(This,ppenum);
1050}
1051static FORCEINLINE HRESULT IEnumBackgroundCopyJobs_GetCount(IEnumBackgroundCopyJobs* This,ULONG *puCount) {
1052 return This->lpVtbl->GetCount(This,puCount);
1053}
5141054#endif
5151055#endif
516 HRESULT WINAPI IEnumBackgroundCopyJobs_Next_Proxy(IEnumBackgroundCopyJobs *This,ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched);
517 void __RPC_STUB IEnumBackgroundCopyJobs_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
518 HRESULT WINAPI IEnumBackgroundCopyJobs_Skip_Proxy(IEnumBackgroundCopyJobs *This,ULONG celt);
519 void __RPC_STUB IEnumBackgroundCopyJobs_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
520 HRESULT WINAPI IEnumBackgroundCopyJobs_Reset_Proxy(IEnumBackgroundCopyJobs *This);
521 void __RPC_STUB IEnumBackgroundCopyJobs_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
522 HRESULT WINAPI IEnumBackgroundCopyJobs_Clone_Proxy(IEnumBackgroundCopyJobs *This,IEnumBackgroundCopyJobs **ppenum);
523 void __RPC_STUB IEnumBackgroundCopyJobs_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
524 HRESULT WINAPI IEnumBackgroundCopyJobs_GetCount_Proxy(IEnumBackgroundCopyJobs *This,ULONG *puCount);
525 void __RPC_STUB IEnumBackgroundCopyJobs_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1056
5261057#endif
5271058
528#define BG_NOTIFY_JOB_TRANSFERRED 0x0001
529#define BG_NOTIFY_JOB_ERROR 0x0002
530#define BG_NOTIFY_DISABLE 0x0004
531#define BG_NOTIFY_JOB_MODIFICATION 0x0008
5321059
533 extern RPC_IF_HANDLE __MIDL_itf_bits_0013_v0_0_c_ifspec;
534 extern RPC_IF_HANDLE __MIDL_itf_bits_0013_v0_0_s_ifspec;
1060#endif /* __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__ */
5351061
1062/*****************************************************************************
1063 * IBackgroundCopyCallback interface
1064 */
5361065#ifndef __IBackgroundCopyCallback_INTERFACE_DEFINED__
5371066#define __IBackgroundCopyCallback_INTERFACE_DEFINED__
538 EXTERN_C const IID IID_IBackgroundCopyCallback;
1067
1068DEFINE_GUID(IID_IBackgroundCopyCallback, 0x97ea99c7, 0x0186, 0x4ad4, 0x8d,0xf9, 0xc5,0xb4,0xe0,0xed,0x6b,0x22);
5391069#if defined(__cplusplus) && !defined(CINTERFACE)
540 struct IBackgroundCopyCallback : public IUnknown {
541 public:
542 virtual HRESULT WINAPI JobTransferred(IBackgroundCopyJob *pJob) = 0;
543 virtual HRESULT WINAPI JobError(IBackgroundCopyJob *pJob,IBackgroundCopyError *pError) = 0;
544 virtual HRESULT WINAPI JobModification(IBackgroundCopyJob *pJob,DWORD dwReserved) = 0;
545 };
1070MIDL_INTERFACE("97ea99c7-0186-4ad4-8df9-c5b4e0ed6b22")
1071IBackgroundCopyCallback : public IUnknown
1072{
1073 virtual HRESULT STDMETHODCALLTYPE JobTransferred(
1074 IBackgroundCopyJob *pJob) = 0;
1075
1076 virtual HRESULT STDMETHODCALLTYPE JobError(
1077 IBackgroundCopyJob *pJob,
1078 IBackgroundCopyError *pError) = 0;
1079
1080 virtual HRESULT STDMETHODCALLTYPE JobModification(
1081 IBackgroundCopyJob *pJob,
1082 DWORD dwReserved) = 0;
1083
1084};
1085#ifdef __CRT_UUID_DECL
1086__CRT_UUID_DECL(IBackgroundCopyCallback, 0x97ea99c7, 0x0186, 0x4ad4, 0x8d,0xf9, 0xc5,0xb4,0xe0,0xed,0x6b,0x22)
1087#endif
5461088#else
547 typedef struct IBackgroundCopyCallbackVtbl {
1089typedef struct IBackgroundCopyCallbackVtbl {
5481090 BEGIN_INTERFACE
549 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyCallback *This,REFIID riid,void **ppvObject);
550 ULONG (WINAPI *AddRef)(IBackgroundCopyCallback *This);
551 ULONG (WINAPI *Release)(IBackgroundCopyCallback *This);
552 HRESULT (WINAPI *JobTransferred)(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob);
553 HRESULT (WINAPI *JobError)(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError);
554 HRESULT (WINAPI *JobModification)(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,DWORD dwReserved);
1091
1092 /*** IUnknown methods ***/
1093 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1094 IBackgroundCopyCallback *This,
1095 REFIID riid,
1096 void **ppvObject);
1097
1098 ULONG (STDMETHODCALLTYPE *AddRef)(
1099 IBackgroundCopyCallback *This);
1100
1101 ULONG (STDMETHODCALLTYPE *Release)(
1102 IBackgroundCopyCallback *This);
1103
1104 /*** IBackgroundCopyCallback methods ***/
1105 HRESULT (STDMETHODCALLTYPE *JobTransferred)(
1106 IBackgroundCopyCallback *This,
1107 IBackgroundCopyJob *pJob);
1108
1109 HRESULT (STDMETHODCALLTYPE *JobError)(
1110 IBackgroundCopyCallback *This,
1111 IBackgroundCopyJob *pJob,
1112 IBackgroundCopyError *pError);
1113
1114 HRESULT (STDMETHODCALLTYPE *JobModification)(
1115 IBackgroundCopyCallback *This,
1116 IBackgroundCopyJob *pJob,
1117 DWORD dwReserved);
1118
5551119 END_INTERFACE
556 } IBackgroundCopyCallbackVtbl;
557 struct IBackgroundCopyCallback {
558 CONST_VTBL struct IBackgroundCopyCallbackVtbl *lpVtbl;
559 };
1120} IBackgroundCopyCallbackVtbl;
1121
1122interface IBackgroundCopyCallback {
1123 CONST_VTBL IBackgroundCopyCallbackVtbl* lpVtbl;
1124};
1125
5601126#ifdef COBJMACROS
1127#ifndef WIDL_C_INLINE_WRAPPERS
1128/*** IUnknown methods ***/
5611129#define IBackgroundCopyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5621130#define IBackgroundCopyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
5631131#define IBackgroundCopyCallback_Release(This) (This)->lpVtbl->Release(This)
1132/*** IBackgroundCopyCallback methods ***/
5641133#define IBackgroundCopyCallback_JobTransferred(This,pJob) (This)->lpVtbl->JobTransferred(This,pJob)
5651134#define IBackgroundCopyCallback_JobError(This,pJob,pError) (This)->lpVtbl->JobError(This,pJob,pError)
5661135#define IBackgroundCopyCallback_JobModification(This,pJob,dwReserved) (This)->lpVtbl->JobModification(This,pJob,dwReserved)
1136#else
1137/*** IUnknown methods ***/
1138static FORCEINLINE HRESULT IBackgroundCopyCallback_QueryInterface(IBackgroundCopyCallback* This,REFIID riid,void **ppvObject) {
1139 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1140}
1141static FORCEINLINE ULONG IBackgroundCopyCallback_AddRef(IBackgroundCopyCallback* This) {
1142 return This->lpVtbl->AddRef(This);
1143}
1144static FORCEINLINE ULONG IBackgroundCopyCallback_Release(IBackgroundCopyCallback* This) {
1145 return This->lpVtbl->Release(This);
1146}
1147/*** IBackgroundCopyCallback methods ***/
1148static FORCEINLINE HRESULT IBackgroundCopyCallback_JobTransferred(IBackgroundCopyCallback* This,IBackgroundCopyJob *pJob) {
1149 return This->lpVtbl->JobTransferred(This,pJob);
1150}
1151static FORCEINLINE HRESULT IBackgroundCopyCallback_JobError(IBackgroundCopyCallback* This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError) {
1152 return This->lpVtbl->JobError(This,pJob,pError);
1153}
1154static FORCEINLINE HRESULT IBackgroundCopyCallback_JobModification(IBackgroundCopyCallback* This,IBackgroundCopyJob *pJob,DWORD dwReserved) {
1155 return This->lpVtbl->JobModification(This,pJob,dwReserved);
1156}
5671157#endif
568#endif
569 HRESULT WINAPI IBackgroundCopyCallback_JobTransferred_Proxy(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob);
570 void __RPC_STUB IBackgroundCopyCallback_JobTransferred_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
571 HRESULT WINAPI IBackgroundCopyCallback_JobError_Proxy(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError);
572 void __RPC_STUB IBackgroundCopyCallback_JobError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
573 HRESULT WINAPI IBackgroundCopyCallback_JobModification_Proxy(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,DWORD dwReserved);
574 void __RPC_STUB IBackgroundCopyCallback_JobModification_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5751158#endif
5761159
577#ifndef __AsyncIBackgroundCopyCallback_INTERFACE_DEFINED__
578#define __AsyncIBackgroundCopyCallback_INTERFACE_DEFINED__
579 EXTERN_C const IID IID_AsyncIBackgroundCopyCallback;
580#if defined(__cplusplus) && !defined(CINTERFACE)
581 struct AsyncIBackgroundCopyCallback : public IUnknown {
582 public:
583 virtual HRESULT WINAPI Begin_JobTransferred(IBackgroundCopyJob *pJob) = 0;
584 virtual HRESULT WINAPI Finish_JobTransferred(void) = 0;
585 virtual HRESULT WINAPI Begin_JobError(IBackgroundCopyJob *pJob,IBackgroundCopyError *pError) = 0;
586 virtual HRESULT WINAPI Finish_JobError(void) = 0;
587 virtual HRESULT WINAPI Begin_JobModification(IBackgroundCopyJob *pJob,DWORD dwReserved) = 0;
588 virtual HRESULT WINAPI Finish_JobModification(void) = 0;
589 };
590#else
591 typedef struct AsyncIBackgroundCopyCallbackVtbl {
592 BEGIN_INTERFACE
593 HRESULT (WINAPI *QueryInterface)(AsyncIBackgroundCopyCallback *This,REFIID riid,void **ppvObject);
594 ULONG (WINAPI *AddRef)(AsyncIBackgroundCopyCallback *This);
595 ULONG (WINAPI *Release)(AsyncIBackgroundCopyCallback *This);
596 HRESULT (WINAPI *Begin_JobTransferred)(AsyncIBackgroundCopyCallback *This,IBackgroundCopyJob *pJob);
597 HRESULT (WINAPI *Finish_JobTransferred)(AsyncIBackgroundCopyCallback *This);
598 HRESULT (WINAPI *Begin_JobError)(AsyncIBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError);
599 HRESULT (WINAPI *Finish_JobError)(AsyncIBackgroundCopyCallback *This);
600 HRESULT (WINAPI *Begin_JobModification)(AsyncIBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,DWORD dwReserved);
601 HRESULT (WINAPI *Finish_JobModification)(AsyncIBackgroundCopyCallback *This);
602 END_INTERFACE
603 } AsyncIBackgroundCopyCallbackVtbl;
604 struct AsyncIBackgroundCopyCallback {
605 CONST_VTBL struct AsyncIBackgroundCopyCallbackVtbl *lpVtbl;
606 };
607#ifdef COBJMACROS
608#define AsyncIBackgroundCopyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
609#define AsyncIBackgroundCopyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
610#define AsyncIBackgroundCopyCallback_Release(This) (This)->lpVtbl->Release(This)
611#define AsyncIBackgroundCopyCallback_Begin_JobTransferred(This,pJob) (This)->lpVtbl->Begin_JobTransferred(This,pJob)
612#define AsyncIBackgroundCopyCallback_Finish_JobTransferred(This) (This)->lpVtbl->Finish_JobTransferred(This)
613#define AsyncIBackgroundCopyCallback_Begin_JobError(This,pJob,pError) (This)->lpVtbl->Begin_JobError(This,pJob,pError)
614#define AsyncIBackgroundCopyCallback_Finish_JobError(This) (This)->lpVtbl->Finish_JobError(This)
615#define AsyncIBackgroundCopyCallback_Begin_JobModification(This,pJob,dwReserved) (This)->lpVtbl->Begin_JobModification(This,pJob,dwReserved)
616#define AsyncIBackgroundCopyCallback_Finish_JobModification(This) (This)->lpVtbl->Finish_JobModification(This)
617#endif
618#endif
619 HRESULT WINAPI AsyncIBackgroundCopyCallback_Begin_JobTransferred_Proxy(AsyncIBackgroundCopyCallback *This,IBackgroundCopyJob *pJob);
620 void __RPC_STUB AsyncIBackgroundCopyCallback_Begin_JobTransferred_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
621 HRESULT WINAPI AsyncIBackgroundCopyCallback_Finish_JobTransferred_Proxy(AsyncIBackgroundCopyCallback *This);
622 void __RPC_STUB AsyncIBackgroundCopyCallback_Finish_JobTransferred_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
623 HRESULT WINAPI AsyncIBackgroundCopyCallback_Begin_JobError_Proxy(AsyncIBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError);
624 void __RPC_STUB AsyncIBackgroundCopyCallback_Begin_JobError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
625 HRESULT WINAPI AsyncIBackgroundCopyCallback_Finish_JobError_Proxy(AsyncIBackgroundCopyCallback *This);
626 void __RPC_STUB AsyncIBackgroundCopyCallback_Finish_JobError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
627 HRESULT WINAPI AsyncIBackgroundCopyCallback_Begin_JobModification_Proxy(AsyncIBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,DWORD dwReserved);
628 void __RPC_STUB AsyncIBackgroundCopyCallback_Begin_JobModification_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
629 HRESULT WINAPI AsyncIBackgroundCopyCallback_Finish_JobModification_Proxy(AsyncIBackgroundCopyCallback *This);
630 void __RPC_STUB AsyncIBackgroundCopyCallback_Finish_JobModification_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6311160#endif
6321161
1162
1163#endif /* __IBackgroundCopyCallback_INTERFACE_DEFINED__ */
1164
1165/*****************************************************************************
1166 * IBackgroundCopyManager interface
1167 */
6331168#ifndef __IBackgroundCopyManager_INTERFACE_DEFINED__
6341169#define __IBackgroundCopyManager_INTERFACE_DEFINED__
6351170
6361171#define BG_JOB_ENUM_ALL_USERS 0x0001
637
638 EXTERN_C const IID IID_IBackgroundCopyManager;
1172DEFINE_GUID(IID_IBackgroundCopyManager, 0x5ce34c0d, 0x0dc9, 0x4c1f, 0x89,0x7c, 0xda,0xa1,0xb7,0x8c,0xee,0x7c);
6391173#if defined(__cplusplus) && !defined(CINTERFACE)
640 struct IBackgroundCopyManager : public IUnknown {
641 public:
642 virtual HRESULT WINAPI CreateJob(LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob) = 0;
643 virtual HRESULT WINAPI GetJob(REFGUID jobID,IBackgroundCopyJob **ppJob) = 0;
644 virtual HRESULT WINAPI EnumJobs(DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum) = 0;
645 virtual HRESULT WINAPI GetErrorDescription(HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription) = 0;
646 };
1174MIDL_INTERFACE("5ce34c0d-0dc9-4c1f-897c-daa1b78cee7c")
1175IBackgroundCopyManager : public IUnknown
1176{
1177 virtual HRESULT STDMETHODCALLTYPE CreateJob(
1178 LPCWSTR DisplayName,
1179 BG_JOB_TYPE Type,
1180 GUID *pJobId,
1181 IBackgroundCopyJob **ppJob) = 0;
1182
1183 virtual HRESULT STDMETHODCALLTYPE GetJob(
1184 REFGUID jobID,
1185 IBackgroundCopyJob **ppJob) = 0;
1186
1187 virtual HRESULT STDMETHODCALLTYPE EnumJobs(
1188 DWORD dwFlags,
1189 IEnumBackgroundCopyJobs **ppEnum) = 0;
1190
1191 virtual HRESULT STDMETHODCALLTYPE GetErrorDescription(
1192 HRESULT hResult,
1193 DWORD LanguageId,
1194 LPWSTR *pErrorDescription) = 0;
1195
1196};
1197#ifdef __CRT_UUID_DECL
1198__CRT_UUID_DECL(IBackgroundCopyManager, 0x5ce34c0d, 0x0dc9, 0x4c1f, 0x89,0x7c, 0xda,0xa1,0xb7,0x8c,0xee,0x7c)
1199#endif
6471200#else
648 typedef struct IBackgroundCopyManagerVtbl {
1201typedef struct IBackgroundCopyManagerVtbl {
6491202 BEGIN_INTERFACE
650 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyManager *This,REFIID riid,void **ppvObject);
651 ULONG (WINAPI *AddRef)(IBackgroundCopyManager *This);
652 ULONG (WINAPI *Release)(IBackgroundCopyManager *This);
653 HRESULT (WINAPI *CreateJob)(IBackgroundCopyManager *This,LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob);
654 HRESULT (WINAPI *GetJob)(IBackgroundCopyManager *This,REFGUID jobID,IBackgroundCopyJob **ppJob);
655 HRESULT (WINAPI *EnumJobs)(IBackgroundCopyManager *This,DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum);
656 HRESULT (WINAPI *GetErrorDescription)(IBackgroundCopyManager *This,HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription);
1203
1204 /*** IUnknown methods ***/
1205 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1206 IBackgroundCopyManager *This,
1207 REFIID riid,
1208 void **ppvObject);
1209
1210 ULONG (STDMETHODCALLTYPE *AddRef)(
1211 IBackgroundCopyManager *This);
1212
1213 ULONG (STDMETHODCALLTYPE *Release)(
1214 IBackgroundCopyManager *This);
1215
1216 /*** IBackgroundCopyManager methods ***/
1217 HRESULT (STDMETHODCALLTYPE *CreateJob)(
1218 IBackgroundCopyManager *This,
1219 LPCWSTR DisplayName,
1220 BG_JOB_TYPE Type,
1221 GUID *pJobId,
1222 IBackgroundCopyJob **ppJob);
1223
1224 HRESULT (STDMETHODCALLTYPE *GetJob)(
1225 IBackgroundCopyManager *This,
1226 REFGUID jobID,
1227 IBackgroundCopyJob **ppJob);
1228
1229 HRESULT (STDMETHODCALLTYPE *EnumJobs)(
1230 IBackgroundCopyManager *This,
1231 DWORD dwFlags,
1232 IEnumBackgroundCopyJobs **ppEnum);
1233
1234 HRESULT (STDMETHODCALLTYPE *GetErrorDescription)(
1235 IBackgroundCopyManager *This,
1236 HRESULT hResult,
1237 DWORD LanguageId,
1238 LPWSTR *pErrorDescription);
1239
6571240 END_INTERFACE
658 } IBackgroundCopyManagerVtbl;
659 struct IBackgroundCopyManager {
660 CONST_VTBL struct IBackgroundCopyManagerVtbl *lpVtbl;
661 };
1241} IBackgroundCopyManagerVtbl;
1242
1243interface IBackgroundCopyManager {
1244 CONST_VTBL IBackgroundCopyManagerVtbl* lpVtbl;
1245};
1246
6621247#ifdef COBJMACROS
1248#ifndef WIDL_C_INLINE_WRAPPERS
1249/*** IUnknown methods ***/
6631250#define IBackgroundCopyManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6641251#define IBackgroundCopyManager_AddRef(This) (This)->lpVtbl->AddRef(This)
6651252#define IBackgroundCopyManager_Release(This) (This)->lpVtbl->Release(This)
1253/*** IBackgroundCopyManager methods ***/
6661254#define IBackgroundCopyManager_CreateJob(This,DisplayName,Type,pJobId,ppJob) (This)->lpVtbl->CreateJob(This,DisplayName,Type,pJobId,ppJob)
6671255#define IBackgroundCopyManager_GetJob(This,jobID,ppJob) (This)->lpVtbl->GetJob(This,jobID,ppJob)
6681256#define IBackgroundCopyManager_EnumJobs(This,dwFlags,ppEnum) (This)->lpVtbl->EnumJobs(This,dwFlags,ppEnum)
6691257#define IBackgroundCopyManager_GetErrorDescription(This,hResult,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,hResult,LanguageId,pErrorDescription)
1258#else
1259/*** IUnknown methods ***/
1260static FORCEINLINE HRESULT IBackgroundCopyManager_QueryInterface(IBackgroundCopyManager* This,REFIID riid,void **ppvObject) {
1261 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1262}
1263static FORCEINLINE ULONG IBackgroundCopyManager_AddRef(IBackgroundCopyManager* This) {
1264 return This->lpVtbl->AddRef(This);
1265}
1266static FORCEINLINE ULONG IBackgroundCopyManager_Release(IBackgroundCopyManager* This) {
1267 return This->lpVtbl->Release(This);
1268}
1269/*** IBackgroundCopyManager methods ***/
1270static FORCEINLINE HRESULT IBackgroundCopyManager_CreateJob(IBackgroundCopyManager* This,LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob) {
1271 return This->lpVtbl->CreateJob(This,DisplayName,Type,pJobId,ppJob);
1272}
1273static FORCEINLINE HRESULT IBackgroundCopyManager_GetJob(IBackgroundCopyManager* This,REFGUID jobID,IBackgroundCopyJob **ppJob) {
1274 return This->lpVtbl->GetJob(This,jobID,ppJob);
1275}
1276static FORCEINLINE HRESULT IBackgroundCopyManager_EnumJobs(IBackgroundCopyManager* This,DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum) {
1277 return This->lpVtbl->EnumJobs(This,dwFlags,ppEnum);
1278}
1279static FORCEINLINE HRESULT IBackgroundCopyManager_GetErrorDescription(IBackgroundCopyManager* This,HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription) {
1280 return This->lpVtbl->GetErrorDescription(This,hResult,LanguageId,pErrorDescription);
1281}
6701282#endif
6711283#endif
672 HRESULT WINAPI IBackgroundCopyManager_CreateJob_Proxy(IBackgroundCopyManager *This,LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob);
673 void __RPC_STUB IBackgroundCopyManager_CreateJob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
674 HRESULT WINAPI IBackgroundCopyManager_GetJob_Proxy(IBackgroundCopyManager *This,REFGUID jobID,IBackgroundCopyJob **ppJob);
675 void __RPC_STUB IBackgroundCopyManager_GetJob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
676 HRESULT WINAPI IBackgroundCopyManager_EnumJobs_Proxy(IBackgroundCopyManager *This,DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum);
677 void __RPC_STUB IBackgroundCopyManager_EnumJobs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
678 HRESULT WINAPI IBackgroundCopyManager_GetErrorDescription_Proxy(IBackgroundCopyManager *This,HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription);
679 void __RPC_STUB IBackgroundCopyManager_GetErrorDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1284
6801285#endif
6811286
1287
1288#endif /* __IBackgroundCopyManager_INTERFACE_DEFINED__ */
1289
6821290#ifndef __BackgroundCopyManager_LIBRARY_DEFINED__
6831291#define __BackgroundCopyManager_LIBRARY_DEFINED__
684 EXTERN_C const IID LIBID_BackgroundCopyManager;
685 EXTERN_C const CLSID CLSID_BackgroundCopyManager;
1292
1293DEFINE_GUID(LIBID_BackgroundCopyManager, 0x1deeb74f, 0x7915, 0x4560, 0xb5,0x58, 0x91,0x8c,0x83,0xf1,0x76,0xa6);
1294
1295/*****************************************************************************
1296 * BackgroundCopyManager coclass
1297 */
1298
1299DEFINE_GUID(CLSID_BackgroundCopyManager, 0x4991d34b, 0x80a1, 0x4291, 0x83,0xb6, 0x33,0x28,0x36,0x6b,0x90,0x97);
1300
6861301#ifdef __cplusplus
687 class BackgroundCopyManager;
1302class DECLSPEC_UUID("4991d34b-80a1-4291-83b6-3328366b9097") BackgroundCopyManager;
1303#ifdef __CRT_UUID_DECL
1304__CRT_UUID_DECL(BackgroundCopyManager, 0x4991d34b, 0x80a1, 0x4291, 0x83,0xb6, 0x33,0x28,0x36,0x6b,0x90,0x97)
1305#endif
6881306#endif
1307
1308#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
1309#define __IBackgroundCopyCallback_FWD_DEFINED__
1310typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
1311#ifdef __cplusplus
1312interface IBackgroundCopyCallback;
1313#endif /* __cplusplus */
6891314#endif
6901315
1316#endif /* __BackgroundCopyManager_LIBRARY_DEFINED__ */
6911317#include "bits1_5.h"
1318/* Begin additional prototypes for all interfaces */
1319
6921320
693 extern RPC_IF_HANDLE __MIDL_itf_bits_0015_v0_0_c_ifspec;
694 extern RPC_IF_HANDLE __MIDL_itf_bits_0015_v0_0_s_ifspec;
1321/* End additional prototypes */
6951322
6961323#ifdef __cplusplus
6971324}
6981325#endif
699#endif
1326
1327#endif /* __bits_h__ */
lib/libc/include/any-windows-any/bits1_5.h+447-142
......@@ -1,30 +1,29 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
1/*** Autogenerated by WIDL 7.0 from include/bits1_5.idl - Do not edit ***/
2
3#ifdef _WIN32
64#ifndef __REQUIRED_RPCNDR_H_VERSION__
75#define __REQUIRED_RPCNDR_H_VERSION__ 475
86#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
7#include <rpc.h>
8#include <rpcndr.h>
159#endif
1610
1711#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
12#include <windows.h>
13#include <ole2.h>
2014#endif
2115
2216#ifndef __bits1_5_h__
2317#define __bits1_5_h__
2418
19/* Forward declarations */
20
2521#ifndef __IBackgroundCopyJob2_FWD_DEFINED__
2622#define __IBackgroundCopyJob2_FWD_DEFINED__
27typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;
23typedef interface IBackgroundCopyJob2 IBackgroundCopyJob2;
24#ifdef __cplusplus
25interface IBackgroundCopyJob2;
26#endif /* __cplusplus */
2827#endif
2928
3029#ifndef __BackgroundCopyManager1_5_FWD_DEFINED__
......@@ -33,130 +32,286 @@ typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;
3332typedef class BackgroundCopyManager1_5 BackgroundCopyManager1_5;
3433#else
3534typedef struct BackgroundCopyManager1_5 BackgroundCopyManager1_5;
36#endif
37#endif
35#endif /* defined __cplusplus */
36#endif /* defined __BackgroundCopyManager1_5_FWD_DEFINED__ */
3837
39#ifndef __IBackgroundCopyJob2_FWD_DEFINED__
40#define __IBackgroundCopyJob2_FWD_DEFINED__
41typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;
42#endif
38/* Headers for imported files */
4339
44#include "bits.h"
40#include <bits.h>
4541
4642#ifdef __cplusplus
47extern "C"{
48#endif
49
50#ifndef __MIDL_user_allocate_free_DEFINED__
51#define __MIDL_user_allocate_free_DEFINED__
52 void *__RPC_API MIDL_user_allocate(size_t);
53 void __RPC_API MIDL_user_free(void *);
43extern "C" {
5444#endif
5545
46/*****************************************************************************
47 * IBackgroundCopyJob2 interface
48 */
5649#ifndef __IBackgroundCopyJob2_INTERFACE_DEFINED__
5750#define __IBackgroundCopyJob2_INTERFACE_DEFINED__
5851
59 typedef struct _BG_JOB_REPLY_PROGRESS {
52typedef struct _BG_JOB_REPLY_PROGRESS {
6053 UINT64 BytesTotal;
6154 UINT64 BytesTransferred;
62 } BG_JOB_REPLY_PROGRESS;
63
64 typedef enum __MIDL_IBackgroundCopyJob2_0001 {
65 BG_AUTH_TARGET_SERVER = 1,BG_AUTH_TARGET_PROXY = BG_AUTH_TARGET_SERVER + 1
66 } BG_AUTH_TARGET;
67
68 typedef enum __MIDL_IBackgroundCopyJob2_0002 {
69 BG_AUTH_SCHEME_BASIC = 1,BG_AUTH_SCHEME_DIGEST,BG_AUTH_SCHEME_NTLM,
70 BG_AUTH_SCHEME_NEGOTIATE,BG_AUTH_SCHEME_PASSPORT
71 } BG_AUTH_SCHEME;
72
73 typedef struct __MIDL_IBackgroundCopyJob2_0003 {
55} BG_JOB_REPLY_PROGRESS;
56typedef enum __WIDL_bits1_5_generated_name_00000011 {
57 BG_AUTH_TARGET_SERVER = 1,
58 BG_AUTH_TARGET_PROXY = 2
59} BG_AUTH_TARGET;
60typedef enum __WIDL_bits1_5_generated_name_00000012 {
61 BG_AUTH_SCHEME_BASIC = 1,
62 BG_AUTH_SCHEME_DIGEST = 2,
63 BG_AUTH_SCHEME_NTLM = 3,
64 BG_AUTH_SCHEME_NEGOTIATE = 4,
65 BG_AUTH_SCHEME_PASSPORT = 5
66} BG_AUTH_SCHEME;
67typedef struct __WIDL_bits1_5_generated_name_00000013 {
7468 LPWSTR UserName;
7569 LPWSTR Password;
76 } BG_BASIC_CREDENTIALS;
77
78 typedef BG_BASIC_CREDENTIALS *PBG_BASIC_CREDENTIALS;
79
80 typedef union __MIDL_IBackgroundCopyJob2_0004 {
70} BG_BASIC_CREDENTIALS;
71typedef BG_BASIC_CREDENTIALS *PBG_BASIC_CREDENTIALS;
72typedef union __WIDL_bits1_5_generated_name_00000014 {
8173 BG_BASIC_CREDENTIALS Basic;
82 } BG_AUTH_CREDENTIALS_UNION;
83
84 typedef struct __MIDL_IBackgroundCopyJob2_0005 {
74} BG_AUTH_CREDENTIALS_UNION;
75typedef struct __WIDL_bits1_5_generated_name_00000015 {
8576 BG_AUTH_TARGET Target;
8677 BG_AUTH_SCHEME Scheme;
8778 BG_AUTH_CREDENTIALS_UNION Credentials;
88 } BG_AUTH_CREDENTIALS;
79} BG_AUTH_CREDENTIALS;
80typedef BG_AUTH_CREDENTIALS *PBG_AUTH_CREDENTIALS;
81DEFINE_GUID(IID_IBackgroundCopyJob2, 0x54b50739, 0x686f, 0x45eb, 0x9d,0xff, 0xd6,0xa9,0xa0,0xfa,0xa9,0xaf);
82#if defined(__cplusplus) && !defined(CINTERFACE)
83MIDL_INTERFACE("54b50739-686f-45eb-9dff-d6a9a0faa9af")
84IBackgroundCopyJob2 : public IBackgroundCopyJob
85{
86 virtual HRESULT STDMETHODCALLTYPE SetNotifyCmdLine(
87 LPCWSTR prog,
88 LPCWSTR params) = 0;
8989
90 typedef BG_AUTH_CREDENTIALS *PBG_AUTH_CREDENTIALS;
90 virtual HRESULT STDMETHODCALLTYPE GetNotifyCmdLine(
91 LPWSTR *prog,
92 LPWSTR *params) = 0;
9193
92 EXTERN_C const IID IID_IBackgroundCopyJob2;
93#if defined(__cplusplus) && !defined(CINTERFACE)
94 struct IBackgroundCopyJob2 : public IBackgroundCopyJob {
95 public:
96 virtual HRESULT WINAPI SetNotifyCmdLine(LPCWSTR Program,LPCWSTR Parameters) = 0;
97 virtual HRESULT WINAPI GetNotifyCmdLine(LPWSTR *pProgram,LPWSTR *pParameters) = 0;
98 virtual HRESULT WINAPI GetReplyProgress(BG_JOB_REPLY_PROGRESS *pProgress) = 0;
99 virtual HRESULT WINAPI GetReplyData(byte **ppBuffer,UINT64 *pLength) = 0;
100 virtual HRESULT WINAPI SetReplyFileName(LPCWSTR ReplyFileName) = 0;
101 virtual HRESULT WINAPI GetReplyFileName(LPWSTR *pReplyFileName) = 0;
102 virtual HRESULT WINAPI SetCredentials(BG_AUTH_CREDENTIALS *credentials) = 0;
103 virtual HRESULT WINAPI RemoveCredentials(BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme) = 0;
104 };
94 virtual HRESULT STDMETHODCALLTYPE GetReplyProgress(
95 BG_JOB_REPLY_PROGRESS *progress) = 0;
96
97 virtual HRESULT STDMETHODCALLTYPE GetReplyData(
98 byte **pBuffer,
99 UINT64 *pLength) = 0;
100
101 virtual HRESULT STDMETHODCALLTYPE SetReplyFileName(
102 LPCWSTR filename) = 0;
103
104 virtual HRESULT STDMETHODCALLTYPE GetReplyFileName(
105 LPWSTR *pFilename) = 0;
106
107 virtual HRESULT STDMETHODCALLTYPE SetCredentials(
108 BG_AUTH_CREDENTIALS *cred) = 0;
109
110 virtual HRESULT STDMETHODCALLTYPE RemoveCredentials(
111 BG_AUTH_TARGET target,
112 BG_AUTH_SCHEME scheme) = 0;
113
114};
115#ifdef __CRT_UUID_DECL
116__CRT_UUID_DECL(IBackgroundCopyJob2, 0x54b50739, 0x686f, 0x45eb, 0x9d,0xff, 0xd6,0xa9,0xa0,0xfa,0xa9,0xaf)
117#endif
105118#else
106 typedef struct IBackgroundCopyJob2Vtbl {
119typedef struct IBackgroundCopyJob2Vtbl {
107120 BEGIN_INTERFACE
108 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob2 *This,REFIID riid,void **ppvObject);
109 ULONG (WINAPI *AddRef)(IBackgroundCopyJob2 *This);
110 ULONG (WINAPI *Release)(IBackgroundCopyJob2 *This);
111 HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob2 *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);
112 HRESULT (WINAPI *AddFile)(IBackgroundCopyJob2 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);
113 HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob2 *This,IEnumBackgroundCopyFiles **pEnum);
114 HRESULT (WINAPI *Suspend)(IBackgroundCopyJob2 *This);
115 HRESULT (WINAPI *Resume)(IBackgroundCopyJob2 *This);
116 HRESULT (WINAPI *Cancel)(IBackgroundCopyJob2 *This);
117 HRESULT (WINAPI *Complete)(IBackgroundCopyJob2 *This);
118 HRESULT (WINAPI *GetId)(IBackgroundCopyJob2 *This,GUID *pVal);
119 HRESULT (WINAPI *GetType)(IBackgroundCopyJob2 *This,BG_JOB_TYPE *pVal);
120 HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob2 *This,BG_JOB_PROGRESS *pVal);
121 HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob2 *This,BG_JOB_TIMES *pVal);
122 HRESULT (WINAPI *GetState)(IBackgroundCopyJob2 *This,BG_JOB_STATE *pVal);
123 HRESULT (WINAPI *GetError)(IBackgroundCopyJob2 *This,IBackgroundCopyError **ppError);
124 HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob2 *This,LPWSTR *pVal);
125 HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob2 *This,LPCWSTR Val);
126 HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob2 *This,LPWSTR *pVal);
127 HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob2 *This,LPCWSTR Val);
128 HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob2 *This,LPWSTR *pVal);
129 HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob2 *This,BG_JOB_PRIORITY Val);
130 HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob2 *This,BG_JOB_PRIORITY *pVal);
131 HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob2 *This,ULONG Val);
132 HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob2 *This,ULONG *pVal);
133 HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob2 *This,IUnknown *Val);
134 HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob2 *This,IUnknown **pVal);
135 HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob2 *This,ULONG Seconds);
136 HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob2 *This,ULONG *Seconds);
137 HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob2 *This,ULONG Seconds);
138 HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob2 *This,ULONG *Seconds);
139 HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob2 *This,ULONG *Errors);
140 HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob2 *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);
141 HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob2 *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);
142 HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob2 *This);
143 HRESULT (WINAPI *SetNotifyCmdLine)(IBackgroundCopyJob2 *This,LPCWSTR Program,LPCWSTR Parameters);
144 HRESULT (WINAPI *GetNotifyCmdLine)(IBackgroundCopyJob2 *This,LPWSTR *pProgram,LPWSTR *pParameters);
145 HRESULT (WINAPI *GetReplyProgress)(IBackgroundCopyJob2 *This,BG_JOB_REPLY_PROGRESS *pProgress);
146 HRESULT (WINAPI *GetReplyData)(IBackgroundCopyJob2 *This,byte **ppBuffer,UINT64 *pLength);
147 HRESULT (WINAPI *SetReplyFileName)(IBackgroundCopyJob2 *This,LPCWSTR ReplyFileName);
148 HRESULT (WINAPI *GetReplyFileName)(IBackgroundCopyJob2 *This,LPWSTR *pReplyFileName);
149 HRESULT (WINAPI *SetCredentials)(IBackgroundCopyJob2 *This,BG_AUTH_CREDENTIALS *credentials);
150 HRESULT (WINAPI *RemoveCredentials)(IBackgroundCopyJob2 *This,BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme);
121
122 /*** IUnknown methods ***/
123 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
124 IBackgroundCopyJob2 *This,
125 REFIID riid,
126 void **ppvObject);
127
128 ULONG (STDMETHODCALLTYPE *AddRef)(
129 IBackgroundCopyJob2 *This);
130
131 ULONG (STDMETHODCALLTYPE *Release)(
132 IBackgroundCopyJob2 *This);
133
134 /*** IBackgroundCopyJob methods ***/
135 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
136 IBackgroundCopyJob2 *This,
137 ULONG cFileCount,
138 BG_FILE_INFO *pFileSet);
139
140 HRESULT (STDMETHODCALLTYPE *AddFile)(
141 IBackgroundCopyJob2 *This,
142 LPCWSTR RemoteUrl,
143 LPCWSTR LocalName);
144
145 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
146 IBackgroundCopyJob2 *This,
147 IEnumBackgroundCopyFiles **pEnum);
148
149 HRESULT (STDMETHODCALLTYPE *Suspend)(
150 IBackgroundCopyJob2 *This);
151
152 HRESULT (STDMETHODCALLTYPE *Resume)(
153 IBackgroundCopyJob2 *This);
154
155 HRESULT (STDMETHODCALLTYPE *Cancel)(
156 IBackgroundCopyJob2 *This);
157
158 HRESULT (STDMETHODCALLTYPE *Complete)(
159 IBackgroundCopyJob2 *This);
160
161 HRESULT (STDMETHODCALLTYPE *GetId)(
162 IBackgroundCopyJob2 *This,
163 GUID *pVal);
164
165 HRESULT (STDMETHODCALLTYPE *GetType)(
166 IBackgroundCopyJob2 *This,
167 BG_JOB_TYPE *pVal);
168
169 HRESULT (STDMETHODCALLTYPE *GetProgress)(
170 IBackgroundCopyJob2 *This,
171 BG_JOB_PROGRESS *pVal);
172
173 HRESULT (STDMETHODCALLTYPE *GetTimes)(
174 IBackgroundCopyJob2 *This,
175 BG_JOB_TIMES *pVal);
176
177 HRESULT (STDMETHODCALLTYPE *GetState)(
178 IBackgroundCopyJob2 *This,
179 BG_JOB_STATE *pVal);
180
181 HRESULT (STDMETHODCALLTYPE *GetError)(
182 IBackgroundCopyJob2 *This,
183 IBackgroundCopyError **ppError);
184
185 HRESULT (STDMETHODCALLTYPE *GetOwner)(
186 IBackgroundCopyJob2 *This,
187 LPWSTR *pVal);
188
189 HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
190 IBackgroundCopyJob2 *This,
191 LPCWSTR Val);
192
193 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
194 IBackgroundCopyJob2 *This,
195 LPWSTR *pVal);
196
197 HRESULT (STDMETHODCALLTYPE *SetDescription)(
198 IBackgroundCopyJob2 *This,
199 LPCWSTR Val);
200
201 HRESULT (STDMETHODCALLTYPE *GetDescription)(
202 IBackgroundCopyJob2 *This,
203 LPWSTR *pVal);
204
205 HRESULT (STDMETHODCALLTYPE *SetPriority)(
206 IBackgroundCopyJob2 *This,
207 BG_JOB_PRIORITY Val);
208
209 HRESULT (STDMETHODCALLTYPE *GetPriority)(
210 IBackgroundCopyJob2 *This,
211 BG_JOB_PRIORITY *pVal);
212
213 HRESULT (STDMETHODCALLTYPE *SetNotifyFlags)(
214 IBackgroundCopyJob2 *This,
215 ULONG Val);
216
217 HRESULT (STDMETHODCALLTYPE *GetNotifyFlags)(
218 IBackgroundCopyJob2 *This,
219 ULONG *pVal);
220
221 HRESULT (STDMETHODCALLTYPE *SetNotifyInterface)(
222 IBackgroundCopyJob2 *This,
223 IUnknown *Val);
224
225 HRESULT (STDMETHODCALLTYPE *GetNotifyInterface)(
226 IBackgroundCopyJob2 *This,
227 IUnknown **pVal);
228
229 HRESULT (STDMETHODCALLTYPE *SetMinimumRetryDelay)(
230 IBackgroundCopyJob2 *This,
231 ULONG Seconds);
232
233 HRESULT (STDMETHODCALLTYPE *GetMinimumRetryDelay)(
234 IBackgroundCopyJob2 *This,
235 ULONG *Seconds);
236
237 HRESULT (STDMETHODCALLTYPE *SetNoProgressTimeout)(
238 IBackgroundCopyJob2 *This,
239 ULONG Seconds);
240
241 HRESULT (STDMETHODCALLTYPE *GetNoProgressTimeout)(
242 IBackgroundCopyJob2 *This,
243 ULONG *Seconds);
244
245 HRESULT (STDMETHODCALLTYPE *GetErrorCount)(
246 IBackgroundCopyJob2 *This,
247 ULONG *Errors);
248
249 HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
250 IBackgroundCopyJob2 *This,
251 BG_JOB_PROXY_USAGE ProxyUsage,
252 const WCHAR *ProxyList,
253 const WCHAR *ProxyBypassList);
254
255 HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
256 IBackgroundCopyJob2 *This,
257 BG_JOB_PROXY_USAGE *pProxyUsage,
258 LPWSTR *pProxyList,
259 LPWSTR *pProxyBypassList);
260
261 HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
262 IBackgroundCopyJob2 *This);
263
264 /*** IBackgroundCopyJob2 methods ***/
265 HRESULT (STDMETHODCALLTYPE *SetNotifyCmdLine)(
266 IBackgroundCopyJob2 *This,
267 LPCWSTR prog,
268 LPCWSTR params);
269
270 HRESULT (STDMETHODCALLTYPE *GetNotifyCmdLine)(
271 IBackgroundCopyJob2 *This,
272 LPWSTR *prog,
273 LPWSTR *params);
274
275 HRESULT (STDMETHODCALLTYPE *GetReplyProgress)(
276 IBackgroundCopyJob2 *This,
277 BG_JOB_REPLY_PROGRESS *progress);
278
279 HRESULT (STDMETHODCALLTYPE *GetReplyData)(
280 IBackgroundCopyJob2 *This,
281 byte **pBuffer,
282 UINT64 *pLength);
283
284 HRESULT (STDMETHODCALLTYPE *SetReplyFileName)(
285 IBackgroundCopyJob2 *This,
286 LPCWSTR filename);
287
288 HRESULT (STDMETHODCALLTYPE *GetReplyFileName)(
289 IBackgroundCopyJob2 *This,
290 LPWSTR *pFilename);
291
292 HRESULT (STDMETHODCALLTYPE *SetCredentials)(
293 IBackgroundCopyJob2 *This,
294 BG_AUTH_CREDENTIALS *cred);
295
296 HRESULT (STDMETHODCALLTYPE *RemoveCredentials)(
297 IBackgroundCopyJob2 *This,
298 BG_AUTH_TARGET target,
299 BG_AUTH_SCHEME scheme);
300
151301 END_INTERFACE
152 } IBackgroundCopyJob2Vtbl;
153 struct IBackgroundCopyJob2 {
154 CONST_VTBL struct IBackgroundCopyJob2Vtbl *lpVtbl;
155 };
302} IBackgroundCopyJob2Vtbl;
303
304interface IBackgroundCopyJob2 {
305 CONST_VTBL IBackgroundCopyJob2Vtbl* lpVtbl;
306};
307
156308#ifdef COBJMACROS
309#ifndef WIDL_C_INLINE_WRAPPERS
310/*** IUnknown methods ***/
157311#define IBackgroundCopyJob2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
158312#define IBackgroundCopyJob2_AddRef(This) (This)->lpVtbl->AddRef(This)
159313#define IBackgroundCopyJob2_Release(This) (This)->lpVtbl->Release(This)
314/*** IBackgroundCopyJob methods ***/
160315#define IBackgroundCopyJob2_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
161316#define IBackgroundCopyJob2_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
162317#define IBackgroundCopyJob2_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
......@@ -189,49 +344,199 @@ extern "C"{
189344#define IBackgroundCopyJob2_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
190345#define IBackgroundCopyJob2_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
191346#define IBackgroundCopyJob2_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
192#define IBackgroundCopyJob2_SetNotifyCmdLine(This,Program,Parameters) (This)->lpVtbl->SetNotifyCmdLine(This,Program,Parameters)
193#define IBackgroundCopyJob2_GetNotifyCmdLine(This,pProgram,pParameters) (This)->lpVtbl->GetNotifyCmdLine(This,pProgram,pParameters)
194#define IBackgroundCopyJob2_GetReplyProgress(This,pProgress) (This)->lpVtbl->GetReplyProgress(This,pProgress)
195#define IBackgroundCopyJob2_GetReplyData(This,ppBuffer,pLength) (This)->lpVtbl->GetReplyData(This,ppBuffer,pLength)
196#define IBackgroundCopyJob2_SetReplyFileName(This,ReplyFileName) (This)->lpVtbl->SetReplyFileName(This,ReplyFileName)
197#define IBackgroundCopyJob2_GetReplyFileName(This,pReplyFileName) (This)->lpVtbl->GetReplyFileName(This,pReplyFileName)
198#define IBackgroundCopyJob2_SetCredentials(This,credentials) (This)->lpVtbl->SetCredentials(This,credentials)
199#define IBackgroundCopyJob2_RemoveCredentials(This,Target,Scheme) (This)->lpVtbl->RemoveCredentials(This,Target,Scheme)
347/*** IBackgroundCopyJob2 methods ***/
348#define IBackgroundCopyJob2_SetNotifyCmdLine(This,prog,params) (This)->lpVtbl->SetNotifyCmdLine(This,prog,params)
349#define IBackgroundCopyJob2_GetNotifyCmdLine(This,prog,params) (This)->lpVtbl->GetNotifyCmdLine(This,prog,params)
350#define IBackgroundCopyJob2_GetReplyProgress(This,progress) (This)->lpVtbl->GetReplyProgress(This,progress)
351#define IBackgroundCopyJob2_GetReplyData(This,pBuffer,pLength) (This)->lpVtbl->GetReplyData(This,pBuffer,pLength)
352#define IBackgroundCopyJob2_SetReplyFileName(This,filename) (This)->lpVtbl->SetReplyFileName(This,filename)
353#define IBackgroundCopyJob2_GetReplyFileName(This,pFilename) (This)->lpVtbl->GetReplyFileName(This,pFilename)
354#define IBackgroundCopyJob2_SetCredentials(This,cred) (This)->lpVtbl->SetCredentials(This,cred)
355#define IBackgroundCopyJob2_RemoveCredentials(This,target,scheme) (This)->lpVtbl->RemoveCredentials(This,target,scheme)
356#else
357/*** IUnknown methods ***/
358static FORCEINLINE HRESULT IBackgroundCopyJob2_QueryInterface(IBackgroundCopyJob2* This,REFIID riid,void **ppvObject) {
359 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
360}
361static FORCEINLINE ULONG IBackgroundCopyJob2_AddRef(IBackgroundCopyJob2* This) {
362 return This->lpVtbl->AddRef(This);
363}
364static FORCEINLINE ULONG IBackgroundCopyJob2_Release(IBackgroundCopyJob2* This) {
365 return This->lpVtbl->Release(This);
366}
367/*** IBackgroundCopyJob methods ***/
368static FORCEINLINE HRESULT IBackgroundCopyJob2_AddFileSet(IBackgroundCopyJob2* This,ULONG cFileCount,BG_FILE_INFO *pFileSet) {
369 return This->lpVtbl->AddFileSet(This,cFileCount,pFileSet);
370}
371static FORCEINLINE HRESULT IBackgroundCopyJob2_AddFile(IBackgroundCopyJob2* This,LPCWSTR RemoteUrl,LPCWSTR LocalName) {
372 return This->lpVtbl->AddFile(This,RemoteUrl,LocalName);
373}
374static FORCEINLINE HRESULT IBackgroundCopyJob2_EnumFiles(IBackgroundCopyJob2* This,IEnumBackgroundCopyFiles **pEnum) {
375 return This->lpVtbl->EnumFiles(This,pEnum);
376}
377static FORCEINLINE HRESULT IBackgroundCopyJob2_Suspend(IBackgroundCopyJob2* This) {
378 return This->lpVtbl->Suspend(This);
379}
380static FORCEINLINE HRESULT IBackgroundCopyJob2_Resume(IBackgroundCopyJob2* This) {
381 return This->lpVtbl->Resume(This);
382}
383static FORCEINLINE HRESULT IBackgroundCopyJob2_Cancel(IBackgroundCopyJob2* This) {
384 return This->lpVtbl->Cancel(This);
385}
386static FORCEINLINE HRESULT IBackgroundCopyJob2_Complete(IBackgroundCopyJob2* This) {
387 return This->lpVtbl->Complete(This);
388}
389static FORCEINLINE HRESULT IBackgroundCopyJob2_GetId(IBackgroundCopyJob2* This,GUID *pVal) {
390 return This->lpVtbl->GetId(This,pVal);
391}
392static FORCEINLINE HRESULT IBackgroundCopyJob2_GetType(IBackgroundCopyJob2* This,BG_JOB_TYPE *pVal) {
393 return This->lpVtbl->GetType(This,pVal);
394}
395static FORCEINLINE HRESULT IBackgroundCopyJob2_GetProgress(IBackgroundCopyJob2* This,BG_JOB_PROGRESS *pVal) {
396 return This->lpVtbl->GetProgress(This,pVal);
397}
398static FORCEINLINE HRESULT IBackgroundCopyJob2_GetTimes(IBackgroundCopyJob2* This,BG_JOB_TIMES *pVal) {
399 return This->lpVtbl->GetTimes(This,pVal);
400}
401static FORCEINLINE HRESULT IBackgroundCopyJob2_GetState(IBackgroundCopyJob2* This,BG_JOB_STATE *pVal) {
402 return This->lpVtbl->GetState(This,pVal);
403}
404static FORCEINLINE HRESULT IBackgroundCopyJob2_GetError(IBackgroundCopyJob2* This,IBackgroundCopyError **ppError) {
405 return This->lpVtbl->GetError(This,ppError);
406}
407static FORCEINLINE HRESULT IBackgroundCopyJob2_GetOwner(IBackgroundCopyJob2* This,LPWSTR *pVal) {
408 return This->lpVtbl->GetOwner(This,pVal);
409}
410static FORCEINLINE HRESULT IBackgroundCopyJob2_SetDisplayName(IBackgroundCopyJob2* This,LPCWSTR Val) {
411 return This->lpVtbl->SetDisplayName(This,Val);
412}
413static FORCEINLINE HRESULT IBackgroundCopyJob2_GetDisplayName(IBackgroundCopyJob2* This,LPWSTR *pVal) {
414 return This->lpVtbl->GetDisplayName(This,pVal);
415}
416static FORCEINLINE HRESULT IBackgroundCopyJob2_SetDescription(IBackgroundCopyJob2* This,LPCWSTR Val) {
417 return This->lpVtbl->SetDescription(This,Val);
418}
419static FORCEINLINE HRESULT IBackgroundCopyJob2_GetDescription(IBackgroundCopyJob2* This,LPWSTR *pVal) {
420 return This->lpVtbl->GetDescription(This,pVal);
421}
422static FORCEINLINE HRESULT IBackgroundCopyJob2_SetPriority(IBackgroundCopyJob2* This,BG_JOB_PRIORITY Val) {
423 return This->lpVtbl->SetPriority(This,Val);
424}
425static FORCEINLINE HRESULT IBackgroundCopyJob2_GetPriority(IBackgroundCopyJob2* This,BG_JOB_PRIORITY *pVal) {
426 return This->lpVtbl->GetPriority(This,pVal);
427}
428static FORCEINLINE HRESULT IBackgroundCopyJob2_SetNotifyFlags(IBackgroundCopyJob2* This,ULONG Val) {
429 return This->lpVtbl->SetNotifyFlags(This,Val);
430}
431static FORCEINLINE HRESULT IBackgroundCopyJob2_GetNotifyFlags(IBackgroundCopyJob2* This,ULONG *pVal) {
432 return This->lpVtbl->GetNotifyFlags(This,pVal);
433}
434static FORCEINLINE HRESULT IBackgroundCopyJob2_SetNotifyInterface(IBackgroundCopyJob2* This,IUnknown *Val) {
435 return This->lpVtbl->SetNotifyInterface(This,Val);
436}
437static FORCEINLINE HRESULT IBackgroundCopyJob2_GetNotifyInterface(IBackgroundCopyJob2* This,IUnknown **pVal) {
438 return This->lpVtbl->GetNotifyInterface(This,pVal);
439}
440static FORCEINLINE HRESULT IBackgroundCopyJob2_SetMinimumRetryDelay(IBackgroundCopyJob2* This,ULONG Seconds) {
441 return This->lpVtbl->SetMinimumRetryDelay(This,Seconds);
442}
443static FORCEINLINE HRESULT IBackgroundCopyJob2_GetMinimumRetryDelay(IBackgroundCopyJob2* This,ULONG *Seconds) {
444 return This->lpVtbl->GetMinimumRetryDelay(This,Seconds);
445}
446static FORCEINLINE HRESULT IBackgroundCopyJob2_SetNoProgressTimeout(IBackgroundCopyJob2* This,ULONG Seconds) {
447 return This->lpVtbl->SetNoProgressTimeout(This,Seconds);
448}
449static FORCEINLINE HRESULT IBackgroundCopyJob2_GetNoProgressTimeout(IBackgroundCopyJob2* This,ULONG *Seconds) {
450 return This->lpVtbl->GetNoProgressTimeout(This,Seconds);
451}
452static FORCEINLINE HRESULT IBackgroundCopyJob2_GetErrorCount(IBackgroundCopyJob2* This,ULONG *Errors) {
453 return This->lpVtbl->GetErrorCount(This,Errors);
454}
455static FORCEINLINE HRESULT IBackgroundCopyJob2_SetProxySettings(IBackgroundCopyJob2* This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) {
456 return This->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList);
457}
458static FORCEINLINE HRESULT IBackgroundCopyJob2_GetProxySettings(IBackgroundCopyJob2* This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) {
459 return This->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList);
460}
461static FORCEINLINE HRESULT IBackgroundCopyJob2_TakeOwnership(IBackgroundCopyJob2* This) {
462 return This->lpVtbl->TakeOwnership(This);
463}
464/*** IBackgroundCopyJob2 methods ***/
465static FORCEINLINE HRESULT IBackgroundCopyJob2_SetNotifyCmdLine(IBackgroundCopyJob2* This,LPCWSTR prog,LPCWSTR params) {
466 return This->lpVtbl->SetNotifyCmdLine(This,prog,params);
467}
468static FORCEINLINE HRESULT IBackgroundCopyJob2_GetNotifyCmdLine(IBackgroundCopyJob2* This,LPWSTR *prog,LPWSTR *params) {
469 return This->lpVtbl->GetNotifyCmdLine(This,prog,params);
470}
471static FORCEINLINE HRESULT IBackgroundCopyJob2_GetReplyProgress(IBackgroundCopyJob2* This,BG_JOB_REPLY_PROGRESS *progress) {
472 return This->lpVtbl->GetReplyProgress(This,progress);
473}
474static FORCEINLINE HRESULT IBackgroundCopyJob2_GetReplyData(IBackgroundCopyJob2* This,byte **pBuffer,UINT64 *pLength) {
475 return This->lpVtbl->GetReplyData(This,pBuffer,pLength);
476}
477static FORCEINLINE HRESULT IBackgroundCopyJob2_SetReplyFileName(IBackgroundCopyJob2* This,LPCWSTR filename) {
478 return This->lpVtbl->SetReplyFileName(This,filename);
479}
480static FORCEINLINE HRESULT IBackgroundCopyJob2_GetReplyFileName(IBackgroundCopyJob2* This,LPWSTR *pFilename) {
481 return This->lpVtbl->GetReplyFileName(This,pFilename);
482}
483static FORCEINLINE HRESULT IBackgroundCopyJob2_SetCredentials(IBackgroundCopyJob2* This,BG_AUTH_CREDENTIALS *cred) {
484 return This->lpVtbl->SetCredentials(This,cred);
485}
486static FORCEINLINE HRESULT IBackgroundCopyJob2_RemoveCredentials(IBackgroundCopyJob2* This,BG_AUTH_TARGET target,BG_AUTH_SCHEME scheme) {
487 return This->lpVtbl->RemoveCredentials(This,target,scheme);
488}
200489#endif
201490#endif
202 HRESULT WINAPI IBackgroundCopyJob2_SetNotifyCmdLine_Proxy(IBackgroundCopyJob2 *This,LPCWSTR Program,LPCWSTR Parameters);
203 void __RPC_STUB IBackgroundCopyJob2_SetNotifyCmdLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
204 HRESULT WINAPI IBackgroundCopyJob2_GetNotifyCmdLine_Proxy(IBackgroundCopyJob2 *This,LPWSTR *pProgram,LPWSTR *pParameters);
205 void __RPC_STUB IBackgroundCopyJob2_GetNotifyCmdLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
206 HRESULT WINAPI IBackgroundCopyJob2_GetReplyProgress_Proxy(IBackgroundCopyJob2 *This,BG_JOB_REPLY_PROGRESS *pProgress);
207 void __RPC_STUB IBackgroundCopyJob2_GetReplyProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
208 HRESULT WINAPI IBackgroundCopyJob2_GetReplyData_Proxy(IBackgroundCopyJob2 *This,byte **ppBuffer,UINT64 *pLength);
209 void __RPC_STUB IBackgroundCopyJob2_GetReplyData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
210 HRESULT WINAPI IBackgroundCopyJob2_SetReplyFileName_Proxy(IBackgroundCopyJob2 *This,LPCWSTR ReplyFileName);
211 void __RPC_STUB IBackgroundCopyJob2_SetReplyFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
212 HRESULT WINAPI IBackgroundCopyJob2_GetReplyFileName_Proxy(IBackgroundCopyJob2 *This,LPWSTR *pReplyFileName);
213 void __RPC_STUB IBackgroundCopyJob2_GetReplyFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
214 HRESULT WINAPI IBackgroundCopyJob2_SetCredentials_Proxy(IBackgroundCopyJob2 *This,BG_AUTH_CREDENTIALS *credentials);
215 void __RPC_STUB IBackgroundCopyJob2_SetCredentials_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
216 HRESULT WINAPI IBackgroundCopyJob2_RemoveCredentials_Proxy(IBackgroundCopyJob2 *This,BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme);
217 void __RPC_STUB IBackgroundCopyJob2_RemoveCredentials_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
491
218492#endif
219493
494
495#endif /* __IBackgroundCopyJob2_INTERFACE_DEFINED__ */
496
220497#ifndef __BackgroundCopyManager1_5_LIBRARY_DEFINED__
221498#define __BackgroundCopyManager1_5_LIBRARY_DEFINED__
222 EXTERN_C const IID LIBID_BackgroundCopyManager1_5;
223 EXTERN_C const CLSID CLSID_BackgroundCopyManager1_5;
499
500DEFINE_GUID(LIBID_BackgroundCopyManager1_5, 0xea9319ea, 0xc628, 0x480f, 0x83,0x31, 0x76,0x8f,0xac,0x39,0x7e,0x4e);
501
502/*****************************************************************************
503 * BackgroundCopyManager1_5 coclass
504 */
505
506DEFINE_GUID(CLSID_BackgroundCopyManager1_5, 0xf087771f, 0xd74f, 0x4c1a, 0xbb,0x8a, 0xe1,0x6a,0xca,0x91,0x24,0xea);
507
224508#ifdef __cplusplus
225 class BackgroundCopyManager1_5;
509class DECLSPEC_UUID("f087771f-d74f-4c1a-bb8a-e16aca9124ea") BackgroundCopyManager1_5;
510#ifdef __CRT_UUID_DECL
511__CRT_UUID_DECL(BackgroundCopyManager1_5, 0xf087771f, 0xd74f, 0x4c1a, 0xbb,0x8a, 0xe1,0x6a,0xca,0x91,0x24,0xea)
512#endif
226513#endif
514
515#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
516#define __IBackgroundCopyCallback_FWD_DEFINED__
517typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
518#ifdef __cplusplus
519interface IBackgroundCopyCallback;
520#endif /* __cplusplus */
227521#endif
228522
523#ifndef __IBackgroundCopyJob2_FWD_DEFINED__
524#define __IBackgroundCopyJob2_FWD_DEFINED__
525typedef interface IBackgroundCopyJob2 IBackgroundCopyJob2;
526#ifdef __cplusplus
527interface IBackgroundCopyJob2;
528#endif /* __cplusplus */
529#endif
530
531#endif /* __BackgroundCopyManager1_5_LIBRARY_DEFINED__ */
229532#include "bits2_0.h"
533/* Begin additional prototypes for all interfaces */
534
230535
231 extern RPC_IF_HANDLE __MIDL_itf_bits1_5_0124_v0_0_c_ifspec;
232 extern RPC_IF_HANDLE __MIDL_itf_bits1_5_0124_v0_0_s_ifspec;
536/* End additional prototypes */
233537
234538#ifdef __cplusplus
235539}
236540#endif
237#endif
541
542#endif /* __bits1_5_h__ */
lib/libc/include/any-windows-any/bits2_0.h+623-192
......@@ -1,34 +1,37 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
1/*** Autogenerated by WIDL 7.0 from include/bits2_0.idl - Do not edit ***/
2
3#ifdef _WIN32
64#ifndef __REQUIRED_RPCNDR_H_VERSION__
75#define __REQUIRED_RPCNDR_H_VERSION__ 475
86#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
7#include <rpc.h>
8#include <rpcndr.h>
159#endif
1610
1711#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
12#include <windows.h>
13#include <ole2.h>
2014#endif
2115
2216#ifndef __bits2_0_h__
2317#define __bits2_0_h__
18
19/* Forward declarations */
20
2421#ifndef __IBackgroundCopyJob3_FWD_DEFINED__
2522#define __IBackgroundCopyJob3_FWD_DEFINED__
26typedef struct IBackgroundCopyJob3 IBackgroundCopyJob3;
23typedef interface IBackgroundCopyJob3 IBackgroundCopyJob3;
24#ifdef __cplusplus
25interface IBackgroundCopyJob3;
26#endif /* __cplusplus */
2727#endif
2828
2929#ifndef __IBackgroundCopyFile2_FWD_DEFINED__
3030#define __IBackgroundCopyFile2_FWD_DEFINED__
31typedef struct IBackgroundCopyFile2 IBackgroundCopyFile2;
31typedef interface IBackgroundCopyFile2 IBackgroundCopyFile2;
32#ifdef __cplusplus
33interface IBackgroundCopyFile2;
34#endif /* __cplusplus */
3235#endif
3336
3437#ifndef __BackgroundCopyManager2_0_FWD_DEFINED__
......@@ -37,220 +40,648 @@ typedef struct IBackgroundCopyFile2 IBackgroundCopyFile2;
3740typedef class BackgroundCopyManager2_0 BackgroundCopyManager2_0;
3841#else
3942typedef struct BackgroundCopyManager2_0 BackgroundCopyManager2_0;
40#endif
41#endif
43#endif /* defined __cplusplus */
44#endif /* defined __BackgroundCopyManager2_0_FWD_DEFINED__ */
4245
43#ifndef __IBackgroundCopyJob3_FWD_DEFINED__
44#define __IBackgroundCopyJob3_FWD_DEFINED__
45typedef struct IBackgroundCopyJob3 IBackgroundCopyJob3;
46#endif
46/* Headers for imported files */
4747
48#include "bits.h"
49#include "bits1_5.h"
48#include <bits.h>
49#include <bits1_5.h>
5050
5151#ifdef __cplusplus
52extern "C"{
53#endif
54
55#ifndef __MIDL_user_allocate_free_DEFINED__
56#define __MIDL_user_allocate_free_DEFINED__
57 void *__RPC_API MIDL_user_allocate(size_t);
58 void __RPC_API MIDL_user_free(void *);
52extern "C" {
5953#endif
6054
55#define BG_COPY_FILE_OWNER 1
56#define BG_COPY_FILE_GROUP 2
57#define BG_COPY_FILE_DACL 4
58#define BG_COPY_FILE_SACL 8
59#define BG_COPY_FILE_ALL 15
6160#define BG_LENGTH_TO_EOF (UINT64)(-1)
62 typedef struct _BG_FILE_RANGE {
61#ifndef _BG_FILE_RANGE_DEFINED
62#define _BG_FILE_RANGE_DEFINED
63typedef struct _BG_FILE_RANGE {
6364 UINT64 InitialOffset;
6465 UINT64 Length;
65 } BG_FILE_RANGE;
66
67#define BG_COPY_FILE_OWNER 1
68#define BG_COPY_FILE_GROUP 2
69#define BG_COPY_FILE_DACL 4
70#define BG_COPY_FILE_SACL 8
71#define BG_COPY_FILE_ALL 15
72
73 extern RPC_IF_HANDLE __MIDL_itf_bits2_0_0000_v0_0_c_ifspec;
74 extern RPC_IF_HANDLE __MIDL_itf_bits2_0_0000_v0_0_s_ifspec;
75
66} BG_FILE_RANGE;
67#endif
68/*****************************************************************************
69 * IBackgroundCopyJob3 interface
70 */
7671#ifndef __IBackgroundCopyJob3_INTERFACE_DEFINED__
7772#define __IBackgroundCopyJob3_INTERFACE_DEFINED__
78 EXTERN_C const IID IID_IBackgroundCopyJob3;
73
74DEFINE_GUID(IID_IBackgroundCopyJob3, 0x443c8934, 0x90ff, 0x48ed, 0xbc,0xde, 0x26,0xf5,0xc7,0x45,0x00,0x42);
7975#if defined(__cplusplus) && !defined(CINTERFACE)
80 struct IBackgroundCopyJob3 : public IBackgroundCopyJob2 {
81 public:
82 virtual HRESULT WINAPI ReplaceRemotePrefix(LPCWSTR OldPrefix,LPCWSTR NewPrefix) = 0;
83 virtual HRESULT WINAPI AddFileWithRanges(LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]) = 0;
84 virtual HRESULT WINAPI SetFileACLFlags(DWORD Flags) = 0;
85 virtual HRESULT WINAPI GetFileACLFlags(DWORD *Flags) = 0;
86 };
76MIDL_INTERFACE("443c8934-90ff-48ed-bcde-26f5c7450042")
77IBackgroundCopyJob3 : public IBackgroundCopyJob2
78{
79 virtual HRESULT STDMETHODCALLTYPE ReplaceRemotePrefix(
80 LPCWSTR OldPrefix,
81 LPCWSTR NewPrefix) = 0;
82
83 virtual HRESULT STDMETHODCALLTYPE AddFileWithRanges(
84 LPCWSTR RemoteUrl,
85 LPCWSTR LocalName,
86 DWORD RangeCount,
87 BG_FILE_RANGE Ranges[]) = 0;
88
89 virtual HRESULT STDMETHODCALLTYPE SetFileACLFlags(
90 DWORD Flags) = 0;
91
92 virtual HRESULT STDMETHODCALLTYPE GetFileACLFlags(
93 DWORD *Flags) = 0;
94
95};
96#ifdef __CRT_UUID_DECL
97__CRT_UUID_DECL(IBackgroundCopyJob3, 0x443c8934, 0x90ff, 0x48ed, 0xbc,0xde, 0x26,0xf5,0xc7,0x45,0x00,0x42)
98#endif
8799#else
88 typedef struct IBackgroundCopyJob3Vtbl {
100typedef struct IBackgroundCopyJob3Vtbl {
89101 BEGIN_INTERFACE
90 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob3 *This,REFIID riid,void **ppvObject);
91 ULONG (WINAPI *AddRef)(IBackgroundCopyJob3 *This);
92 ULONG (WINAPI *Release)(IBackgroundCopyJob3 *This);
93 HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob3 *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);
94 HRESULT (WINAPI *AddFile)(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);
95 HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob3 *This,IEnumBackgroundCopyFiles **pEnum);
96 HRESULT (WINAPI *Suspend)(IBackgroundCopyJob3 *This);
97 HRESULT (WINAPI *Resume)(IBackgroundCopyJob3 *This);
98 HRESULT (WINAPI *Cancel)(IBackgroundCopyJob3 *This);
99 HRESULT (WINAPI *Complete)(IBackgroundCopyJob3 *This);
100 HRESULT (WINAPI *GetId)(IBackgroundCopyJob3 *This,GUID *pVal);
101 HRESULT (WINAPI *GetType)(IBackgroundCopyJob3 *This,BG_JOB_TYPE *pVal);
102 HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob3 *This,BG_JOB_PROGRESS *pVal);
103 HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob3 *This,BG_JOB_TIMES *pVal);
104 HRESULT (WINAPI *GetState)(IBackgroundCopyJob3 *This,BG_JOB_STATE *pVal);
105 HRESULT (WINAPI *GetError)(IBackgroundCopyJob3 *This,IBackgroundCopyError **ppError);
106 HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob3 *This,LPWSTR *pVal);
107 HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob3 *This,LPCWSTR Val);
108 HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob3 *This,LPWSTR *pVal);
109 HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob3 *This,LPCWSTR Val);
110 HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob3 *This,LPWSTR *pVal);
111 HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob3 *This,BG_JOB_PRIORITY Val);
112 HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob3 *This,BG_JOB_PRIORITY *pVal);
113 HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob3 *This,ULONG Val);
114 HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob3 *This,ULONG *pVal);
115 HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob3 *This,IUnknown *Val);
116 HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob3 *This,IUnknown **pVal);
117 HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob3 *This,ULONG Seconds);
118 HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob3 *This,ULONG *Seconds);
119 HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob3 *This,ULONG Seconds);
120 HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob3 *This,ULONG *Seconds);
121 HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob3 *This,ULONG *Errors);
122 HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob3 *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);
123 HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob3 *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);
124 HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob3 *This);
125 HRESULT (WINAPI *SetNotifyCmdLine)(IBackgroundCopyJob3 *This,LPCWSTR Program,LPCWSTR Parameters);
126 HRESULT (WINAPI *GetNotifyCmdLine)(IBackgroundCopyJob3 *This,LPWSTR *pProgram,LPWSTR *pParameters);
127 HRESULT (WINAPI *GetReplyProgress)(IBackgroundCopyJob3 *This,BG_JOB_REPLY_PROGRESS *pProgress);
128 HRESULT (WINAPI *GetReplyData)(IBackgroundCopyJob3 *This,byte **ppBuffer,UINT64 *pLength);
129 HRESULT (WINAPI *SetReplyFileName)(IBackgroundCopyJob3 *This,LPCWSTR ReplyFileName);
130 HRESULT (WINAPI *GetReplyFileName)(IBackgroundCopyJob3 *This,LPWSTR *pReplyFileName);
131 HRESULT (WINAPI *SetCredentials)(IBackgroundCopyJob3 *This,BG_AUTH_CREDENTIALS *credentials);
132 HRESULT (WINAPI *RemoveCredentials)(IBackgroundCopyJob3 *This,BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme);
133 HRESULT (WINAPI *ReplaceRemotePrefix)(IBackgroundCopyJob3 *This,LPCWSTR OldPrefix,LPCWSTR NewPrefix);
134 HRESULT (WINAPI *AddFileWithRanges)(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]);
135 HRESULT (WINAPI *SetFileACLFlags)(IBackgroundCopyJob3 *This,DWORD Flags);
136 HRESULT (WINAPI *GetFileACLFlags)(IBackgroundCopyJob3 *This,DWORD *Flags);
102
103 /*** IUnknown methods ***/
104 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
105 IBackgroundCopyJob3 *This,
106 REFIID riid,
107 void **ppvObject);
108
109 ULONG (STDMETHODCALLTYPE *AddRef)(
110 IBackgroundCopyJob3 *This);
111
112 ULONG (STDMETHODCALLTYPE *Release)(
113 IBackgroundCopyJob3 *This);
114
115 /*** IBackgroundCopyJob methods ***/
116 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
117 IBackgroundCopyJob3 *This,
118 ULONG cFileCount,
119 BG_FILE_INFO *pFileSet);
120
121 HRESULT (STDMETHODCALLTYPE *AddFile)(
122 IBackgroundCopyJob3 *This,
123 LPCWSTR RemoteUrl,
124 LPCWSTR LocalName);
125
126 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
127 IBackgroundCopyJob3 *This,
128 IEnumBackgroundCopyFiles **pEnum);
129
130 HRESULT (STDMETHODCALLTYPE *Suspend)(
131 IBackgroundCopyJob3 *This);
132
133 HRESULT (STDMETHODCALLTYPE *Resume)(
134 IBackgroundCopyJob3 *This);
135
136 HRESULT (STDMETHODCALLTYPE *Cancel)(
137 IBackgroundCopyJob3 *This);
138
139 HRESULT (STDMETHODCALLTYPE *Complete)(
140 IBackgroundCopyJob3 *This);
141
142 HRESULT (STDMETHODCALLTYPE *GetId)(
143 IBackgroundCopyJob3 *This,
144 GUID *pVal);
145
146 HRESULT (STDMETHODCALLTYPE *GetType)(
147 IBackgroundCopyJob3 *This,
148 BG_JOB_TYPE *pVal);
149
150 HRESULT (STDMETHODCALLTYPE *GetProgress)(
151 IBackgroundCopyJob3 *This,
152 BG_JOB_PROGRESS *pVal);
153
154 HRESULT (STDMETHODCALLTYPE *GetTimes)(
155 IBackgroundCopyJob3 *This,
156 BG_JOB_TIMES *pVal);
157
158 HRESULT (STDMETHODCALLTYPE *GetState)(
159 IBackgroundCopyJob3 *This,
160 BG_JOB_STATE *pVal);
161
162 HRESULT (STDMETHODCALLTYPE *GetError)(
163 IBackgroundCopyJob3 *This,
164 IBackgroundCopyError **ppError);
165
166 HRESULT (STDMETHODCALLTYPE *GetOwner)(
167 IBackgroundCopyJob3 *This,
168 LPWSTR *pVal);
169
170 HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
171 IBackgroundCopyJob3 *This,
172 LPCWSTR Val);
173
174 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
175 IBackgroundCopyJob3 *This,
176 LPWSTR *pVal);
177
178 HRESULT (STDMETHODCALLTYPE *SetDescription)(
179 IBackgroundCopyJob3 *This,
180 LPCWSTR Val);
181
182 HRESULT (STDMETHODCALLTYPE *GetDescription)(
183 IBackgroundCopyJob3 *This,
184 LPWSTR *pVal);
185
186 HRESULT (STDMETHODCALLTYPE *SetPriority)(
187 IBackgroundCopyJob3 *This,
188 BG_JOB_PRIORITY Val);
189
190 HRESULT (STDMETHODCALLTYPE *GetPriority)(
191 IBackgroundCopyJob3 *This,
192 BG_JOB_PRIORITY *pVal);
193
194 HRESULT (STDMETHODCALLTYPE *SetNotifyFlags)(
195 IBackgroundCopyJob3 *This,
196 ULONG Val);
197
198 HRESULT (STDMETHODCALLTYPE *GetNotifyFlags)(
199 IBackgroundCopyJob3 *This,
200 ULONG *pVal);
201
202 HRESULT (STDMETHODCALLTYPE *SetNotifyInterface)(
203 IBackgroundCopyJob3 *This,
204 IUnknown *Val);
205
206 HRESULT (STDMETHODCALLTYPE *GetNotifyInterface)(
207 IBackgroundCopyJob3 *This,
208 IUnknown **pVal);
209
210 HRESULT (STDMETHODCALLTYPE *SetMinimumRetryDelay)(
211 IBackgroundCopyJob3 *This,
212 ULONG Seconds);
213
214 HRESULT (STDMETHODCALLTYPE *GetMinimumRetryDelay)(
215 IBackgroundCopyJob3 *This,
216 ULONG *Seconds);
217
218 HRESULT (STDMETHODCALLTYPE *SetNoProgressTimeout)(
219 IBackgroundCopyJob3 *This,
220 ULONG Seconds);
221
222 HRESULT (STDMETHODCALLTYPE *GetNoProgressTimeout)(
223 IBackgroundCopyJob3 *This,
224 ULONG *Seconds);
225
226 HRESULT (STDMETHODCALLTYPE *GetErrorCount)(
227 IBackgroundCopyJob3 *This,
228 ULONG *Errors);
229
230 HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
231 IBackgroundCopyJob3 *This,
232 BG_JOB_PROXY_USAGE ProxyUsage,
233 const WCHAR *ProxyList,
234 const WCHAR *ProxyBypassList);
235
236 HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
237 IBackgroundCopyJob3 *This,
238 BG_JOB_PROXY_USAGE *pProxyUsage,
239 LPWSTR *pProxyList,
240 LPWSTR *pProxyBypassList);
241
242 HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
243 IBackgroundCopyJob3 *This);
244
245 /*** IBackgroundCopyJob2 methods ***/
246 HRESULT (STDMETHODCALLTYPE *SetNotifyCmdLine)(
247 IBackgroundCopyJob3 *This,
248 LPCWSTR prog,
249 LPCWSTR params);
250
251 HRESULT (STDMETHODCALLTYPE *GetNotifyCmdLine)(
252 IBackgroundCopyJob3 *This,
253 LPWSTR *prog,
254 LPWSTR *params);
255
256 HRESULT (STDMETHODCALLTYPE *GetReplyProgress)(
257 IBackgroundCopyJob3 *This,
258 BG_JOB_REPLY_PROGRESS *progress);
259
260 HRESULT (STDMETHODCALLTYPE *GetReplyData)(
261 IBackgroundCopyJob3 *This,
262 byte **pBuffer,
263 UINT64 *pLength);
264
265 HRESULT (STDMETHODCALLTYPE *SetReplyFileName)(
266 IBackgroundCopyJob3 *This,
267 LPCWSTR filename);
268
269 HRESULT (STDMETHODCALLTYPE *GetReplyFileName)(
270 IBackgroundCopyJob3 *This,
271 LPWSTR *pFilename);
272
273 HRESULT (STDMETHODCALLTYPE *SetCredentials)(
274 IBackgroundCopyJob3 *This,
275 BG_AUTH_CREDENTIALS *cred);
276
277 HRESULT (STDMETHODCALLTYPE *RemoveCredentials)(
278 IBackgroundCopyJob3 *This,
279 BG_AUTH_TARGET target,
280 BG_AUTH_SCHEME scheme);
281
282 /*** IBackgroundCopyJob3 methods ***/
283 HRESULT (STDMETHODCALLTYPE *ReplaceRemotePrefix)(
284 IBackgroundCopyJob3 *This,
285 LPCWSTR OldPrefix,
286 LPCWSTR NewPrefix);
287
288 HRESULT (STDMETHODCALLTYPE *AddFileWithRanges)(
289 IBackgroundCopyJob3 *This,
290 LPCWSTR RemoteUrl,
291 LPCWSTR LocalName,
292 DWORD RangeCount,
293 BG_FILE_RANGE Ranges[]);
294
295 HRESULT (STDMETHODCALLTYPE *SetFileACLFlags)(
296 IBackgroundCopyJob3 *This,
297 DWORD Flags);
298
299 HRESULT (STDMETHODCALLTYPE *GetFileACLFlags)(
300 IBackgroundCopyJob3 *This,
301 DWORD *Flags);
302
137303 END_INTERFACE
138 } IBackgroundCopyJob3Vtbl;
139 struct IBackgroundCopyJob3 {
140 CONST_VTBL struct IBackgroundCopyJob3Vtbl *lpVtbl;
141 };
304} IBackgroundCopyJob3Vtbl;
305
306interface IBackgroundCopyJob3 {
307 CONST_VTBL IBackgroundCopyJob3Vtbl* lpVtbl;
308};
309
142310#ifdef COBJMACROS
143#define IBackgroundCopyJob3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
144#define IBackgroundCopyJob3_AddRef(This) (This)->lpVtbl -> AddRef(This)
145#define IBackgroundCopyJob3_Release(This) (This)->lpVtbl -> Release(This)
146#define IBackgroundCopyJob3_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl -> AddFileSet(This,cFileCount,pFileSet)
147#define IBackgroundCopyJob3_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl -> AddFile(This,RemoteUrl,LocalName)
148#define IBackgroundCopyJob3_EnumFiles(This,pEnum) (This)->lpVtbl -> EnumFiles(This,pEnum)
149#define IBackgroundCopyJob3_Suspend(This) (This)->lpVtbl -> Suspend(This)
150#define IBackgroundCopyJob3_Resume(This) (This)->lpVtbl -> Resume(This)
151#define IBackgroundCopyJob3_Cancel(This) (This)->lpVtbl -> Cancel(This)
152#define IBackgroundCopyJob3_Complete(This) (This)->lpVtbl -> Complete(This)
153#define IBackgroundCopyJob3_GetId(This,pVal) (This)->lpVtbl -> GetId(This,pVal)
154#define IBackgroundCopyJob3_GetType(This,pVal) (This)->lpVtbl -> GetType(This,pVal)
155#define IBackgroundCopyJob3_GetProgress(This,pVal) (This)->lpVtbl -> GetProgress(This,pVal)
156#define IBackgroundCopyJob3_GetTimes(This,pVal) (This)->lpVtbl -> GetTimes(This,pVal)
157#define IBackgroundCopyJob3_GetState(This,pVal) (This)->lpVtbl -> GetState(This,pVal)
158#define IBackgroundCopyJob3_GetError(This,ppError) (This)->lpVtbl -> GetError(This,ppError)
159#define IBackgroundCopyJob3_GetOwner(This,pVal) (This)->lpVtbl -> GetOwner(This,pVal)
160#define IBackgroundCopyJob3_SetDisplayName(This,Val) (This)->lpVtbl -> SetDisplayName(This,Val)
161#define IBackgroundCopyJob3_GetDisplayName(This,pVal) (This)->lpVtbl -> GetDisplayName(This,pVal)
162#define IBackgroundCopyJob3_SetDescription(This,Val) (This)->lpVtbl -> SetDescription(This,Val)
163#define IBackgroundCopyJob3_GetDescription(This,pVal) (This)->lpVtbl -> GetDescription(This,pVal)
164#define IBackgroundCopyJob3_SetPriority(This,Val) (This)->lpVtbl -> SetPriority(This,Val)
165#define IBackgroundCopyJob3_GetPriority(This,pVal) (This)->lpVtbl -> GetPriority(This,pVal)
166#define IBackgroundCopyJob3_SetNotifyFlags(This,Val) (This)->lpVtbl -> SetNotifyFlags(This,Val)
167#define IBackgroundCopyJob3_GetNotifyFlags(This,pVal) (This)->lpVtbl -> GetNotifyFlags(This,pVal)
168#define IBackgroundCopyJob3_SetNotifyInterface(This,Val) (This)->lpVtbl -> SetNotifyInterface(This,Val)
169#define IBackgroundCopyJob3_GetNotifyInterface(This,pVal) (This)->lpVtbl -> GetNotifyInterface(This,pVal)
170#define IBackgroundCopyJob3_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl -> SetMinimumRetryDelay(This,Seconds)
171#define IBackgroundCopyJob3_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl -> GetMinimumRetryDelay(This,Seconds)
172#define IBackgroundCopyJob3_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl -> SetNoProgressTimeout(This,Seconds)
173#define IBackgroundCopyJob3_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl -> GetNoProgressTimeout(This,Seconds)
174#define IBackgroundCopyJob3_GetErrorCount(This,Errors) (This)->lpVtbl -> GetErrorCount(This,Errors)
175#define IBackgroundCopyJob3_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl -> SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
176#define IBackgroundCopyJob3_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl -> GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
177#define IBackgroundCopyJob3_TakeOwnership(This) (This)->lpVtbl -> TakeOwnership(This)
178#define IBackgroundCopyJob3_SetNotifyCmdLine(This,Program,Parameters) (This)->lpVtbl -> SetNotifyCmdLine(This,Program,Parameters)
179#define IBackgroundCopyJob3_GetNotifyCmdLine(This,pProgram,pParameters) (This)->lpVtbl -> GetNotifyCmdLine(This,pProgram,pParameters)
180#define IBackgroundCopyJob3_GetReplyProgress(This,pProgress) (This)->lpVtbl -> GetReplyProgress(This,pProgress)
181#define IBackgroundCopyJob3_GetReplyData(This,ppBuffer,pLength) (This)->lpVtbl -> GetReplyData(This,ppBuffer,pLength)
182#define IBackgroundCopyJob3_SetReplyFileName(This,ReplyFileName) (This)->lpVtbl -> SetReplyFileName(This,ReplyFileName)
183#define IBackgroundCopyJob3_GetReplyFileName(This,pReplyFileName) (This)->lpVtbl -> GetReplyFileName(This,pReplyFileName)
184#define IBackgroundCopyJob3_SetCredentials(This,credentials) (This)->lpVtbl -> SetCredentials(This,credentials)
185#define IBackgroundCopyJob3_RemoveCredentials(This,Target,Scheme) (This)->lpVtbl -> RemoveCredentials(This,Target,Scheme)
186#define IBackgroundCopyJob3_ReplaceRemotePrefix(This,OldPrefix,NewPrefix) (This)->lpVtbl -> ReplaceRemotePrefix(This,OldPrefix,NewPrefix)
187#define IBackgroundCopyJob3_AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges) (This)->lpVtbl -> AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges)
188#define IBackgroundCopyJob3_SetFileACLFlags(This,Flags) (This)->lpVtbl -> SetFileACLFlags(This,Flags)
189#define IBackgroundCopyJob3_GetFileACLFlags(This,Flags) (This)->lpVtbl -> GetFileACLFlags(This,Flags)
311#ifndef WIDL_C_INLINE_WRAPPERS
312/*** IUnknown methods ***/
313#define IBackgroundCopyJob3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
314#define IBackgroundCopyJob3_AddRef(This) (This)->lpVtbl->AddRef(This)
315#define IBackgroundCopyJob3_Release(This) (This)->lpVtbl->Release(This)
316/*** IBackgroundCopyJob methods ***/
317#define IBackgroundCopyJob3_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
318#define IBackgroundCopyJob3_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
319#define IBackgroundCopyJob3_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
320#define IBackgroundCopyJob3_Suspend(This) (This)->lpVtbl->Suspend(This)
321#define IBackgroundCopyJob3_Resume(This) (This)->lpVtbl->Resume(This)
322#define IBackgroundCopyJob3_Cancel(This) (This)->lpVtbl->Cancel(This)
323#define IBackgroundCopyJob3_Complete(This) (This)->lpVtbl->Complete(This)
324#define IBackgroundCopyJob3_GetId(This,pVal) (This)->lpVtbl->GetId(This,pVal)
325#define IBackgroundCopyJob3_GetType(This,pVal) (This)->lpVtbl->GetType(This,pVal)
326#define IBackgroundCopyJob3_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
327#define IBackgroundCopyJob3_GetTimes(This,pVal) (This)->lpVtbl->GetTimes(This,pVal)
328#define IBackgroundCopyJob3_GetState(This,pVal) (This)->lpVtbl->GetState(This,pVal)
329#define IBackgroundCopyJob3_GetError(This,ppError) (This)->lpVtbl->GetError(This,ppError)
330#define IBackgroundCopyJob3_GetOwner(This,pVal) (This)->lpVtbl->GetOwner(This,pVal)
331#define IBackgroundCopyJob3_SetDisplayName(This,Val) (This)->lpVtbl->SetDisplayName(This,Val)
332#define IBackgroundCopyJob3_GetDisplayName(This,pVal) (This)->lpVtbl->GetDisplayName(This,pVal)
333#define IBackgroundCopyJob3_SetDescription(This,Val) (This)->lpVtbl->SetDescription(This,Val)
334#define IBackgroundCopyJob3_GetDescription(This,pVal) (This)->lpVtbl->GetDescription(This,pVal)
335#define IBackgroundCopyJob3_SetPriority(This,Val) (This)->lpVtbl->SetPriority(This,Val)
336#define IBackgroundCopyJob3_GetPriority(This,pVal) (This)->lpVtbl->GetPriority(This,pVal)
337#define IBackgroundCopyJob3_SetNotifyFlags(This,Val) (This)->lpVtbl->SetNotifyFlags(This,Val)
338#define IBackgroundCopyJob3_GetNotifyFlags(This,pVal) (This)->lpVtbl->GetNotifyFlags(This,pVal)
339#define IBackgroundCopyJob3_SetNotifyInterface(This,Val) (This)->lpVtbl->SetNotifyInterface(This,Val)
340#define IBackgroundCopyJob3_GetNotifyInterface(This,pVal) (This)->lpVtbl->GetNotifyInterface(This,pVal)
341#define IBackgroundCopyJob3_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->SetMinimumRetryDelay(This,Seconds)
342#define IBackgroundCopyJob3_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->GetMinimumRetryDelay(This,Seconds)
343#define IBackgroundCopyJob3_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl->SetNoProgressTimeout(This,Seconds)
344#define IBackgroundCopyJob3_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl->GetNoProgressTimeout(This,Seconds)
345#define IBackgroundCopyJob3_GetErrorCount(This,Errors) (This)->lpVtbl->GetErrorCount(This,Errors)
346#define IBackgroundCopyJob3_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
347#define IBackgroundCopyJob3_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
348#define IBackgroundCopyJob3_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
349/*** IBackgroundCopyJob2 methods ***/
350#define IBackgroundCopyJob3_SetNotifyCmdLine(This,prog,params) (This)->lpVtbl->SetNotifyCmdLine(This,prog,params)
351#define IBackgroundCopyJob3_GetNotifyCmdLine(This,prog,params) (This)->lpVtbl->GetNotifyCmdLine(This,prog,params)
352#define IBackgroundCopyJob3_GetReplyProgress(This,progress) (This)->lpVtbl->GetReplyProgress(This,progress)
353#define IBackgroundCopyJob3_GetReplyData(This,pBuffer,pLength) (This)->lpVtbl->GetReplyData(This,pBuffer,pLength)
354#define IBackgroundCopyJob3_SetReplyFileName(This,filename) (This)->lpVtbl->SetReplyFileName(This,filename)
355#define IBackgroundCopyJob3_GetReplyFileName(This,pFilename) (This)->lpVtbl->GetReplyFileName(This,pFilename)
356#define IBackgroundCopyJob3_SetCredentials(This,cred) (This)->lpVtbl->SetCredentials(This,cred)
357#define IBackgroundCopyJob3_RemoveCredentials(This,target,scheme) (This)->lpVtbl->RemoveCredentials(This,target,scheme)
358/*** IBackgroundCopyJob3 methods ***/
359#define IBackgroundCopyJob3_ReplaceRemotePrefix(This,OldPrefix,NewPrefix) (This)->lpVtbl->ReplaceRemotePrefix(This,OldPrefix,NewPrefix)
360#define IBackgroundCopyJob3_AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges) (This)->lpVtbl->AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges)
361#define IBackgroundCopyJob3_SetFileACLFlags(This,Flags) (This)->lpVtbl->SetFileACLFlags(This,Flags)
362#define IBackgroundCopyJob3_GetFileACLFlags(This,Flags) (This)->lpVtbl->GetFileACLFlags(This,Flags)
363#else
364/*** IUnknown methods ***/
365static FORCEINLINE HRESULT IBackgroundCopyJob3_QueryInterface(IBackgroundCopyJob3* This,REFIID riid,void **ppvObject) {
366 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
367}
368static FORCEINLINE ULONG IBackgroundCopyJob3_AddRef(IBackgroundCopyJob3* This) {
369 return This->lpVtbl->AddRef(This);
370}
371static FORCEINLINE ULONG IBackgroundCopyJob3_Release(IBackgroundCopyJob3* This) {
372 return This->lpVtbl->Release(This);
373}
374/*** IBackgroundCopyJob methods ***/
375static FORCEINLINE HRESULT IBackgroundCopyJob3_AddFileSet(IBackgroundCopyJob3* This,ULONG cFileCount,BG_FILE_INFO *pFileSet) {
376 return This->lpVtbl->AddFileSet(This,cFileCount,pFileSet);
377}
378static FORCEINLINE HRESULT IBackgroundCopyJob3_AddFile(IBackgroundCopyJob3* This,LPCWSTR RemoteUrl,LPCWSTR LocalName) {
379 return This->lpVtbl->AddFile(This,RemoteUrl,LocalName);
380}
381static FORCEINLINE HRESULT IBackgroundCopyJob3_EnumFiles(IBackgroundCopyJob3* This,IEnumBackgroundCopyFiles **pEnum) {
382 return This->lpVtbl->EnumFiles(This,pEnum);
383}
384static FORCEINLINE HRESULT IBackgroundCopyJob3_Suspend(IBackgroundCopyJob3* This) {
385 return This->lpVtbl->Suspend(This);
386}
387static FORCEINLINE HRESULT IBackgroundCopyJob3_Resume(IBackgroundCopyJob3* This) {
388 return This->lpVtbl->Resume(This);
389}
390static FORCEINLINE HRESULT IBackgroundCopyJob3_Cancel(IBackgroundCopyJob3* This) {
391 return This->lpVtbl->Cancel(This);
392}
393static FORCEINLINE HRESULT IBackgroundCopyJob3_Complete(IBackgroundCopyJob3* This) {
394 return This->lpVtbl->Complete(This);
395}
396static FORCEINLINE HRESULT IBackgroundCopyJob3_GetId(IBackgroundCopyJob3* This,GUID *pVal) {
397 return This->lpVtbl->GetId(This,pVal);
398}
399static FORCEINLINE HRESULT IBackgroundCopyJob3_GetType(IBackgroundCopyJob3* This,BG_JOB_TYPE *pVal) {
400 return This->lpVtbl->GetType(This,pVal);
401}
402static FORCEINLINE HRESULT IBackgroundCopyJob3_GetProgress(IBackgroundCopyJob3* This,BG_JOB_PROGRESS *pVal) {
403 return This->lpVtbl->GetProgress(This,pVal);
404}
405static FORCEINLINE HRESULT IBackgroundCopyJob3_GetTimes(IBackgroundCopyJob3* This,BG_JOB_TIMES *pVal) {
406 return This->lpVtbl->GetTimes(This,pVal);
407}
408static FORCEINLINE HRESULT IBackgroundCopyJob3_GetState(IBackgroundCopyJob3* This,BG_JOB_STATE *pVal) {
409 return This->lpVtbl->GetState(This,pVal);
410}
411static FORCEINLINE HRESULT IBackgroundCopyJob3_GetError(IBackgroundCopyJob3* This,IBackgroundCopyError **ppError) {
412 return This->lpVtbl->GetError(This,ppError);
413}
414static FORCEINLINE HRESULT IBackgroundCopyJob3_GetOwner(IBackgroundCopyJob3* This,LPWSTR *pVal) {
415 return This->lpVtbl->GetOwner(This,pVal);
416}
417static FORCEINLINE HRESULT IBackgroundCopyJob3_SetDisplayName(IBackgroundCopyJob3* This,LPCWSTR Val) {
418 return This->lpVtbl->SetDisplayName(This,Val);
419}
420static FORCEINLINE HRESULT IBackgroundCopyJob3_GetDisplayName(IBackgroundCopyJob3* This,LPWSTR *pVal) {
421 return This->lpVtbl->GetDisplayName(This,pVal);
422}
423static FORCEINLINE HRESULT IBackgroundCopyJob3_SetDescription(IBackgroundCopyJob3* This,LPCWSTR Val) {
424 return This->lpVtbl->SetDescription(This,Val);
425}
426static FORCEINLINE HRESULT IBackgroundCopyJob3_GetDescription(IBackgroundCopyJob3* This,LPWSTR *pVal) {
427 return This->lpVtbl->GetDescription(This,pVal);
428}
429static FORCEINLINE HRESULT IBackgroundCopyJob3_SetPriority(IBackgroundCopyJob3* This,BG_JOB_PRIORITY Val) {
430 return This->lpVtbl->SetPriority(This,Val);
431}
432static FORCEINLINE HRESULT IBackgroundCopyJob3_GetPriority(IBackgroundCopyJob3* This,BG_JOB_PRIORITY *pVal) {
433 return This->lpVtbl->GetPriority(This,pVal);
434}
435static FORCEINLINE HRESULT IBackgroundCopyJob3_SetNotifyFlags(IBackgroundCopyJob3* This,ULONG Val) {
436 return This->lpVtbl->SetNotifyFlags(This,Val);
437}
438static FORCEINLINE HRESULT IBackgroundCopyJob3_GetNotifyFlags(IBackgroundCopyJob3* This,ULONG *pVal) {
439 return This->lpVtbl->GetNotifyFlags(This,pVal);
440}
441static FORCEINLINE HRESULT IBackgroundCopyJob3_SetNotifyInterface(IBackgroundCopyJob3* This,IUnknown *Val) {
442 return This->lpVtbl->SetNotifyInterface(This,Val);
443}
444static FORCEINLINE HRESULT IBackgroundCopyJob3_GetNotifyInterface(IBackgroundCopyJob3* This,IUnknown **pVal) {
445 return This->lpVtbl->GetNotifyInterface(This,pVal);
446}
447static FORCEINLINE HRESULT IBackgroundCopyJob3_SetMinimumRetryDelay(IBackgroundCopyJob3* This,ULONG Seconds) {
448 return This->lpVtbl->SetMinimumRetryDelay(This,Seconds);
449}
450static FORCEINLINE HRESULT IBackgroundCopyJob3_GetMinimumRetryDelay(IBackgroundCopyJob3* This,ULONG *Seconds) {
451 return This->lpVtbl->GetMinimumRetryDelay(This,Seconds);
452}
453static FORCEINLINE HRESULT IBackgroundCopyJob3_SetNoProgressTimeout(IBackgroundCopyJob3* This,ULONG Seconds) {
454 return This->lpVtbl->SetNoProgressTimeout(This,Seconds);
455}
456static FORCEINLINE HRESULT IBackgroundCopyJob3_GetNoProgressTimeout(IBackgroundCopyJob3* This,ULONG *Seconds) {
457 return This->lpVtbl->GetNoProgressTimeout(This,Seconds);
458}
459static FORCEINLINE HRESULT IBackgroundCopyJob3_GetErrorCount(IBackgroundCopyJob3* This,ULONG *Errors) {
460 return This->lpVtbl->GetErrorCount(This,Errors);
461}
462static FORCEINLINE HRESULT IBackgroundCopyJob3_SetProxySettings(IBackgroundCopyJob3* This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) {
463 return This->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList);
464}
465static FORCEINLINE HRESULT IBackgroundCopyJob3_GetProxySettings(IBackgroundCopyJob3* This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) {
466 return This->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList);
467}
468static FORCEINLINE HRESULT IBackgroundCopyJob3_TakeOwnership(IBackgroundCopyJob3* This) {
469 return This->lpVtbl->TakeOwnership(This);
470}
471/*** IBackgroundCopyJob2 methods ***/
472static FORCEINLINE HRESULT IBackgroundCopyJob3_SetNotifyCmdLine(IBackgroundCopyJob3* This,LPCWSTR prog,LPCWSTR params) {
473 return This->lpVtbl->SetNotifyCmdLine(This,prog,params);
474}
475static FORCEINLINE HRESULT IBackgroundCopyJob3_GetNotifyCmdLine(IBackgroundCopyJob3* This,LPWSTR *prog,LPWSTR *params) {
476 return This->lpVtbl->GetNotifyCmdLine(This,prog,params);
477}
478static FORCEINLINE HRESULT IBackgroundCopyJob3_GetReplyProgress(IBackgroundCopyJob3* This,BG_JOB_REPLY_PROGRESS *progress) {
479 return This->lpVtbl->GetReplyProgress(This,progress);
480}
481static FORCEINLINE HRESULT IBackgroundCopyJob3_GetReplyData(IBackgroundCopyJob3* This,byte **pBuffer,UINT64 *pLength) {
482 return This->lpVtbl->GetReplyData(This,pBuffer,pLength);
483}
484static FORCEINLINE HRESULT IBackgroundCopyJob3_SetReplyFileName(IBackgroundCopyJob3* This,LPCWSTR filename) {
485 return This->lpVtbl->SetReplyFileName(This,filename);
486}
487static FORCEINLINE HRESULT IBackgroundCopyJob3_GetReplyFileName(IBackgroundCopyJob3* This,LPWSTR *pFilename) {
488 return This->lpVtbl->GetReplyFileName(This,pFilename);
489}
490static FORCEINLINE HRESULT IBackgroundCopyJob3_SetCredentials(IBackgroundCopyJob3* This,BG_AUTH_CREDENTIALS *cred) {
491 return This->lpVtbl->SetCredentials(This,cred);
492}
493static FORCEINLINE HRESULT IBackgroundCopyJob3_RemoveCredentials(IBackgroundCopyJob3* This,BG_AUTH_TARGET target,BG_AUTH_SCHEME scheme) {
494 return This->lpVtbl->RemoveCredentials(This,target,scheme);
495}
496/*** IBackgroundCopyJob3 methods ***/
497static FORCEINLINE HRESULT IBackgroundCopyJob3_ReplaceRemotePrefix(IBackgroundCopyJob3* This,LPCWSTR OldPrefix,LPCWSTR NewPrefix) {
498 return This->lpVtbl->ReplaceRemotePrefix(This,OldPrefix,NewPrefix);
499}
500static FORCEINLINE HRESULT IBackgroundCopyJob3_AddFileWithRanges(IBackgroundCopyJob3* This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]) {
501 return This->lpVtbl->AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges);
502}
503static FORCEINLINE HRESULT IBackgroundCopyJob3_SetFileACLFlags(IBackgroundCopyJob3* This,DWORD Flags) {
504 return This->lpVtbl->SetFileACLFlags(This,Flags);
505}
506static FORCEINLINE HRESULT IBackgroundCopyJob3_GetFileACLFlags(IBackgroundCopyJob3* This,DWORD *Flags) {
507 return This->lpVtbl->GetFileACLFlags(This,Flags);
508}
190509#endif
191510#endif
192 HRESULT WINAPI IBackgroundCopyJob3_ReplaceRemotePrefix_Proxy(IBackgroundCopyJob3 *This,LPCWSTR OldPrefix,LPCWSTR NewPrefix);
193 void __RPC_STUB IBackgroundCopyJob3_ReplaceRemotePrefix_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
194 HRESULT WINAPI IBackgroundCopyJob3_AddFileWithRanges_Proxy(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]);
195 void __RPC_STUB IBackgroundCopyJob3_AddFileWithRanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
196 HRESULT WINAPI IBackgroundCopyJob3_SetFileACLFlags_Proxy(IBackgroundCopyJob3 *This,DWORD Flags);
197 void __RPC_STUB IBackgroundCopyJob3_SetFileACLFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
198 HRESULT WINAPI IBackgroundCopyJob3_GetFileACLFlags_Proxy(IBackgroundCopyJob3 *This,DWORD *Flags);
199 void __RPC_STUB IBackgroundCopyJob3_GetFileACLFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
511
200512#endif
201513
514
515#endif /* __IBackgroundCopyJob3_INTERFACE_DEFINED__ */
516
517/*****************************************************************************
518 * IBackgroundCopyFile2 interface
519 */
202520#ifndef __IBackgroundCopyFile2_INTERFACE_DEFINED__
203521#define __IBackgroundCopyFile2_INTERFACE_DEFINED__
204 EXTERN_C const IID IID_IBackgroundCopyFile2;
522
523DEFINE_GUID(IID_IBackgroundCopyFile2, 0x83e81b93, 0x0873, 0x474d, 0x8a,0x8c, 0xf2,0x01,0x8b,0x1a,0x93,0x9c);
205524#if defined(__cplusplus) && !defined(CINTERFACE)
206 struct IBackgroundCopyFile2 : public IBackgroundCopyFile {
207 public:
208 virtual HRESULT WINAPI GetFileRanges(DWORD *RangeCount,BG_FILE_RANGE **Ranges) = 0;
209 virtual HRESULT WINAPI SetRemoteName(LPCWSTR Val) = 0;
210 };
525MIDL_INTERFACE("83e81b93-0873-474d-8a8c-f2018b1a939c")
526IBackgroundCopyFile2 : public IBackgroundCopyFile
527{
528 virtual HRESULT STDMETHODCALLTYPE GetFileRanges(
529 DWORD *RangeCount,
530 BG_FILE_RANGE **Ranges) = 0;
531
532 virtual HRESULT STDMETHODCALLTYPE SetRemoteName(
533 LPCWSTR Val) = 0;
534
535};
536#ifdef __CRT_UUID_DECL
537__CRT_UUID_DECL(IBackgroundCopyFile2, 0x83e81b93, 0x0873, 0x474d, 0x8a,0x8c, 0xf2,0x01,0x8b,0x1a,0x93,0x9c)
538#endif
211539#else
212 typedef struct IBackgroundCopyFile2Vtbl {
540typedef struct IBackgroundCopyFile2Vtbl {
213541 BEGIN_INTERFACE
214 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyFile2 *This,REFIID riid,void **ppvObject);
215 ULONG (WINAPI *AddRef)(IBackgroundCopyFile2 *This);
216 ULONG (WINAPI *Release)(IBackgroundCopyFile2 *This);
217 HRESULT (WINAPI *GetRemoteName)(IBackgroundCopyFile2 *This,LPWSTR *pVal);
218 HRESULT (WINAPI *GetLocalName)(IBackgroundCopyFile2 *This,LPWSTR *pVal);
219 HRESULT (WINAPI *GetProgress)(IBackgroundCopyFile2 *This,BG_FILE_PROGRESS *pVal);
220 HRESULT (WINAPI *GetFileRanges)(IBackgroundCopyFile2 *This,DWORD *RangeCount,BG_FILE_RANGE **Ranges);
221 HRESULT (WINAPI *SetRemoteName)(IBackgroundCopyFile2 *This,LPCWSTR Val);
542
543 /*** IUnknown methods ***/
544 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
545 IBackgroundCopyFile2 *This,
546 REFIID riid,
547 void **ppvObject);
548
549 ULONG (STDMETHODCALLTYPE *AddRef)(
550 IBackgroundCopyFile2 *This);
551
552 ULONG (STDMETHODCALLTYPE *Release)(
553 IBackgroundCopyFile2 *This);
554
555 /*** IBackgroundCopyFile methods ***/
556 HRESULT (STDMETHODCALLTYPE *GetRemoteName)(
557 IBackgroundCopyFile2 *This,
558 LPWSTR *pVal);
559
560 HRESULT (STDMETHODCALLTYPE *GetLocalName)(
561 IBackgroundCopyFile2 *This,
562 LPWSTR *pVal);
563
564 HRESULT (STDMETHODCALLTYPE *GetProgress)(
565 IBackgroundCopyFile2 *This,
566 BG_FILE_PROGRESS *pVal);
567
568 /*** IBackgroundCopyFile2 methods ***/
569 HRESULT (STDMETHODCALLTYPE *GetFileRanges)(
570 IBackgroundCopyFile2 *This,
571 DWORD *RangeCount,
572 BG_FILE_RANGE **Ranges);
573
574 HRESULT (STDMETHODCALLTYPE *SetRemoteName)(
575 IBackgroundCopyFile2 *This,
576 LPCWSTR Val);
577
222578 END_INTERFACE
223 } IBackgroundCopyFile2Vtbl;
224 struct IBackgroundCopyFile2 {
225 CONST_VTBL struct IBackgroundCopyFile2Vtbl *lpVtbl;
226 };
579} IBackgroundCopyFile2Vtbl;
580
581interface IBackgroundCopyFile2 {
582 CONST_VTBL IBackgroundCopyFile2Vtbl* lpVtbl;
583};
584
227585#ifdef COBJMACROS
228#define IBackgroundCopyFile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
229#define IBackgroundCopyFile2_AddRef(This) (This)->lpVtbl -> AddRef(This)
230#define IBackgroundCopyFile2_Release(This) (This)->lpVtbl -> Release(This)
231#define IBackgroundCopyFile2_GetRemoteName(This,pVal) (This)->lpVtbl -> GetRemoteName(This,pVal)
232#define IBackgroundCopyFile2_GetLocalName(This,pVal) (This)->lpVtbl -> GetLocalName(This,pVal)
233#define IBackgroundCopyFile2_GetProgress(This,pVal) (This)->lpVtbl -> GetProgress(This,pVal)
234#define IBackgroundCopyFile2_GetFileRanges(This,RangeCount,Ranges) (This)->lpVtbl -> GetFileRanges(This,RangeCount,Ranges)
235#define IBackgroundCopyFile2_SetRemoteName(This,Val) (This)->lpVtbl -> SetRemoteName(This,Val)
586#ifndef WIDL_C_INLINE_WRAPPERS
587/*** IUnknown methods ***/
588#define IBackgroundCopyFile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
589#define IBackgroundCopyFile2_AddRef(This) (This)->lpVtbl->AddRef(This)
590#define IBackgroundCopyFile2_Release(This) (This)->lpVtbl->Release(This)
591/*** IBackgroundCopyFile methods ***/
592#define IBackgroundCopyFile2_GetRemoteName(This,pVal) (This)->lpVtbl->GetRemoteName(This,pVal)
593#define IBackgroundCopyFile2_GetLocalName(This,pVal) (This)->lpVtbl->GetLocalName(This,pVal)
594#define IBackgroundCopyFile2_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
595/*** IBackgroundCopyFile2 methods ***/
596#define IBackgroundCopyFile2_GetFileRanges(This,RangeCount,Ranges) (This)->lpVtbl->GetFileRanges(This,RangeCount,Ranges)
597#define IBackgroundCopyFile2_SetRemoteName(This,Val) (This)->lpVtbl->SetRemoteName(This,Val)
598#else
599/*** IUnknown methods ***/
600static FORCEINLINE HRESULT IBackgroundCopyFile2_QueryInterface(IBackgroundCopyFile2* This,REFIID riid,void **ppvObject) {
601 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
602}
603static FORCEINLINE ULONG IBackgroundCopyFile2_AddRef(IBackgroundCopyFile2* This) {
604 return This->lpVtbl->AddRef(This);
605}
606static FORCEINLINE ULONG IBackgroundCopyFile2_Release(IBackgroundCopyFile2* This) {
607 return This->lpVtbl->Release(This);
608}
609/*** IBackgroundCopyFile methods ***/
610static FORCEINLINE HRESULT IBackgroundCopyFile2_GetRemoteName(IBackgroundCopyFile2* This,LPWSTR *pVal) {
611 return This->lpVtbl->GetRemoteName(This,pVal);
612}
613static FORCEINLINE HRESULT IBackgroundCopyFile2_GetLocalName(IBackgroundCopyFile2* This,LPWSTR *pVal) {
614 return This->lpVtbl->GetLocalName(This,pVal);
615}
616static FORCEINLINE HRESULT IBackgroundCopyFile2_GetProgress(IBackgroundCopyFile2* This,BG_FILE_PROGRESS *pVal) {
617 return This->lpVtbl->GetProgress(This,pVal);
618}
619/*** IBackgroundCopyFile2 methods ***/
620static FORCEINLINE HRESULT IBackgroundCopyFile2_GetFileRanges(IBackgroundCopyFile2* This,DWORD *RangeCount,BG_FILE_RANGE **Ranges) {
621 return This->lpVtbl->GetFileRanges(This,RangeCount,Ranges);
622}
623static FORCEINLINE HRESULT IBackgroundCopyFile2_SetRemoteName(IBackgroundCopyFile2* This,LPCWSTR Val) {
624 return This->lpVtbl->SetRemoteName(This,Val);
625}
236626#endif
237627#endif
238 HRESULT WINAPI IBackgroundCopyFile2_GetFileRanges_Proxy(IBackgroundCopyFile2 *This,DWORD *RangeCount,BG_FILE_RANGE **Ranges);
239 void __RPC_STUB IBackgroundCopyFile2_GetFileRanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
240 HRESULT WINAPI IBackgroundCopyFile2_SetRemoteName_Proxy(IBackgroundCopyFile2 *This,LPCWSTR Val);
241 void __RPC_STUB IBackgroundCopyFile2_SetRemoteName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
628
242629#endif
243630
631
632#endif /* __IBackgroundCopyFile2_INTERFACE_DEFINED__ */
633
244634#ifndef __BackgroundCopyManager2_0_LIBRARY_DEFINED__
245635#define __BackgroundCopyManager2_0_LIBRARY_DEFINED__
246 EXTERN_C const IID LIBID_BackgroundCopyManager2_0;
247 EXTERN_C const CLSID CLSID_BackgroundCopyManager2_0;
636
637DEFINE_GUID(LIBID_BackgroundCopyManager2_0, 0x2289a9af, 0xdc96, 0x486e, 0xb2,0x68, 0x89,0xc9,0xe3,0x39,0x7c,0x3d);
638
639/*****************************************************************************
640 * BackgroundCopyManager2_0 coclass
641 */
642
643DEFINE_GUID(CLSID_BackgroundCopyManager2_0, 0x6d18ad12, 0xbde3, 0x4393, 0xb3,0x11, 0x09,0x9c,0x34,0x6e,0x6d,0xf9);
644
248645#ifdef __cplusplus
249 class BackgroundCopyManager2_0;
646class DECLSPEC_UUID("6d18ad12-bde3-4393-b311-099c346e6df9") BackgroundCopyManager2_0;
647#ifdef __CRT_UUID_DECL
648__CRT_UUID_DECL(BackgroundCopyManager2_0, 0x6d18ad12, 0xbde3, 0x4393, 0xb3,0x11, 0x09,0x9c,0x34,0x6e,0x6d,0xf9)
250649#endif
251650#endif
252651
652#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
653#define __IBackgroundCopyCallback_FWD_DEFINED__
654typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
253655#ifdef __cplusplus
254}
656interface IBackgroundCopyCallback;
657#endif /* __cplusplus */
658#endif
659
660#ifndef __IBackgroundCopyJob3_FWD_DEFINED__
661#define __IBackgroundCopyJob3_FWD_DEFINED__
662typedef interface IBackgroundCopyJob3 IBackgroundCopyJob3;
663#ifdef __cplusplus
664interface IBackgroundCopyJob3;
665#endif /* __cplusplus */
666#endif
667
668#ifndef __IBackgroundCopyFile2_FWD_DEFINED__
669#define __IBackgroundCopyFile2_FWD_DEFINED__
670typedef interface IBackgroundCopyFile2 IBackgroundCopyFile2;
671#ifdef __cplusplus
672interface IBackgroundCopyFile2;
673#endif /* __cplusplus */
255674#endif
675
676#endif /* __BackgroundCopyManager2_0_LIBRARY_DEFINED__ */
677#include "bits2_5.h"
678/* Begin additional prototypes for all interfaces */
679
680
681/* End additional prototypes */
682
683#ifdef __cplusplus
684}
256685#endif
686
687#endif /* __bits2_0_h__ */
lib/libc/include/any-windows-any/bits2_5.h created+270
......@@ -0,0 +1,270 @@
1/*** Autogenerated by WIDL 7.0 from include/bits2_5.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __bits2_5_h__
17#define __bits2_5_h__
18
19/* Forward declarations */
20
21#ifndef __IBackgroundCopyJobHttpOptions_FWD_DEFINED__
22#define __IBackgroundCopyJobHttpOptions_FWD_DEFINED__
23typedef interface IBackgroundCopyJobHttpOptions IBackgroundCopyJobHttpOptions;
24#ifdef __cplusplus
25interface IBackgroundCopyJobHttpOptions;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __BackgroundCopyManager2_5_FWD_DEFINED__
30#define __BackgroundCopyManager2_5_FWD_DEFINED__
31#ifdef __cplusplus
32typedef class BackgroundCopyManager2_5 BackgroundCopyManager2_5;
33#else
34typedef struct BackgroundCopyManager2_5 BackgroundCopyManager2_5;
35#endif /* defined __cplusplus */
36#endif /* defined __BackgroundCopyManager2_5_FWD_DEFINED__ */
37
38/* Headers for imported files */
39
40#include <bits.h>
41#include <bits1_5.h>
42#include <bits2_0.h>
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48/*****************************************************************************
49 * IBackgroundCopyJobHttpOptions interface
50 */
51#ifndef __IBackgroundCopyJobHttpOptions_INTERFACE_DEFINED__
52#define __IBackgroundCopyJobHttpOptions_INTERFACE_DEFINED__
53
54typedef enum __WIDL_bits2_5_generated_name_00000016 {
55 BG_CERT_STORE_LOCATION_CURRENT_USER = 0,
56 BG_CERT_STORE_LOCATION_LOCAL_MACHINE = 1,
57 BG_CERT_STORE_LOCATION_CURRENT_SERVICE = 2,
58 BG_CERT_STORE_LOCATION_SERVICES = 3,
59 BG_CERT_STORE_LOCATION_USERS = 4,
60 BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY = 5,
61 BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY = 6,
62 BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE = 7
63} BG_CERT_STORE_LOCATION;
64DEFINE_GUID(IID_IBackgroundCopyJobHttpOptions, 0xf1bd1079, 0x9f01, 0x4bdc, 0x80,0x36, 0xf0,0x9b,0x70,0x09,0x50,0x66);
65#if defined(__cplusplus) && !defined(CINTERFACE)
66MIDL_INTERFACE("f1bd1079-9f01-4bdc-8036-f09b70095066")
67IBackgroundCopyJobHttpOptions : public IUnknown
68{
69 virtual HRESULT STDMETHODCALLTYPE SetClientCertificateByID(
70 BG_CERT_STORE_LOCATION StoreLocation,
71 LPCWSTR StoreName,
72 BYTE *pCertHashBlob) = 0;
73
74 virtual HRESULT STDMETHODCALLTYPE SetClientCertificateByName(
75 BG_CERT_STORE_LOCATION StoreLocation,
76 LPCWSTR StoreName,
77 LPCWSTR SubjectName) = 0;
78
79 virtual HRESULT STDMETHODCALLTYPE RemoveClientCertificate(
80 ) = 0;
81
82 virtual HRESULT STDMETHODCALLTYPE GetClientCertificate(
83 BG_CERT_STORE_LOCATION *pStoreLocation,
84 LPWSTR *pStoreName,
85 BYTE **ppCertHashBlob,
86 LPWSTR *pSubjectName) = 0;
87
88 virtual HRESULT STDMETHODCALLTYPE SetCustomHeaders(
89 LPCWSTR RequestHeaders) = 0;
90
91 virtual HRESULT STDMETHODCALLTYPE GetCustomHeaders(
92 LPWSTR *pRequestHeaders) = 0;
93
94 virtual HRESULT STDMETHODCALLTYPE SetSecurityFlags(
95 ULONG Flags) = 0;
96
97 virtual HRESULT STDMETHODCALLTYPE GetSecurityFlags(
98 ULONG *pFlags) = 0;
99
100};
101#ifdef __CRT_UUID_DECL
102__CRT_UUID_DECL(IBackgroundCopyJobHttpOptions, 0xf1bd1079, 0x9f01, 0x4bdc, 0x80,0x36, 0xf0,0x9b,0x70,0x09,0x50,0x66)
103#endif
104#else
105typedef struct IBackgroundCopyJobHttpOptionsVtbl {
106 BEGIN_INTERFACE
107
108 /*** IUnknown methods ***/
109 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
110 IBackgroundCopyJobHttpOptions *This,
111 REFIID riid,
112 void **ppvObject);
113
114 ULONG (STDMETHODCALLTYPE *AddRef)(
115 IBackgroundCopyJobHttpOptions *This);
116
117 ULONG (STDMETHODCALLTYPE *Release)(
118 IBackgroundCopyJobHttpOptions *This);
119
120 /*** IBackgroundCopyJobHttpOptions methods ***/
121 HRESULT (STDMETHODCALLTYPE *SetClientCertificateByID)(
122 IBackgroundCopyJobHttpOptions *This,
123 BG_CERT_STORE_LOCATION StoreLocation,
124 LPCWSTR StoreName,
125 BYTE *pCertHashBlob);
126
127 HRESULT (STDMETHODCALLTYPE *SetClientCertificateByName)(
128 IBackgroundCopyJobHttpOptions *This,
129 BG_CERT_STORE_LOCATION StoreLocation,
130 LPCWSTR StoreName,
131 LPCWSTR SubjectName);
132
133 HRESULT (STDMETHODCALLTYPE *RemoveClientCertificate)(
134 IBackgroundCopyJobHttpOptions *This);
135
136 HRESULT (STDMETHODCALLTYPE *GetClientCertificate)(
137 IBackgroundCopyJobHttpOptions *This,
138 BG_CERT_STORE_LOCATION *pStoreLocation,
139 LPWSTR *pStoreName,
140 BYTE **ppCertHashBlob,
141 LPWSTR *pSubjectName);
142
143 HRESULT (STDMETHODCALLTYPE *SetCustomHeaders)(
144 IBackgroundCopyJobHttpOptions *This,
145 LPCWSTR RequestHeaders);
146
147 HRESULT (STDMETHODCALLTYPE *GetCustomHeaders)(
148 IBackgroundCopyJobHttpOptions *This,
149 LPWSTR *pRequestHeaders);
150
151 HRESULT (STDMETHODCALLTYPE *SetSecurityFlags)(
152 IBackgroundCopyJobHttpOptions *This,
153 ULONG Flags);
154
155 HRESULT (STDMETHODCALLTYPE *GetSecurityFlags)(
156 IBackgroundCopyJobHttpOptions *This,
157 ULONG *pFlags);
158
159 END_INTERFACE
160} IBackgroundCopyJobHttpOptionsVtbl;
161
162interface IBackgroundCopyJobHttpOptions {
163 CONST_VTBL IBackgroundCopyJobHttpOptionsVtbl* lpVtbl;
164};
165
166#ifdef COBJMACROS
167#ifndef WIDL_C_INLINE_WRAPPERS
168/*** IUnknown methods ***/
169#define IBackgroundCopyJobHttpOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
170#define IBackgroundCopyJobHttpOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
171#define IBackgroundCopyJobHttpOptions_Release(This) (This)->lpVtbl->Release(This)
172/*** IBackgroundCopyJobHttpOptions methods ***/
173#define IBackgroundCopyJobHttpOptions_SetClientCertificateByID(This,StoreLocation,StoreName,pCertHashBlob) (This)->lpVtbl->SetClientCertificateByID(This,StoreLocation,StoreName,pCertHashBlob)
174#define IBackgroundCopyJobHttpOptions_SetClientCertificateByName(This,StoreLocation,StoreName,SubjectName) (This)->lpVtbl->SetClientCertificateByName(This,StoreLocation,StoreName,SubjectName)
175#define IBackgroundCopyJobHttpOptions_RemoveClientCertificate(This) (This)->lpVtbl->RemoveClientCertificate(This)
176#define IBackgroundCopyJobHttpOptions_GetClientCertificate(This,pStoreLocation,pStoreName,ppCertHashBlob,pSubjectName) (This)->lpVtbl->GetClientCertificate(This,pStoreLocation,pStoreName,ppCertHashBlob,pSubjectName)
177#define IBackgroundCopyJobHttpOptions_SetCustomHeaders(This,RequestHeaders) (This)->lpVtbl->SetCustomHeaders(This,RequestHeaders)
178#define IBackgroundCopyJobHttpOptions_GetCustomHeaders(This,pRequestHeaders) (This)->lpVtbl->GetCustomHeaders(This,pRequestHeaders)
179#define IBackgroundCopyJobHttpOptions_SetSecurityFlags(This,Flags) (This)->lpVtbl->SetSecurityFlags(This,Flags)
180#define IBackgroundCopyJobHttpOptions_GetSecurityFlags(This,pFlags) (This)->lpVtbl->GetSecurityFlags(This,pFlags)
181#else
182/*** IUnknown methods ***/
183static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_QueryInterface(IBackgroundCopyJobHttpOptions* This,REFIID riid,void **ppvObject) {
184 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
185}
186static FORCEINLINE ULONG IBackgroundCopyJobHttpOptions_AddRef(IBackgroundCopyJobHttpOptions* This) {
187 return This->lpVtbl->AddRef(This);
188}
189static FORCEINLINE ULONG IBackgroundCopyJobHttpOptions_Release(IBackgroundCopyJobHttpOptions* This) {
190 return This->lpVtbl->Release(This);
191}
192/*** IBackgroundCopyJobHttpOptions methods ***/
193static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_SetClientCertificateByID(IBackgroundCopyJobHttpOptions* This,BG_CERT_STORE_LOCATION StoreLocation,LPCWSTR StoreName,BYTE *pCertHashBlob) {
194 return This->lpVtbl->SetClientCertificateByID(This,StoreLocation,StoreName,pCertHashBlob);
195}
196static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_SetClientCertificateByName(IBackgroundCopyJobHttpOptions* This,BG_CERT_STORE_LOCATION StoreLocation,LPCWSTR StoreName,LPCWSTR SubjectName) {
197 return This->lpVtbl->SetClientCertificateByName(This,StoreLocation,StoreName,SubjectName);
198}
199static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_RemoveClientCertificate(IBackgroundCopyJobHttpOptions* This) {
200 return This->lpVtbl->RemoveClientCertificate(This);
201}
202static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_GetClientCertificate(IBackgroundCopyJobHttpOptions* This,BG_CERT_STORE_LOCATION *pStoreLocation,LPWSTR *pStoreName,BYTE **ppCertHashBlob,LPWSTR *pSubjectName) {
203 return This->lpVtbl->GetClientCertificate(This,pStoreLocation,pStoreName,ppCertHashBlob,pSubjectName);
204}
205static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_SetCustomHeaders(IBackgroundCopyJobHttpOptions* This,LPCWSTR RequestHeaders) {
206 return This->lpVtbl->SetCustomHeaders(This,RequestHeaders);
207}
208static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_GetCustomHeaders(IBackgroundCopyJobHttpOptions* This,LPWSTR *pRequestHeaders) {
209 return This->lpVtbl->GetCustomHeaders(This,pRequestHeaders);
210}
211static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_SetSecurityFlags(IBackgroundCopyJobHttpOptions* This,ULONG Flags) {
212 return This->lpVtbl->SetSecurityFlags(This,Flags);
213}
214static FORCEINLINE HRESULT IBackgroundCopyJobHttpOptions_GetSecurityFlags(IBackgroundCopyJobHttpOptions* This,ULONG *pFlags) {
215 return This->lpVtbl->GetSecurityFlags(This,pFlags);
216}
217#endif
218#endif
219
220#endif
221
222
223#endif /* __IBackgroundCopyJobHttpOptions_INTERFACE_DEFINED__ */
224
225#ifndef __BackgroundCopyManager2_5_LIBRARY_DEFINED__
226#define __BackgroundCopyManager2_5_LIBRARY_DEFINED__
227
228DEFINE_GUID(LIBID_BackgroundCopyManager2_5, 0x4974177c, 0x3bb6, 0x4c37, 0x9f,0xf0, 0x6b,0x74,0x26,0xf0,0xab,0xa9);
229
230/*****************************************************************************
231 * BackgroundCopyManager2_5 coclass
232 */
233
234DEFINE_GUID(CLSID_BackgroundCopyManager2_5, 0x03ca98d6, 0xff5d, 0x49b8, 0xab,0xc6, 0x03,0xdd,0x84,0x12,0x70,0x20);
235
236#ifdef __cplusplus
237class DECLSPEC_UUID("03ca98d6-ff5d-49b8-abc6-03dd84127020") BackgroundCopyManager2_5;
238#ifdef __CRT_UUID_DECL
239__CRT_UUID_DECL(BackgroundCopyManager2_5, 0x03ca98d6, 0xff5d, 0x49b8, 0xab,0xc6, 0x03,0xdd,0x84,0x12,0x70,0x20)
240#endif
241#endif
242
243#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
244#define __IBackgroundCopyCallback_FWD_DEFINED__
245typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
246#ifdef __cplusplus
247interface IBackgroundCopyCallback;
248#endif /* __cplusplus */
249#endif
250
251#ifndef __IBackgroundCopyJobHttpOptions_FWD_DEFINED__
252#define __IBackgroundCopyJobHttpOptions_FWD_DEFINED__
253typedef interface IBackgroundCopyJobHttpOptions IBackgroundCopyJobHttpOptions;
254#ifdef __cplusplus
255interface IBackgroundCopyJobHttpOptions;
256#endif /* __cplusplus */
257#endif
258
259#endif /* __BackgroundCopyManager2_5_LIBRARY_DEFINED__ */
260#include "bits3_0.h"
261/* Begin additional prototypes for all interfaces */
262
263
264/* End additional prototypes */
265
266#ifdef __cplusplus
267}
268#endif
269
270#endif /* __bits2_5_h__ */
lib/libc/include/any-windows-any/bits3_0.h created+704
......@@ -0,0 +1,704 @@
1/*** Autogenerated by WIDL 7.0 from include/bits3_0.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __bits3_0_h__
17#define __bits3_0_h__
18
19/* Forward declarations */
20
21#ifndef __IBackgroundCopyCallback2_FWD_DEFINED__
22#define __IBackgroundCopyCallback2_FWD_DEFINED__
23typedef interface IBackgroundCopyCallback2 IBackgroundCopyCallback2;
24#ifdef __cplusplus
25interface IBackgroundCopyCallback2;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IBackgroundCopyJob4_FWD_DEFINED__
30#define __IBackgroundCopyJob4_FWD_DEFINED__
31typedef interface IBackgroundCopyJob4 IBackgroundCopyJob4;
32#ifdef __cplusplus
33interface IBackgroundCopyJob4;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __BackgroundCopyManager3_0_FWD_DEFINED__
38#define __BackgroundCopyManager3_0_FWD_DEFINED__
39#ifdef __cplusplus
40typedef class BackgroundCopyManager3_0 BackgroundCopyManager3_0;
41#else
42typedef struct BackgroundCopyManager3_0 BackgroundCopyManager3_0;
43#endif /* defined __cplusplus */
44#endif /* defined __BackgroundCopyManager3_0_FWD_DEFINED__ */
45
46/* Headers for imported files */
47
48#include <bits.h>
49#include <bits2_0.h>
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55/*****************************************************************************
56 * IBackgroundCopyCallback2 interface
57 */
58#ifndef __IBackgroundCopyCallback2_INTERFACE_DEFINED__
59#define __IBackgroundCopyCallback2_INTERFACE_DEFINED__
60
61DEFINE_GUID(IID_IBackgroundCopyCallback2, 0x659cdeac, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51);
62#if defined(__cplusplus) && !defined(CINTERFACE)
63MIDL_INTERFACE("659cdeac-489e-11d9-a9cd-000d56965251")
64IBackgroundCopyCallback2 : public IBackgroundCopyCallback
65{
66 virtual HRESULT STDMETHODCALLTYPE FileTransferred(
67 IBackgroundCopyJob *job,
68 IBackgroundCopyFile *file) = 0;
69
70};
71#ifdef __CRT_UUID_DECL
72__CRT_UUID_DECL(IBackgroundCopyCallback2, 0x659cdeac, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51)
73#endif
74#else
75typedef struct IBackgroundCopyCallback2Vtbl {
76 BEGIN_INTERFACE
77
78 /*** IUnknown methods ***/
79 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
80 IBackgroundCopyCallback2 *This,
81 REFIID riid,
82 void **ppvObject);
83
84 ULONG (STDMETHODCALLTYPE *AddRef)(
85 IBackgroundCopyCallback2 *This);
86
87 ULONG (STDMETHODCALLTYPE *Release)(
88 IBackgroundCopyCallback2 *This);
89
90 /*** IBackgroundCopyCallback methods ***/
91 HRESULT (STDMETHODCALLTYPE *JobTransferred)(
92 IBackgroundCopyCallback2 *This,
93 IBackgroundCopyJob *pJob);
94
95 HRESULT (STDMETHODCALLTYPE *JobError)(
96 IBackgroundCopyCallback2 *This,
97 IBackgroundCopyJob *pJob,
98 IBackgroundCopyError *pError);
99
100 HRESULT (STDMETHODCALLTYPE *JobModification)(
101 IBackgroundCopyCallback2 *This,
102 IBackgroundCopyJob *pJob,
103 DWORD dwReserved);
104
105 /*** IBackgroundCopyCallback2 methods ***/
106 HRESULT (STDMETHODCALLTYPE *FileTransferred)(
107 IBackgroundCopyCallback2 *This,
108 IBackgroundCopyJob *job,
109 IBackgroundCopyFile *file);
110
111 END_INTERFACE
112} IBackgroundCopyCallback2Vtbl;
113
114interface IBackgroundCopyCallback2 {
115 CONST_VTBL IBackgroundCopyCallback2Vtbl* lpVtbl;
116};
117
118#ifdef COBJMACROS
119#ifndef WIDL_C_INLINE_WRAPPERS
120/*** IUnknown methods ***/
121#define IBackgroundCopyCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
122#define IBackgroundCopyCallback2_AddRef(This) (This)->lpVtbl->AddRef(This)
123#define IBackgroundCopyCallback2_Release(This) (This)->lpVtbl->Release(This)
124/*** IBackgroundCopyCallback methods ***/
125#define IBackgroundCopyCallback2_JobTransferred(This,pJob) (This)->lpVtbl->JobTransferred(This,pJob)
126#define IBackgroundCopyCallback2_JobError(This,pJob,pError) (This)->lpVtbl->JobError(This,pJob,pError)
127#define IBackgroundCopyCallback2_JobModification(This,pJob,dwReserved) (This)->lpVtbl->JobModification(This,pJob,dwReserved)
128/*** IBackgroundCopyCallback2 methods ***/
129#define IBackgroundCopyCallback2_FileTransferred(This,job,file) (This)->lpVtbl->FileTransferred(This,job,file)
130#else
131/*** IUnknown methods ***/
132static FORCEINLINE HRESULT IBackgroundCopyCallback2_QueryInterface(IBackgroundCopyCallback2* This,REFIID riid,void **ppvObject) {
133 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
134}
135static FORCEINLINE ULONG IBackgroundCopyCallback2_AddRef(IBackgroundCopyCallback2* This) {
136 return This->lpVtbl->AddRef(This);
137}
138static FORCEINLINE ULONG IBackgroundCopyCallback2_Release(IBackgroundCopyCallback2* This) {
139 return This->lpVtbl->Release(This);
140}
141/*** IBackgroundCopyCallback methods ***/
142static FORCEINLINE HRESULT IBackgroundCopyCallback2_JobTransferred(IBackgroundCopyCallback2* This,IBackgroundCopyJob *pJob) {
143 return This->lpVtbl->JobTransferred(This,pJob);
144}
145static FORCEINLINE HRESULT IBackgroundCopyCallback2_JobError(IBackgroundCopyCallback2* This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError) {
146 return This->lpVtbl->JobError(This,pJob,pError);
147}
148static FORCEINLINE HRESULT IBackgroundCopyCallback2_JobModification(IBackgroundCopyCallback2* This,IBackgroundCopyJob *pJob,DWORD dwReserved) {
149 return This->lpVtbl->JobModification(This,pJob,dwReserved);
150}
151/*** IBackgroundCopyCallback2 methods ***/
152static FORCEINLINE HRESULT IBackgroundCopyCallback2_FileTransferred(IBackgroundCopyCallback2* This,IBackgroundCopyJob *job,IBackgroundCopyFile *file) {
153 return This->lpVtbl->FileTransferred(This,job,file);
154}
155#endif
156#endif
157
158#endif
159
160
161#endif /* __IBackgroundCopyCallback2_INTERFACE_DEFINED__ */
162
163/*****************************************************************************
164 * IBackgroundCopyJob4 interface
165 */
166#ifndef __IBackgroundCopyJob4_INTERFACE_DEFINED__
167#define __IBackgroundCopyJob4_INTERFACE_DEFINED__
168
169#define BG_JOB_ENABLE_PEERCACHING_CLIENT 0x0001
170#define BG_JOB_ENABLE_PEERCACHING_SERVER 0x0002
171#define BG_JOB_DISABLE_BRANCH_CACHE 0x0004
172DEFINE_GUID(IID_IBackgroundCopyJob4, 0x659cdeae, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51);
173#if defined(__cplusplus) && !defined(CINTERFACE)
174MIDL_INTERFACE("659cdeae-489e-11d9-a9cd-000d56965251")
175IBackgroundCopyJob4 : public IBackgroundCopyJob3
176{
177 virtual HRESULT STDMETHODCALLTYPE SetPeerCachingFlags(
178 DWORD flags) = 0;
179
180 virtual HRESULT STDMETHODCALLTYPE GetPeerCachingFlags(
181 DWORD *flags) = 0;
182
183 virtual HRESULT STDMETHODCALLTYPE GetOwnerIntegrityLevel(
184 ULONG *level) = 0;
185
186 virtual HRESULT STDMETHODCALLTYPE GetOwnerElevationState(
187 WINBOOL *elevated) = 0;
188
189 virtual HRESULT STDMETHODCALLTYPE SetMaximumDownloadTime(
190 ULONG timeout) = 0;
191
192 virtual HRESULT STDMETHODCALLTYPE GetMaximumDownloadTime(
193 ULONG *timeout) = 0;
194
195};
196#ifdef __CRT_UUID_DECL
197__CRT_UUID_DECL(IBackgroundCopyJob4, 0x659cdeae, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51)
198#endif
199#else
200typedef struct IBackgroundCopyJob4Vtbl {
201 BEGIN_INTERFACE
202
203 /*** IUnknown methods ***/
204 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
205 IBackgroundCopyJob4 *This,
206 REFIID riid,
207 void **ppvObject);
208
209 ULONG (STDMETHODCALLTYPE *AddRef)(
210 IBackgroundCopyJob4 *This);
211
212 ULONG (STDMETHODCALLTYPE *Release)(
213 IBackgroundCopyJob4 *This);
214
215 /*** IBackgroundCopyJob methods ***/
216 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
217 IBackgroundCopyJob4 *This,
218 ULONG cFileCount,
219 BG_FILE_INFO *pFileSet);
220
221 HRESULT (STDMETHODCALLTYPE *AddFile)(
222 IBackgroundCopyJob4 *This,
223 LPCWSTR RemoteUrl,
224 LPCWSTR LocalName);
225
226 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
227 IBackgroundCopyJob4 *This,
228 IEnumBackgroundCopyFiles **pEnum);
229
230 HRESULT (STDMETHODCALLTYPE *Suspend)(
231 IBackgroundCopyJob4 *This);
232
233 HRESULT (STDMETHODCALLTYPE *Resume)(
234 IBackgroundCopyJob4 *This);
235
236 HRESULT (STDMETHODCALLTYPE *Cancel)(
237 IBackgroundCopyJob4 *This);
238
239 HRESULT (STDMETHODCALLTYPE *Complete)(
240 IBackgroundCopyJob4 *This);
241
242 HRESULT (STDMETHODCALLTYPE *GetId)(
243 IBackgroundCopyJob4 *This,
244 GUID *pVal);
245
246 HRESULT (STDMETHODCALLTYPE *GetType)(
247 IBackgroundCopyJob4 *This,
248 BG_JOB_TYPE *pVal);
249
250 HRESULT (STDMETHODCALLTYPE *GetProgress)(
251 IBackgroundCopyJob4 *This,
252 BG_JOB_PROGRESS *pVal);
253
254 HRESULT (STDMETHODCALLTYPE *GetTimes)(
255 IBackgroundCopyJob4 *This,
256 BG_JOB_TIMES *pVal);
257
258 HRESULT (STDMETHODCALLTYPE *GetState)(
259 IBackgroundCopyJob4 *This,
260 BG_JOB_STATE *pVal);
261
262 HRESULT (STDMETHODCALLTYPE *GetError)(
263 IBackgroundCopyJob4 *This,
264 IBackgroundCopyError **ppError);
265
266 HRESULT (STDMETHODCALLTYPE *GetOwner)(
267 IBackgroundCopyJob4 *This,
268 LPWSTR *pVal);
269
270 HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
271 IBackgroundCopyJob4 *This,
272 LPCWSTR Val);
273
274 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
275 IBackgroundCopyJob4 *This,
276 LPWSTR *pVal);
277
278 HRESULT (STDMETHODCALLTYPE *SetDescription)(
279 IBackgroundCopyJob4 *This,
280 LPCWSTR Val);
281
282 HRESULT (STDMETHODCALLTYPE *GetDescription)(
283 IBackgroundCopyJob4 *This,
284 LPWSTR *pVal);
285
286 HRESULT (STDMETHODCALLTYPE *SetPriority)(
287 IBackgroundCopyJob4 *This,
288 BG_JOB_PRIORITY Val);
289
290 HRESULT (STDMETHODCALLTYPE *GetPriority)(
291 IBackgroundCopyJob4 *This,
292 BG_JOB_PRIORITY *pVal);
293
294 HRESULT (STDMETHODCALLTYPE *SetNotifyFlags)(
295 IBackgroundCopyJob4 *This,
296 ULONG Val);
297
298 HRESULT (STDMETHODCALLTYPE *GetNotifyFlags)(
299 IBackgroundCopyJob4 *This,
300 ULONG *pVal);
301
302 HRESULT (STDMETHODCALLTYPE *SetNotifyInterface)(
303 IBackgroundCopyJob4 *This,
304 IUnknown *Val);
305
306 HRESULT (STDMETHODCALLTYPE *GetNotifyInterface)(
307 IBackgroundCopyJob4 *This,
308 IUnknown **pVal);
309
310 HRESULT (STDMETHODCALLTYPE *SetMinimumRetryDelay)(
311 IBackgroundCopyJob4 *This,
312 ULONG Seconds);
313
314 HRESULT (STDMETHODCALLTYPE *GetMinimumRetryDelay)(
315 IBackgroundCopyJob4 *This,
316 ULONG *Seconds);
317
318 HRESULT (STDMETHODCALLTYPE *SetNoProgressTimeout)(
319 IBackgroundCopyJob4 *This,
320 ULONG Seconds);
321
322 HRESULT (STDMETHODCALLTYPE *GetNoProgressTimeout)(
323 IBackgroundCopyJob4 *This,
324 ULONG *Seconds);
325
326 HRESULT (STDMETHODCALLTYPE *GetErrorCount)(
327 IBackgroundCopyJob4 *This,
328 ULONG *Errors);
329
330 HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
331 IBackgroundCopyJob4 *This,
332 BG_JOB_PROXY_USAGE ProxyUsage,
333 const WCHAR *ProxyList,
334 const WCHAR *ProxyBypassList);
335
336 HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
337 IBackgroundCopyJob4 *This,
338 BG_JOB_PROXY_USAGE *pProxyUsage,
339 LPWSTR *pProxyList,
340 LPWSTR *pProxyBypassList);
341
342 HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
343 IBackgroundCopyJob4 *This);
344
345 /*** IBackgroundCopyJob2 methods ***/
346 HRESULT (STDMETHODCALLTYPE *SetNotifyCmdLine)(
347 IBackgroundCopyJob4 *This,
348 LPCWSTR prog,
349 LPCWSTR params);
350
351 HRESULT (STDMETHODCALLTYPE *GetNotifyCmdLine)(
352 IBackgroundCopyJob4 *This,
353 LPWSTR *prog,
354 LPWSTR *params);
355
356 HRESULT (STDMETHODCALLTYPE *GetReplyProgress)(
357 IBackgroundCopyJob4 *This,
358 BG_JOB_REPLY_PROGRESS *progress);
359
360 HRESULT (STDMETHODCALLTYPE *GetReplyData)(
361 IBackgroundCopyJob4 *This,
362 byte **pBuffer,
363 UINT64 *pLength);
364
365 HRESULT (STDMETHODCALLTYPE *SetReplyFileName)(
366 IBackgroundCopyJob4 *This,
367 LPCWSTR filename);
368
369 HRESULT (STDMETHODCALLTYPE *GetReplyFileName)(
370 IBackgroundCopyJob4 *This,
371 LPWSTR *pFilename);
372
373 HRESULT (STDMETHODCALLTYPE *SetCredentials)(
374 IBackgroundCopyJob4 *This,
375 BG_AUTH_CREDENTIALS *cred);
376
377 HRESULT (STDMETHODCALLTYPE *RemoveCredentials)(
378 IBackgroundCopyJob4 *This,
379 BG_AUTH_TARGET target,
380 BG_AUTH_SCHEME scheme);
381
382 /*** IBackgroundCopyJob3 methods ***/
383 HRESULT (STDMETHODCALLTYPE *ReplaceRemotePrefix)(
384 IBackgroundCopyJob4 *This,
385 LPCWSTR OldPrefix,
386 LPCWSTR NewPrefix);
387
388 HRESULT (STDMETHODCALLTYPE *AddFileWithRanges)(
389 IBackgroundCopyJob4 *This,
390 LPCWSTR RemoteUrl,
391 LPCWSTR LocalName,
392 DWORD RangeCount,
393 BG_FILE_RANGE Ranges[]);
394
395 HRESULT (STDMETHODCALLTYPE *SetFileACLFlags)(
396 IBackgroundCopyJob4 *This,
397 DWORD Flags);
398
399 HRESULT (STDMETHODCALLTYPE *GetFileACLFlags)(
400 IBackgroundCopyJob4 *This,
401 DWORD *Flags);
402
403 /*** IBackgroundCopyJob4 methods ***/
404 HRESULT (STDMETHODCALLTYPE *SetPeerCachingFlags)(
405 IBackgroundCopyJob4 *This,
406 DWORD flags);
407
408 HRESULT (STDMETHODCALLTYPE *GetPeerCachingFlags)(
409 IBackgroundCopyJob4 *This,
410 DWORD *flags);
411
412 HRESULT (STDMETHODCALLTYPE *GetOwnerIntegrityLevel)(
413 IBackgroundCopyJob4 *This,
414 ULONG *level);
415
416 HRESULT (STDMETHODCALLTYPE *GetOwnerElevationState)(
417 IBackgroundCopyJob4 *This,
418 WINBOOL *elevated);
419
420 HRESULT (STDMETHODCALLTYPE *SetMaximumDownloadTime)(
421 IBackgroundCopyJob4 *This,
422 ULONG timeout);
423
424 HRESULT (STDMETHODCALLTYPE *GetMaximumDownloadTime)(
425 IBackgroundCopyJob4 *This,
426 ULONG *timeout);
427
428 END_INTERFACE
429} IBackgroundCopyJob4Vtbl;
430
431interface IBackgroundCopyJob4 {
432 CONST_VTBL IBackgroundCopyJob4Vtbl* lpVtbl;
433};
434
435#ifdef COBJMACROS
436#ifndef WIDL_C_INLINE_WRAPPERS
437/*** IUnknown methods ***/
438#define IBackgroundCopyJob4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
439#define IBackgroundCopyJob4_AddRef(This) (This)->lpVtbl->AddRef(This)
440#define IBackgroundCopyJob4_Release(This) (This)->lpVtbl->Release(This)
441/*** IBackgroundCopyJob methods ***/
442#define IBackgroundCopyJob4_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
443#define IBackgroundCopyJob4_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
444#define IBackgroundCopyJob4_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
445#define IBackgroundCopyJob4_Suspend(This) (This)->lpVtbl->Suspend(This)
446#define IBackgroundCopyJob4_Resume(This) (This)->lpVtbl->Resume(This)
447#define IBackgroundCopyJob4_Cancel(This) (This)->lpVtbl->Cancel(This)
448#define IBackgroundCopyJob4_Complete(This) (This)->lpVtbl->Complete(This)
449#define IBackgroundCopyJob4_GetId(This,pVal) (This)->lpVtbl->GetId(This,pVal)
450#define IBackgroundCopyJob4_GetType(This,pVal) (This)->lpVtbl->GetType(This,pVal)
451#define IBackgroundCopyJob4_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
452#define IBackgroundCopyJob4_GetTimes(This,pVal) (This)->lpVtbl->GetTimes(This,pVal)
453#define IBackgroundCopyJob4_GetState(This,pVal) (This)->lpVtbl->GetState(This,pVal)
454#define IBackgroundCopyJob4_GetError(This,ppError) (This)->lpVtbl->GetError(This,ppError)
455#define IBackgroundCopyJob4_GetOwner(This,pVal) (This)->lpVtbl->GetOwner(This,pVal)
456#define IBackgroundCopyJob4_SetDisplayName(This,Val) (This)->lpVtbl->SetDisplayName(This,Val)
457#define IBackgroundCopyJob4_GetDisplayName(This,pVal) (This)->lpVtbl->GetDisplayName(This,pVal)
458#define IBackgroundCopyJob4_SetDescription(This,Val) (This)->lpVtbl->SetDescription(This,Val)
459#define IBackgroundCopyJob4_GetDescription(This,pVal) (This)->lpVtbl->GetDescription(This,pVal)
460#define IBackgroundCopyJob4_SetPriority(This,Val) (This)->lpVtbl->SetPriority(This,Val)
461#define IBackgroundCopyJob4_GetPriority(This,pVal) (This)->lpVtbl->GetPriority(This,pVal)
462#define IBackgroundCopyJob4_SetNotifyFlags(This,Val) (This)->lpVtbl->SetNotifyFlags(This,Val)
463#define IBackgroundCopyJob4_GetNotifyFlags(This,pVal) (This)->lpVtbl->GetNotifyFlags(This,pVal)
464#define IBackgroundCopyJob4_SetNotifyInterface(This,Val) (This)->lpVtbl->SetNotifyInterface(This,Val)
465#define IBackgroundCopyJob4_GetNotifyInterface(This,pVal) (This)->lpVtbl->GetNotifyInterface(This,pVal)
466#define IBackgroundCopyJob4_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->SetMinimumRetryDelay(This,Seconds)
467#define IBackgroundCopyJob4_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->GetMinimumRetryDelay(This,Seconds)
468#define IBackgroundCopyJob4_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl->SetNoProgressTimeout(This,Seconds)
469#define IBackgroundCopyJob4_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl->GetNoProgressTimeout(This,Seconds)
470#define IBackgroundCopyJob4_GetErrorCount(This,Errors) (This)->lpVtbl->GetErrorCount(This,Errors)
471#define IBackgroundCopyJob4_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
472#define IBackgroundCopyJob4_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
473#define IBackgroundCopyJob4_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
474/*** IBackgroundCopyJob2 methods ***/
475#define IBackgroundCopyJob4_SetNotifyCmdLine(This,prog,params) (This)->lpVtbl->SetNotifyCmdLine(This,prog,params)
476#define IBackgroundCopyJob4_GetNotifyCmdLine(This,prog,params) (This)->lpVtbl->GetNotifyCmdLine(This,prog,params)
477#define IBackgroundCopyJob4_GetReplyProgress(This,progress) (This)->lpVtbl->GetReplyProgress(This,progress)
478#define IBackgroundCopyJob4_GetReplyData(This,pBuffer,pLength) (This)->lpVtbl->GetReplyData(This,pBuffer,pLength)
479#define IBackgroundCopyJob4_SetReplyFileName(This,filename) (This)->lpVtbl->SetReplyFileName(This,filename)
480#define IBackgroundCopyJob4_GetReplyFileName(This,pFilename) (This)->lpVtbl->GetReplyFileName(This,pFilename)
481#define IBackgroundCopyJob4_SetCredentials(This,cred) (This)->lpVtbl->SetCredentials(This,cred)
482#define IBackgroundCopyJob4_RemoveCredentials(This,target,scheme) (This)->lpVtbl->RemoveCredentials(This,target,scheme)
483/*** IBackgroundCopyJob3 methods ***/
484#define IBackgroundCopyJob4_ReplaceRemotePrefix(This,OldPrefix,NewPrefix) (This)->lpVtbl->ReplaceRemotePrefix(This,OldPrefix,NewPrefix)
485#define IBackgroundCopyJob4_AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges) (This)->lpVtbl->AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges)
486#define IBackgroundCopyJob4_SetFileACLFlags(This,Flags) (This)->lpVtbl->SetFileACLFlags(This,Flags)
487#define IBackgroundCopyJob4_GetFileACLFlags(This,Flags) (This)->lpVtbl->GetFileACLFlags(This,Flags)
488/*** IBackgroundCopyJob4 methods ***/
489#define IBackgroundCopyJob4_SetPeerCachingFlags(This,flags) (This)->lpVtbl->SetPeerCachingFlags(This,flags)
490#define IBackgroundCopyJob4_GetPeerCachingFlags(This,flags) (This)->lpVtbl->GetPeerCachingFlags(This,flags)
491#define IBackgroundCopyJob4_GetOwnerIntegrityLevel(This,level) (This)->lpVtbl->GetOwnerIntegrityLevel(This,level)
492#define IBackgroundCopyJob4_GetOwnerElevationState(This,elevated) (This)->lpVtbl->GetOwnerElevationState(This,elevated)
493#define IBackgroundCopyJob4_SetMaximumDownloadTime(This,timeout) (This)->lpVtbl->SetMaximumDownloadTime(This,timeout)
494#define IBackgroundCopyJob4_GetMaximumDownloadTime(This,timeout) (This)->lpVtbl->GetMaximumDownloadTime(This,timeout)
495#else
496/*** IUnknown methods ***/
497static FORCEINLINE HRESULT IBackgroundCopyJob4_QueryInterface(IBackgroundCopyJob4* This,REFIID riid,void **ppvObject) {
498 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
499}
500static FORCEINLINE ULONG IBackgroundCopyJob4_AddRef(IBackgroundCopyJob4* This) {
501 return This->lpVtbl->AddRef(This);
502}
503static FORCEINLINE ULONG IBackgroundCopyJob4_Release(IBackgroundCopyJob4* This) {
504 return This->lpVtbl->Release(This);
505}
506/*** IBackgroundCopyJob methods ***/
507static FORCEINLINE HRESULT IBackgroundCopyJob4_AddFileSet(IBackgroundCopyJob4* This,ULONG cFileCount,BG_FILE_INFO *pFileSet) {
508 return This->lpVtbl->AddFileSet(This,cFileCount,pFileSet);
509}
510static FORCEINLINE HRESULT IBackgroundCopyJob4_AddFile(IBackgroundCopyJob4* This,LPCWSTR RemoteUrl,LPCWSTR LocalName) {
511 return This->lpVtbl->AddFile(This,RemoteUrl,LocalName);
512}
513static FORCEINLINE HRESULT IBackgroundCopyJob4_EnumFiles(IBackgroundCopyJob4* This,IEnumBackgroundCopyFiles **pEnum) {
514 return This->lpVtbl->EnumFiles(This,pEnum);
515}
516static FORCEINLINE HRESULT IBackgroundCopyJob4_Suspend(IBackgroundCopyJob4* This) {
517 return This->lpVtbl->Suspend(This);
518}
519static FORCEINLINE HRESULT IBackgroundCopyJob4_Resume(IBackgroundCopyJob4* This) {
520 return This->lpVtbl->Resume(This);
521}
522static FORCEINLINE HRESULT IBackgroundCopyJob4_Cancel(IBackgroundCopyJob4* This) {
523 return This->lpVtbl->Cancel(This);
524}
525static FORCEINLINE HRESULT IBackgroundCopyJob4_Complete(IBackgroundCopyJob4* This) {
526 return This->lpVtbl->Complete(This);
527}
528static FORCEINLINE HRESULT IBackgroundCopyJob4_GetId(IBackgroundCopyJob4* This,GUID *pVal) {
529 return This->lpVtbl->GetId(This,pVal);
530}
531static FORCEINLINE HRESULT IBackgroundCopyJob4_GetType(IBackgroundCopyJob4* This,BG_JOB_TYPE *pVal) {
532 return This->lpVtbl->GetType(This,pVal);
533}
534static FORCEINLINE HRESULT IBackgroundCopyJob4_GetProgress(IBackgroundCopyJob4* This,BG_JOB_PROGRESS *pVal) {
535 return This->lpVtbl->GetProgress(This,pVal);
536}
537static FORCEINLINE HRESULT IBackgroundCopyJob4_GetTimes(IBackgroundCopyJob4* This,BG_JOB_TIMES *pVal) {
538 return This->lpVtbl->GetTimes(This,pVal);
539}
540static FORCEINLINE HRESULT IBackgroundCopyJob4_GetState(IBackgroundCopyJob4* This,BG_JOB_STATE *pVal) {
541 return This->lpVtbl->GetState(This,pVal);
542}
543static FORCEINLINE HRESULT IBackgroundCopyJob4_GetError(IBackgroundCopyJob4* This,IBackgroundCopyError **ppError) {
544 return This->lpVtbl->GetError(This,ppError);
545}
546static FORCEINLINE HRESULT IBackgroundCopyJob4_GetOwner(IBackgroundCopyJob4* This,LPWSTR *pVal) {
547 return This->lpVtbl->GetOwner(This,pVal);
548}
549static FORCEINLINE HRESULT IBackgroundCopyJob4_SetDisplayName(IBackgroundCopyJob4* This,LPCWSTR Val) {
550 return This->lpVtbl->SetDisplayName(This,Val);
551}
552static FORCEINLINE HRESULT IBackgroundCopyJob4_GetDisplayName(IBackgroundCopyJob4* This,LPWSTR *pVal) {
553 return This->lpVtbl->GetDisplayName(This,pVal);
554}
555static FORCEINLINE HRESULT IBackgroundCopyJob4_SetDescription(IBackgroundCopyJob4* This,LPCWSTR Val) {
556 return This->lpVtbl->SetDescription(This,Val);
557}
558static FORCEINLINE HRESULT IBackgroundCopyJob4_GetDescription(IBackgroundCopyJob4* This,LPWSTR *pVal) {
559 return This->lpVtbl->GetDescription(This,pVal);
560}
561static FORCEINLINE HRESULT IBackgroundCopyJob4_SetPriority(IBackgroundCopyJob4* This,BG_JOB_PRIORITY Val) {
562 return This->lpVtbl->SetPriority(This,Val);
563}
564static FORCEINLINE HRESULT IBackgroundCopyJob4_GetPriority(IBackgroundCopyJob4* This,BG_JOB_PRIORITY *pVal) {
565 return This->lpVtbl->GetPriority(This,pVal);
566}
567static FORCEINLINE HRESULT IBackgroundCopyJob4_SetNotifyFlags(IBackgroundCopyJob4* This,ULONG Val) {
568 return This->lpVtbl->SetNotifyFlags(This,Val);
569}
570static FORCEINLINE HRESULT IBackgroundCopyJob4_GetNotifyFlags(IBackgroundCopyJob4* This,ULONG *pVal) {
571 return This->lpVtbl->GetNotifyFlags(This,pVal);
572}
573static FORCEINLINE HRESULT IBackgroundCopyJob4_SetNotifyInterface(IBackgroundCopyJob4* This,IUnknown *Val) {
574 return This->lpVtbl->SetNotifyInterface(This,Val);
575}
576static FORCEINLINE HRESULT IBackgroundCopyJob4_GetNotifyInterface(IBackgroundCopyJob4* This,IUnknown **pVal) {
577 return This->lpVtbl->GetNotifyInterface(This,pVal);
578}
579static FORCEINLINE HRESULT IBackgroundCopyJob4_SetMinimumRetryDelay(IBackgroundCopyJob4* This,ULONG Seconds) {
580 return This->lpVtbl->SetMinimumRetryDelay(This,Seconds);
581}
582static FORCEINLINE HRESULT IBackgroundCopyJob4_GetMinimumRetryDelay(IBackgroundCopyJob4* This,ULONG *Seconds) {
583 return This->lpVtbl->GetMinimumRetryDelay(This,Seconds);
584}
585static FORCEINLINE HRESULT IBackgroundCopyJob4_SetNoProgressTimeout(IBackgroundCopyJob4* This,ULONG Seconds) {
586 return This->lpVtbl->SetNoProgressTimeout(This,Seconds);
587}
588static FORCEINLINE HRESULT IBackgroundCopyJob4_GetNoProgressTimeout(IBackgroundCopyJob4* This,ULONG *Seconds) {
589 return This->lpVtbl->GetNoProgressTimeout(This,Seconds);
590}
591static FORCEINLINE HRESULT IBackgroundCopyJob4_GetErrorCount(IBackgroundCopyJob4* This,ULONG *Errors) {
592 return This->lpVtbl->GetErrorCount(This,Errors);
593}
594static FORCEINLINE HRESULT IBackgroundCopyJob4_SetProxySettings(IBackgroundCopyJob4* This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) {
595 return This->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList);
596}
597static FORCEINLINE HRESULT IBackgroundCopyJob4_GetProxySettings(IBackgroundCopyJob4* This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) {
598 return This->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList);
599}
600static FORCEINLINE HRESULT IBackgroundCopyJob4_TakeOwnership(IBackgroundCopyJob4* This) {
601 return This->lpVtbl->TakeOwnership(This);
602}
603/*** IBackgroundCopyJob2 methods ***/
604static FORCEINLINE HRESULT IBackgroundCopyJob4_SetNotifyCmdLine(IBackgroundCopyJob4* This,LPCWSTR prog,LPCWSTR params) {
605 return This->lpVtbl->SetNotifyCmdLine(This,prog,params);
606}
607static FORCEINLINE HRESULT IBackgroundCopyJob4_GetNotifyCmdLine(IBackgroundCopyJob4* This,LPWSTR *prog,LPWSTR *params) {
608 return This->lpVtbl->GetNotifyCmdLine(This,prog,params);
609}
610static FORCEINLINE HRESULT IBackgroundCopyJob4_GetReplyProgress(IBackgroundCopyJob4* This,BG_JOB_REPLY_PROGRESS *progress) {
611 return This->lpVtbl->GetReplyProgress(This,progress);
612}
613static FORCEINLINE HRESULT IBackgroundCopyJob4_GetReplyData(IBackgroundCopyJob4* This,byte **pBuffer,UINT64 *pLength) {
614 return This->lpVtbl->GetReplyData(This,pBuffer,pLength);
615}
616static FORCEINLINE HRESULT IBackgroundCopyJob4_SetReplyFileName(IBackgroundCopyJob4* This,LPCWSTR filename) {
617 return This->lpVtbl->SetReplyFileName(This,filename);
618}
619static FORCEINLINE HRESULT IBackgroundCopyJob4_GetReplyFileName(IBackgroundCopyJob4* This,LPWSTR *pFilename) {
620 return This->lpVtbl->GetReplyFileName(This,pFilename);
621}
622static FORCEINLINE HRESULT IBackgroundCopyJob4_SetCredentials(IBackgroundCopyJob4* This,BG_AUTH_CREDENTIALS *cred) {
623 return This->lpVtbl->SetCredentials(This,cred);
624}
625static FORCEINLINE HRESULT IBackgroundCopyJob4_RemoveCredentials(IBackgroundCopyJob4* This,BG_AUTH_TARGET target,BG_AUTH_SCHEME scheme) {
626 return This->lpVtbl->RemoveCredentials(This,target,scheme);
627}
628/*** IBackgroundCopyJob3 methods ***/
629static FORCEINLINE HRESULT IBackgroundCopyJob4_ReplaceRemotePrefix(IBackgroundCopyJob4* This,LPCWSTR OldPrefix,LPCWSTR NewPrefix) {
630 return This->lpVtbl->ReplaceRemotePrefix(This,OldPrefix,NewPrefix);
631}
632static FORCEINLINE HRESULT IBackgroundCopyJob4_AddFileWithRanges(IBackgroundCopyJob4* This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]) {
633 return This->lpVtbl->AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges);
634}
635static FORCEINLINE HRESULT IBackgroundCopyJob4_SetFileACLFlags(IBackgroundCopyJob4* This,DWORD Flags) {
636 return This->lpVtbl->SetFileACLFlags(This,Flags);
637}
638static FORCEINLINE HRESULT IBackgroundCopyJob4_GetFileACLFlags(IBackgroundCopyJob4* This,DWORD *Flags) {
639 return This->lpVtbl->GetFileACLFlags(This,Flags);
640}
641/*** IBackgroundCopyJob4 methods ***/
642static FORCEINLINE HRESULT IBackgroundCopyJob4_SetPeerCachingFlags(IBackgroundCopyJob4* This,DWORD flags) {
643 return This->lpVtbl->SetPeerCachingFlags(This,flags);
644}
645static FORCEINLINE HRESULT IBackgroundCopyJob4_GetPeerCachingFlags(IBackgroundCopyJob4* This,DWORD *flags) {
646 return This->lpVtbl->GetPeerCachingFlags(This,flags);
647}
648static FORCEINLINE HRESULT IBackgroundCopyJob4_GetOwnerIntegrityLevel(IBackgroundCopyJob4* This,ULONG *level) {
649 return This->lpVtbl->GetOwnerIntegrityLevel(This,level);
650}
651static FORCEINLINE HRESULT IBackgroundCopyJob4_GetOwnerElevationState(IBackgroundCopyJob4* This,WINBOOL *elevated) {
652 return This->lpVtbl->GetOwnerElevationState(This,elevated);
653}
654static FORCEINLINE HRESULT IBackgroundCopyJob4_SetMaximumDownloadTime(IBackgroundCopyJob4* This,ULONG timeout) {
655 return This->lpVtbl->SetMaximumDownloadTime(This,timeout);
656}
657static FORCEINLINE HRESULT IBackgroundCopyJob4_GetMaximumDownloadTime(IBackgroundCopyJob4* This,ULONG *timeout) {
658 return This->lpVtbl->GetMaximumDownloadTime(This,timeout);
659}
660#endif
661#endif
662
663#endif
664
665
666#endif /* __IBackgroundCopyJob4_INTERFACE_DEFINED__ */
667
668#ifndef __BackgroundCopyManager3_0_LIBRARY_DEFINED__
669#define __BackgroundCopyManager3_0_LIBRARY_DEFINED__
670
671DEFINE_GUID(LIBID_BackgroundCopyManager3_0, 0x659cdea6, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51);
672
673/*****************************************************************************
674 * BackgroundCopyManager3_0 coclass
675 */
676
677DEFINE_GUID(CLSID_BackgroundCopyManager3_0, 0x659cdea7, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51);
678
679#ifdef __cplusplus
680class DECLSPEC_UUID("659cdea7-489e-11d9-a9cd-000d56965251") BackgroundCopyManager3_0;
681#ifdef __CRT_UUID_DECL
682__CRT_UUID_DECL(BackgroundCopyManager3_0, 0x659cdea7, 0x489e, 0x11d9, 0xa9,0xcd, 0x00,0x0d,0x56,0x96,0x52,0x51)
683#endif
684#endif
685
686#ifndef __IBackgroundCopyJob4_FWD_DEFINED__
687#define __IBackgroundCopyJob4_FWD_DEFINED__
688typedef interface IBackgroundCopyJob4 IBackgroundCopyJob4;
689#ifdef __cplusplus
690interface IBackgroundCopyJob4;
691#endif /* __cplusplus */
692#endif
693
694#endif /* __BackgroundCopyManager3_0_LIBRARY_DEFINED__ */
695/* Begin additional prototypes for all interfaces */
696
697
698/* End additional prototypes */
699
700#ifdef __cplusplus
701}
702#endif
703
704#endif /* __bits3_0_h__ */
lib/libc/include/any-windows-any/bits5_0.h created+581
......@@ -0,0 +1,581 @@
1/*** Autogenerated by WIDL 7.0 from include/bits5_0.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __bits5_0_h__
17#define __bits5_0_h__
18
19/* Forward declarations */
20
21#ifndef __IBackgroundCopyJob5_FWD_DEFINED__
22#define __IBackgroundCopyJob5_FWD_DEFINED__
23typedef interface IBackgroundCopyJob5 IBackgroundCopyJob5;
24#ifdef __cplusplus
25interface IBackgroundCopyJob5;
26#endif /* __cplusplus */
27#endif
28
29/* Headers for imported files */
30
31#include <bits.h>
32#include <bits1_5.h>
33#include <bits2_0.h>
34#include <bits2_5.h>
35#include <bits3_0.h>
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41#define BITS_COST_STATE_TRANSFER_ALWAYS 0x800000ff
42/*****************************************************************************
43 * IBackgroundCopyJob5 interface
44 */
45#ifndef __IBackgroundCopyJob5_INTERFACE_DEFINED__
46#define __IBackgroundCopyJob5_INTERFACE_DEFINED__
47
48typedef enum __WIDL_bits5_0_generated_name_00000017 {
49 BITS_JOB_PROPERTY_ID_COST_FLAGS = 1,
50 BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2,
51 BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3,
52 BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4,
53 BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5,
54 BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7,
55 BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9,
56 BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10
57} BITS_JOB_PROPERTY_ID;
58typedef union _BITS_JOB_PROPERTY_VALUE {
59 DWORD Dword;
60 GUID ClsID;
61 WINBOOL Enable;
62 UINT64 Uint64;
63 BG_AUTH_TARGET Target;
64} BITS_JOB_PROPERTY_VALUE;
65DEFINE_GUID(IID_IBackgroundCopyJob5, 0xe847030c, 0xbbba, 0x4657, 0xaf,0x6d, 0x48,0x4a,0xa4,0x2b,0xf1,0xfe);
66#if defined(__cplusplus) && !defined(CINTERFACE)
67MIDL_INTERFACE("e847030c-bbba-4657-af6d-484aa42bf1fe")
68IBackgroundCopyJob5 : public IBackgroundCopyJob4
69{
70 virtual HRESULT STDMETHODCALLTYPE SetProperty(
71 BITS_JOB_PROPERTY_ID id,
72 BITS_JOB_PROPERTY_VALUE value) = 0;
73
74 virtual HRESULT STDMETHODCALLTYPE GetProperty(
75 BITS_JOB_PROPERTY_ID id,
76 BITS_JOB_PROPERTY_VALUE *value) = 0;
77
78};
79#ifdef __CRT_UUID_DECL
80__CRT_UUID_DECL(IBackgroundCopyJob5, 0xe847030c, 0xbbba, 0x4657, 0xaf,0x6d, 0x48,0x4a,0xa4,0x2b,0xf1,0xfe)
81#endif
82#else
83typedef struct IBackgroundCopyJob5Vtbl {
84 BEGIN_INTERFACE
85
86 /*** IUnknown methods ***/
87 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
88 IBackgroundCopyJob5 *This,
89 REFIID riid,
90 void **ppvObject);
91
92 ULONG (STDMETHODCALLTYPE *AddRef)(
93 IBackgroundCopyJob5 *This);
94
95 ULONG (STDMETHODCALLTYPE *Release)(
96 IBackgroundCopyJob5 *This);
97
98 /*** IBackgroundCopyJob methods ***/
99 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
100 IBackgroundCopyJob5 *This,
101 ULONG cFileCount,
102 BG_FILE_INFO *pFileSet);
103
104 HRESULT (STDMETHODCALLTYPE *AddFile)(
105 IBackgroundCopyJob5 *This,
106 LPCWSTR RemoteUrl,
107 LPCWSTR LocalName);
108
109 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
110 IBackgroundCopyJob5 *This,
111 IEnumBackgroundCopyFiles **pEnum);
112
113 HRESULT (STDMETHODCALLTYPE *Suspend)(
114 IBackgroundCopyJob5 *This);
115
116 HRESULT (STDMETHODCALLTYPE *Resume)(
117 IBackgroundCopyJob5 *This);
118
119 HRESULT (STDMETHODCALLTYPE *Cancel)(
120 IBackgroundCopyJob5 *This);
121
122 HRESULT (STDMETHODCALLTYPE *Complete)(
123 IBackgroundCopyJob5 *This);
124
125 HRESULT (STDMETHODCALLTYPE *GetId)(
126 IBackgroundCopyJob5 *This,
127 GUID *pVal);
128
129 HRESULT (STDMETHODCALLTYPE *GetType)(
130 IBackgroundCopyJob5 *This,
131 BG_JOB_TYPE *pVal);
132
133 HRESULT (STDMETHODCALLTYPE *GetProgress)(
134 IBackgroundCopyJob5 *This,
135 BG_JOB_PROGRESS *pVal);
136
137 HRESULT (STDMETHODCALLTYPE *GetTimes)(
138 IBackgroundCopyJob5 *This,
139 BG_JOB_TIMES *pVal);
140
141 HRESULT (STDMETHODCALLTYPE *GetState)(
142 IBackgroundCopyJob5 *This,
143 BG_JOB_STATE *pVal);
144
145 HRESULT (STDMETHODCALLTYPE *GetError)(
146 IBackgroundCopyJob5 *This,
147 IBackgroundCopyError **ppError);
148
149 HRESULT (STDMETHODCALLTYPE *GetOwner)(
150 IBackgroundCopyJob5 *This,
151 LPWSTR *pVal);
152
153 HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
154 IBackgroundCopyJob5 *This,
155 LPCWSTR Val);
156
157 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
158 IBackgroundCopyJob5 *This,
159 LPWSTR *pVal);
160
161 HRESULT (STDMETHODCALLTYPE *SetDescription)(
162 IBackgroundCopyJob5 *This,
163 LPCWSTR Val);
164
165 HRESULT (STDMETHODCALLTYPE *GetDescription)(
166 IBackgroundCopyJob5 *This,
167 LPWSTR *pVal);
168
169 HRESULT (STDMETHODCALLTYPE *SetPriority)(
170 IBackgroundCopyJob5 *This,
171 BG_JOB_PRIORITY Val);
172
173 HRESULT (STDMETHODCALLTYPE *GetPriority)(
174 IBackgroundCopyJob5 *This,
175 BG_JOB_PRIORITY *pVal);
176
177 HRESULT (STDMETHODCALLTYPE *SetNotifyFlags)(
178 IBackgroundCopyJob5 *This,
179 ULONG Val);
180
181 HRESULT (STDMETHODCALLTYPE *GetNotifyFlags)(
182 IBackgroundCopyJob5 *This,
183 ULONG *pVal);
184
185 HRESULT (STDMETHODCALLTYPE *SetNotifyInterface)(
186 IBackgroundCopyJob5 *This,
187 IUnknown *Val);
188
189 HRESULT (STDMETHODCALLTYPE *GetNotifyInterface)(
190 IBackgroundCopyJob5 *This,
191 IUnknown **pVal);
192
193 HRESULT (STDMETHODCALLTYPE *SetMinimumRetryDelay)(
194 IBackgroundCopyJob5 *This,
195 ULONG Seconds);
196
197 HRESULT (STDMETHODCALLTYPE *GetMinimumRetryDelay)(
198 IBackgroundCopyJob5 *This,
199 ULONG *Seconds);
200
201 HRESULT (STDMETHODCALLTYPE *SetNoProgressTimeout)(
202 IBackgroundCopyJob5 *This,
203 ULONG Seconds);
204
205 HRESULT (STDMETHODCALLTYPE *GetNoProgressTimeout)(
206 IBackgroundCopyJob5 *This,
207 ULONG *Seconds);
208
209 HRESULT (STDMETHODCALLTYPE *GetErrorCount)(
210 IBackgroundCopyJob5 *This,
211 ULONG *Errors);
212
213 HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
214 IBackgroundCopyJob5 *This,
215 BG_JOB_PROXY_USAGE ProxyUsage,
216 const WCHAR *ProxyList,
217 const WCHAR *ProxyBypassList);
218
219 HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
220 IBackgroundCopyJob5 *This,
221 BG_JOB_PROXY_USAGE *pProxyUsage,
222 LPWSTR *pProxyList,
223 LPWSTR *pProxyBypassList);
224
225 HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
226 IBackgroundCopyJob5 *This);
227
228 /*** IBackgroundCopyJob2 methods ***/
229 HRESULT (STDMETHODCALLTYPE *SetNotifyCmdLine)(
230 IBackgroundCopyJob5 *This,
231 LPCWSTR prog,
232 LPCWSTR params);
233
234 HRESULT (STDMETHODCALLTYPE *GetNotifyCmdLine)(
235 IBackgroundCopyJob5 *This,
236 LPWSTR *prog,
237 LPWSTR *params);
238
239 HRESULT (STDMETHODCALLTYPE *GetReplyProgress)(
240 IBackgroundCopyJob5 *This,
241 BG_JOB_REPLY_PROGRESS *progress);
242
243 HRESULT (STDMETHODCALLTYPE *GetReplyData)(
244 IBackgroundCopyJob5 *This,
245 byte **pBuffer,
246 UINT64 *pLength);
247
248 HRESULT (STDMETHODCALLTYPE *SetReplyFileName)(
249 IBackgroundCopyJob5 *This,
250 LPCWSTR filename);
251
252 HRESULT (STDMETHODCALLTYPE *GetReplyFileName)(
253 IBackgroundCopyJob5 *This,
254 LPWSTR *pFilename);
255
256 HRESULT (STDMETHODCALLTYPE *SetCredentials)(
257 IBackgroundCopyJob5 *This,
258 BG_AUTH_CREDENTIALS *cred);
259
260 HRESULT (STDMETHODCALLTYPE *RemoveCredentials)(
261 IBackgroundCopyJob5 *This,
262 BG_AUTH_TARGET target,
263 BG_AUTH_SCHEME scheme);
264
265 /*** IBackgroundCopyJob3 methods ***/
266 HRESULT (STDMETHODCALLTYPE *ReplaceRemotePrefix)(
267 IBackgroundCopyJob5 *This,
268 LPCWSTR OldPrefix,
269 LPCWSTR NewPrefix);
270
271 HRESULT (STDMETHODCALLTYPE *AddFileWithRanges)(
272 IBackgroundCopyJob5 *This,
273 LPCWSTR RemoteUrl,
274 LPCWSTR LocalName,
275 DWORD RangeCount,
276 BG_FILE_RANGE Ranges[]);
277
278 HRESULT (STDMETHODCALLTYPE *SetFileACLFlags)(
279 IBackgroundCopyJob5 *This,
280 DWORD Flags);
281
282 HRESULT (STDMETHODCALLTYPE *GetFileACLFlags)(
283 IBackgroundCopyJob5 *This,
284 DWORD *Flags);
285
286 /*** IBackgroundCopyJob4 methods ***/
287 HRESULT (STDMETHODCALLTYPE *SetPeerCachingFlags)(
288 IBackgroundCopyJob5 *This,
289 DWORD flags);
290
291 HRESULT (STDMETHODCALLTYPE *GetPeerCachingFlags)(
292 IBackgroundCopyJob5 *This,
293 DWORD *flags);
294
295 HRESULT (STDMETHODCALLTYPE *GetOwnerIntegrityLevel)(
296 IBackgroundCopyJob5 *This,
297 ULONG *level);
298
299 HRESULT (STDMETHODCALLTYPE *GetOwnerElevationState)(
300 IBackgroundCopyJob5 *This,
301 WINBOOL *elevated);
302
303 HRESULT (STDMETHODCALLTYPE *SetMaximumDownloadTime)(
304 IBackgroundCopyJob5 *This,
305 ULONG timeout);
306
307 HRESULT (STDMETHODCALLTYPE *GetMaximumDownloadTime)(
308 IBackgroundCopyJob5 *This,
309 ULONG *timeout);
310
311 /*** IBackgroundCopyJob5 methods ***/
312 HRESULT (STDMETHODCALLTYPE *SetProperty)(
313 IBackgroundCopyJob5 *This,
314 BITS_JOB_PROPERTY_ID id,
315 BITS_JOB_PROPERTY_VALUE value);
316
317 HRESULT (STDMETHODCALLTYPE *GetProperty)(
318 IBackgroundCopyJob5 *This,
319 BITS_JOB_PROPERTY_ID id,
320 BITS_JOB_PROPERTY_VALUE *value);
321
322 END_INTERFACE
323} IBackgroundCopyJob5Vtbl;
324
325interface IBackgroundCopyJob5 {
326 CONST_VTBL IBackgroundCopyJob5Vtbl* lpVtbl;
327};
328
329#ifdef COBJMACROS
330#ifndef WIDL_C_INLINE_WRAPPERS
331/*** IUnknown methods ***/
332#define IBackgroundCopyJob5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
333#define IBackgroundCopyJob5_AddRef(This) (This)->lpVtbl->AddRef(This)
334#define IBackgroundCopyJob5_Release(This) (This)->lpVtbl->Release(This)
335/*** IBackgroundCopyJob methods ***/
336#define IBackgroundCopyJob5_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
337#define IBackgroundCopyJob5_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
338#define IBackgroundCopyJob5_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
339#define IBackgroundCopyJob5_Suspend(This) (This)->lpVtbl->Suspend(This)
340#define IBackgroundCopyJob5_Resume(This) (This)->lpVtbl->Resume(This)
341#define IBackgroundCopyJob5_Cancel(This) (This)->lpVtbl->Cancel(This)
342#define IBackgroundCopyJob5_Complete(This) (This)->lpVtbl->Complete(This)
343#define IBackgroundCopyJob5_GetId(This,pVal) (This)->lpVtbl->GetId(This,pVal)
344#define IBackgroundCopyJob5_GetType(This,pVal) (This)->lpVtbl->GetType(This,pVal)
345#define IBackgroundCopyJob5_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
346#define IBackgroundCopyJob5_GetTimes(This,pVal) (This)->lpVtbl->GetTimes(This,pVal)
347#define IBackgroundCopyJob5_GetState(This,pVal) (This)->lpVtbl->GetState(This,pVal)
348#define IBackgroundCopyJob5_GetError(This,ppError) (This)->lpVtbl->GetError(This,ppError)
349#define IBackgroundCopyJob5_GetOwner(This,pVal) (This)->lpVtbl->GetOwner(This,pVal)
350#define IBackgroundCopyJob5_SetDisplayName(This,Val) (This)->lpVtbl->SetDisplayName(This,Val)
351#define IBackgroundCopyJob5_GetDisplayName(This,pVal) (This)->lpVtbl->GetDisplayName(This,pVal)
352#define IBackgroundCopyJob5_SetDescription(This,Val) (This)->lpVtbl->SetDescription(This,Val)
353#define IBackgroundCopyJob5_GetDescription(This,pVal) (This)->lpVtbl->GetDescription(This,pVal)
354#define IBackgroundCopyJob5_SetPriority(This,Val) (This)->lpVtbl->SetPriority(This,Val)
355#define IBackgroundCopyJob5_GetPriority(This,pVal) (This)->lpVtbl->GetPriority(This,pVal)
356#define IBackgroundCopyJob5_SetNotifyFlags(This,Val) (This)->lpVtbl->SetNotifyFlags(This,Val)
357#define IBackgroundCopyJob5_GetNotifyFlags(This,pVal) (This)->lpVtbl->GetNotifyFlags(This,pVal)
358#define IBackgroundCopyJob5_SetNotifyInterface(This,Val) (This)->lpVtbl->SetNotifyInterface(This,Val)
359#define IBackgroundCopyJob5_GetNotifyInterface(This,pVal) (This)->lpVtbl->GetNotifyInterface(This,pVal)
360#define IBackgroundCopyJob5_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->SetMinimumRetryDelay(This,Seconds)
361#define IBackgroundCopyJob5_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->GetMinimumRetryDelay(This,Seconds)
362#define IBackgroundCopyJob5_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl->SetNoProgressTimeout(This,Seconds)
363#define IBackgroundCopyJob5_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl->GetNoProgressTimeout(This,Seconds)
364#define IBackgroundCopyJob5_GetErrorCount(This,Errors) (This)->lpVtbl->GetErrorCount(This,Errors)
365#define IBackgroundCopyJob5_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
366#define IBackgroundCopyJob5_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
367#define IBackgroundCopyJob5_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
368/*** IBackgroundCopyJob2 methods ***/
369#define IBackgroundCopyJob5_SetNotifyCmdLine(This,prog,params) (This)->lpVtbl->SetNotifyCmdLine(This,prog,params)
370#define IBackgroundCopyJob5_GetNotifyCmdLine(This,prog,params) (This)->lpVtbl->GetNotifyCmdLine(This,prog,params)
371#define IBackgroundCopyJob5_GetReplyProgress(This,progress) (This)->lpVtbl->GetReplyProgress(This,progress)
372#define IBackgroundCopyJob5_GetReplyData(This,pBuffer,pLength) (This)->lpVtbl->GetReplyData(This,pBuffer,pLength)
373#define IBackgroundCopyJob5_SetReplyFileName(This,filename) (This)->lpVtbl->SetReplyFileName(This,filename)
374#define IBackgroundCopyJob5_GetReplyFileName(This,pFilename) (This)->lpVtbl->GetReplyFileName(This,pFilename)
375#define IBackgroundCopyJob5_SetCredentials(This,cred) (This)->lpVtbl->SetCredentials(This,cred)
376#define IBackgroundCopyJob5_RemoveCredentials(This,target,scheme) (This)->lpVtbl->RemoveCredentials(This,target,scheme)
377/*** IBackgroundCopyJob3 methods ***/
378#define IBackgroundCopyJob5_ReplaceRemotePrefix(This,OldPrefix,NewPrefix) (This)->lpVtbl->ReplaceRemotePrefix(This,OldPrefix,NewPrefix)
379#define IBackgroundCopyJob5_AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges) (This)->lpVtbl->AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges)
380#define IBackgroundCopyJob5_SetFileACLFlags(This,Flags) (This)->lpVtbl->SetFileACLFlags(This,Flags)
381#define IBackgroundCopyJob5_GetFileACLFlags(This,Flags) (This)->lpVtbl->GetFileACLFlags(This,Flags)
382/*** IBackgroundCopyJob4 methods ***/
383#define IBackgroundCopyJob5_SetPeerCachingFlags(This,flags) (This)->lpVtbl->SetPeerCachingFlags(This,flags)
384#define IBackgroundCopyJob5_GetPeerCachingFlags(This,flags) (This)->lpVtbl->GetPeerCachingFlags(This,flags)
385#define IBackgroundCopyJob5_GetOwnerIntegrityLevel(This,level) (This)->lpVtbl->GetOwnerIntegrityLevel(This,level)
386#define IBackgroundCopyJob5_GetOwnerElevationState(This,elevated) (This)->lpVtbl->GetOwnerElevationState(This,elevated)
387#define IBackgroundCopyJob5_SetMaximumDownloadTime(This,timeout) (This)->lpVtbl->SetMaximumDownloadTime(This,timeout)
388#define IBackgroundCopyJob5_GetMaximumDownloadTime(This,timeout) (This)->lpVtbl->GetMaximumDownloadTime(This,timeout)
389/*** IBackgroundCopyJob5 methods ***/
390#define IBackgroundCopyJob5_SetProperty(This,id,value) (This)->lpVtbl->SetProperty(This,id,value)
391#define IBackgroundCopyJob5_GetProperty(This,id,value) (This)->lpVtbl->GetProperty(This,id,value)
392#else
393/*** IUnknown methods ***/
394static FORCEINLINE HRESULT IBackgroundCopyJob5_QueryInterface(IBackgroundCopyJob5* This,REFIID riid,void **ppvObject) {
395 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
396}
397static FORCEINLINE ULONG IBackgroundCopyJob5_AddRef(IBackgroundCopyJob5* This) {
398 return This->lpVtbl->AddRef(This);
399}
400static FORCEINLINE ULONG IBackgroundCopyJob5_Release(IBackgroundCopyJob5* This) {
401 return This->lpVtbl->Release(This);
402}
403/*** IBackgroundCopyJob methods ***/
404static FORCEINLINE HRESULT IBackgroundCopyJob5_AddFileSet(IBackgroundCopyJob5* This,ULONG cFileCount,BG_FILE_INFO *pFileSet) {
405 return This->lpVtbl->AddFileSet(This,cFileCount,pFileSet);
406}
407static FORCEINLINE HRESULT IBackgroundCopyJob5_AddFile(IBackgroundCopyJob5* This,LPCWSTR RemoteUrl,LPCWSTR LocalName) {
408 return This->lpVtbl->AddFile(This,RemoteUrl,LocalName);
409}
410static FORCEINLINE HRESULT IBackgroundCopyJob5_EnumFiles(IBackgroundCopyJob5* This,IEnumBackgroundCopyFiles **pEnum) {
411 return This->lpVtbl->EnumFiles(This,pEnum);
412}
413static FORCEINLINE HRESULT IBackgroundCopyJob5_Suspend(IBackgroundCopyJob5* This) {
414 return This->lpVtbl->Suspend(This);
415}
416static FORCEINLINE HRESULT IBackgroundCopyJob5_Resume(IBackgroundCopyJob5* This) {
417 return This->lpVtbl->Resume(This);
418}
419static FORCEINLINE HRESULT IBackgroundCopyJob5_Cancel(IBackgroundCopyJob5* This) {
420 return This->lpVtbl->Cancel(This);
421}
422static FORCEINLINE HRESULT IBackgroundCopyJob5_Complete(IBackgroundCopyJob5* This) {
423 return This->lpVtbl->Complete(This);
424}
425static FORCEINLINE HRESULT IBackgroundCopyJob5_GetId(IBackgroundCopyJob5* This,GUID *pVal) {
426 return This->lpVtbl->GetId(This,pVal);
427}
428static FORCEINLINE HRESULT IBackgroundCopyJob5_GetType(IBackgroundCopyJob5* This,BG_JOB_TYPE *pVal) {
429 return This->lpVtbl->GetType(This,pVal);
430}
431static FORCEINLINE HRESULT IBackgroundCopyJob5_GetProgress(IBackgroundCopyJob5* This,BG_JOB_PROGRESS *pVal) {
432 return This->lpVtbl->GetProgress(This,pVal);
433}
434static FORCEINLINE HRESULT IBackgroundCopyJob5_GetTimes(IBackgroundCopyJob5* This,BG_JOB_TIMES *pVal) {
435 return This->lpVtbl->GetTimes(This,pVal);
436}
437static FORCEINLINE HRESULT IBackgroundCopyJob5_GetState(IBackgroundCopyJob5* This,BG_JOB_STATE *pVal) {
438 return This->lpVtbl->GetState(This,pVal);
439}
440static FORCEINLINE HRESULT IBackgroundCopyJob5_GetError(IBackgroundCopyJob5* This,IBackgroundCopyError **ppError) {
441 return This->lpVtbl->GetError(This,ppError);
442}
443static FORCEINLINE HRESULT IBackgroundCopyJob5_GetOwner(IBackgroundCopyJob5* This,LPWSTR *pVal) {
444 return This->lpVtbl->GetOwner(This,pVal);
445}
446static FORCEINLINE HRESULT IBackgroundCopyJob5_SetDisplayName(IBackgroundCopyJob5* This,LPCWSTR Val) {
447 return This->lpVtbl->SetDisplayName(This,Val);
448}
449static FORCEINLINE HRESULT IBackgroundCopyJob5_GetDisplayName(IBackgroundCopyJob5* This,LPWSTR *pVal) {
450 return This->lpVtbl->GetDisplayName(This,pVal);
451}
452static FORCEINLINE HRESULT IBackgroundCopyJob5_SetDescription(IBackgroundCopyJob5* This,LPCWSTR Val) {
453 return This->lpVtbl->SetDescription(This,Val);
454}
455static FORCEINLINE HRESULT IBackgroundCopyJob5_GetDescription(IBackgroundCopyJob5* This,LPWSTR *pVal) {
456 return This->lpVtbl->GetDescription(This,pVal);
457}
458static FORCEINLINE HRESULT IBackgroundCopyJob5_SetPriority(IBackgroundCopyJob5* This,BG_JOB_PRIORITY Val) {
459 return This->lpVtbl->SetPriority(This,Val);
460}
461static FORCEINLINE HRESULT IBackgroundCopyJob5_GetPriority(IBackgroundCopyJob5* This,BG_JOB_PRIORITY *pVal) {
462 return This->lpVtbl->GetPriority(This,pVal);
463}
464static FORCEINLINE HRESULT IBackgroundCopyJob5_SetNotifyFlags(IBackgroundCopyJob5* This,ULONG Val) {
465 return This->lpVtbl->SetNotifyFlags(This,Val);
466}
467static FORCEINLINE HRESULT IBackgroundCopyJob5_GetNotifyFlags(IBackgroundCopyJob5* This,ULONG *pVal) {
468 return This->lpVtbl->GetNotifyFlags(This,pVal);
469}
470static FORCEINLINE HRESULT IBackgroundCopyJob5_SetNotifyInterface(IBackgroundCopyJob5* This,IUnknown *Val) {
471 return This->lpVtbl->SetNotifyInterface(This,Val);
472}
473static FORCEINLINE HRESULT IBackgroundCopyJob5_GetNotifyInterface(IBackgroundCopyJob5* This,IUnknown **pVal) {
474 return This->lpVtbl->GetNotifyInterface(This,pVal);
475}
476static FORCEINLINE HRESULT IBackgroundCopyJob5_SetMinimumRetryDelay(IBackgroundCopyJob5* This,ULONG Seconds) {
477 return This->lpVtbl->SetMinimumRetryDelay(This,Seconds);
478}
479static FORCEINLINE HRESULT IBackgroundCopyJob5_GetMinimumRetryDelay(IBackgroundCopyJob5* This,ULONG *Seconds) {
480 return This->lpVtbl->GetMinimumRetryDelay(This,Seconds);
481}
482static FORCEINLINE HRESULT IBackgroundCopyJob5_SetNoProgressTimeout(IBackgroundCopyJob5* This,ULONG Seconds) {
483 return This->lpVtbl->SetNoProgressTimeout(This,Seconds);
484}
485static FORCEINLINE HRESULT IBackgroundCopyJob5_GetNoProgressTimeout(IBackgroundCopyJob5* This,ULONG *Seconds) {
486 return This->lpVtbl->GetNoProgressTimeout(This,Seconds);
487}
488static FORCEINLINE HRESULT IBackgroundCopyJob5_GetErrorCount(IBackgroundCopyJob5* This,ULONG *Errors) {
489 return This->lpVtbl->GetErrorCount(This,Errors);
490}
491static FORCEINLINE HRESULT IBackgroundCopyJob5_SetProxySettings(IBackgroundCopyJob5* This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) {
492 return This->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList);
493}
494static FORCEINLINE HRESULT IBackgroundCopyJob5_GetProxySettings(IBackgroundCopyJob5* This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) {
495 return This->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList);
496}
497static FORCEINLINE HRESULT IBackgroundCopyJob5_TakeOwnership(IBackgroundCopyJob5* This) {
498 return This->lpVtbl->TakeOwnership(This);
499}
500/*** IBackgroundCopyJob2 methods ***/
501static FORCEINLINE HRESULT IBackgroundCopyJob5_SetNotifyCmdLine(IBackgroundCopyJob5* This,LPCWSTR prog,LPCWSTR params) {
502 return This->lpVtbl->SetNotifyCmdLine(This,prog,params);
503}
504static FORCEINLINE HRESULT IBackgroundCopyJob5_GetNotifyCmdLine(IBackgroundCopyJob5* This,LPWSTR *prog,LPWSTR *params) {
505 return This->lpVtbl->GetNotifyCmdLine(This,prog,params);
506}
507static FORCEINLINE HRESULT IBackgroundCopyJob5_GetReplyProgress(IBackgroundCopyJob5* This,BG_JOB_REPLY_PROGRESS *progress) {
508 return This->lpVtbl->GetReplyProgress(This,progress);
509}
510static FORCEINLINE HRESULT IBackgroundCopyJob5_GetReplyData(IBackgroundCopyJob5* This,byte **pBuffer,UINT64 *pLength) {
511 return This->lpVtbl->GetReplyData(This,pBuffer,pLength);
512}
513static FORCEINLINE HRESULT IBackgroundCopyJob5_SetReplyFileName(IBackgroundCopyJob5* This,LPCWSTR filename) {
514 return This->lpVtbl->SetReplyFileName(This,filename);
515}
516static FORCEINLINE HRESULT IBackgroundCopyJob5_GetReplyFileName(IBackgroundCopyJob5* This,LPWSTR *pFilename) {
517 return This->lpVtbl->GetReplyFileName(This,pFilename);
518}
519static FORCEINLINE HRESULT IBackgroundCopyJob5_SetCredentials(IBackgroundCopyJob5* This,BG_AUTH_CREDENTIALS *cred) {
520 return This->lpVtbl->SetCredentials(This,cred);
521}
522static FORCEINLINE HRESULT IBackgroundCopyJob5_RemoveCredentials(IBackgroundCopyJob5* This,BG_AUTH_TARGET target,BG_AUTH_SCHEME scheme) {
523 return This->lpVtbl->RemoveCredentials(This,target,scheme);
524}
525/*** IBackgroundCopyJob3 methods ***/
526static FORCEINLINE HRESULT IBackgroundCopyJob5_ReplaceRemotePrefix(IBackgroundCopyJob5* This,LPCWSTR OldPrefix,LPCWSTR NewPrefix) {
527 return This->lpVtbl->ReplaceRemotePrefix(This,OldPrefix,NewPrefix);
528}
529static FORCEINLINE HRESULT IBackgroundCopyJob5_AddFileWithRanges(IBackgroundCopyJob5* This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]) {
530 return This->lpVtbl->AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges);
531}
532static FORCEINLINE HRESULT IBackgroundCopyJob5_SetFileACLFlags(IBackgroundCopyJob5* This,DWORD Flags) {
533 return This->lpVtbl->SetFileACLFlags(This,Flags);
534}
535static FORCEINLINE HRESULT IBackgroundCopyJob5_GetFileACLFlags(IBackgroundCopyJob5* This,DWORD *Flags) {
536 return This->lpVtbl->GetFileACLFlags(This,Flags);
537}
538/*** IBackgroundCopyJob4 methods ***/
539static FORCEINLINE HRESULT IBackgroundCopyJob5_SetPeerCachingFlags(IBackgroundCopyJob5* This,DWORD flags) {
540 return This->lpVtbl->SetPeerCachingFlags(This,flags);
541}
542static FORCEINLINE HRESULT IBackgroundCopyJob5_GetPeerCachingFlags(IBackgroundCopyJob5* This,DWORD *flags) {
543 return This->lpVtbl->GetPeerCachingFlags(This,flags);
544}
545static FORCEINLINE HRESULT IBackgroundCopyJob5_GetOwnerIntegrityLevel(IBackgroundCopyJob5* This,ULONG *level) {
546 return This->lpVtbl->GetOwnerIntegrityLevel(This,level);
547}
548static FORCEINLINE HRESULT IBackgroundCopyJob5_GetOwnerElevationState(IBackgroundCopyJob5* This,WINBOOL *elevated) {
549 return This->lpVtbl->GetOwnerElevationState(This,elevated);
550}
551static FORCEINLINE HRESULT IBackgroundCopyJob5_SetMaximumDownloadTime(IBackgroundCopyJob5* This,ULONG timeout) {
552 return This->lpVtbl->SetMaximumDownloadTime(This,timeout);
553}
554static FORCEINLINE HRESULT IBackgroundCopyJob5_GetMaximumDownloadTime(IBackgroundCopyJob5* This,ULONG *timeout) {
555 return This->lpVtbl->GetMaximumDownloadTime(This,timeout);
556}
557/*** IBackgroundCopyJob5 methods ***/
558static FORCEINLINE HRESULT IBackgroundCopyJob5_SetProperty(IBackgroundCopyJob5* This,BITS_JOB_PROPERTY_ID id,BITS_JOB_PROPERTY_VALUE value) {
559 return This->lpVtbl->SetProperty(This,id,value);
560}
561static FORCEINLINE HRESULT IBackgroundCopyJob5_GetProperty(IBackgroundCopyJob5* This,BITS_JOB_PROPERTY_ID id,BITS_JOB_PROPERTY_VALUE *value) {
562 return This->lpVtbl->GetProperty(This,id,value);
563}
564#endif
565#endif
566
567#endif
568
569
570#endif /* __IBackgroundCopyJob5_INTERFACE_DEFINED__ */
571
572/* Begin additional prototypes for all interfaces */
573
574
575/* End additional prototypes */
576
577#ifdef __cplusplus
578}
579#endif
580
581#endif /* __bits5_0_h__ */
lib/libc/include/any-windows-any/comadmin.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/comadmin.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/comadmin.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/comcat.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/comcat.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/comcat.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/comdef.h+12-4
......@@ -29,8 +29,6 @@
2929#ifdef __cplusplus
3030
3131class _com_error;
32void WINAPI _com_raise_error(HRESULT hr,IErrorInfo *perrinfo = 0);
33void WINAPI _set_com_error_handler(void (WINAPI *pHandler)(HRESULT hr,IErrorInfo *perrinfo));
3432void WINAPI _com_issue_errorex(HRESULT,IUnknown*,REFIID);
3533HRESULT WINAPI _com_dispatch_propget(IDispatch*,DISPID,VARTYPE,void*);
3634HRESULT __cdecl _com_dispatch_propput(IDispatch*,DISPID,VARTYPE,...);
......@@ -165,15 +163,25 @@ inline void _com_error::Ctor(const _com_error &that) throw() {
165163 if(m_perrinfo!=NULL) m_perrinfo->AddRef();
166164}
167165
168inline void _com_issue_error(HRESULT hr) {
166inline void WINAPI _com_raise_error(HRESULT hr, IErrorInfo *perrinfo = 0) {
169167#if __EXCEPTIONS
170 throw _com_error(hr);
168 throw _com_error(hr, perrinfo);
171169#else
172170 /* This is designed to use exceptions. If exceptions are disabled, there is not much we can do here. */
173171 __debugbreak();
174172#endif
175173}
176174
175__MINGW_SELECTANY void (WINAPI *__mingw_com_error_handler)(HRESULT hr,IErrorInfo *perrinfo) = _com_raise_error;
176
177inline void WINAPI _set_com_error_handler(void (WINAPI *pHandler)(HRESULT hr,IErrorInfo *perrinfo)) {
178 __mingw_com_error_handler = pHandler;
179}
180
181inline void WINAPI _com_issue_error(HRESULT hr) {
182 __mingw_com_error_handler(hr, NULL);
183}
184
177185
178186typedef int __missing_type__;
179187
lib/libc/include/any-windows-any/commoncontrols.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/commoncontrols.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/commoncontrols.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/computecore.h created+82
......@@ -0,0 +1,82 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _HYPERV_COMPUTECORE_H_
8#define _HYPERV_COMPUTECORE_H_
9
10#include <apiset.h>
11#include <apisetcconv.h>
12#include <minwindef.h>
13#include <winapifamily.h>
14
15#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
16
17#include <computedefs.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23HRESULT WINAPI HcsEnumerateComputeSystems (PCWSTR query, HCS_OPERATION operation);
24HRESULT WINAPI HcsEnumerateComputeSystemsInNamespace (PCWSTR idNamespace, PCWSTR query, HCS_OPERATION operation);
25HCS_OPERATION WINAPI HcsCreateOperation (const void *context, HCS_OPERATION_COMPLETION callback);
26void WINAPI HcsCloseOperation (HCS_OPERATION operation);
27void* WINAPI HcsGetOperationContext (HCS_OPERATION operation);
28HRESULT WINAPI HcsSetOperationContext (HCS_OPERATION operation, const void *context);
29HCS_SYSTEM WINAPI HcsGetComputeSystemFromOperation (HCS_OPERATION operation);
30HCS_PROCESS WINAPI HcsGetProcessFromOperation (HCS_OPERATION operation);
31HCS_OPERATION_TYPE WINAPI HcsGetOperationType (HCS_OPERATION operation);
32UINT64 WINAPI HcsGetOperationId (HCS_OPERATION operation);
33HRESULT WINAPI HcsGetOperationResult (HCS_OPERATION operation, PWSTR *resultDocument);
34HRESULT WINAPI HcsGetOperationResultAndProcessInfo (HCS_OPERATION operation, HCS_PROCESS_INFORMATION *processInformation, PWSTR *resultDocument);
35HRESULT WINAPI HcsGetProcessorCompatibilityFromSavedState (PCWSTR RuntimeFileName, PCWSTR *ProcessorFeaturesString);
36HRESULT WINAPI HcsWaitForOperationResult (HCS_OPERATION operation, DWORD timeoutMs, PWSTR *resultDocument);
37HRESULT WINAPI HcsWaitForOperationResultAndProcessInfo (HCS_OPERATION operation, DWORD timeoutMs, HCS_PROCESS_INFORMATION *processInformation, PWSTR *resultDocument);
38HRESULT WINAPI HcsSetOperationCallback (HCS_OPERATION operation, const void *context, HCS_OPERATION_COMPLETION callback);
39HRESULT WINAPI HcsCancelOperation (HCS_OPERATION operation);
40HRESULT WINAPI HcsCreateComputeSystem (PCWSTR id, PCWSTR configuration, HCS_OPERATION operation, const SECURITY_DESCRIPTOR *securityDescriptor, HCS_SYSTEM *computeSystem);
41HRESULT WINAPI HcsCreateComputeSystemInNamespace (PCWSTR idNamespace, PCWSTR id, PCWSTR configuration, HCS_OPERATION operation, const HCS_CREATE_OPTIONS *options, HCS_SYSTEM *computeSystem);
42HRESULT WINAPI HcsOpenComputeSystem (PCWSTR id, DWORD requestedAccess, HCS_SYSTEM *computeSystem);
43HRESULT WINAPI HcsOpenComputeSystemInNamespace (PCWSTR idNamespace, PCWSTR id, DWORD requestedAccess, HCS_SYSTEM *computeSystem);
44void WINAPI HcsCloseComputeSystem (HCS_SYSTEM computeSystem);
45HRESULT WINAPI HcsStartComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
46HRESULT WINAPI HcsShutDownComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
47HRESULT WINAPI HcsTerminateComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
48HRESULT WINAPI HcsCrashComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
49HRESULT WINAPI HcsPauseComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
50HRESULT WINAPI HcsResumeComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
51HRESULT WINAPI HcsSaveComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
52HRESULT WINAPI HcsGetComputeSystemProperties (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR propertyQuery);
53HRESULT WINAPI HcsModifyComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity);
54HRESULT WINAPI HcsWaitForComputeSystemExit (HCS_SYSTEM computeSystem, DWORD timeoutMs, PWSTR *result);
55HRESULT WINAPI HcsSetComputeSystemCallback (HCS_SYSTEM computeSystem, HCS_EVENT_OPTIONS callbackOptions, const void *context, HCS_EVENT_CALLBACK callback);
56HRESULT WINAPI HcsCreateProcess (HCS_SYSTEM computeSystem, PCWSTR processParameters, HCS_OPERATION operation, const SECURITY_DESCRIPTOR *securityDescriptor, HCS_PROCESS *process);
57HRESULT WINAPI HcsOpenProcess (HCS_SYSTEM computeSystem, DWORD processId, DWORD requestedAccess, HCS_PROCESS *process);
58void WINAPI HcsCloseProcess (HCS_PROCESS process);
59HRESULT WINAPI HcsTerminateProcess (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR options);
60HRESULT WINAPI HcsSignalProcess (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR options);
61HRESULT WINAPI HcsGetProcessInfo (HCS_PROCESS process, HCS_OPERATION operation);
62HRESULT WINAPI HcsGetProcessProperties (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR propertyQuery);
63HRESULT WINAPI HcsModifyProcess (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR settings);
64HRESULT WINAPI HcsSetProcessCallback (HCS_PROCESS process, HCS_EVENT_OPTIONS callbackOptions, void *context, HCS_EVENT_CALLBACK callback);
65HRESULT WINAPI HcsWaitForProcessExit (HCS_PROCESS computeSystem, DWORD timeoutMs, PWSTR *result);
66HRESULT WINAPI HcsGetServiceProperties (PCWSTR propertyQuery, PWSTR *result);
67HRESULT WINAPI HcsModifyServiceSettings (PCWSTR settings, PWSTR *result);
68HRESULT WINAPI HcsSubmitWerReport (PCWSTR settings);
69HRESULT WINAPI HcsCreateEmptyGuestStateFile (PCWSTR guestStateFilePath);
70HRESULT WINAPI HcsCreateEmptyRuntimeStateFile (PCWSTR runtimeStateFilePath);
71HRESULT WINAPI HcsGrantVmAccess (PCWSTR vmId, PCWSTR filePath);
72HRESULT WINAPI HcsRevokeVmAccess (PCWSTR vmId, PCWSTR filePath);
73HRESULT WINAPI HcsGrantVmGroupAccess (PCWSTR filePath);
74HRESULT WINAPI HcsRevokeVmGroupAccess (PCWSTR filePath);
75
76#ifdef __cplusplus
77}
78#endif
79
80#endif /* WINAPI_PARTITION_DESKTOP */
81
82#endif /* _HYPERV_COMPUTECORE_H_ */
lib/libc/include/any-windows-any/computedefs.h created+119
......@@ -0,0 +1,119 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _HYPERV_COMPUTEDEFS_H_
8#define _HYPERV_COMPUTEDEFS_H_
9
10DECLARE_HANDLE(HCS_SYSTEM);
11DECLARE_HANDLE(HCS_PROCESS);
12DECLARE_HANDLE(HCS_OPERATION);
13DECLARE_HANDLE(HCS_CALLBACK);
14
15typedef enum HCS_OPERATION_TYPE {
16 HcsOperationTypeNone = -1,
17 HcsOperationTypeEnumerate = 0,
18 HcsOperationTypeCreate = 1,
19 HcsOperationTypeStart = 2,
20 HcsOperationTypeShutdown = 3,
21 HcsOperationTypePause = 4,
22 HcsOperationTypeResume = 5,
23 HcsOperationTypeSave = 6,
24 HcsOperationTypeTerminate = 7,
25 HcsOperationTypeModify = 8,
26 HcsOperationTypeGetProperties = 9,
27 HcsOperationTypeCreateProcess = 10,
28 HcsOperationTypeSignalProcess = 11,
29 HcsOperationTypeGetProcessInfo = 12,
30 HcsOperationTypeGetProcessProperties = 13,
31 HcsOperationTypeModifyProcess = 14,
32 HcsOperationTypeCrash = 15
33} HCS_OPERATION_TYPE;
34
35#define HCS_INVALID_OPERATION_ID (UINT64)(-1)
36
37typedef void (CALLBACK *HCS_OPERATION_COMPLETION)(HCS_OPERATION operation, void *context);
38
39typedef enum HCS_EVENT_TYPE {
40 HcsEventInvalid = 0x00000000,
41 HcsEventSystemExited = 0x00000001,
42 HcsEventSystemCrashInitiated = 0x00000002,
43 HcsEventSystemCrashReport = 0x00000003,
44 HcsEventSystemRdpEnhancedModeStateChanged = 0x00000004,
45 HcsEventSystemSiloJobCreated = 0x00000005,
46 HcsEventSystemGuestConnectionClosed = 0x00000006,
47 HcsEventProcessExited = 0x00010000,
48 HcsEventOperationCallback = 0x01000000,
49 HcsEventServiceDisconnect = 0x02000000
50} HCS_EVENT_TYPE;
51
52typedef struct HCS_EVENT {
53 HCS_EVENT_TYPE Type;
54 PCWSTR EventData;
55 HCS_OPERATION Operation;
56} HCS_EVENT;
57
58typedef enum HCS_EVENT_OPTIONS {
59 HcsEventOptionNone = 0x00000000,
60 HcsEventOptionEnableOperationCallbacks = 0x00000001
61} HCS_EVENT_OPTIONS;
62
63DEFINE_ENUM_FLAG_OPERATORS(HCS_EVENT_OPTIONS);
64
65typedef void (CALLBACK *HCS_EVENT_CALLBACK)(HCS_EVENT *event, void *context);
66
67typedef enum HCS_NOTIFICATION_FLAGS {
68 HcsNotificationFlagSuccess = 0x00000000,
69 HcsNotificationFlagFailure = 0x80000000
70} HCS_NOTIFICATION_FLAGS;
71
72typedef enum HCS_NOTIFICATIONS {
73 HcsNotificationInvalid = 0x00000000,
74 HcsNotificationSystemExited = 0x00000001,
75 HcsNotificationSystemCreateCompleted = 0x00000002,
76 HcsNotificationSystemStartCompleted = 0x00000003,
77 HcsNotificationSystemPauseCompleted = 0x00000004,
78 HcsNotificationSystemResumeCompleted = 0x00000005,
79 HcsNotificationSystemCrashReport = 0x00000006,
80 HcsNotificationSystemSiloJobCreated = 0x00000007,
81 HcsNotificationSystemSaveCompleted = 0x00000008,
82 HcsNotificationSystemRdpEnhancedModeStateChanged = 0x00000009,
83 HcsNotificationSystemShutdownFailed = 0x0000000A,
84 HcsNotificationSystemShutdownCompleted = 0x0000000A,
85 HcsNotificationSystemGetPropertiesCompleted = 0x0000000B,
86 HcsNotificationSystemModifyCompleted = 0x0000000C,
87 HcsNotificationSystemCrashInitiated = 0x0000000D,
88 HcsNotificationSystemGuestConnectionClosed = 0x0000000E,
89 HcsNotificationSystemOperationCompletion = 0x0000000F,
90 HcsNotificationSystemPassThru = 0x00000010,
91 HcsNotificationProcessExited = 0x00010000,
92 HcsNotificationServiceDisconnect = 0x01000000,
93 HcsNotificationFlagsReserved = 0xF0000000
94} HCS_NOTIFICATIONS;
95
96typedef void (CALLBACK *HCS_NOTIFICATION_CALLBACK)(DWORD notificationType, void *context, HRESULT notificationStatus, PCWSTR notificationData);
97
98typedef struct {
99 DWORD ProcessId;
100 DWORD Reserved;
101 HANDLE StdInput;
102 HANDLE StdOutput;
103 HANDLE StdError;
104} HCS_PROCESS_INFORMATION;
105
106typedef enum HCS_CREATE_OPTIONS {
107 HcsCreateOptions_1 = 0x00010000
108}HCS_CREATE_OPTIONS;
109
110typedef struct {
111 HCS_CREATE_OPTIONS Version;
112 HANDLE UserToken;
113 SECURITY_DESCRIPTOR* SecurityDescriptor;
114 HCS_EVENT_OPTIONS CallbackOptions;
115 void* CallbackContext;
116 HCS_EVENT_CALLBACK Callback;
117} HCS_CREATE_OPTIONS_1;
118
119#endif /* _HYPERV_COMPUTEDEFS_H_ */
lib/libc/include/any-windows-any/computenetwork.h created+142
......@@ -0,0 +1,142 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef HCN_CLIENT_H
8#define HCN_CLIENT_H
9
10#include <apiset.h>
11#include <apisetcconv.h>
12#include <minwindef.h>
13
14#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20typedef enum HCN_NOTIFICATIONS {
21 HcnNotificationInvalid = 0x00000000,
22 HcnNotificationNetworkPreCreate = 0x00000001,
23 HcnNotificationNetworkCreate = 0x00000002,
24 HcnNotificationNetworkPreDelete = 0x00000003,
25 HcnNotificationNetworkDelete = 0x00000004,
26 HcnNotificationNamespaceCreate = 0x00000005,
27 HcnNotificationNamespaceDelete = 0x00000006,
28 HcnNotificationGuestNetworkServiceCreate = 0x00000007,
29 HcnNotificationGuestNetworkServiceDelete = 0x00000008,
30 HcnNotificationNetworkEndpointAttached = 0x00000009,
31 HcnNotificationNetworkEndpointDetached = 0x00000010,
32 HcnNotificationGuestNetworkServiceStateChanged = 0x00000011,
33 HcnNotificationGuestNetworkServiceInterfaceStateChanged = 0x00000012,
34 HcnNotificationServiceDisconnect = 0x01000000,
35 HcnNotificationFlagsReserved = 0xF0000000
36} HCN_NOTIFICATIONS;
37
38typedef void* HCN_CALLBACK;
39
40typedef void (CALLBACK *HCN_NOTIFICATION_CALLBACK)(DWORD NotificationType, void *Context, HRESULT NotificationStatus, PCWSTR NotificationData);
41
42typedef void* HCN_NETWORK;
43typedef HCN_NETWORK* PHCN_NETWORK;
44
45HRESULT WINAPI HcnEnumerateNetworks (PCWSTR Query, PWSTR *Networks, PWSTR *ErrorRecord);
46HRESULT WINAPI HcnCreateNetwork (REFGUID Id, PCWSTR Settings, PHCN_NETWORK Network, PWSTR *ErrorRecord);
47HRESULT WINAPI HcnOpenNetwork (REFGUID Id, PHCN_NETWORK Network, PWSTR *ErrorRecord);
48HRESULT WINAPI HcnModifyNetwork (HCN_NETWORK Network, PCWSTR Settings, PWSTR *ErrorRecord);
49HRESULT WINAPI HcnQueryNetworkProperties (HCN_NETWORK Network, PCWSTR Query, PWSTR *Properties, PWSTR *ErrorRecord);
50HRESULT WINAPI HcnDeleteNetwork (REFGUID Id, PWSTR *ErrorRecord);
51HRESULT WINAPI HcnCloseNetwork (HCN_NETWORK Network);
52
53typedef void* HCN_NAMESPACE;
54typedef HCN_NAMESPACE* PHCN_NAMESPACE;
55
56HRESULT WINAPI HcnEnumerateNamespaces (PCWSTR Query, PWSTR *Namespaces, PWSTR *ErrorRecord);
57HRESULT WINAPI HcnCreateNamespace (REFGUID Id, PCWSTR Settings, PHCN_NAMESPACE Namespace, PWSTR *ErrorRecord);
58HRESULT WINAPI HcnOpenNamespace (REFGUID Id, PHCN_NAMESPACE Namespace, PWSTR *ErrorRecord);
59HRESULT WINAPI HcnModifyNamespace (HCN_NAMESPACE Namespace, PCWSTR Settings, PWSTR *ErrorRecord);
60HRESULT WINAPI HcnQueryNamespaceProperties (HCN_NAMESPACE Namespace, PCWSTR Query, PWSTR *Properties, PWSTR *ErrorRecord);
61HRESULT WINAPI HcnDeleteNamespace (REFGUID Id, PWSTR *ErrorRecord);
62HRESULT WINAPI HcnCloseNamespace (HCN_NAMESPACE Namespace);
63
64typedef void* HCN_ENDPOINT;
65typedef HCN_ENDPOINT* PHCN_ENDPOINT;
66
67HRESULT WINAPI HcnEnumerateEndpoints (PCWSTR Query, PWSTR *Endpoints, PWSTR *ErrorRecord);
68HRESULT WINAPI HcnCreateEndpoint (HCN_NETWORK Network, REFGUID Id, PCWSTR Settings, PHCN_ENDPOINT Endpoint, PWSTR *ErrorRecord);
69HRESULT WINAPI HcnOpenEndpoint (REFGUID Id, PHCN_ENDPOINT Endpoint, PWSTR *ErrorRecord);
70HRESULT WINAPI HcnModifyEndpoint (HCN_ENDPOINT Endpoint, PCWSTR Settings, PWSTR *ErrorRecord);
71HRESULT WINAPI HcnQueryEndpointProperties (HCN_ENDPOINT Endpoint, PCWSTR Query, PWSTR *Properties, PWSTR *ErrorRecord);
72HRESULT WINAPI HcnDeleteEndpoint (REFGUID Id, PWSTR *ErrorRecord);
73HRESULT WINAPI HcnCloseEndpoint (HCN_ENDPOINT Endpoint);
74
75typedef void* HCN_LOADBALANCER;
76typedef HCN_LOADBALANCER* PHCN_LOADBALANCER;
77
78HRESULT WINAPI HcnEnumerateLoadBalancers (PCWSTR Query, PWSTR *LoadBalancer, PWSTR *ErrorRecord);
79HRESULT WINAPI HcnCreateLoadBalancer (REFGUID Id, PCWSTR Settings, PHCN_LOADBALANCER LoadBalancer, PWSTR *ErrorRecord);
80HRESULT WINAPI HcnOpenLoadBalancer (REFGUID Id, PHCN_LOADBALANCER LoadBalancer, PWSTR *ErrorRecord);
81HRESULT WINAPI HcnModifyLoadBalancer (HCN_LOADBALANCER LoadBalancer, PCWSTR Settings, PWSTR *ErrorRecord);
82HRESULT WINAPI HcnQueryLoadBalancerProperties (HCN_LOADBALANCER LoadBalancer, PCWSTR Query, PWSTR *Properties, PWSTR *ErrorRecord);
83HRESULT WINAPI HcnDeleteLoadBalancer (REFGUID Id, PWSTR *ErrorRecord);
84HRESULT WINAPI HcnCloseLoadBalancer (HCN_LOADBALANCER LoadBalancer);
85
86typedef void* HCN_SERVICE;
87typedef HCN_SERVICE* PHCN_SERVICE;
88
89HRESULT WINAPI HcnRegisterServiceCallback (HCN_NOTIFICATION_CALLBACK Callback, void *Context, HCN_CALLBACK *CallbackHandle);
90HRESULT WINAPI HcnUnregisterServiceCallback (HCN_CALLBACK CallbackHandle);
91
92typedef void* HCN_GUESTNETWORKSERVICE;
93typedef HCN_GUESTNETWORKSERVICE* PHCN_GUESTNETWORKSERVICE;
94
95HRESULT WINAPI HcnRegisterGuestNetworkServiceCallback (HCN_GUESTNETWORKSERVICE GuestNetworkService, HCN_NOTIFICATION_CALLBACK Callback, void* Context, HCN_CALLBACK* CallbackHandle);
96HRESULT WINAPI HcnUnregisterGuestNetworkServiceCallback (HCN_CALLBACK CallbackHandle);
97HRESULT WINAPI HcnCreateGuestNetworkService (REFGUID Id, PCWSTR Settings, PHCN_GUESTNETWORKSERVICE GuestNetworkService, PWSTR* ErrorRecord);
98HRESULT WINAPI HcnCloseGuestNetworkService (HCN_GUESTNETWORKSERVICE GuestNetworkService);
99HRESULT WINAPI HcnModifyGuestNetworkService (HCN_GUESTNETWORKSERVICE GuestNetworkService, PCWSTR Settings, PWSTR* ErrorRecord);
100HRESULT WINAPI HcnDeleteGuestNetworkService (REFGUID Id, PWSTR* ErrorRecord);
101
102typedef enum tagHCN_PORT_PROTOCOL {
103 HCN_PORT_PROTOCOL_TCP = 0x01,
104 HCN_PORT_PROTOCOL_UDP = 0x02,
105 HCN_PORT_PROTOCOL_BOTH = 0x03
106} HCN_PORT_PROTOCOL;
107
108typedef enum tagHCN_PORT_ACCESS {
109 HCN_PORT_ACCESS_EXCLUSIVE = 0x01,
110 HCN_PORT_ACCESS_SHARED = 0x02
111} HCN_PORT_ACCESS;
112
113typedef struct tagHCN_PORT_RANGE_RESERVATION {
114 USHORT startingPort;
115 USHORT endingPort;
116} HCN_PORT_RANGE_RESERVATION;
117
118typedef struct tagHCN_PORT_RANGE_ENTRY {
119 GUID OwningPartitionId;
120 GUID TargetPartitionId;
121 HCN_PORT_PROTOCOL Protocol;
122 UINT64 Priority;
123 UINT32 ReservationType;
124 UINT32 SharingFlags;
125 UINT32 DeliveryMode;
126 UINT16 StartingPort;
127 UINT16 EndingPort;
128} HCN_PORT_RANGE_ENTRY, *PHCN_PORT_RANGE_ENTRY;
129
130HRESULT WINAPI HcnReserveGuestNetworkServicePort (HCN_GUESTNETWORKSERVICE GuestNetworkService, HCN_PORT_PROTOCOL Protocol, HCN_PORT_ACCESS Access, USHORT Port, HANDLE* PortReservationHandle);
131HRESULT WINAPI HcnReserveGuestNetworkServicePortRange (HCN_GUESTNETWORKSERVICE GuestNetworkService, USHORT PortCount, HCN_PORT_RANGE_RESERVATION* PortRangeReservation, HANDLE* PortReservationHandle);
132HRESULT WINAPI HcnReleaseGuestNetworkServicePortReservationHandle (HANDLE PortReservationHandle);
133HRESULT WINAPI HcnEnumerateGuestNetworkPortReservations (ULONG* ReturnCount, HCN_PORT_RANGE_ENTRY** PortEntries);
134VOID WINAPI HcnFreeGuestNetworkPortReservations (HCN_PORT_RANGE_ENTRY* PortEntries);
135
136#ifdef __cplusplus
137}
138#endif
139
140#endif /* WINAPI_PARTITION_DESKTOP */
141
142#endif /* HCN_CLIENT_H */
lib/libc/include/any-windows-any/computestorage.h created+40
......@@ -0,0 +1,40 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _HYPERV_COMPUTESTORAGE_H_
8#define _HYPERV_COMPUTESTORAGE_H_
9
10#include <apiset.h>
11#include <apisetcconv.h>
12#include <minwindef.h>
13#include <winapifamily.h>
14
15#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21HRESULT WINAPI HcsImportLayer (PCWSTR layerPath, PCWSTR sourceFolderPath, PCWSTR layerData);
22HRESULT WINAPI HcsExportLayer (PCWSTR layerPath, PCWSTR exportFolderPath, PCWSTR layerData, PCWSTR options);
23HRESULT WINAPI HcsExportLegacyWritableLayer (PCWSTR writableLayerMountPath, PCWSTR writableLayerFolderPath, PCWSTR exportFolderPath, PCWSTR layerData);
24HRESULT WINAPI HcsDestroyLayer (PCWSTR layerPath);
25HRESULT WINAPI HcsSetupBaseOSLayer (PCWSTR layerPath, HANDLE vhdHandle, PCWSTR options);
26HRESULT WINAPI HcsInitializeWritableLayer (PCWSTR writableLayerPath, PCWSTR layerData, PCWSTR options);
27HRESULT WINAPI HcsInitializeLegacyWritableLayer (PCWSTR writableLayerMountPath, PCWSTR writableLayerFolderPath, PCWSTR layerData, PCWSTR options);
28HRESULT WINAPI HcsAttachLayerStorageFilter (PCWSTR layerPath, PCWSTR layerData);
29HRESULT WINAPI HcsDetachLayerStorageFilter (PCWSTR layerPath);
30HRESULT WINAPI HcsFormatWritableLayerVhd (HANDLE vhdHandle);
31HRESULT WINAPI HcsGetLayerVhdMountPath (HANDLE vhdHandle, PWSTR *mountPath);
32HRESULT WINAPI HcsSetupBaseOSVolume (PCWSTR layerPath, PCWSTR volumePath, PCWSTR options);
33
34#ifdef __cplusplus
35}
36#endif
37
38#endif /* WINAPI_PARTITION_DESKTOP */
39
40#endif /* _HYPERV_COMPUTESTORAGE_H_ */
lib/libc/include/any-windows-any/control.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/control.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/control.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/corecrt.h-5
......@@ -15,11 +15,6 @@
1515#pragma pack(push,_CRT_PACKING)
1616#endif
1717
18#if !defined(_UCRT) && ((__MSVCRT_VERSION__ >= 0x1400) || (__MSVCRT_VERSION__ >= 0xE00 && __MSVCRT_VERSION__ < 0x1000))
19/* Allow both 0x1400 and 0xE00 to identify UCRT */
20#define _UCRT
21#endif
22
2318#ifdef __ERRCODE_DEFINED_MS
2419/* #define __ERRCODE_DEFINED_MS */
2520typedef int errcode;
lib/libc/include/any-windows-any/ctfutb.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/ctfutb.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/ctfutb.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ctype.h+1-1
......@@ -191,7 +191,7 @@ int __cdecl isblank(int _C);
191191 int __cdecl is_wctype(wint_t _C,wctype_t _Type);
192192#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */
193193
194#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
194#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus)
195195int __cdecl iswblank(wint_t _C);
196196#endif
197197#endif
lib/libc/include/any-windows-any/d3d10.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d10.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d10.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d10_1.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d10_1.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d10_1.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d10effect.h+2-2
......@@ -35,8 +35,8 @@ typedef enum _D3D10_DEVICE_STATE_TYPES
3535{
3636 D3D10_DST_SO_BUFFERS = 1,
3737 D3D10_DST_OM_RENDER_TARGETS,
38 D3D10_DST_DEPTH_STENCIL_STATE,
39 D3D10_DST_BLEND_STATE,
38 D3D10_DST_OM_DEPTH_STENCIL_STATE,
39 D3D10_DST_OM_BLEND_STATE,
4040 D3D10_DST_VS,
4141 D3D10_DST_VS_SAMPLERS,
4242 D3D10_DST_VS_SHADER_RESOURCES,
lib/libc/include/any-windows-any/d3d10sdklayers.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d10sdklayers.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d10sdklayers.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_1.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11_1.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11_1.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_2.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11_2.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11_2.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_3.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11_3.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11_3.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_4.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11_4.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11_4.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11on12.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11on12.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11on12.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11sdklayers.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d11sdklayers.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d11sdklayers.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d12.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d12.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d12.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d12sdklayers.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d12sdklayers.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d12sdklayers.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d12shader.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3d12shader.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3d12shader.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3dcommon.h+27-27
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/d3dcommon.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/d3dcommon.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -534,19 +534,19 @@ typedef enum D3D_PRIMITIVE {
534534 D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
535535 D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
536536 D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
537 D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 28,
538 D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 29,
539 D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 30,
540 D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 31,
541 D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 32,
542 D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 33,
543 D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 34,
544 D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 35,
545 D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 36,
546 D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 37,
547 D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 38,
548 D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 39,
549 D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 40,
537 D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
538 D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
539 D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
540 D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
541 D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
542 D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
543 D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
544 D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
545 D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
546 D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
547 D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
548 D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
549 D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
550550 D3D10_PRIMITIVE_UNDEFINED = 0,
551551 D3D10_PRIMITIVE_POINT = 1,
552552 D3D10_PRIMITIVE_LINE = 2,
......@@ -578,19 +578,19 @@ typedef enum D3D_PRIMITIVE {
578578 D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
579579 D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
580580 D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
581 D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 28,
582 D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = 29,
583 D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = 30,
584 D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = 31,
585 D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = 32,
586 D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = 33,
587 D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = 34,
588 D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = 35,
589 D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = 36,
590 D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = 37,
591 D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = 38,
592 D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = 39,
593 D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = 40
581 D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
582 D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
583 D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
584 D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
585 D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
586 D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
587 D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
588 D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
589 D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
590 D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
591 D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
592 D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
593 D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = 39
594594} D3D_PRIMITIVE;
595595typedef enum D3D_PRIMITIVE_TOPOLOGY {
596596 D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
lib/libc/include/any-windows-any/dbgprop.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dbgprop.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dbgprop.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dcommon.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dcommon.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dcommon.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dcomp.h+74
......@@ -524,8 +524,82 @@ __CRT_UUID_DECL(IDCompositionVisualDebug,0xfed2b808,0x5eb4,0x43a0,0xae,0xa3,0x35
524524#endif
525525
526526
527#undef INTERFACE
528#define INTERFACE IDCompositionFilterEffect
529DECLARE_INTERFACE_IID_(IDCompositionFilterEffect, IDCompositionEffect, "30C421D5-8CB2-4E9F-B133-37BE270D4AC2")
530{
531 STDMETHOD(SetInput)(THIS_ UINT index, IUnknown *input, UINT flags) PURE;
532};
533
534#ifdef __CRT_UUID_DECL
535__CRT_UUID_DECL(IDCompositionFilterEffect,0x30c421d5,0x8cb2,0x4e9f,0xb1,0x33,0x37,0xbe,0x27,0x0d,0x4a,0xc2);
527536#endif
528537
538
539#undef INTERFACE
540#define INTERFACE IDCompositionSaturationEffect
541DECLARE_INTERFACE_IID_(IDCompositionSaturationEffect, IDCompositionFilterEffect, "A08DEBDA-3258-4FA4-9F16-9174D3FE93B1")
542{
543#if defined(_MSC_VER) && defined(__cplusplus)
544 STDMETHOD(SetSaturation)(THIS_ float ratio) PURE;
545 STDMETHOD(SetSaturation)(THIS_ IDCompositionAnimation* animation) PURE;
546#else
547 STDMETHOD(SetSaturation)(THIS_ IDCompositionAnimation* animation) PURE;
548 STDMETHOD(SetSaturation)(THIS_ float ratio ) PURE;
549#endif
550};
551
552#ifdef __CRT_UUID_DECL
553__CRT_UUID_DECL(IDCompositionSaturationEffect,0xa08debda,0x3258,0x4fa4,0x9f,0x16,0x91,0x74,0xd3,0xfe,0x93,0xb1);
554#endif
555
556
557#undef INTERFACE
558#define INTERFACE IDCompositionGaussianBlurEffect
559DECLARE_INTERFACE_IID_(IDCompositionGaussianBlurEffect, IDCompositionFilterEffect, "45D4D0B7-1BD4-454E-8894-2BFA68443033")
560{
561
562#if defined(_MSC_VER) && defined(__cplusplus)
563 STDMETHOD(SetStandardDeviation)(THIS_ float amount) PURE;
564 STDMETHOD(SetStandardDeviation)(THIS_ IDCompositionAnimation* animation) PURE;
565#else
566 STDMETHOD(SetStandardDeviation)(THIS_ IDCompositionAnimation* animation) PURE;
567 STDMETHOD(SetStandardDeviation)(THIS_ float amount) PURE;
568#endif
569 STDMETHOD(SetBorderMode)(THIS_ D2D1_BORDER_MODE mode) PURE;
570};
571
572#ifdef __CRT_UUID_DECL
573__CRT_UUID_DECL(IDCompositionGaussianBlurEffect,0x45d4d0b7,0x1bd4,0x454e,0x88,0x94,0x2b,0xfa,0x68,0x44,0x30,0x33);
574#endif
575
576
577/* WARNING: some of the arguments are replaced with void*, only what's used has been kept */
578#undef INTERFACE
579#define INTERFACE IDCompositionDevice3
580DECLARE_INTERFACE_IID_(IDCompositionDevice3, IDCompositionDevice2, "0987CB06-F916-48BF-8D35-CE7641781BD9")
581{
582 STDMETHOD(CreateGaussianBlurEffect)(THIS_ IDCompositionGaussianBlurEffect **gaussianBlurEffect) PURE;
583 STDMETHOD(CreateBrightnessEffect)(THIS_ /* TODO IDCompositionBrightnessEffect */ void **brightnessEffect) PURE;
584 STDMETHOD(CreateColorMatrixEffect)(THIS_ /* TODO IDCompositionColorMatrixEffect */ void **colorMatrixEffect) PURE;
585 STDMETHOD(CreateShadowEffect)(THIS_ /* TODO IDCompositionShadowEffect */ void **shadowEffect) PURE;
586 STDMETHOD(CreateHueRotationEffect)(THIS_ /* IDCompositionHueRotationEffect */ void **hueRotationEffect) PURE;
587 STDMETHOD(CreateSaturationEffect)(THIS_ IDCompositionSaturationEffect **saturationEffect) PURE;
588 STDMETHOD(CreateTurbulenceEffect)(THIS_ /* IDCompositionTurbulenceEffect */ void **turbulenceEffect) PURE;
589 STDMETHOD(CreateLinearTransferEffect)(THIS_ /* IDCompositionLinearTransferEffect */ void **linearTransferEffect) PURE;
590 STDMETHOD(CreateTableTransferEffect)(THIS_ /* IDCompositionTableTransferEffect */ void **tableTransferEffect) PURE;
591 STDMETHOD(CreateCompositeEffect)(THIS_ /* IDCompositionCompositeEffect */ void **compositeEffect) PURE;
592 STDMETHOD(CreateBlendEffect)(THIS_ /* TODO IDCompositionBlendEffect */ void **blendEffect) PURE;
593 STDMETHOD(CreateArithmeticCompositeEffect)(THIS_ /* IDCompositionArithmeticCompositeEffect */ void **arithmeticCompositeEffect) PURE;
594 STDMETHOD(CreateAffineTransform2DEffect)(THIS_ /* IDCompositionAffineTransform2DEffect */ void **affineTransform2dEffect) PURE;
595};
596
597#ifdef __CRT_UUID_DECL
598__CRT_UUID_DECL(IDCompositionDevice3,0x0987cb06,0xf916,0x48bf,0x8d,0x35,0xce,0x76,0x41,0x78,0x1b,0xd9);
599#endif
600
601#endif /* WINAPI_PARTITION_DESKTOP */
602
529603#if (_WIN32_WINNT >= 0x0A00)
530604
531605STDAPI DCompositionCreateDevice3(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice);
lib/libc/include/any-windows-any/dcompanimation.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dcompanimation.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dcompanimation.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ddk/ata.h created+1732
......@@ -0,0 +1,1732 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _NTATA_
8#define _NTATA_
9
10#pragma pack(push,1)
11
12typedef struct _IDENTIFY_DEVICE_DATA {
13 struct {
14 USHORT Reserved1 : 1;
15 USHORT Retired3 : 1;
16 USHORT ResponseIncomplete : 1;
17 USHORT Retired2 : 3;
18 USHORT FixedDevice : 1;
19 USHORT RemovableMedia : 1;
20 USHORT Retired1 : 7;
21 USHORT DeviceType : 1;
22 } GeneralConfiguration;
23 USHORT NumCylinders;
24 USHORT SpecificConfiguration;
25 USHORT NumHeads;
26 USHORT Retired1[2];
27 USHORT NumSectorsPerTrack;
28 USHORT VendorUnique1[3];
29 UCHAR SerialNumber[20];
30 USHORT Retired2[2];
31 USHORT Obsolete1;
32 UCHAR FirmwareRevision[8];
33 UCHAR ModelNumber[40];
34 UCHAR MaximumBlockTransfer;
35 UCHAR VendorUnique2;
36 struct {
37 USHORT FeatureSupported : 1;
38 USHORT Reserved : 15;
39 } TrustedComputing;
40 struct {
41 UCHAR CurrentLongPhysicalSectorAlignment : 2;
42 UCHAR ReservedByte49 : 6;
43 UCHAR DmaSupported : 1;
44 UCHAR LbaSupported : 1;
45 UCHAR IordyDisable : 1;
46 UCHAR IordySupported : 1;
47 UCHAR Reserved1 : 1;
48 UCHAR StandybyTimerSupport : 1;
49 UCHAR Reserved2 : 2;
50 USHORT ReservedWord50;
51 } Capabilities;
52 USHORT ObsoleteWords51[2];
53 USHORT TranslationFieldsValid : 3;
54 USHORT Reserved3 : 5;
55 USHORT FreeFallControlSensitivity : 8;
56 USHORT NumberOfCurrentCylinders;
57 USHORT NumberOfCurrentHeads;
58 USHORT CurrentSectorsPerTrack;
59 ULONG CurrentSectorCapacity;
60 UCHAR CurrentMultiSectorSetting;
61 UCHAR MultiSectorSettingValid : 1;
62 UCHAR ReservedByte59 : 3;
63 UCHAR SanitizeFeatureSupported : 1;
64 UCHAR CryptoScrambleExtCommandSupported : 1;
65 UCHAR OverwriteExtCommandSupported : 1;
66 UCHAR BlockEraseExtCommandSupported : 1;
67 ULONG UserAddressableSectors;
68 USHORT ObsoleteWord62;
69 USHORT MultiWordDMASupport : 8;
70 USHORT MultiWordDMAActive : 8;
71 USHORT AdvancedPIOModes : 8;
72 USHORT ReservedByte64 : 8;
73 USHORT MinimumMWXferCycleTime;
74 USHORT RecommendedMWXferCycleTime;
75 USHORT MinimumPIOCycleTime;
76 USHORT MinimumPIOCycleTimeIORDY;
77 struct {
78 USHORT ZonedCapabilities : 2;
79 USHORT NonVolatileWriteCache : 1;
80 USHORT ExtendedUserAddressableSectorsSupported : 1;
81 USHORT DeviceEncryptsAllUserData : 1;
82 USHORT ReadZeroAfterTrimSupported : 1;
83 USHORT Optional28BitCommandsSupported : 1;
84 USHORT IEEE1667 : 1;
85 USHORT DownloadMicrocodeDmaSupported : 1;
86 USHORT SetMaxSetPasswordUnlockDmaSupported : 1;
87 USHORT WriteBufferDmaSupported : 1;
88 USHORT ReadBufferDmaSupported : 1;
89 USHORT DeviceConfigIdentifySetDmaSupported : 1;
90 USHORT LPSAERCSupported : 1;
91 USHORT DeterministicReadAfterTrimSupported : 1;
92 USHORT CFastSpecSupported : 1;
93 } AdditionalSupported;
94 USHORT ReservedWords70[5];
95 USHORT QueueDepth : 5;
96 USHORT ReservedWord75 : 11;
97 struct {
98 USHORT Reserved0 : 1;
99 USHORT SataGen1 : 1;
100 USHORT SataGen2 : 1;
101 USHORT SataGen3 : 1;
102 USHORT Reserved1 : 4;
103 USHORT NCQ : 1;
104 USHORT HIPM : 1;
105 USHORT PhyEvents : 1;
106 USHORT NcqUnload : 1;
107 USHORT NcqPriority : 1;
108 USHORT HostAutoPS : 1;
109 USHORT DeviceAutoPS : 1;
110 USHORT ReadLogDMA : 1;
111 USHORT Reserved2 : 1;
112 USHORT CurrentSpeed : 3;
113 USHORT NcqStreaming : 1;
114 USHORT NcqQueueMgmt : 1;
115 USHORT NcqReceiveSend : 1;
116 USHORT DEVSLPtoReducedPwrState : 1;
117 USHORT Reserved3 : 8;
118 } SerialAtaCapabilities;
119 struct {
120 USHORT Reserved0 : 1;
121 USHORT NonZeroOffsets : 1;
122 USHORT DmaSetupAutoActivate : 1;
123 USHORT DIPM : 1;
124 USHORT InOrderData : 1;
125 USHORT HardwareFeatureControl : 1;
126 USHORT SoftwareSettingsPreservation : 1;
127 USHORT NCQAutosense : 1;
128 USHORT DEVSLP : 1;
129 USHORT HybridInformation : 1;
130 USHORT Reserved1 : 6;
131 } SerialAtaFeaturesSupported;
132 struct {
133 USHORT Reserved0 : 1;
134 USHORT NonZeroOffsets : 1;
135 USHORT DmaSetupAutoActivate : 1;
136 USHORT DIPM : 1;
137 USHORT InOrderData : 1;
138 USHORT HardwareFeatureControl : 1;
139 USHORT SoftwareSettingsPreservation : 1;
140 USHORT DeviceAutoPS : 1;
141 USHORT DEVSLP : 1;
142 USHORT HybridInformation : 1;
143 USHORT Reserved1 : 6;
144 } SerialAtaFeaturesEnabled;
145 USHORT MajorRevision;
146 USHORT MinorRevision;
147 struct {
148 USHORT SmartCommands : 1;
149 USHORT SecurityMode : 1;
150 USHORT RemovableMediaFeature : 1;
151 USHORT PowerManagement : 1;
152 USHORT Reserved1 : 1;
153 USHORT WriteCache : 1;
154 USHORT LookAhead : 1;
155 USHORT ReleaseInterrupt : 1;
156 USHORT ServiceInterrupt : 1;
157 USHORT DeviceReset : 1;
158 USHORT HostProtectedArea : 1;
159 USHORT Obsolete1 : 1;
160 USHORT WriteBuffer : 1;
161 USHORT ReadBuffer : 1;
162 USHORT Nop : 1;
163 USHORT Obsolete2 : 1;
164 USHORT DownloadMicrocode : 1;
165 USHORT DmaQueued : 1;
166 USHORT Cfa : 1;
167 USHORT AdvancedPm : 1;
168 USHORT Msn : 1;
169 USHORT PowerUpInStandby : 1;
170 USHORT ManualPowerUp : 1;
171 USHORT Reserved2 : 1;
172 USHORT SetMax : 1;
173 USHORT Acoustics : 1;
174 USHORT BigLba : 1;
175 USHORT DeviceConfigOverlay : 1;
176 USHORT FlushCache : 1;
177 USHORT FlushCacheExt : 1;
178 USHORT WordValid83 : 2;
179 USHORT SmartErrorLog : 1;
180 USHORT SmartSelfTest : 1;
181 USHORT MediaSerialNumber : 1;
182 USHORT MediaCardPassThrough : 1;
183 USHORT StreamingFeature : 1;
184 USHORT GpLogging : 1;
185 USHORT WriteFua : 1;
186 USHORT WriteQueuedFua : 1;
187 USHORT WWN64Bit : 1;
188 USHORT URGReadStream : 1;
189 USHORT URGWriteStream : 1;
190 USHORT ReservedForTechReport : 2;
191 USHORT IdleWithUnloadFeature : 1;
192 USHORT WordValid : 2;
193 } CommandSetSupport;
194 struct {
195 USHORT SmartCommands : 1;
196 USHORT SecurityMode : 1;
197 USHORT RemovableMediaFeature : 1;
198 USHORT PowerManagement : 1;
199 USHORT Reserved1 : 1;
200 USHORT WriteCache : 1;
201 USHORT LookAhead : 1;
202 USHORT ReleaseInterrupt : 1;
203 USHORT ServiceInterrupt : 1;
204 USHORT DeviceReset : 1;
205 USHORT HostProtectedArea : 1;
206 USHORT Obsolete1 : 1;
207 USHORT WriteBuffer : 1;
208 USHORT ReadBuffer : 1;
209 USHORT Nop : 1;
210 USHORT Obsolete2 : 1;
211 USHORT DownloadMicrocode : 1;
212 USHORT DmaQueued : 1;
213 USHORT Cfa : 1;
214 USHORT AdvancedPm : 1;
215 USHORT Msn : 1;
216 USHORT PowerUpInStandby : 1;
217 USHORT ManualPowerUp : 1;
218 USHORT Reserved2 : 1;
219 USHORT SetMax : 1;
220 USHORT Acoustics : 1;
221 USHORT BigLba : 1;
222 USHORT DeviceConfigOverlay : 1;
223 USHORT FlushCache : 1;
224 USHORT FlushCacheExt : 1;
225 USHORT Resrved3 : 1;
226 USHORT Words119_120Valid : 1;
227 USHORT SmartErrorLog : 1;
228 USHORT SmartSelfTest : 1;
229 USHORT MediaSerialNumber : 1;
230 USHORT MediaCardPassThrough : 1;
231 USHORT StreamingFeature : 1;
232 USHORT GpLogging : 1;
233 USHORT WriteFua : 1;
234 USHORT WriteQueuedFua : 1;
235 USHORT WWN64Bit : 1;
236 USHORT URGReadStream : 1;
237 USHORT URGWriteStream : 1;
238 USHORT ReservedForTechReport : 2;
239 USHORT IdleWithUnloadFeature : 1;
240 USHORT Reserved4 : 2;
241 } CommandSetActive;
242 USHORT UltraDMASupport : 8;
243 USHORT UltraDMAActive : 8;
244 struct {
245 USHORT TimeRequired : 15;
246 USHORT ExtendedTimeReported : 1;
247 } NormalSecurityEraseUnit;
248 struct {
249 USHORT TimeRequired : 15;
250 USHORT ExtendedTimeReported : 1;
251 } EnhancedSecurityEraseUnit;
252 USHORT CurrentAPMLevel : 8;
253 USHORT ReservedWord91 : 8;
254 USHORT MasterPasswordID;
255 USHORT HardwareResetResult;
256 USHORT CurrentAcousticValue : 8;
257 USHORT RecommendedAcousticValue : 8;
258 USHORT StreamMinRequestSize;
259 USHORT StreamingTransferTimeDMA;
260 USHORT StreamingAccessLatencyDMAPIO;
261 ULONG StreamingPerfGranularity;
262 ULONG Max48BitLBA[2];
263 USHORT StreamingTransferTime;
264 USHORT DsmCap;
265 struct {
266 USHORT LogicalSectorsPerPhysicalSector : 4;
267 USHORT Reserved0 : 8;
268 USHORT LogicalSectorLongerThan256Words : 1;
269 USHORT MultipleLogicalSectorsPerPhysicalSector : 1;
270 USHORT Reserved1 : 2;
271 } PhysicalLogicalSectorSize;
272 USHORT InterSeekDelay;
273 USHORT WorldWideName[4];
274 USHORT ReservedForWorldWideName128[4];
275 USHORT ReservedForTlcTechnicalReport;
276 USHORT WordsPerLogicalSector[2];
277 struct {
278 USHORT ReservedForDrqTechnicalReport : 1;
279 USHORT WriteReadVerify : 1;
280 USHORT WriteUncorrectableExt : 1;
281 USHORT ReadWriteLogDmaExt : 1;
282 USHORT DownloadMicrocodeMode3 : 1;
283 USHORT FreefallControl : 1;
284 USHORT SenseDataReporting : 1;
285 USHORT ExtendedPowerConditions : 1;
286 USHORT Reserved0 : 6;
287 USHORT WordValid : 2;
288 } CommandSetSupportExt;
289 struct {
290 USHORT ReservedForDrqTechnicalReport : 1;
291 USHORT WriteReadVerify : 1;
292 USHORT WriteUncorrectableExt : 1;
293 USHORT ReadWriteLogDmaExt : 1;
294 USHORT DownloadMicrocodeMode3 : 1;
295 USHORT FreefallControl : 1;
296 USHORT SenseDataReporting : 1;
297 USHORT ExtendedPowerConditions : 1;
298 USHORT Reserved0 : 6;
299 USHORT Reserved1 : 2;
300 } CommandSetActiveExt;
301 USHORT ReservedForExpandedSupportandActive[6];
302 USHORT MsnSupport : 2;
303 USHORT ReservedWord127 : 14;
304 struct {
305 USHORT SecuritySupported : 1;
306 USHORT SecurityEnabled : 1;
307 USHORT SecurityLocked : 1;
308 USHORT SecurityFrozen : 1;
309 USHORT SecurityCountExpired : 1;
310 USHORT EnhancedSecurityEraseSupported : 1;
311 USHORT Reserved0 : 2;
312 USHORT SecurityLevel : 1;
313 USHORT Reserved1 : 7;
314 } SecurityStatus;
315 USHORT ReservedWord129[31];
316 struct {
317 USHORT MaximumCurrentInMA : 12;
318 USHORT CfaPowerMode1Disabled : 1;
319 USHORT CfaPowerMode1Required : 1;
320 USHORT Reserved0 : 1;
321 USHORT Word160Supported : 1;
322 } CfaPowerMode1;
323 USHORT ReservedForCfaWord161[7];
324 USHORT NominalFormFactor : 4;
325 USHORT ReservedWord168 : 12;
326 struct {
327 USHORT SupportsTrim : 1;
328 USHORT Reserved0 : 15;
329 } DataSetManagementFeature;
330 USHORT AdditionalProductID[4];
331 USHORT ReservedForCfaWord174[2];
332 USHORT CurrentMediaSerialNumber[30];
333 struct {
334 USHORT Supported : 1;
335 USHORT Reserved0 : 1;
336 USHORT WriteSameSuported : 1;
337 USHORT ErrorRecoveryControlSupported : 1;
338 USHORT FeatureControlSuported : 1;
339 USHORT DataTablesSuported : 1;
340 USHORT Reserved1 : 6;
341 USHORT VendorSpecific : 4;
342 } SCTCommandTransport;
343 USHORT ReservedWord207[2];
344 struct {
345 USHORT AlignmentOfLogicalWithinPhysical : 14;
346 USHORT Word209Supported : 1;
347 USHORT Reserved0 : 1;
348 } BlockAlignment;
349 USHORT WriteReadVerifySectorCountMode3Only[2];
350 USHORT WriteReadVerifySectorCountMode2Only[2];
351 struct {
352 USHORT NVCachePowerModeEnabled : 1;
353 USHORT Reserved0 : 3;
354 USHORT NVCacheFeatureSetEnabled : 1;
355 USHORT Reserved1 : 3;
356 USHORT NVCachePowerModeVersion : 4;
357 USHORT NVCacheFeatureSetVersion : 4;
358 } NVCacheCapabilities;
359 USHORT NVCacheSizeLSW;
360 USHORT NVCacheSizeMSW;
361 USHORT NominalMediaRotationRate;
362 USHORT ReservedWord218;
363 struct {
364 UCHAR NVCacheEstimatedTimeToSpinUpInSeconds;
365 UCHAR Reserved;
366 } NVCacheOptions;
367 USHORT WriteReadVerifySectorCountMode : 8;
368 USHORT ReservedWord220 : 8;
369 USHORT ReservedWord221;
370 struct {
371 USHORT MajorVersion : 12;
372 USHORT TransportType : 4;
373 } TransportMajorVersion;
374 USHORT TransportMinorVersion;
375 USHORT ReservedWord224[6];
376 ULONG ExtendedNumberOfUserAddressableSectors[2];
377 USHORT MinBlocksPerDownloadMicrocodeMode03;
378 USHORT MaxBlocksPerDownloadMicrocodeMode03;
379 USHORT ReservedWord236[19];
380 USHORT Signature : 8;
381 USHORT CheckSum : 8;
382} IDENTIFY_DEVICE_DATA, *PIDENTIFY_DEVICE_DATA;
383
384typedef struct _IDENTIFY_PACKET_DATA {
385 struct {
386 USHORT PacketType : 2;
387 USHORT IncompleteResponse : 1;
388 USHORT Reserved1 : 2;
389 USHORT DrqDelay : 2;
390 USHORT RemovableMedia : 1;
391 USHORT CommandPacketType : 5;
392 USHORT Reserved2 : 1;
393 USHORT DeviceType : 2;
394 } GeneralConfiguration;
395 USHORT ResevedWord1;
396 USHORT UniqueConfiguration;
397 USHORT ReservedWords3[7];
398 UCHAR SerialNumber[20];
399 USHORT ReservedWords20[3];
400 UCHAR FirmwareRevision[8];
401 UCHAR ModelNumber[40];
402 USHORT ReservedWords47[2];
403 struct {
404 USHORT VendorSpecific : 8;
405 USHORT DmaSupported : 1;
406 USHORT LbaSupported : 1;
407 USHORT IordyDisabled : 1;
408 USHORT IordySupported : 1;
409 USHORT Obsolete : 1;
410 USHORT OverlapSupported : 1;
411 USHORT QueuedCommandsSupported : 1;
412 USHORT InterleavedDmaSupported : 1;
413 USHORT DeviceSpecificStandbyTimerValueMin : 1;
414 USHORT Obsolete1 : 1;
415 USHORT ReservedWord50 : 12;
416 USHORT WordValid : 2;
417 } Capabilities;
418 USHORT ObsoleteWords51[2];
419 USHORT TranslationFieldsValid : 3;
420 USHORT Reserved3 : 13;
421 USHORT ReservedWords54[8];
422 struct {
423 USHORT UDMA0Supported : 1;
424 USHORT UDMA1Supported : 1;
425 USHORT UDMA2Supported : 1;
426 USHORT UDMA3Supported : 1;
427 USHORT UDMA4Supported : 1;
428 USHORT UDMA5Supported : 1;
429 USHORT UDMA6Supported : 1;
430 USHORT MDMA0Supported : 1;
431 USHORT MDMA1Supported : 1;
432 USHORT MDMA2Supported : 1;
433 USHORT DMASupported : 1;
434 USHORT ReservedWord62 : 4;
435 USHORT DMADIRBitRequired : 1;
436 } DMADIR;
437 USHORT MultiWordDMASupport : 8;
438 USHORT MultiWordDMAActive : 8;
439 USHORT AdvancedPIOModes : 8;
440 USHORT ReservedByte64 : 8;
441 USHORT MinimumMWXferCycleTime;
442 USHORT RecommendedMWXferCycleTime;
443 USHORT MinimumPIOCycleTime;
444 USHORT MinimumPIOCycleTimeIORDY;
445 USHORT ReservedWords69[2];
446 USHORT BusReleaseDelay;
447 USHORT ServiceCommandDelay;
448 USHORT ReservedWords73[2];
449 USHORT QueueDepth : 5;
450 USHORT ReservedWord75 : 11;
451 struct {
452 USHORT Reserved0 : 1;
453 USHORT SataGen1 : 1;
454 USHORT SataGen2 : 1;
455 USHORT SataGen3 : 1;
456 USHORT Reserved1 : 5;
457 USHORT HIPM : 1;
458 USHORT PhyEvents : 1;
459 USHORT Reserved3 : 2;
460 USHORT HostAutoPS : 1;
461 USHORT DeviceAutoPS : 1;
462 USHORT Reserved4 : 1;
463 USHORT Reserved5 : 1;
464 USHORT CurrentSpeed : 3;
465 USHORT SlimlineDeviceAttention : 1;
466 USHORT HostEnvironmentDetect : 1;
467 USHORT Reserved : 10;
468 } SerialAtaCapabilities;
469 struct {
470 USHORT Reserved0 : 1;
471 USHORT Reserved1 : 2;
472 USHORT DIPM : 1;
473 USHORT Reserved2 : 1;
474 USHORT AsynchronousNotification : 1;
475 USHORT SoftwareSettingsPreservation : 1;
476 USHORT Reserved3 : 9;
477 } SerialAtaFeaturesSupported;
478 struct {
479 USHORT Reserved0 : 1;
480 USHORT Reserved1 : 2;
481 USHORT DIPM : 1;
482 USHORT Reserved2 : 1;
483 USHORT AsynchronousNotification : 1;
484 USHORT SoftwareSettingsPreservation : 1;
485 USHORT DeviceAutoPS : 1;
486 USHORT Reserved3 : 8;
487 } SerialAtaFeaturesEnabled;
488 USHORT MajorRevision;
489 USHORT MinorRevision;
490 struct {
491 USHORT SmartCommands : 1;
492 USHORT SecurityMode : 1;
493 USHORT RemovableMedia : 1;
494 USHORT PowerManagement : 1;
495 USHORT PacketCommands : 1;
496 USHORT WriteCache : 1;
497 USHORT LookAhead : 1;
498 USHORT ReleaseInterrupt : 1;
499 USHORT ServiceInterrupt : 1;
500 USHORT DeviceReset : 1;
501 USHORT HostProtectedArea : 1;
502 USHORT Obsolete1 : 1;
503 USHORT WriteBuffer : 1;
504 USHORT ReadBuffer : 1;
505 USHORT Nop : 1;
506 USHORT Obsolete2 : 1;
507 USHORT DownloadMicrocode : 1;
508 USHORT Reserved1 : 2;
509 USHORT AdvancedPm : 1;
510 USHORT Msn : 1;
511 USHORT PowerUpInStandby : 1;
512 USHORT ManualPowerUp : 1;
513 USHORT Reserved2 : 1;
514 USHORT SetMax : 1;
515 USHORT Reserved3 : 3;
516 USHORT FlushCache : 1;
517 USHORT Reserved4 : 1;
518 USHORT WordValid : 2;
519 } CommandSetSupport;
520 struct {
521 USHORT Reserved0 : 5;
522 USHORT GpLogging : 1;
523 USHORT Reserved1 : 2;
524 USHORT WWN64Bit : 1;
525 USHORT Reserved2 : 5;
526 USHORT WordValid : 2;
527 } CommandSetSupportExt;
528 struct {
529 USHORT SmartCommands : 1;
530 USHORT SecurityMode : 1;
531 USHORT RemovableMedia : 1;
532 USHORT PowerManagement : 1;
533 USHORT PacketCommands : 1;
534 USHORT WriteCache : 1;
535 USHORT LookAhead : 1;
536 USHORT ReleaseInterrupt : 1;
537 USHORT ServiceInterrupt : 1;
538 USHORT DeviceReset : 1;
539 USHORT HostProtectedArea : 1;
540 USHORT Obsolete1 : 1;
541 USHORT WriteBuffer : 1;
542 USHORT ReadBuffer : 1;
543 USHORT Nop : 1;
544 USHORT Obsolete2 : 1;
545 USHORT DownloadMicrocode : 1;
546 USHORT Reserved1 : 2;
547 USHORT AdvancedPm : 1;
548 USHORT Msn : 1;
549 USHORT PowerUpInStandby : 1;
550 USHORT ManualPowerUp : 1;
551 USHORT Reserved2 : 1;
552 USHORT SetMax : 1;
553 USHORT Reserved3 : 3;
554 USHORT FlushCache : 1;
555 USHORT Reserved : 3;
556 } CommandSetActive;
557 struct {
558 USHORT Reserved0 : 5;
559 USHORT GpLogging : 1;
560 USHORT Reserved1 : 2;
561 USHORT WWN64Bit : 1;
562 USHORT Reserved2 : 5;
563 USHORT WordValid : 2;
564 } CommandSetActiveExt;
565 USHORT UltraDMASupport : 8;
566 USHORT UltraDMAActive : 8;
567 USHORT TimeRequiredForNormalEraseModeSecurityEraseUnit;
568 USHORT TimeRequiredForEnhancedEraseModeSecurityEraseUnit;
569 USHORT CurrentAPMLevel;
570 USHORT MasterPasswordID;
571 USHORT HardwareResetResult;
572 USHORT ReservedWords94[14];
573 USHORT WorldWideName[4];
574 USHORT ReservedWords112[13];
575 USHORT AtapiZeroByteCount;
576 USHORT ReservedWord126;
577 USHORT MsnSupport : 2;
578 USHORT ReservedWord127 : 14;
579 USHORT SecurityStatus;
580 USHORT VendorSpecific[31];
581 USHORT ReservedWord160[16];
582 USHORT ReservedWord176[46];
583 struct {
584 USHORT MajorVersion : 12;
585 USHORT TransportType : 4;
586 } TransportMajorVersion;
587 USHORT TransportMinorVersion;
588 USHORT ReservedWord224[31];
589 USHORT Signature : 8;
590 USHORT CheckSum : 8;
591} IDENTIFY_PACKET_DATA, *PIDENTIFY_PACKET_DATA;
592
593typedef struct _REGISTER_FIS {
594 UCHAR FisType;
595 UCHAR Reserved0 : 7;
596 UCHAR CmdReg : 1;
597 UCHAR Command;
598 UCHAR Features;
599 UCHAR SectorNumber;
600 UCHAR CylinderLow;
601 UCHAR CylinderHigh;
602 UCHAR DeviceHead;
603 UCHAR SectorNumberExp;
604 UCHAR CylinderLowExp;
605 UCHAR CylinderHighExp;
606 UCHAR FeaturesExp;
607 UCHAR SectorCount;
608 UCHAR SectorCountExp;
609 UCHAR Reserved2;
610 UCHAR Control;
611 ULONG Reserved3;
612} REGISTER_FIS, *PREGISTER_FIS;
613
614typedef union _ATA_HYBRID_INFO_FIELDS {
615 _ANONYMOUS_STRUCT struct {
616 UCHAR HybridPriority : 4;
617 UCHAR Reserved0 : 1;
618 UCHAR InfoValid : 1;
619 UCHAR Reserved1 : 2;
620 } DUMMYSTRUCTNAME;
621 UCHAR AsUchar;
622} ATA_HYBRID_INFO_FIELDS, *PATA_HYBRID_INFO_FIELDS;
623
624typedef struct _DEVICE_SET_PASSWORD {
625 struct {
626 USHORT PasswordIdentifier : 1;
627 USHORT Reserved1 : 7;
628 USHORT MasterPasswordCapability : 1;
629 USHORT Reserved2 : 7;
630 } ControlWord;
631 USHORT Password[16];
632 USHORT MasterPasswordIdentifier;
633 USHORT Reserved[238];
634} DEVICE_SET_PASSWORD, *PDEVICE_SET_PASSWORD;
635
636typedef struct _IDENTIFY_DEVICE_DATA_LOG_PAGE_HEADER {
637 ULONGLONG RevisionNumber : 16;
638 ULONGLONG PageNumber : 8;
639 ULONGLONG Reserved : 39;
640 ULONGLONG Valid : 1;
641} IDENTIFY_DEVICE_DATA_LOG_PAGE_HEADER, *PIDENTIFY_DEVICE_DATA_LOG_PAGE_HEADER;
642
643typedef struct _IDENTIFY_DEVICE_DATA_LOG_PAGE_SUPPORTED_CAPABILITIES {
644 IDENTIFY_DEVICE_DATA_LOG_PAGE_HEADER Header;
645 struct {
646 ULONGLONG WRV : 1;
647 ULONGLONG WriteUncorrectable : 1;
648 ULONGLONG GplDma : 1;
649 ULONGLONG DmMode3 : 1;
650 ULONGLONG FreeFall : 1;
651 ULONGLONG SenseData : 1;
652 ULONGLONG EPC : 1;
653 ULONGLONG SmartErrorLogging : 1;
654 ULONGLONG SmartSelfTest : 1;
655 ULONGLONG Reserved9 : 1;
656 ULONGLONG Streaming : 1;
657 ULONGLONG GPL : 1;
658 ULONGLONG WriteFuaExt : 1;
659 ULONGLONG Unload : 1;
660 ULONGLONG DownloadMicrocode : 1;
661 ULONGLONG Reserved15ForCFA : 1;
662 ULONGLONG APM : 1;
663 ULONGLONG PUIS : 1;
664 ULONGLONG SpinUp : 1;
665 ULONGLONG Reserved19 : 1;
666 ULONGLONG Cmd48Bit : 1;
667 ULONGLONG Reserved21 : 1;
668 ULONGLONG FlushCacheExt : 1;
669 ULONGLONG Smart : 1;
670 ULONGLONG VolatileWriteCache : 1;
671 ULONGLONG ReadLookahead : 1;
672 ULONGLONG Reserved26 : 1;
673 ULONGLONG WriteBuffer : 1;
674 ULONGLONG ReadBuffer : 1;
675 ULONGLONG NOP : 1;
676 ULONGLONG Reserved30 : 1;
677 ULONGLONG RZAT : 1;
678 ULONGLONG Cmd28bit : 1;
679 ULONGLONG DownloadMicrocodeDma : 1;
680 ULONGLONG Reserved34 : 1;
681 ULONGLONG WriteBufferDma : 1;
682 ULONGLONG ReadBufferDma : 1;
683 ULONGLONG Reserved37 : 1;
684 ULONGLONG LpsMisalignmentReporting : 1;
685 ULONGLONG DRAT : 1;
686 ULONGLONG Reserved40ForCFA : 1;
687 ULONGLONG AmaxAddr : 1;
688 ULONGLONG SetEpcPowerSource : 1;
689 ULONGLONG LowPowerStandby : 1;
690 ULONGLONG DSN : 1;
691 ULONGLONG RequestSenseDeviceFault : 1;
692 ULONGLONG Reserved : 17;
693 ULONGLONG Valid : 1;
694 } SupportedCapabilities;
695 struct {
696 ULONGLONG DmMinTransferSize : 16;
697 ULONGLONG DmMaxTransferSize : 16;
698 ULONGLONG DmOffsetsImmediateSupported : 1;
699 ULONGLONG DmImmediateSupported : 1;
700 ULONGLONG DmOffsetsDeferredSupported : 1;
701 ULONGLONG Reserved : 28;
702 ULONGLONG Valid : 1;
703 } DownloadMicrocodeCapabilities;
704 struct {
705 ULONGLONG Rate : 16;
706 ULONGLONG Reserved : 47;
707 ULONGLONG Valid : 1;
708 } NominalMediaRotationRate;
709 struct {
710 ULONGLONG Factor : 4;
711 ULONGLONG Reserved : 59;
712 ULONGLONG Valid : 1;
713 } NominalFormFactor;
714 struct {
715 ULONGLONG Count : 32;
716 ULONGLONG Reserved : 31;
717 ULONGLONG Valid : 1;
718 } WRVSectorCountMode3;
719 struct {
720 ULONGLONG Count : 32;
721 ULONGLONG Reserved : 31;
722 ULONGLONG Valid : 1;
723 } WRVSectorCountMode2;
724 struct {
725 ULONGLONG Name;
726 ULONGLONG Reserved : 63;
727 ULONGLONG Valid : 1;
728 } WorldWideName;
729 struct {
730 ULONGLONG TrimSupported : 1;
731 ULONGLONG Reserved : 62;
732 ULONGLONG Valid : 1;
733 } DataSetManagement;
734 struct {
735 ULONGLONG UtilizationA : 32;
736 ULONGLONG UtilizationB : 32;
737 ULONGLONG Reserved0 : 32;
738 ULONGLONG UtilizationInterval : 8;
739 ULONGLONG UtilizationUnit : 8;
740 ULONGLONG UtilizationType : 8;
741 ULONGLONG Reserved1 : 7;
742 ULONGLONG Valid : 1;
743 } UtilizationPerUnitTime;
744 struct {
745 ULONGLONG DateTimeRateBasisSupported : 1;
746 ULONGLONG Reserved0 : 3;
747 ULONGLONG PowerOnHoursRateBasisSupported : 1;
748 ULONGLONG Reserved1 : 3;
749 ULONGLONG SincePowerOnRateBasisSupported : 1;
750 ULONGLONG Reserved2 : 14;
751 ULONGLONG SettingRateBasisSupported : 1;
752 ULONGLONG Reserved3 : 39;
753 ULONGLONG Valid : 1;
754 } UtilizationUsageRateSupport;
755 struct {
756 ULONGLONG Zoned : 2;
757 ULONGLONG Reserved : 61;
758 ULONGLONG Valid : 1;
759 } ZonedCapabilities;
760 struct {
761 ULONGLONG ReportZonesExtSupported : 1;
762 ULONGLONG NonDataOpenZoneExtSupported : 1;
763 ULONGLONG NonDataCloseZoneExtSupported : 1;
764 ULONGLONG NonDataFinishZoneExtSupported : 1;
765 ULONGLONG NonDataResetWritePointersExtSupported : 1;
766 ULONGLONG Reserved : 58;
767 ULONGLONG Valid : 1;
768 } SupportedZacCapabilities;
769 UCHAR Reserved[392];
770} IDENTIFY_DEVICE_DATA_LOG_PAGE_SUPPORTED_CAPABILITIES, *PIDENTIFY_DEVICE_DATA_LOG_PAGE_SUPPORTED_CAPABILITIES;
771
772typedef struct _IDENTIFY_DEVICE_DATA_LOG_PAGE_ZONED_DEVICE_INFO {
773 IDENTIFY_DEVICE_DATA_LOG_PAGE_HEADER Header;
774 struct {
775 ULONGLONG URSWRZ : 1;
776 ULONGLONG Reserved : 62;
777 ULONGLONG Valid : 1;
778 } ZonedDeviceCapabilities;
779 struct {
780 ULONGLONG Reserved : 63;
781 ULONGLONG Valid : 1;
782 } ZonedDeviceSettings;
783 struct {
784 ULONGLONG Number : 32;
785 ULONGLONG Reserved : 31;
786 ULONGLONG Valid : 1;
787 } OptimalNumberOfOpenSequentialWritePreferredZones;
788 struct {
789 ULONGLONG Number : 32;
790 ULONGLONG Reserved : 31;
791 ULONGLONG Valid : 1;
792 } OptimalNumberOfNonSequentiallyWrittenSequentialWritePreferredZones;
793 struct {
794 ULONGLONG Number : 32;
795 ULONGLONG Reserved : 31;
796 ULONGLONG Valid : 1;
797 } MaxNumberOfOpenSequentialWriteRequiredZones;
798 struct {
799 ULONGLONG ZacMinorVersion : 16;
800 ULONGLONG Reserved0 : 47;
801 ULONGLONG Valid : 1;
802 } Version;
803 UCHAR Reserved[456];
804} IDENTIFY_DEVICE_DATA_LOG_PAGE_ZONED_DEVICE_INFO, *PIDENTIFY_DEVICE_DATA_LOG_PAGE_ZONED_DEVICE_INFO;
805
806typedef struct _CURRENT_DEVICE_INTERNAL_STATUS_LOG {
807 UCHAR LogAddress;
808 UCHAR Reserved0[3];
809 ULONG OrganizationID;
810 USHORT Area1LastLogPage;
811 USHORT Area2LastLogPage;
812 USHORT Area3LastLogPage;
813 UCHAR Reserved2[368];
814 UCHAR SavedDataAvailable;
815 UCHAR SavedDataGenerationNumber;
816 UCHAR ReasonIdentifier[128];
817} CURRENT_DEVICE_INTERNAL_STATUS_LOG, *PCURRENT_DEVICE_INTERNAL_STATUS_LOG;
818
819typedef struct _SAVED_DEVICE_INTERNAL_STATUS_LOG {
820 UCHAR LogAddress;
821 UCHAR Reserved0[3];
822 ULONG OrganizationID;
823 USHORT Area1LastLogPage;
824 USHORT Area2LastLogPage;
825 USHORT Area3LastLogPage;
826 UCHAR Reserved2[368];
827 UCHAR SavedDataAvailable;
828 UCHAR GenerationNumber;
829 UCHAR ReasonIdentifier[128];
830} SAVED_DEVICE_INTERNAL_STATUS_LOG, *PSAVED_DEVICE_INTERNAL_STATUS_LOG;
831
832typedef struct _DEVICE_STATISTICS_LOG_PAGE_HEADER {
833 ULONGLONG RevisionNumber : 16;
834 ULONGLONG PageNumber : 8;
835 ULONGLONG Reserved : 40;
836} DEVICE_STATISTICS_LOG_PAGE_HEADER, *PDEVICE_STATISTICS_LOG_PAGE_HEADER;
837
838typedef struct _GP_LOG_SUPPORTED_DEVICE_STATISTICS {
839 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
840 UCHAR NumberOfEntries;
841 UCHAR LogPageNumbers[503];
842} GP_LOG_SUPPORTED_DEVICE_STATISTICS, *PGP_LOG_SUPPORTED_DEVICE_STATISTICS;
843
844typedef struct _GP_LOG_GENERAL_STATISTICS {
845 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
846 struct {
847 ULONGLONG Count : 32;
848 ULONGLONG Reserved : 24;
849 ULONGLONG ReservedFlags : 3;
850 ULONGLONG MonitoredConditionMet : 1;
851 ULONGLONG StatisticsSupportsDsn : 1;
852 ULONGLONG Normalized : 1;
853 ULONGLONG ValidValue : 1;
854 ULONGLONG Supported : 1;
855 } LifeTimePoweronResets;
856 struct {
857 ULONGLONG Count : 32;
858 ULONGLONG Reserved : 24;
859 ULONGLONG ReservedFlags : 3;
860 ULONGLONG MonitoredConditionMet : 1;
861 ULONGLONG StatisticsSupportsDsn : 1;
862 ULONGLONG Normalized : 1;
863 ULONGLONG ValidValue : 1;
864 ULONGLONG Supported : 1;
865 } PoweronHours;
866 struct {
867 ULONGLONG Count : 48;
868 ULONGLONG Reserved : 8;
869 ULONGLONG ReservedFlags : 3;
870 ULONGLONG MonitoredConditionMet : 1;
871 ULONGLONG StatisticsSupportsDsn : 1;
872 ULONGLONG Normalized : 1;
873 ULONGLONG ValidValue : 1;
874 ULONGLONG Supported : 1;
875 } LogicalSectorsWritten;
876 struct {
877 ULONGLONG Count : 48;
878 ULONGLONG Reserved : 8;
879 ULONGLONG ReservedFlags : 3;
880 ULONGLONG MonitoredConditionMet : 1;
881 ULONGLONG StatisticsSupportsDsn : 1;
882 ULONGLONG Normalized : 1;
883 ULONGLONG ValidValue : 1;
884 ULONGLONG Supported : 1;
885 } WriteCommandCount;
886 struct {
887 ULONGLONG Count : 48;
888 ULONGLONG Reserved : 8;
889 ULONGLONG ReservedFlags : 3;
890 ULONGLONG MonitoredConditionMet : 1;
891 ULONGLONG StatisticsSupportsDsn : 1;
892 ULONGLONG Normalized : 1;
893 ULONGLONG ValidValue : 1;
894 ULONGLONG Supported : 1;
895 } LogicalSectorsRead;
896 struct {
897 ULONGLONG Count : 48;
898 ULONGLONG Reserved : 8;
899 ULONGLONG ReservedFlags : 3;
900 ULONGLONG MonitoredConditionMet : 1;
901 ULONGLONG StatisticsSupportsDsn : 1;
902 ULONGLONG Normalized : 1;
903 ULONGLONG ValidValue : 1;
904 ULONGLONG Supported : 1;
905 } ReadCommandCount;
906 struct {
907 ULONGLONG TimeStamp : 48;
908 ULONGLONG Reserved : 8;
909 ULONGLONG ReservedFlags : 3;
910 ULONGLONG MonitoredConditionMet : 1;
911 ULONGLONG StatisticsSupportsDsn : 1;
912 ULONGLONG Normalized : 1;
913 ULONGLONG ValidValue : 1;
914 ULONGLONG Supported : 1;
915 } DateAndTime;
916 struct {
917 ULONGLONG Count : 32;
918 ULONGLONG Reserved : 24;
919 ULONGLONG ReservedFlags : 3;
920 ULONGLONG MonitoredConditionMet : 1;
921 ULONGLONG StatisticsSupportsDsn : 1;
922 ULONGLONG Normalized : 1;
923 ULONGLONG ValidValue : 1;
924 ULONGLONG Supported : 1;
925 } PendingErrorCount;
926 struct {
927 ULONGLONG Value : 16;
928 ULONGLONG Reserved : 40;
929 ULONGLONG ReservedFlags : 3;
930 ULONGLONG MonitoredConditionMet : 1;
931 ULONGLONG StatisticsSupportsDsn : 1;
932 ULONGLONG Normalized : 1;
933 ULONGLONG ValidValue : 1;
934 ULONGLONG Supported : 1;
935 } WorkloadUtilizaton;
936 struct {
937 ULONGLONG Value : 8;
938 ULONGLONG Reserved0 : 28;
939 ULONGLONG RateBasis : 4;
940 ULONGLONG RateValidity : 8;
941 ULONGLONG Reserved1 : 8;
942 ULONGLONG ReservedFlags : 3;
943 ULONGLONG MonitoredConditionMet : 1;
944 ULONGLONG StatisticsSupportsDsn : 1;
945 ULONGLONG Normalized : 1;
946 ULONGLONG ValidValue : 1;
947 ULONGLONG Supported : 1;
948 } UtilizationUsageRate;
949 UCHAR Reserved[424];
950} GP_LOG_GENERAL_STATISTICS, *PGP_LOG_GENERAL_STATISTICS;
951
952typedef struct _GP_LOG_FREE_FALL_STATISTICS {
953 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
954 struct {
955 ULONGLONG Count : 32;
956 ULONGLONG Reserved : 24;
957 ULONGLONG ReservedFlags : 3;
958 ULONGLONG MonitoredConditionMet : 1;
959 ULONGLONG StatisticsSupportsDsn : 1;
960 ULONGLONG Normalized : 1;
961 ULONGLONG ValidValue : 1;
962 ULONGLONG Supported : 1;
963 } NumberofFreeFallEventsDetected;
964 struct {
965 ULONGLONG Count : 32;
966 ULONGLONG Reserved : 24;
967 ULONGLONG ReservedFlags : 3;
968 ULONGLONG MonitoredConditionMet : 1;
969 ULONGLONG StatisticsSupportsDsn : 1;
970 ULONGLONG Normalized : 1;
971 ULONGLONG ValidValue : 1;
972 ULONGLONG Supported : 1;
973 } OverlimitShockEvents;
974 UCHAR Reserved[488];
975} GP_LOG_FREE_FALL_STATISTICS, *PGP_LOG_FREE_FALL_STATISTICS;
976
977typedef struct _GP_LOG_ROTATING_MEDIA_STATISTICS {
978 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
979 struct {
980 ULONGLONG Count : 32;
981 ULONGLONG Reserved : 24;
982 ULONGLONG ReservedFlags : 3;
983 ULONGLONG MonitoredConditionMet : 1;
984 ULONGLONG StatisticsSupportsDsn : 1;
985 ULONGLONG Normalized : 1;
986 ULONGLONG ValidValue : 1;
987 ULONGLONG Supported : 1;
988 } SpindleMotorPoweronHours;
989 struct {
990 ULONGLONG Count : 32;
991 ULONGLONG Reserved : 24;
992 ULONGLONG ReservedFlags : 3;
993 ULONGLONG MonitoredConditionMet : 1;
994 ULONGLONG StatisticsSupportsDsn : 1;
995 ULONGLONG Normalized : 1;
996 ULONGLONG ValidValue : 1;
997 ULONGLONG Supported : 1;
998 } HeadFlyingHours;
999 struct {
1000 ULONGLONG Count : 32;
1001 ULONGLONG Reserved : 24;
1002 ULONGLONG ReservedFlags : 3;
1003 ULONGLONG MonitoredConditionMet : 1;
1004 ULONGLONG StatisticsSupportsDsn : 1;
1005 ULONGLONG Normalized : 1;
1006 ULONGLONG ValidValue : 1;
1007 ULONGLONG Supported : 1;
1008 } HeadLoadEvents;
1009 struct {
1010 ULONGLONG Count : 32;
1011 ULONGLONG Reserved : 24;
1012 ULONGLONG ReservedFlags : 3;
1013 ULONGLONG MonitoredConditionMet : 1;
1014 ULONGLONG StatisticsSupportsDsn : 1;
1015 ULONGLONG Normalized : 1;
1016 ULONGLONG ValidValue : 1;
1017 ULONGLONG Supported : 1;
1018 } NumberOfReallocatedLogicalSectors;
1019 struct {
1020 ULONGLONG Count : 32;
1021 ULONGLONG Reserved : 24;
1022 ULONGLONG ReservedFlags : 3;
1023 ULONGLONG MonitoredConditionMet : 1;
1024 ULONGLONG StatisticsSupportsDsn : 1;
1025 ULONGLONG Normalized : 1;
1026 ULONGLONG ValidValue : 1;
1027 ULONGLONG Supported : 1;
1028 } ReadRecoveryAttempts;
1029 struct {
1030 ULONGLONG Count : 32;
1031 ULONGLONG Reserved : 24;
1032 ULONGLONG ReservedFlags : 3;
1033 ULONGLONG MonitoredConditionMet : 1;
1034 ULONGLONG StatisticsSupportsDsn : 1;
1035 ULONGLONG Normalized : 1;
1036 ULONGLONG ValidValue : 1;
1037 ULONGLONG Supported : 1;
1038 } NumberOfMechanicalStartFailures;
1039 struct {
1040 ULONGLONG Count : 32;
1041 ULONGLONG Reserved : 24;
1042 ULONGLONG ReservedFlags : 3;
1043 ULONGLONG MonitoredConditionMet : 1;
1044 ULONGLONG StatisticsSupportsDsn : 1;
1045 ULONGLONG Normalized : 1;
1046 ULONGLONG ValidValue : 1;
1047 ULONGLONG Supported : 1;
1048 } NumberOfReallocationCandidateLogicalSectors;
1049 struct {
1050 ULONGLONG Count : 32;
1051 ULONGLONG Reserved : 24;
1052 ULONGLONG ReservedFlags : 3;
1053 ULONGLONG MonitoredConditionMet : 1;
1054 ULONGLONG StatisticsSupportsDsn : 1;
1055 ULONGLONG Normalized : 1;
1056 ULONGLONG ValidValue : 1;
1057 ULONGLONG Supported : 1;
1058 } NumberOfHighPriorityUnloadEvents;
1059 UCHAR Reserved[440];
1060} GP_LOG_ROTATING_MEDIA_STATISTICS, *PGP_LOG_ROTATING_MEDIA_STATISTICS;
1061
1062typedef struct _GP_LOG_GENERAL_ERROR_STATISTICS {
1063 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
1064 struct {
1065 ULONGLONG Count : 32;
1066 ULONGLONG Reserved : 24;
1067 ULONGLONG ReservedFlags : 3;
1068 ULONGLONG MonitoredConditionMet : 1;
1069 ULONGLONG StatisticsSupportsDsn : 1;
1070 ULONGLONG Normalized : 1;
1071 ULONGLONG ValidValue : 1;
1072 ULONGLONG Supported : 1;
1073 } NumberOfReportedUncorrectableErrors;
1074 struct {
1075 ULONGLONG Count : 32;
1076 ULONGLONG Reserved : 24;
1077 ULONGLONG ReservedFlags : 3;
1078 ULONGLONG MonitoredConditionMet : 1;
1079 ULONGLONG StatisticsSupportsDsn : 1;
1080 ULONGLONG Normalized : 1;
1081 ULONGLONG ValidValue : 1;
1082 ULONGLONG Supported : 1;
1083 } NumberOfResetsBetweenCommandAcceptanceAndCommandCompletion;
1084 UCHAR Reserved[488];
1085} GP_LOG_GENERAL_ERROR_STATISTICS, *PGP_LOG_GENERAL_ERROR_STATISTICS;
1086
1087typedef struct _GP_LOG_TEMPERATURE_STATISTICS {
1088 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
1089 struct {
1090 ULONGLONG Value : 8;
1091 ULONGLONG Reserved : 48;
1092 ULONGLONG ReservedFlags : 3;
1093 ULONGLONG MonitoredConditionMet : 1;
1094 ULONGLONG StatisticsSupportsDsn : 1;
1095 ULONGLONG Normalized : 1;
1096 ULONGLONG ValidValue : 1;
1097 ULONGLONG Supported : 1;
1098 } CurrentTemperature;
1099 struct {
1100 ULONGLONG Value : 8;
1101 ULONGLONG Reserved : 48;
1102 ULONGLONG ReservedFlags : 3;
1103 ULONGLONG MonitoredConditionMet : 1;
1104 ULONGLONG StatisticsSupportsDsn : 1;
1105 ULONGLONG Normalized : 1;
1106 ULONGLONG ValidValue : 1;
1107 ULONGLONG Supported : 1;
1108 } AverageShortTermTemperature;
1109 struct {
1110 ULONGLONG Value : 8;
1111 ULONGLONG Reserved : 48;
1112 ULONGLONG ReservedFlags : 3;
1113 ULONGLONG MonitoredConditionMet : 1;
1114 ULONGLONG StatisticsSupportsDsn : 1;
1115 ULONGLONG Normalized : 1;
1116 ULONGLONG ValidValue : 1;
1117 ULONGLONG Supported : 1;
1118 } AverageLongTermTemperature;
1119 struct {
1120 ULONGLONG Value : 8;
1121 ULONGLONG Reserved : 48;
1122 ULONGLONG ReservedFlags : 3;
1123 ULONGLONG MonitoredConditionMet : 1;
1124 ULONGLONG StatisticsSupportsDsn : 1;
1125 ULONGLONG Normalized : 1;
1126 ULONGLONG ValidValue : 1;
1127 ULONGLONG Supported : 1;
1128 } HighestTemperature;
1129 struct {
1130 ULONGLONG Value : 8;
1131 ULONGLONG Reserved : 48;
1132 ULONGLONG ReservedFlags : 3;
1133 ULONGLONG MonitoredConditionMet : 1;
1134 ULONGLONG StatisticsSupportsDsn : 1;
1135 ULONGLONG Normalized : 1;
1136 ULONGLONG ValidValue : 1;
1137 ULONGLONG Supported : 1;
1138 } LowestTemperature;
1139 struct {
1140 ULONGLONG Value : 8;
1141 ULONGLONG Reserved : 48;
1142 ULONGLONG ReservedFlags : 3;
1143 ULONGLONG MonitoredConditionMet : 1;
1144 ULONGLONG StatisticsSupportsDsn : 1;
1145 ULONGLONG Normalized : 1;
1146 ULONGLONG ValidValue : 1;
1147 ULONGLONG Supported : 1;
1148 } HighestAverageShortTermTemperature;
1149 struct {
1150 ULONGLONG Value : 8;
1151 ULONGLONG Reserved : 48;
1152 ULONGLONG ReservedFlags : 3;
1153 ULONGLONG MonitoredConditionMet : 1;
1154 ULONGLONG StatisticsSupportsDsn : 1;
1155 ULONGLONG Normalized : 1;
1156 ULONGLONG ValidValue : 1;
1157 ULONGLONG Supported : 1;
1158 } LowestAverageShortTermTemperature;
1159 struct {
1160 ULONGLONG Value : 8;
1161 ULONGLONG Reserved : 48;
1162 ULONGLONG ReservedFlags : 3;
1163 ULONGLONG MonitoredConditionMet : 1;
1164 ULONGLONG StatisticsSupportsDsn : 1;
1165 ULONGLONG Normalized : 1;
1166 ULONGLONG ValidValue : 1;
1167 ULONGLONG Supported : 1;
1168 } HighstAverageLongTermTemperature;
1169 struct {
1170 ULONGLONG Value : 8;
1171 ULONGLONG Reserved : 48;
1172 ULONGLONG ReservedFlags : 3;
1173 ULONGLONG MonitoredConditionMet : 1;
1174 ULONGLONG StatisticsSupportsDsn : 1;
1175 ULONGLONG Normalized : 1;
1176 ULONGLONG ValidValue : 1;
1177 ULONGLONG Supported : 1;
1178 } LowestAverageLongTermTemperature;
1179 struct {
1180 ULONGLONG Value : 8;
1181 ULONGLONG Reserved : 48;
1182 ULONGLONG ReservedFlags : 3;
1183 ULONGLONG MonitoredConditionMet : 1;
1184 ULONGLONG StatisticsSupportsDsn : 1;
1185 ULONGLONG Normalized : 1;
1186 ULONGLONG ValidValue : 1;
1187 ULONGLONG Supported : 1;
1188 } TimeInOverTemperature;
1189 struct {
1190 ULONGLONG Value : 8;
1191 ULONGLONG Reserved : 48;
1192 ULONGLONG ReservedFlags : 3;
1193 ULONGLONG MonitoredConditionMet : 1;
1194 ULONGLONG StatisticsSupportsDsn : 1;
1195 ULONGLONG Normalized : 1;
1196 ULONGLONG ValidValue : 1;
1197 ULONGLONG Supported : 1;
1198 } SpecifiedMaximumOperatingTemperature;
1199 struct {
1200 ULONGLONG Value : 8;
1201 ULONGLONG Reserved : 48;
1202 ULONGLONG ReservedFlags : 3;
1203 ULONGLONG MonitoredConditionMet : 1;
1204 ULONGLONG StatisticsSupportsDsn : 1;
1205 ULONGLONG Normalized : 1;
1206 ULONGLONG ValidValue : 1;
1207 ULONGLONG Supported : 1;
1208 } TimeInUnderTemperature;
1209 struct {
1210 ULONGLONG Value : 8;
1211 ULONGLONG Reserved : 48;
1212 ULONGLONG ReservedFlags : 3;
1213 ULONGLONG MonitoredConditionMet : 1;
1214 ULONGLONG StatisticsSupportsDsn : 1;
1215 ULONGLONG Normalized : 1;
1216 ULONGLONG ValidValue : 1;
1217 ULONGLONG Supported : 1;
1218 } SpecifiedMinimumOperatingTemperature;
1219 UCHAR Reserved[400];
1220} GP_LOG_TEMPERATURE_STATISTICS, *PGP_LOG_TEMPERATURE_STATISTICS;
1221
1222typedef struct _GP_LOG_TRANSPORT_STATISTICS {
1223 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
1224 struct {
1225 ULONGLONG Count : 8;
1226 ULONGLONG Reserved : 48;
1227 ULONGLONG ReservedFlags : 3;
1228 ULONGLONG MonitoredConditionMet : 1;
1229 ULONGLONG StatisticsSupportsDsn : 1;
1230 ULONGLONG Normalized : 1;
1231 ULONGLONG ValidValue : 1;
1232 ULONGLONG Supported : 1;
1233 } NumberOfHardwareResets;
1234 struct {
1235 ULONGLONG Count : 32;
1236 ULONGLONG Reserved : 24;
1237 ULONGLONG ReservedFlags : 3;
1238 ULONGLONG MonitoredConditionMet : 1;
1239 ULONGLONG StatisticsSupportsDsn : 1;
1240 ULONGLONG Normalized : 1;
1241 ULONGLONG ValidValue : 1;
1242 ULONGLONG Supported : 1;
1243 } NumberOfAsrEvents;
1244 struct {
1245 ULONGLONG Count : 32;
1246 ULONGLONG Reserved : 24;
1247 ULONGLONG ReservedFlags : 3;
1248 ULONGLONG MonitoredConditionMet : 1;
1249 ULONGLONG StatisticsSupportsDsn : 1;
1250 ULONGLONG Normalized : 1;
1251 ULONGLONG ValidValue : 1;
1252 ULONGLONG Supported : 1;
1253 } NumberOfInterfaceCrcErrors;
1254 UCHAR Reserved[480];
1255} GP_LOG_TRANSPORT_STATISTICS, *PGP_LOG_TRANSPORT_STATISTICS;
1256
1257typedef struct _GP_LOG_SOLID_STATE_DEVICE_STATISTICS {
1258 DEVICE_STATISTICS_LOG_PAGE_HEADER Header;
1259 struct {
1260 ULONGLONG Value : 8;
1261 ULONGLONG Reserved : 48;
1262 ULONGLONG ReservedFlags : 3;
1263 ULONGLONG MonitoredConditionMet : 1;
1264 ULONGLONG StatisticsSupportsDsn : 1;
1265 ULONGLONG Normalized : 1;
1266 ULONGLONG ValidValue : 1;
1267 ULONGLONG Supported : 1;
1268 } PercentageUsedEnduranceIndicator;
1269 UCHAR Reserved[496];
1270} GP_LOG_SOLID_STATE_DEVICE_STATISTICS, *PGP_LOG_SOLID_STATE_DEVICE_STATISTICS;
1271
1272typedef struct _GP_LOG_NCQ_COMMAND_ERROR {
1273 UCHAR NcqTag : 5;
1274 UCHAR Reserved0 : 1;
1275 UCHAR UNL : 1;
1276 UCHAR NonQueuedCmd : 1;
1277 UCHAR Reserved1;
1278 UCHAR Status;
1279 UCHAR Error;
1280 UCHAR LBA7_0;
1281 UCHAR LBA15_8;
1282 UCHAR LBA23_16;
1283 UCHAR Device;
1284 UCHAR LBA31_24;
1285 UCHAR LBA39_32;
1286 UCHAR LBA47_40;
1287 UCHAR Reserved2;
1288 UCHAR Count7_0;
1289 UCHAR Count15_8;
1290 UCHAR SenseKey;
1291 UCHAR ASC;
1292 UCHAR ASCQ;
1293 UCHAR Reserved3[239];
1294 UCHAR Vendor[255];
1295 UCHAR Checksum;
1296} GP_LOG_NCQ_COMMAND_ERROR, *PGP_LOG_NCQ_COMMAND_ERROR;
1297
1298typedef struct _GP_LOG_NCQ_NON_DATA {
1299 struct {
1300 ULONG AbortNcq : 1;
1301 ULONG AbortAll : 1;
1302 ULONG AbortStreaming : 1;
1303 ULONG AbortNonStreaming : 1;
1304 ULONG AbortSelectedTTag : 1;
1305 ULONG Reserved : 27;
1306 } SubCmd0;
1307 struct {
1308 ULONG DeadlineHandling : 1;
1309 ULONG WriteDataNotContinue : 1;
1310 ULONG ReadDataNotContinue : 1;
1311 ULONG Reserved : 29;
1312 } SubCmd1;
1313 struct {
1314 ULONG HybridDemoteBySize : 1;
1315 ULONG Reserved : 31;
1316 } SubCmd2;
1317 struct {
1318 ULONG HybridChangeByLbaRange : 1;
1319 ULONG Reserved : 31;
1320 } SubCmd3;
1321 struct {
1322 ULONG HybridControl : 1;
1323 ULONG Reserved : 31;
1324 } SubCmd4;
1325 struct {
1326 ULONG Reserved : 32;
1327 } SubCmd5;
1328 struct {
1329 ULONG Reserved : 32;
1330 } SubCmd6;
1331 struct {
1332 ULONG Reserved : 32;
1333 } SubCmd7;
1334 struct {
1335 ULONG Reserved : 32;
1336 } SubCmd8;
1337 struct {
1338 ULONG Reserved : 32;
1339 } SubCmd9;
1340 struct {
1341 ULONG Reserved : 32;
1342 } SubCmdA;
1343 struct {
1344 ULONG Reserved : 32;
1345 } SubCmdB;
1346 struct {
1347 ULONG Reserved : 32;
1348 } SubCmdC;
1349 struct {
1350 ULONG Reserved : 32;
1351 } SubCmdD;
1352 struct {
1353 ULONG Reserved : 32;
1354 } SubCmdE;
1355 struct {
1356 ULONG Reserved : 32;
1357 } SubCmdF;
1358 ULONG Reserved[112];
1359} GP_LOG_NCQ_NON_DATA, *PGP_LOG_NCQ_NON_DATA;
1360
1361typedef struct _GP_LOG_NCQ_SEND_RECEIVE {
1362 struct {
1363 ULONG DataSetManagement : 1;
1364 ULONG HybridEvict : 1;
1365 ULONG Reserved : 30;
1366 } SubCmd;
1367 struct {
1368 ULONG Trim : 1;
1369 ULONG Reserved : 31;
1370 } DataSetManagement;
1371 ULONG Reserved[126];
1372} GP_LOG_NCQ_SEND_RECEIVE, *PGP_LOG_NCQ_SEND_RECEIVE;
1373
1374typedef struct _GP_LOG_HYBRID_INFORMATION_HEADER {
1375 USHORT HybridInfoDescrCount : 4;
1376 USHORT Reserved0 : 12;
1377 UCHAR Enabled;
1378 UCHAR HybridHealth;
1379 UCHAR DirtyLowThreshold;
1380 UCHAR DirtyHighThreshold;
1381 UCHAR OptimalWriteGranularity;
1382 UCHAR MaximumHybridPriorityLevel : 4;
1383 UCHAR Reserved1 : 4;
1384 UCHAR PowerCondidtion;
1385 UCHAR CachingMediumEnabled ;
1386 struct {
1387 UCHAR MaximumPriorityBehavior : 1;
1388 UCHAR SupportCacheBehavior : 1;
1389 UCHAR Reserved : 6;
1390 } SupportedOptions;
1391 UCHAR Reserved2;
1392 ULONG TimeSinceEnabled;
1393 ULONGLONG NVMSize;
1394 ULONGLONG EnableCount;
1395 USHORT MaximumEvictionCommands : 5;
1396 USHORT Reserved3 : 11;
1397 USHORT MaximumEvictionDataBlocks;
1398 UCHAR Reserved[28];
1399} GP_LOG_HYBRID_INFORMATION_HEADER, *PGP_LOG_HYBRID_INFORMATION_HEADER;
1400
1401typedef struct _GP_LOG_HYBRID_INFORMATION_DESCRIPTOR {
1402 UCHAR HybridPriority;
1403 UCHAR ConsumedNVMSizeFraction;
1404 UCHAR ConsumedMappingResourcesFraction;
1405 UCHAR ConsumedNVMSizeForDirtyDataFraction;
1406 UCHAR ConsumedMappingResourcesForDirtyDataFraction;
1407 UCHAR Reserved[11];
1408} GP_LOG_HYBRID_INFORMATION_DESCRIPTOR, *PGP_LOG_HYBRID_INFORMATION_DESCRIPTOR;
1409
1410typedef struct _GP_LOG_HYBRID_INFORMATION {
1411 GP_LOG_HYBRID_INFORMATION_HEADER Header;
1412 GP_LOG_HYBRID_INFORMATION_DESCRIPTOR Descriptor[0];
1413} GP_LOG_HYBRID_INFORMATION, *PGP_LOG_HYBRID_INFORMATION;
1414
1415typedef struct _REPORT_ZONES_EXT_DATA {
1416 ULONG ZoneListLength;
1417 UCHAR SAME : 4;
1418 UCHAR Reserved0 : 4;
1419 UCHAR Reserved1[3];
1420 ULONGLONG MaxLBA : 48;
1421 ULONGLONG Reserved2 : 16;
1422 UCHAR Reserved3[48];
1423} REPORT_ZONES_EXT_DATA, *PREPORT_ZONES_EXT_DATA;
1424
1425typedef struct _ATA_ZONE_DESCRIPTOR {
1426 UCHAR ZoneType : 4;
1427 UCHAR Reserved0 : 4;
1428 UCHAR Reset : 1;
1429 UCHAR NonSeq : 1;
1430 UCHAR Reserved1 : 2;
1431 UCHAR ZoneCondition : 4;
1432 UCHAR Reserved2[6];
1433 ULONGLONG ZoneLength : 48;
1434 ULONGLONG Reserved3 : 16;
1435 ULONGLONG ZoneStartLBA : 48;
1436 ULONGLONG Reserved4 : 16;
1437 ULONGLONG WritePointerLBA : 48;
1438 ULONGLONG Reserved5 : 16;
1439 UCHAR Reserved6[32];
1440} ATA_ZONE_DESCRIPTOR, *PATA_ZONE_DESCRIPTOR;
1441
1442typedef struct _ATA_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR {
1443 UCHAR Reserved1[4];
1444 ULONG ElementIdentifier;
1445 UCHAR Reserved2[6];
1446 UCHAR PhysicalElementType;
1447 UCHAR PhysicalElementHealth;
1448 ULONGLONG AssociatedCapacity;
1449 UCHAR Reserved3[8];
1450} ATA_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR, *PATA_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR;
1451
1452typedef struct _ATA_GET_PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA {
1453 ULONG NumberOfDescriptors;
1454 ULONG NumberOfDescriptorsReturned;
1455 ULONG ElementIdentifierBeingDepoped;
1456 UCHAR Reserved[20];
1457 ATA_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR Descriptors[ANYSIZE_ARRAY];
1458} ATA_GET_PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA, *PATA_GET_PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA;
1459
1460#pragma pack(pop)
1461
1462#define ATAPI_MODE_SENSE 0x5A
1463#define ATAPI_MODE_SELECT 0x55
1464#define ATAPI_LS120_FORMAT_UNIT 0x24
1465
1466#define IDE_LBA_MODE (1 << 6)
1467
1468#define IDE_DC_DISABLE_INTERRUPTS 0x02
1469#define IDE_DC_RESET_CONTROLLER 0x04
1470#define IDE_DC_REENABLE_CONTROLLER 0x00
1471
1472#define IDE_STATUS_ERROR 0x01
1473#define IDE_STATUS_INDEX 0x02
1474#define IDE_STATUS_CORRECTED_ERROR 0x04
1475#define IDE_STATUS_DRQ 0x08
1476#define IDE_STATUS_DSC 0x10
1477#define IDE_STATUS_DEVICE_FAULT 0x20
1478#define IDE_STATUS_DRDY 0x40
1479#define IDE_STATUS_IDLE 0x50
1480#define IDE_STATUS_BUSY 0x80
1481
1482#define IDE_ERROR_BAD_BLOCK 0x80
1483#define IDE_ERROR_CRC_ERROR IDE_ERROR_BAD_BLOCK
1484#define IDE_ERROR_DATA_ERROR 0x40
1485#define IDE_ERROR_MEDIA_CHANGE 0x20
1486#define IDE_ERROR_ID_NOT_FOUND 0x10
1487#define IDE_ERROR_MEDIA_CHANGE_REQ 0x08
1488#define IDE_ERROR_COMMAND_ABORTED 0x04
1489#define IDE_ERROR_END_OF_MEDIA 0x02
1490#define IDE_ERROR_ILLEGAL_LENGTH 0x01
1491#define IDE_ERROR_ADDRESS_NOT_FOUND IDE_ERROR_ILLEGAL_LENGTH
1492
1493#define IDE_COMMAND_NOP 0x00
1494#define IDE_COMMAND_DATA_SET_MANAGEMENT 0x06
1495#define IDE_COMMAND_ATAPI_RESET 0x08
1496#define IDE_COMMAND_GET_PHYSICAL_ELEMENT_STATUS 0x12
1497#define IDE_COMMAND_READ 0x20
1498#define IDE_COMMAND_READ_EXT 0x24
1499#define IDE_COMMAND_READ_DMA_EXT 0x25
1500#define IDE_COMMAND_READ_DMA_QUEUED_EXT 0x26
1501#define IDE_COMMAND_READ_MULTIPLE_EXT 0x29
1502#define IDE_COMMAND_READ_LOG_EXT 0x2f
1503#define IDE_COMMAND_WRITE 0x30
1504#define IDE_COMMAND_WRITE_EXT 0x34
1505#define IDE_COMMAND_WRITE_DMA_EXT 0x35
1506#define IDE_COMMAND_WRITE_DMA_QUEUED_EXT 0x36
1507#define IDE_COMMAND_WRITE_MULTIPLE_EXT 0x39
1508#define IDE_COMMAND_WRITE_DMA_FUA_EXT 0x3D
1509#define IDE_COMMAND_WRITE_DMA_QUEUED_FUA_EXT 0x3E
1510#define IDE_COMMAND_WRITE_LOG_EXT 0x3F
1511#define IDE_COMMAND_VERIFY 0x40
1512#define IDE_COMMAND_VERIFY_EXT 0x42
1513#define IDE_COMMAND_ZAC_MANAGEMENT_IN 0x4A
1514#define IDE_COMMAND_WRITE_LOG_DMA_EXT 0x57
1515#define IDE_COMMAND_TRUSTED_NON_DATA 0x5B
1516#define IDE_COMMAND_TRUSTED_RECEIVE 0x5C
1517#define IDE_COMMAND_TRUSTED_RECEIVE_DMA 0x5D
1518#define IDE_COMMAND_TRUSTED_SEND 0x5E
1519#define IDE_COMMAND_TRUSTED_SEND_DMA 0x5F
1520#define IDE_COMMAND_READ_FPDMA_QUEUED 0x60
1521#define IDE_COMMAND_WRITE_FPDMA_QUEUED 0x61
1522#define IDE_COMMAND_NCQ_NON_DATA 0x63
1523#define IDE_COMMAND_SEND_FPDMA_QUEUED 0x64
1524#define IDE_COMMAND_RECEIVE_FPDMA_QUEUED 0x65
1525#define IDE_COMMAND_SET_DATE_AND_TIME 0x77
1526#define IDE_COMMAND_REMOVE_ELEMENT_AND_TRUNCATE 0x7C
1527#define IDE_COMMAND_EXECUTE_DEVICE_DIAGNOSTIC 0x90
1528#define IDE_COMMAND_SET_DRIVE_PARAMETERS 0x91
1529#define IDE_COMMAND_DOWNLOAD_MICROCODE 0x92
1530#define IDE_COMMAND_DOWNLOAD_MICROCODE_DMA 0x93
1531#define IDE_COMMAND_ZAC_MANAGEMENT_OUT 0x9F
1532#define IDE_COMMAND_ATAPI_PACKET 0xA0
1533#define IDE_COMMAND_ATAPI_IDENTIFY 0xA1
1534#define IDE_COMMAND_SMART 0xB0
1535#define IDE_COMMAND_READ_LOG_DMA_EXT 0xB1
1536#define IDE_COMMAND_SANITIZE_DEVICE 0xB4
1537#define IDE_COMMAND_READ_MULTIPLE 0xC4
1538#define IDE_COMMAND_WRITE_MULTIPLE 0xC5
1539#define IDE_COMMAND_SET_MULTIPLE 0xC6
1540#define IDE_COMMAND_READ_DMA 0xC8
1541#define IDE_COMMAND_WRITE_DMA 0xCA
1542#define IDE_COMMAND_WRITE_DMA_QUEUED 0xCC
1543#define IDE_COMMAND_WRITE_MULTIPLE_FUA_EXT 0xCE
1544#define IDE_COMMAND_GET_MEDIA_STATUS 0xDA
1545#define IDE_COMMAND_DOOR_LOCK 0xDE
1546#define IDE_COMMAND_DOOR_UNLOCK 0xDF
1547#define IDE_COMMAND_STANDBY_IMMEDIATE 0xE0
1548#define IDE_COMMAND_IDLE_IMMEDIATE 0xE1
1549#define IDE_COMMAND_CHECK_POWER 0xE5
1550#define IDE_COMMAND_SLEEP 0xE6
1551#define IDE_COMMAND_FLUSH_CACHE 0xE7
1552#define IDE_COMMAND_FLUSH_CACHE_EXT 0xEA
1553#define IDE_COMMAND_IDENTIFY 0xEC
1554#define IDE_COMMAND_MEDIA_EJECT 0xED
1555#define IDE_COMMAND_SET_FEATURE 0xEF
1556#define IDE_COMMAND_SECURITY_SET_PASSWORD 0xF1
1557#define IDE_COMMAND_SECURITY_UNLOCK 0xF2
1558#define IDE_COMMAND_SECURITY_ERASE_PREPARE 0xF3
1559#define IDE_COMMAND_SECURITY_ERASE_UNIT 0xF4
1560#define IDE_COMMAND_SECURITY_FREEZE_LOCK 0xF5
1561#define IDE_COMMAND_SECURITY_DISABLE_PASSWORD 0xF6
1562#define IDE_COMMAND_NOT_VALID 0xFF
1563
1564#define IDE_SET_DEFAULT_PIO_MODE(mode) ((UCHAR)1)
1565#define IDE_SET_ADVANCE_PIO_MODE(mode) ((UCHAR)((1 << 3) | (mode)))
1566#define IDE_SET_SWDMA_MODE(mode) ((UCHAR)((1 << 4) | (mode)))
1567#define IDE_SET_MWDMA_MODE(mode) ((UCHAR)((1 << 5) | (mode)))
1568#define IDE_SET_UDMA_MODE(mode) ((UCHAR)((1 << 6) | (mode)))
1569
1570#define IDE_FEATURE_ENABLE_WRITE_CACHE 0x2
1571#define IDE_FEATURE_SET_TRANSFER_MODE 0x3
1572#define IDE_FEATURE_ENABLE_PUIS 0x6
1573#define IDE_FEATURE_PUIS_SPIN_UP 0x7
1574#define IDE_FEATURE_ENABLE_SATA_FEATURE 0x10
1575#define IDE_FEATURE_DISABLE_MSN 0x31
1576#define IDE_FEATURE_DISABLE_REVERT_TO_POWER_ON 0x66
1577#define IDE_FEATURE_DISABLE_WRITE_CACHE 0x82
1578#define IDE_FEATURE_DISABLE_PUIS 0x86
1579#define IDE_FEATURE_DISABLE_SATA_FEATURE 0x90
1580#define IDE_FEATURE_ENABLE_MSN 0x95
1581
1582#define IDE_SATA_FEATURE_NON_ZERO_DMA_BUFFER_OFFSET 0x1
1583#define IDE_SATA_FEATURE_DMA_SETUP_FIS_AUTO_ACTIVATE 0x2
1584#define IDE_SATA_FEATURE_DEVICE_INITIATED_POWER_MANAGEMENT 0x3
1585#define IDE_SATA_FEATURE_GUARANTEED_IN_ORDER_DELIVERY 0x4
1586#define IDE_SATA_FEATURE_ASYNCHRONOUS_NOTIFICATION 0x5
1587#define IDE_SATA_FEATURE_SOFTWARE_SETTINGS_PRESERVATION 0x6
1588#define IDE_SATA_FEATURE_DEVICE_AUTO_PARTIAL_TO_SLUMBER 0x7
1589#define IDE_SATA_FEATURE_ENABLE_HARDWARE_FEATURE_CONTROL 0x8
1590#define IDE_SATA_FEATURE_DEVSLP 0x9
1591#define IDE_SATA_FEATURE_HYBRID_INFORMATION 0xA
1592
1593#define IDE_SMART_READ_ATTRIBUTES 0xD0
1594#define IDE_SMART_READ_THRESHOLDS 0xD1
1595#define IDE_SMART_ENABLE_DISABLE_AUTOSAVE 0xD2
1596#define IDE_SMART_SAVE_ATTRIBUTE_VALUES 0xD3
1597#define IDE_SMART_EXECUTE_OFFLINE_DIAGS 0xD4
1598#define IDE_SMART_READ_LOG 0xD5
1599#define IDE_SMART_WRITE_LOG 0xD6
1600#define IDE_SMART_ENABLE 0xD8
1601#define IDE_SMART_DISABLE 0xD9
1602#define IDE_SMART_RETURN_STATUS 0xDA
1603#define IDE_SMART_ENABLE_DISABLE_AUTO_OFFLINE 0xDB
1604
1605#define IDE_DSM_FEATURE_TRIM 0x0001
1606
1607#define IDE_NCQ_NON_DATA_ABORT_NCQ_QUEUE 0x00
1608#define IDE_NCQ_NON_DATA_DEADLINE_HANDLING 0x01
1609#define IDE_NCQ_NON_DATA_HYBRID_CHANGE_BY_SIZE 0x02
1610#define IDE_NCQ_NON_DATA_HYBRID_DEMOTE_BY_SIZE 0x02
1611#define IDE_NCQ_NON_DATA_HYBRID_CHANGE_BY_LBA_RANGE 0x03
1612#define IDE_NCQ_NON_DATA_HYBRID_CONTROL 0x04
1613
1614#define IDE_NCQ_SEND_DATA_SET_MANAGEMENT 0x00
1615#define IDE_NCQ_SEND_HYBRID_EVICT 0x01
1616
1617#define ATA_DEVICE_SET_PASSWORD_MASTER 0x01
1618#define ATA_DEVICE_SET_PASSWORD_USER 0x00
1619
1620#define IDE_GP_LOG_DIRECTORY_ADDRESS 0x00
1621#define IDE_GP_SUMMARY_SMART_ERROR 0x01
1622#define IDE_GP_COMPREHENSIVE_SMART_ERROR 0x02
1623#define IDE_GP_EXTENDED_COMPREHENSIVE_SMART_ERROR 0x03
1624#define IDE_GP_LOG_DEVICE_STATISTICS_ADDRESS 0x04
1625#define IDE_GP_SMART_SELF_TEST 0x06
1626#define IDE_GP_EXTENDED_SMART_SELF_TEST 0x07
1627#define IDE_GP_LOG_POWER_CONDITIONS 0x08
1628#define IDE_GP_SELECTIVE_SELF_TEST 0x09
1629#define IDE_GP_DEVICE_STATISTICS_NOTIFICATION 0x0A
1630#define IDE_GP_PENDING_DEFECTS 0x0C
1631#define IDE_GP_LPS_MISALIGNMENT 0x0D
1632#define IDE_GP_LOG_NCQ_COMMAND_ERROR_ADDRESS 0x10
1633#define IDE_GP_LOG_PHY_EVENT_COUNTER_ADDRESS 0x11
1634#define IDE_GP_LOG_NCQ_NON_DATA_ADDRESS 0x12
1635#define IDE_GP_LOG_NCQ_SEND_RECEIVE_ADDRESS 0x13
1636#define IDE_GP_LOG_HYBRID_INFO_ADDRESS 0x14
1637#define IDE_GP_LOG_REBUILD_ASSIST 0x15
1638#define IDE_GP_LOG_LBA_STATUS 0x19
1639#define IDE_GP_LOG_WRITE_STREAM_ERROR 0x21
1640#define IDE_GP_LOG_READ_STREAM_ERROR 0x22
1641#define IDE_GP_LOG_CURRENT_DEVICE_INTERNAL_STATUS 0x24
1642#define IDE_GP_LOG_SAVED_DEVICE_INTERNAL_STATUS 0x25
1643#define IDE_GP_LOG_IDENTIFY_DEVICE_DATA_ADDRESS 0x30
1644#define IDE_GP_LOG_SCT_COMMAND_STATUS 0xE0
1645#define IDE_GP_LOG_SCT_DATA_TRANSFER 0xE1
1646
1647#define IDE_GP_LOG_SECTOR_SIZE 0x200
1648
1649#define IDE_GP_LOG_VERSION 0x0001
1650
1651#define IDE_GP_LOG_SUPPORTED_PAGES 0x00
1652
1653#define IDE_GP_LOG_IDENTIFY_DEVICE_DATA_SUPPORTED_CAPABILITIES_PAGE 0x03
1654#define IDE_GP_LOG_IDENTIFY_DEVICE_DATA_SATA_PAGE 0x08
1655#define IDE_GP_LOG_IDENTIFY_DEVICE_DATA_ZONED_DEVICE_INFORMATION_PAGE 0x09
1656
1657#define ATA_ZONED_CAPABILITIES_NOT_REPORTED 0x0
1658#define ATA_ZONED_CAPABILITIES_HOST_AWARE 0x1
1659#define ATA_ZONED_CAPABILITIES_DEVICE_MANAGED 0x2
1660
1661#define ZAC_REVISION_NOT_REPORTED_1 0x0000
1662#define ZAC_REVISION_NOT_REPORTED_2 0xFFFF
1663#define ZAC_REVISION_01 0xB6E8
1664#define ZAC_REVISION_04 0xA36C
1665
1666#define CURRENT_DEVICE_INTERNAL_STATUS_DATA_LOG_ADDRESS 0x24
1667#define SAVED_DEVICE_INTERNAL_STATUS_DATA_LOG_ADDRESS 0x25
1668
1669#define IDE_GP_LOG_DEVICE_STATISTICS_GENERAL_PAGE 0x01
1670#define IDE_GP_LOG_DEVICE_STATISTICS_FREE_FALL_PAGE 0x02
1671#define IDE_GP_LOG_DEVICE_STATISTICS_ROTATING_MEDIA_PAGE 0x03
1672#define IDE_GP_LOG_DEVICE_STATISTICS_GENERAL_ERROR_PAGE 0x04
1673#define IDE_GP_LOG_DEVICE_STATISTICS_TEMPERATURE_PAGE 0x05
1674#define IDE_GP_LOG_DEVICE_STATISTICS_TRANSPORT_PAGE 0x06
1675#define IDE_GP_LOG_DEVICE_STATISTICS_SSD_PAGE 0x07
1676
1677#define HYBRID_INFORMATION_DISABLED 0x00
1678#define HYBRID_INFORMATION_DISABLE_IN_PROCESS 0x80
1679#define HYBRID_INFORMATION_ENABLED 0xFF
1680
1681#define HYBRID_HEALTH_UNUSEABLE 0x01
1682#define HYBRID_HEALTH_NVM_SIZE_CHANGED 0x02
1683#define HYBRID_HEALTH_READ_ONLY 0x04
1684#define HYBRID_HEALTH_DATA_LOSS 0x08
1685
1686#define ATA_DEVICE_SIGNATURE_ATA 0x00000101
1687#define ATA_DEVICE_SIGNATURE_ATAPI 0xEB140101
1688#define ATA_DEVICE_SIGNATURE_HOST_ZONED 0xABCD0101
1689#define ATA_DEVICE_SIGNATURE_ENCLOSURE 0xC33C0101
1690#define ATA_DEVICE_SIGNATURE_PORT_MULTIPLIER 0x96690101
1691
1692#define ZM_ACTION_REPORT_ZONES 0x00
1693#define ZM_ACTION_CLOSE_ZONE 0x01
1694#define ZM_ACTION_FINISH_ZONE 0x02
1695#define ZM_ACTION_OPEN_ZONE 0x03
1696#define ZM_ACTION_RESET_WRITE_POINTER 0x04
1697
1698#define ZM_ALL_ZONES_BIT (1 << 8)
1699
1700#define ATA_REPORT_ZONES_OPTION_LIST_ALL_ZONES 0x00
1701#define ATA_REPORT_ZONES_OPTION_LIST_EMPTY_ZONES 0x01
1702#define ATA_REPORT_ZONES_OPTION_LIST_IMPLICITLY_OPENED_ZONES 0x02
1703#define ATA_REPORT_ZONES_OPTION_LIST_EXPLICITLY_OPENED_ZONES 0x03
1704#define ATA_REPORT_ZONES_OPTION_LIST_CLOSED_ZONES 0x04
1705#define ATA_REPORT_ZONES_OPTION_LIST_FULL_ZONES 0x05
1706#define ATA_REPORT_ZONES_OPTION_LIST_READ_ONLY_ZONES 0x06
1707#define ATA_REPORT_ZONES_OPTION_LIST_OFFLINE_ZONES 0x07
1708
1709#define ATA_REPORT_ZONES_OPTION_LIST_RWP_ZONES 0x10
1710#define ATA_REPORT_ZONES_OPTION_LIST_NON_SEQUENTIAL_WRITE_RESOURCES_ACTIVE_ZONES 0x11
1711
1712#define ATA_REPORT_ZONES_OPTION_LIST_NOT_WRITE_POINTER_ZONES 0x3F
1713
1714#define ATA_ZONES_TYPE_AND_LENGTH_MAY_DIFFERENT 0x0
1715#define ATA_ZONES_TYPE_SAME_LENGTH_SAME 0x1
1716#define ATA_ZONES_TYPE_SAME_LAST_ZONE_LENGTH_DIFFERENT 0x2
1717#define ATA_ZONES_TYPE_MAY_DIFFERENT_LENGTH_SAME 0x3
1718
1719#define ATA_ZONE_TYPE_CONVENTIONAL 0x1
1720#define ATA_ZONE_TYPE_SEQUENTIAL_WRITE_REQUIRED 0x2
1721#define ATA_ZONE_TYPE_SEQUENTIAL_WRITE_PREFERRED 0x3
1722
1723#define ATA_ZONE_CONDITION_NOT_WRITE_POINTER 0x0
1724#define ATA_ZONE_CONDITION_EMPTY 0x1
1725#define ATA_ZONE_CONDITION_IMPLICITLY_OPENED 0x2
1726#define ATA_ZONE_CONDITION_EXPLICITLY_OPENED 0x3
1727#define ATA_ZONE_CONDITION_CLOSED 0x4
1728#define ATA_ZONE_CONDITION_READ_ONLY 0xD
1729#define ATA_ZONE_CONDITION_FULL 0xE
1730#define ATA_ZONE_CONDITION_OFFLINE 0xF
1731
1732#endif
lib/libc/include/any-windows-any/ddk/ntifs.h+2
......@@ -2726,6 +2726,7 @@ typedef struct _MSV1_0_NTLM3_RESPONSE {
27262726 UCHAR Buffer[1];
27272727} MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;
27282728
2729/* MsvAvSingleHost present in MS-NLMP specifications but not in WinSDK */
27292730typedef enum _MSV1_0_AVID {
27302731 MsvAvEOL,
27312732 MsvAvNbComputerName,
......@@ -2738,6 +2739,7 @@ typedef enum _MSV1_0_AVID {
27382739#if (_WIN32_WINNT >= 0x0600)
27392740 MsvAvTimestamp,
27402741 MsvAvRestrictions,
2742 MsvAvSingleHost = MsvAvRestrictions,
27412743 MsvAvTargetName,
27422744 MsvAvChannelBindings,
27432745#endif
lib/libc/include/any-windows-any/ddk/wdm.h+1104-42
......@@ -800,7 +800,10 @@ typedef enum _KBUGCHECK_CALLBACK_REASON {
800800 KbCallbackReserved1,
801801 KbCallbackSecondaryDumpData,
802802 KbCallbackDumpIo,
803 KbCallbackAddPages
803 KbCallbackAddPages,
804 KbCallbackSecondaryMultiPartDumpData,
805 KbCallbackRemovePages,
806 KbCallbackTriageDumpData
804807} KBUGCHECK_CALLBACK_REASON;
805808
806809struct _KBUGCHECK_REASON_CALLBACK_RECORD;
......@@ -917,7 +920,16 @@ typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION;
917920typedef enum _KINTERRUPT_POLARITY {
918921 InterruptPolarityUnknown,
919922 InterruptActiveHigh,
920 InterruptActiveLow
923 InterruptRisingEdge = InterruptActiveHigh,
924 InterruptActiveLow,
925 InterruptFallingEdge = InterruptActiveLow,
926#if NTDDI_VERSION >= NTDDI_WIN8
927 InterruptActiveBoth,
928#endif
929#if NTDDI_VERSION >= NTDDI_WINBLUE
930 InterruptActiveBothTriggerLow = InterruptActiveBoth,
931 InterruptActiveBothTriggerHigh
932#endif
921933} KINTERRUPT_POLARITY, *PKINTERRUPT_POLARITY;
922934
923935typedef enum _KPROFILE_SOURCE {
......@@ -963,7 +975,7 @@ typedef enum _KWAIT_REASON {
963975 WrDelayExecution,
964976 WrSuspended,
965977 WrUserRequest,
966 WrEventPair,
978 WrSpare0,
967979 WrQueue,
968980 WrLpcReceive,
969981 WrLpcReply,
......@@ -986,6 +998,9 @@ typedef enum _KWAIT_REASON {
986998 WrFastMutex,
987999 WrGuardedMutex,
9881000 WrRundown,
1001 WrAlertByThreadId,
1002 WrDeferredPreempt,
1003 WrPhysicalFault,
9891004 MaximumWaitReason
9901005} KWAIT_REASON;
9911006
......@@ -1134,48 +1149,46 @@ typedef struct _KLOCK_QUEUE_HANDLE {
11341149
11351150typedef ULONG64 KSPIN_LOCK_QUEUE_NUMBER;
11361151
1137#define LockQueueDispatcherLock 0
1138#define LockQueueExpansionLock 1
1139#define LockQueuePfnLock 2
1140#define LockQueueSystemSpaceLock 3
1152#define LockQueueUnusedSpare0 0
1153#define LockQueueUnusedSpare1 1
1154#define LockQueueUnusedSpare2 2
1155#define LockQueueUnusedSpare3 3
11411156#define LockQueueVacbLock 4
11421157#define LockQueueMasterLock 5
11431158#define LockQueueNonPagedPoolLock 6
11441159#define LockQueueIoCancelLock 7
1145#define LockQueueWorkQueueLock 8
1160#define LockQueueUnusedSpare8 8
11461161#define LockQueueIoVpbLock 9
11471162#define LockQueueIoDatabaseLock 10
11481163#define LockQueueIoCompletionLock 11
11491164#define LockQueueNtfsStructLock 12
11501165#define LockQueueAfdWorkQueueLock 13
11511166#define LockQueueBcbLock 14
1152#define LockQueueMmNonPagedPoolLock 15
1167#define LockQueueUnusedSpare15 15
11531168#define LockQueueUnusedSpare16 16
1154#define LockQueueTimerTableLock 17
1155#define LockQueueMaximumLock (LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS)
1169#define LockQueueMaximumLock 17
11561170
11571171#else
11581172
11591173typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
1160 LockQueueDispatcherLock,
1161 LockQueueExpansionLock,
1162 LockQueuePfnLock,
1163 LockQueueSystemSpaceLock,
1174 LockQueueUnusedSpare0,
1175 LockQueueUnusedSpare1,
1176 LockQueueUnusedSpare2,
1177 LockQueueUnusedSpare3,
11641178 LockQueueVacbLock,
11651179 LockQueueMasterLock,
11661180 LockQueueNonPagedPoolLock,
11671181 LockQueueIoCancelLock,
1168 LockQueueWorkQueueLock,
1182 LockQueueUnusedSpare8,
11691183 LockQueueIoVpbLock,
11701184 LockQueueIoDatabaseLock,
11711185 LockQueueIoCompletionLock,
11721186 LockQueueNtfsStructLock,
11731187 LockQueueAfdWorkQueueLock,
11741188 LockQueueBcbLock,
1175 LockQueueMmNonPagedPoolLock,
1189 LockQueueUnusedSpare15,
11761190 LockQueueUnusedSpare16,
1177 LockQueueTimerTableLock,
1178 LockQueueMaximumLock = LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS
1191 LockQueueMaximumLock = LockQueueUnusedSpare16 + 1
11791192} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
11801193
11811194#endif /* defined(_AMD64_) */
......@@ -1371,6 +1384,7 @@ typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
13711384
13721385typedef enum _POOL_TYPE {
13731386 NonPagedPool,
1387 NonPagedPoolExecute = NonPagedPool,
13741388 PagedPool,
13751389 NonPagedPoolMustSucceed,
13761390 DontUseThisType,
......@@ -1378,13 +1392,20 @@ typedef enum _POOL_TYPE {
13781392 PagedPoolCacheAligned,
13791393 NonPagedPoolCacheAlignedMustS,
13801394 MaxPoolType,
1395 NonPagedPoolBase = 0,
1396 NonPagedPoolBaseMustSucceed = 2,
1397 NonPagedPoolBaseCacheAligned = 4,
1398 NonPagedPoolBaseCacheAlignedMustS = 6,
13811399 NonPagedPoolSession = 32,
13821400 PagedPoolSession,
13831401 NonPagedPoolMustSucceedSession,
13841402 DontUseThisTypeSession,
13851403 NonPagedPoolCacheAlignedSession,
13861404 PagedPoolCacheAlignedSession,
1387 NonPagedPoolCacheAlignedMustSSession
1405 NonPagedPoolCacheAlignedMustSSession,
1406 NonPagedPoolNx = 512,
1407 NonPagedPoolNxCacheAligned = 516,
1408 NonPagedPoolSessionNx = 544,
13881409} POOL_TYPE;
13891410
13901411typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {
......@@ -1666,7 +1687,8 @@ typedef enum _MEMORY_CACHING_TYPE {
16661687 MmHardwareCoherentCached,
16671688 MmNonCachedUnordered,
16681689 MmUSWCCached,
1669 MmMaximumCacheType
1690 MmMaximumCacheType,
1691 MmNotMapped = -1
16701692} MEMORY_CACHING_TYPE;
16711693
16721694typedef enum _MM_PAGE_PRIORITY {
......@@ -1863,7 +1885,12 @@ typedef enum _WORK_QUEUE_TYPE {
18631885 CriticalWorkQueue,
18641886 DelayedWorkQueue,
18651887 HyperCriticalWorkQueue,
1866 MaximumWorkQueue
1888 NormalWorkQueue,
1889 BackgroundWorkQueue,
1890 RealTimeWorkQueue,
1891 SuperCriticalWorkQueue,
1892 MaximumWorkQueue,
1893 CustomPriorityWorkQueue = 32
18671894} WORK_QUEUE_TYPE;
18681895
18691896typedef VOID
......@@ -2215,7 +2242,13 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
22152242 SeAdtParmTypeLogonIdNoSid,
22162243 SeAdtParmTypeUlongNoConv,
22172244 SeAdtParmTypeSockAddrNoPort,
2218 SeAdtParmTypeAccessReason
2245 SeAdtParmTypeAccessReason,
2246 SeAdtParmTypeStagingReason,
2247 SeAdtParmTypeResourceAttribute,
2248 SeAdtParmTypeClaims,
2249 SeAdtParmTypeLogonIdAsSid,
2250 SeAdtParmTypeMultiSzString,
2251 SeAdtParmTypeLogonIdEx
22192252} SE_ADT_PARAMETER_TYPE, *PSE_ADT_PARAMETER_TYPE;
22202253
22212254typedef struct _SE_ADT_OBJECT_TYPE {
......@@ -2311,7 +2344,7 @@ typedef enum _POWER_INFORMATION_LEVEL {
23112344 SetPowerSettingValue,
23122345 NotifyUserPowerSetting,
23132346 PowerInformationLevelUnused0,
2314 PowerInformationLevelUnused1,
2347 SystemMonitorHiberBootPowerOff,
23152348 SystemVideoState,
23162349 TraceApplicationPowerMessage,
23172350 TraceApplicationPowerMessageEnd,
......@@ -2335,6 +2368,50 @@ typedef enum _POWER_INFORMATION_LEVEL {
23352368 ProcessorIdleDomains,
23362369 WakeTimerList,
23372370 SystemHiberFileSize,
2371 ProcessorIdleStatesHv,
2372 ProcessorPerfStatesHv,
2373 ProcessorPerfCapHv,
2374 ProcessorSetIdle,
2375 LogicalProcessorIdling,
2376 UserPresence,
2377 PowerSettingNotificationName,
2378 GetPowerSettingValue,
2379 IdleResiliency,
2380 SessionRITState,
2381 SessionConnectNotification,
2382 SessionPowerCleanup,
2383 SessionLockState,
2384 SystemHiberbootState,
2385 PlatformInformation,
2386 PdcInvocation,
2387 MonitorInvocation,
2388 FirmwareTableInformationRegistered,
2389 SetShutdownSelectedTime,
2390 SuspendResumeInvocation,
2391 PlmPowerRequestCreate,
2392 ScreenOff,
2393 CsDeviceNotification,
2394 PlatformRole,
2395 LastResumePerformance,
2396 DisplayBurst,
2397 ExitLatencySamplingPercentage,
2398 RegisterSpmPowerSettings,
2399 PlatformIdleStates,
2400 ProcessorIdleVeto,
2401 PlatformIdleVeto,
2402 SystemBatteryStatePrecise,
2403 ThermalEvent,
2404 PowerRequestActionInternal,
2405 BatteryDeviceState,
2406 PowerInformationInternal,
2407 ThermalStandby,
2408 SystemHiberFileType,
2409 PhysicalPowerButtonPress,
2410 QueryPotentialDripsConstraint,
2411 EnergyTrackerCreate,
2412 EnergyTrackerQuery,
2413 UpdateBlackBoxRecorder,
2414 SessionAllowExternalDmaDevices,
23382415 PowerInformationLevelMaximum
23392416} POWER_INFORMATION_LEVEL;
23402417
......@@ -2346,7 +2423,8 @@ typedef enum {
23462423 PowerActionShutdown,
23472424 PowerActionShutdownReset,
23482425 PowerActionShutdownOff,
2349 PowerActionWarmEject
2426 PowerActionWarmEject,
2427 PowerActionDisplayOff
23502428} POWER_ACTION, *PPOWER_ACTION;
23512429
23522430typedef enum _DEVICE_POWER_STATE {
......@@ -2445,7 +2523,8 @@ typedef enum {
24452523typedef enum _POWER_REQUEST_TYPE {
24462524 PowerRequestDisplayRequired,
24472525 PowerRequestSystemRequired,
2448 PowerRequestAwayModeRequired
2526 PowerRequestAwayModeRequired,
2527 PowerRequestExecutionRequired
24492528} POWER_REQUEST_TYPE, *PPOWER_REQUEST_TYPE;
24502529
24512530#if (NTDDI_VERSION >= NTDDI_WINXP)
......@@ -2509,6 +2588,7 @@ typedef enum _POWER_PLATFORM_ROLE {
25092588 PlatformRoleSOHOServer,
25102589 PlatformRoleAppliancePC,
25112590 PlatformRolePerformanceServer,
2591 PlatformRoleSlate,
25122592 PlatformRoleMaximum
25132593} POWER_PLATFORM_ROLE;
25142594
......@@ -3041,6 +3121,7 @@ typedef enum _INTERFACE_TYPE {
30413121 PNPISABus,
30423122 PNPBus,
30433123 Vmcs,
3124 ACPIBus,
30443125 MaximumInterfaceType
30453126} INTERFACE_TYPE, *PINTERFACE_TYPE;
30463127
......@@ -3224,6 +3305,8 @@ typedef enum _KEY_INFORMATION_CLASS {
32243305 KeyFlagsInformation,
32253306 KeyVirtualizationInformation,
32263307 KeyHandleTagsInformation,
3308 KeyTrustInformation,
3309 KeyLayerInformation,
32273310 MaxKeyInfoClass
32283311} KEY_INFORMATION_CLASS;
32293312
......@@ -3272,6 +3355,7 @@ typedef enum _KEY_SET_INFORMATION_CLASS {
32723355 KeySetVirtualizationInformation,
32733356 KeySetDebugInformation,
32743357 KeySetHandleTagsInformation,
3358 KeySetLayerInformation,
32753359 MaxKeySetInfoClass
32763360} KEY_SET_INFORMATION_CLASS;
32773361
......@@ -3323,7 +3407,9 @@ typedef enum _KEY_VALUE_INFORMATION_CLASS {
33233407 KeyValueFullInformation,
33243408 KeyValuePartialInformation,
33253409 KeyValueFullInformationAlign64,
3326 KeyValuePartialInformationAlign64
3410 KeyValuePartialInformationAlign64,
3411 KeyValueLayerInformation,
3412 MaxKeyValueInfoClass
33273413} KEY_VALUE_INFORMATION_CLASS;
33283414
33293415typedef struct _KEY_WOW64_FLAGS_INFORMATION {
......@@ -3393,6 +3479,8 @@ typedef enum _REG_NOTIFY_CLASS {
33933479 RegNtPostSaveKey,
33943480 RegNtPreReplaceKey,
33953481 RegNtPostReplaceKey,
3482 RegNtPreQueryKeyName,
3483 RegNtPostQueryKeyName,
33963484 MaxRegNtNotifyClass
33973485} REG_NOTIFY_CLASS, *PREG_NOTIFY_CLASS;
33983486
......@@ -3840,7 +3928,10 @@ typedef enum _IRQ_DEVICE_POLICY_USHORT {
38403928 IrqPolicyAllProcessorsInMachine = 3,
38413929 IrqPolicyAllProcessorsInGroup = 3,
38423930 IrqPolicySpecifiedProcessors = 4,
3843 IrqPolicySpreadMessagesAcrossAllProcessors = 5};
3931 IrqPolicySpreadMessagesAcrossAllProcessors = 5,
3932 IrqPolicyAllProcessorsInMachineWhenSteered = 6,
3933 IrqPolicyAllProcessorsInGroupWhenSteered = 6
3934};
38443935
38453936#else /* defined(NT_PROCESSOR_GROUPS) */
38463937
......@@ -3850,7 +3941,8 @@ typedef enum _IRQ_DEVICE_POLICY {
38503941 IrqPolicyOneCloseProcessor,
38513942 IrqPolicyAllProcessorsInMachine,
38523943 IrqPolicySpecifiedProcessors,
3853 IrqPolicySpreadMessagesAcrossAllProcessors
3944 IrqPolicySpreadMessagesAcrossAllProcessors,
3945 IrqPolicyAllProcessorsInMachineWhenSteered
38543946} IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;
38553947
38563948#endif
......@@ -4268,6 +4360,24 @@ typedef enum _CREATE_FILE_TYPE {
42684360 CreateFileTypeMailslot
42694361} CREATE_FILE_TYPE;
42704362
4363typedef struct _NAMED_PIPE_CREATE_PARAMETERS {
4364 ULONG NamedPipeType;
4365 ULONG ReadMode;
4366 ULONG CompletionMode;
4367 ULONG MaximumInstances;
4368 ULONG InboundQuota;
4369 ULONG OutboundQuota;
4370 LARGE_INTEGER DefaultTimeout;
4371 BOOLEAN TimeoutSpecified;
4372} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS;
4373
4374typedef struct _MAILSLOT_CREATE_PARAMETERS {
4375 ULONG MailslotQuota;
4376 ULONG MaximumMessageSize;
4377 LARGE_INTEGER ReadTimeout;
4378 BOOLEAN TimeoutSpecified;
4379} MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS;
4380
42714381#define IO_FORCE_ACCESS_CHECK 0x001
42724382#define IO_NO_PARAMETER_CHECKING 0x100
42734383
......@@ -4873,7 +4983,10 @@ typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {
48734983 DeviceUsageTypeUndefined,
48744984 DeviceUsageTypePaging,
48754985 DeviceUsageTypeHibernation,
4876 DeviceUsageTypeDumpFile
4986 DeviceUsageTypeDumpFile,
4987 DeviceUsageTypeBoot,
4988 DeviceUsageTypePostDisplay,
4989 DeviceUsageTypeGuestAssigned
48774990} DEVICE_USAGE_NOTIFICATION_TYPE;
48784991
48794992typedef struct _POWER_SEQUENCE {
......@@ -4912,7 +5025,8 @@ typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
49125025 EventCategoryReserved,
49135026 EventCategoryHardwareProfileChange,
49145027 EventCategoryDeviceInterfaceChange,
4915 EventCategoryTargetDeviceChange
5028 EventCategoryTargetDeviceChange,
5029 EventCategoryKernelSoftRestart
49165030} IO_NOTIFICATION_EVENT_CATEGORY;
49175031
49185032typedef enum _IO_PRIORITY_HINT {
......@@ -4989,13 +5103,38 @@ typedef enum _FILE_INFORMATION_CLASS {
49895103 FileNetworkPhysicalNameInformation,
49905104 FileIdGlobalTxDirectoryInformation,
49915105 FileIsRemoteDeviceInformation,
4992 FileAttributeCacheInformation,
5106 FileUnusedInformation,
49935107 FileNumaNodeInformation,
49945108 FileStandardLinkInformation,
49955109 FileRemoteProtocolInformation,
5110 FileRenameInformationBypassAccessCheck,
5111 FileLinkInformationBypassAccessCheck,
5112 FileVolumeNameInformation,
5113 FileIdInformation,
5114 FileIdExtdDirectoryInformation,
5115 FileReplaceCompletionInformation,
5116 FileHardLinkFullIdInformation,
5117 FileIdExtdBothDirectoryInformation,
5118 FileDispositionInformationEx,
5119 FileRenameInformationEx,
5120 FileRenameInformationExBypassAccessCheck,
5121 FileDesiredStorageClassInformation,
5122 FileStatInformation,
5123 FileMemoryPartitionInformation,
5124 FileStatLxInformation,
5125 FileCaseSensitiveInformation,
5126 FileLinkInformationEx,
5127 FileLinkInformationExBypassAccessCheck,
5128 FileStorageReserveIdInformation,
5129 FileCaseSensitiveInformationForceAccessCheck,
49965130 FileMaximumInformation
49975131} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
49985132
5133typedef enum _DIRECTORY_NOTIFY_INFORMATION_CLASS {
5134 DirectoryNotifyInformation = 1,
5135 DirectoryNotifyExtendedInformation
5136} DIRECTORY_NOTIFY_INFORMATION_CLASS, *PDIRECTORY_NOTIFY_INFORMATION_CLASS;
5137
49995138typedef struct _FILE_POSITION_INFORMATION {
50005139 LARGE_INTEGER CurrentByteOffset;
50015140} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
......@@ -5063,6 +5202,10 @@ typedef enum _FSINFOCLASS {
50635202 FileFsObjectIdInformation,
50645203 FileFsDriverPathInformation,
50655204 FileFsVolumeFlagsInformation,
5205 FileFsSectorSizeInformation,
5206 FileFsDataCopyInformation,
5207 FileFsMetadataSizeInformation,
5208 FileFsFullSizeInformationEx,
50665209 FileFsMaximumInformation
50675210} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
50685211
......@@ -5662,6 +5805,8 @@ typedef enum _DMA_WIDTH {
56625805 Width8Bits,
56635806 Width16Bits,
56645807 Width32Bits,
5808 Width64Bits,
5809 WidthNoWrap,
56655810 MaximumDmaWidth
56665811} DMA_WIDTH, *PDMA_WIDTH;
56675812
......@@ -6202,7 +6347,8 @@ typedef enum _BUS_QUERY_ID_TYPE {
62026347 BusQueryHardwareIDs,
62036348 BusQueryCompatibleIDs,
62046349 BusQueryInstanceID,
6205 BusQueryDeviceSerialNumber
6350 BusQueryDeviceSerialNumber,
6351 BusQueryContainerID
62066352} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
62076353
62086354typedef enum _DEVICE_TEXT_TYPE {
......@@ -6356,26 +6502,51 @@ typedef struct _IO_STACK_LOCATION {
63566502 USHORT ShareAccess;
63576503 ULONG POINTER_ALIGNMENT EaLength;
63586504 } Create;
6505 struct {
6506 PIO_SECURITY_CONTEXT SecurityContext;
6507 ULONG Options;
6508 USHORT POINTER_ALIGNMENT Reserved;
6509 USHORT ShareAccess;
6510 PNAMED_PIPE_CREATE_PARAMETERS Parameters;
6511 } CreatePipe;
6512 struct {
6513 PIO_SECURITY_CONTEXT SecurityContext;
6514 ULONG Options;
6515 USHORT POINTER_ALIGNMENT Reserved;
6516 USHORT ShareAccess;
6517 PMAILSLOT_CREATE_PARAMETERS Parameters;
6518 } CreateMailslot;
63596519 struct {
63606520 ULONG Length;
63616521 ULONG POINTER_ALIGNMENT Key;
6522#ifdef _WIN64
6523 ULONG Flags;
6524#endif
63626525 LARGE_INTEGER ByteOffset;
63636526 } Read;
63646527 struct {
63656528 ULONG Length;
63666529 ULONG POINTER_ALIGNMENT Key;
6530#ifdef _WIN64
6531 ULONG Flags;
6532#endif
63676533 LARGE_INTEGER ByteOffset;
63686534 } Write;
63696535 struct {
63706536 ULONG Length;
63716537 PUNICODE_STRING FileName;
63726538 FILE_INFORMATION_CLASS FileInformationClass;
6373 ULONG FileIndex;
6539 ULONG POINTER_ALIGNMENT FileIndex;
63746540 } QueryDirectory;
63756541 struct {
63766542 ULONG Length;
6377 ULONG CompletionFilter;
6543 ULONG POINTER_ALIGNMENT CompletionFilter;
63786544 } NotifyDirectory;
6545 struct {
6546 ULONG Length;
6547 ULONG POINTER_ALIGNMENT CompletionFilter;
6548 DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
6549 } NotifyDirectoryEx;
63796550 struct {
63806551 ULONG Length;
63816552 FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
......@@ -6397,7 +6568,7 @@ typedef struct _IO_STACK_LOCATION {
63976568 ULONG Length;
63986569 PVOID EaList;
63996570 ULONG EaListLength;
6400 ULONG EaIndex;
6571 ULONG POINTER_ALIGNMENT EaIndex;
64016572 } QueryEa;
64026573 struct {
64036574 ULONG Length;
......@@ -6408,17 +6579,17 @@ typedef struct _IO_STACK_LOCATION {
64086579 } QueryVolume;
64096580 struct {
64106581 ULONG Length;
6411 FS_INFORMATION_CLASS FsInformationClass;
6582 FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
64126583 } SetVolume;
64136584 struct {
64146585 ULONG OutputBufferLength;
6415 ULONG InputBufferLength;
6416 ULONG FsControlCode;
6586 ULONG POINTER_ALIGNMENT InputBufferLength;
6587 ULONG POINTER_ALIGNMENT FsControlCode;
64176588 PVOID Type3InputBuffer;
64186589 } FileSystemControl;
64196590 struct {
64206591 PLARGE_INTEGER Length;
6421 ULONG Key;
6592 ULONG POINTER_ALIGNMENT Key;
64226593 LARGE_INTEGER ByteOffset;
64236594 } LockControl;
64246595 struct {
......@@ -6499,7 +6670,14 @@ typedef struct _IO_STACK_LOCATION {
64996670 PPOWER_SEQUENCE PowerSequence;
65006671 } PowerSequence;
65016672 struct {
6502 ULONG SystemContext;
6673#if (NTDDI_VERSION >= NTDDI_WINVISTA)
6674 _ANONYMOUS_UNION union {
6675#endif
6676 ULONG SystemContext;
6677#if (NTDDI_VERSION >= NTDDI_WINVISTA)
6678 SYSTEM_POWER_STATE_CONTEXT SystemPowerStateContext;
6679 } DUMMYUNIONNAME;
6680#endif
65036681 POWER_STATE_TYPE POINTER_ALIGNMENT Type;
65046682 POWER_STATE POINTER_ALIGNMENT State;
65056683 POWER_ACTION POINTER_ALIGNMENT ShutdownType;
......@@ -7679,6 +7857,11 @@ typedef enum _TRACE_INFORMATION_CLASS {
76797857 LoggerEventsLostClass,
76807858 TraceSessionSettingsClass,
76817859 LoggerEventsLoggedClass,
7860 DiskIoNotifyRoutinesClass,
7861 TraceInformationClassReserved1,
7862 FltIoNotifyRoutinesClass,
7863 TraceInformationClassReserved2,
7864 WdfNotifyRoutinesClass,
76827865 MaxTraceInformationClass
76837866} TRACE_INFORMATION_CLASS;
76847867
......@@ -9345,7 +9528,7 @@ RtlExtendedMagicDivide(
93459528 ret64 = UnsignedMultiplyHigh(Pos ? Dividend.QuadPart : -Dividend.QuadPart,
93469529 MagicDivisor.QuadPart);
93479530 ret64 >>= ShiftCount;
9348 ret.QuadPart = Pos ? ret64 : -(LONG64)ret64;
9531 ret.QuadPart = Pos ? (LONG64)ret64 : -(LONG64)ret64;
93499532 return ret;
93509533}
93519534#endif
......@@ -16128,6 +16311,885 @@ ZwSetInformationKey(
1612816311
1612916312#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
1613016313
16314#ifndef _CLFS_PUBLIC_H_
16315#define _CLFS_PUBLIC_H_
16316
16317#ifndef CLFSUSER_API
16318#ifdef __CLFSUSER_EXPORTS__
16319#define CLFSUSER_API
16320#else
16321#define CLFSUSER_API __declspec(dllimport)
16322#endif
16323#endif
16324
16325#if NTDDI_VERSION >= NTDDI_WS03SP1 || _WIN32_WINNT >= _WIN32_WINNT_WS03
16326
16327#define FILE_ATTRIBUTE_DEDICATED FILE_ATTRIBUTE_TEMPORARY
16328#define EA_CONTAINER_NAME "ContainerName"
16329#define EA_CONTAINER_SIZE "ContainerSize"
16330#define CLFS_BASELOG_EXTENSION L".blf"
16331#define CLFS_FLAG_NO_FLAGS 0x00000000
16332#define CLFS_FLAG_FORCE_APPEND 0x00000001
16333#define CLFS_FLAG_FORCE_FLUSH 0x00000002
16334#define CLFS_FLAG_USE_RESERVATION 0x00000004
16335#define CLFS_FLAG_REENTRANT_FILE_SYSTEM 0x00000008
16336#define CLFS_FLAG_NON_REENTRANT_FILTER 0x00000010
16337#define CLFS_FLAG_REENTRANT_FILTER 0x00000020
16338#define CLFS_FLAG_IGNORE_SHARE_ACCESS 0x00000040
16339#define CLFS_FLAG_READ_IN_PROGRESS 0x00000080
16340#define CLFS_FLAG_MINIFILTER_LEVEL 0x00000100
16341#define CLFS_FLAG_HIDDEN_SYSTEM_LOG 0x00000200
16342#define CLFS_FLAG_FILTER_INTERMEDIATE_LEVEL CLFS_FLAG_NON_REENTRANT_FILTER
16343#define CLFS_FLAG_FILTER_TOP_LEVEL CLFS_FLAG_REENTRANT_FILTER
16344#define CLFS_MARSHALLING_FLAG_NONE 0x00000000
16345#define CLFS_MARSHALLING_FLAG_DISABLE_BUFF_INIT 0x00000001
16346
16347typedef ULONG CLFS_CONTAINER_ID, *PCLFS_CONTAINER_ID, **PPCLFS_CONTAINER_ID;
16348
16349typedef struct _CLS_LSN {
16350 ULONGLONG Internal;
16351} CLS_LSN, *PCLS_LSN, **PPCLS_LSN;
16352
16353typedef CLS_LSN CLFS_LSN, *PCLFS_LSN, **PPCLFS_LSN;
16354
16355extern __declspec(dllimport) const CLFS_LSN CLFS_LSN_INVALID;
16356extern __declspec(dllimport) const CLFS_LSN CLFS_LSN_NULL;
16357
16358#define ClfsNullRecord 0x00
16359#define ClfsDataRecord 0x01
16360#define ClfsRestartRecord 0x02
16361#define ClfsClientRecord (ClfsDataRecord | ClfsRestartRecord)
16362
16363#define CLFS_CONTAINER_STREAM_PREFIX L"%BLF%:"
16364#define CLFS_CONTAINER_RELATIVE_PREFIX L"%BLF%\\"
16365
16366typedef UCHAR CLS_RECORD_TYPE, *PCLS_RECORD_TYPE, **PPCLS_RECORD_TYPE;
16367typedef CLS_RECORD_TYPE CLFS_RECORD_TYPE, *PCLFS_RECORD_TYPE, **PPCLFS_RECORD_TYPE;
16368
16369typedef enum _CLS_CONTEXT_MODE {
16370 ClsContextNone,
16371 ClsContextUndoNext,
16372 ClsContextPrevious,
16373 ClsContextForward
16374} CLS_CONTEXT_MODE, *PCLS_CONTEXT_MODE, **PPCLS_CONTEXT_MODE;
16375
16376typedef enum _CLFS_CONTEXT_MODE {
16377 ClfsContextNone,
16378 ClfsContextUndoNext,
16379 ClfsContextPrevious,
16380 ClfsContextForward
16381} CLFS_CONTEXT_MODE, *PCLFS_CONTEXT_MODE, **PPCLFS_CONTEXT_MODE;
16382
16383typedef struct _CLFS_NODE_ID {
16384 ULONG cType;
16385 ULONG cbNode;
16386} CLFS_NODE_ID, *PCLFS_NODE_ID;
16387
16388typedef struct _CLS_WRITE_ENTRY {
16389 PVOID Buffer;
16390 ULONG ByteLength;
16391} CLS_WRITE_ENTRY, *PCLS_WRITE_ENTRY, **PPCLS_WRITE_ENTRY;
16392
16393typedef CLS_WRITE_ENTRY CLFS_WRITE_ENTRY, *PCLFS_WRITE_ENTRY, **PPCLFS_WRITE_ENTRY;
16394
16395typedef GUID CLFS_LOG_ID;
16396
16397typedef struct _CLS_INFORMATION {
16398 LONGLONG TotalAvailable;
16399 LONGLONG CurrentAvailable;
16400 LONGLONG TotalReservation;
16401 ULONGLONG BaseFileSize;
16402 ULONGLONG ContainerSize;
16403 ULONG TotalContainers;
16404 ULONG FreeContainers;
16405 ULONG TotalClients;
16406 ULONG Attributes;
16407 ULONG FlushThreshold;
16408 ULONG SectorSize;
16409 CLS_LSN MinArchiveTailLsn;
16410 CLS_LSN BaseLsn;
16411 CLS_LSN LastFlushedLsn;
16412 CLS_LSN LastLsn;
16413 CLS_LSN RestartLsn;
16414 GUID Identity;
16415} CLS_INFORMATION, *PCLS_INFORMATION, *PPCLS_INFORMATION;
16416
16417typedef CLS_INFORMATION CLFS_INFORMATION, *PCLFS_INFORMATION, *PPCLFS_INFORMATION;
16418
16419typedef struct _CLFS_LOG_NAME_INFORMATION {
16420 USHORT NameLengthInBytes;
16421 WCHAR Name[1];
16422} CLFS_LOG_NAME_INFORMATION, *PCLFS_LOG_NAME_INFORMATION, **PPCLFS_LOG_NAME_INFORMATION;
16423
16424typedef struct _CLFS_STREAM_ID_INFORMATION {
16425 UCHAR StreamIdentifier;
16426} CLFS_STREAM_ID_INFORMATION, *PCLFS_STREAM_ID_INFORMATION, **PPCLFS_STREAM_ID_INFORMATION;
16427
16428typedef UINT32 CLS_CONTAINER_STATE, *PCLS_CONTAINER_STATE, *PPCLS_CONTAINER_STATE;
16429typedef CLS_CONTAINER_STATE CLFS_CONTAINER_STATE, *PCLFS_CONTAINER_STATE, *PPCLFS_CONTAINER_STATE;
16430
16431#define ClsContainerInitializing 0x01
16432#define ClsContainerInactive 0x02
16433#define ClsContainerActive 0x04
16434#define ClsContainerActivePendingDelete 0x08
16435#define ClsContainerPendingArchive 0x10
16436#define ClsContainerPendingArchiveAndDelete 0x20
16437
16438#define ClfsContainerInitializing 0x01
16439#define ClfsContainerInactive 0x02
16440#define ClfsContainerActive 0x04
16441#define ClfsContainerActivePendingDelete 0x08
16442#define ClfsContainerPendingArchive 0x10
16443#define ClfsContainerPendingArchiveAndDelete 0x20
16444
16445#define CLFS_MAX_CONTAINER_INFO 256
16446
16447typedef struct _CLS_CONTAINER_INFORMATION {
16448 ULONG FileAttributes;
16449 ULONGLONG CreationTime;
16450 ULONGLONG LastAccessTime;
16451 ULONGLONG LastWriteTime;
16452 LONGLONG ContainerSize;
16453 ULONG FileNameActualLength;
16454 ULONG FileNameLength;
16455 WCHAR FileName[CLFS_MAX_CONTAINER_INFO];
16456 CLFS_CONTAINER_STATE State;
16457 CLFS_CONTAINER_ID PhysicalContainerId;
16458 CLFS_CONTAINER_ID LogicalContainerId;
16459} CLS_CONTAINER_INFORMATION, *PCLS_CONTAINER_INFORMATION, **PPCLS_CONTAINER_INFORMATION;
16460
16461typedef CLS_CONTAINER_INFORMATION CLFS_CONTAINER_INFORMATION, *PCLFS_CONTAINER_INFORMATION, **PPCLFS_CONTAINER_INFORMATION;
16462
16463typedef enum _CLS_LOG_INFORMATION_CLASS {
16464 ClfsLogBasicInformation,
16465 ClfsLogBasicInformationPhysical,
16466 ClfsLogPhysicalNameInformation,
16467 ClfsLogStreamIdentifierInformation,
16468#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_WINNT >= _WIN32_WINNT_VISTA
16469 ClfsLogSystemMarkingInformation,
16470 ClfsLogPhysicalLsnInformation
16471#endif
16472} CLS_LOG_INFORMATION_CLASS, *PCLS_LOG_INFORMATION_CLASS, **PPCLS_LOG_INFORMATION_CLASS;
16473
16474typedef CLS_LOG_INFORMATION_CLASS CLFS_LOG_INFORMATION_CLASS, *PCLFS_LOG_INFORMATION_CLASS, **PPCLFS_LOG_INFORMATION_CLASS;
16475
16476typedef enum _CLS_IOSTATS_CLASS {
16477 ClsIoStatsDefault = 0x0000,
16478 ClsIoStatsMax = 0xffff
16479} CLS_IOSTATS_CLASS, *PCLS_IOSTATS_CLASS, **PPCLS_IOSTATS_CLASS;
16480
16481typedef enum _CLFS_IOSTATS_CLASS {
16482 ClfsIoStatsDefault = 0x0000,
16483 ClfsIoStatsMax = 0xffff
16484} CLFS_IOSTATS_CLASS, *PCLFS_IOSTATS_CLASS, **PPCLFS_IOSTATS_CLASS;
16485
16486typedef struct _CLS_IO_STATISTICS_HEADER {
16487 UCHAR ubMajorVersion;
16488 UCHAR ubMinorVersion;
16489 CLFS_IOSTATS_CLASS eStatsClass;
16490 USHORT cbLength;
16491 ULONG coffData;
16492} CLS_IO_STATISTICS_HEADER, *PCLS_IO_STATISTICS_HEADER, **PPCLS_IO_STATISTICS_HEADER;
16493
16494typedef CLS_IO_STATISTICS_HEADER CLFS_IO_STATISTICS_HEADER, *PCLFS_IO_STATISTICS_HEADER, **PPCLFS_IO_STATISTICS_HEADER;
16495
16496typedef struct _CLS_IO_STATISTICS {
16497 CLS_IO_STATISTICS_HEADER hdrIoStats;
16498 ULONGLONG cFlush;
16499 ULONGLONG cbFlush;
16500 ULONGLONG cMetaFlush;
16501 ULONGLONG cbMetaFlush;
16502} CLS_IO_STATISTICS, *PCLS_IO_STATISTICS, **PPCLS_IO_STATISTICS;
16503
16504typedef CLS_IO_STATISTICS CLFS_IO_STATISTICS, *PCLFS_IO_STATISTICS, **PPCLFS_IO_STATISTICS;
16505
16506#define CLFS_SCAN_INIT 0x01
16507#define CLFS_SCAN_FORWARD 0x02
16508#define CLFS_SCAN_BACKWARD 0x04
16509#define CLFS_SCAN_CLOSE 0x08
16510#define CLFS_SCAN_INITIALIZED 0x10
16511#define CLFS_SCAN_BUFFERED 0x20
16512
16513typedef UCHAR CLFS_SCAN_MODE, *PCLFS_SCAN_MODE;
16514
16515typedef FILE_OBJECT LOG_FILE_OBJECT, *PLOG_FILE_OBJECT, **PPLOG_FILE_OBJECT;
16516
16517typedef struct _CLS_SCAN_CONTEXT {
16518 CLFS_NODE_ID cidNode;
16519 PLOG_FILE_OBJECT plfoLog;
16520 ULONG cIndex __attribute__((aligned(8)));
16521 ULONG cContainers __attribute__((aligned(8)));
16522 ULONG cContainersReturned __attribute__((aligned(8)));
16523 CLFS_SCAN_MODE eScanMode __attribute__((aligned(8)));
16524 PCLS_CONTAINER_INFORMATION pinfoContainer __attribute__((aligned(8)));
16525} CLS_SCAN_CONTEXT, *PCLS_SCAN_CONTEXT, **PPCLS_SCAN_CONTEXT;
16526
16527typedef CLS_SCAN_CONTEXT CLFS_SCAN_CONTEXT, *PCLFS_SCAN_CONTEXT, **PPCLFS_SCAN_CONTEXT;
16528
16529typedef struct _CLS_ARCHIVE_DESCRIPTOR {
16530 ULONGLONG coffLow;
16531 ULONGLONG coffHigh;
16532 CLS_CONTAINER_INFORMATION infoContainer;
16533} CLS_ARCHIVE_DESCRIPTOR, *PCLS_ARCHIVE_DESCRIPTOR, **PPCLS_ARCHIVE_DESCRIPTOR;
16534
16535typedef CLS_ARCHIVE_DESCRIPTOR CLFS_ARCHIVE_DESCRIPTOR, *PCLFS_ARCHIVE_DESCRIPTOR, **PPCLFS_ARCHIVE_DESCRIPTOR;
16536
16537typedef PVOID (*CLFS_BLOCK_ALLOCATION)(ULONG cbBufferLength, PVOID pvUserContext);
16538typedef void (*CLFS_BLOCK_DEALLOCATION)(PVOID pvBuffer, PVOID pvUserContext);
16539
16540typedef enum _CLFS_LOG_ARCHIVE_MODE {
16541 ClfsLogArchiveEnabled = 1,
16542 ClfsLogArchiveDisabled = 2
16543} CLFS_LOG_ARCHIVE_MODE, *PCLFS_LOG_ARCHIVE_MODE;
16544
16545CLFSUSER_API
16546BOOLEAN
16547NTAPI
16548ClfsLsnEqual(
16549 const CLFS_LSN* plsn1,
16550 const CLFS_LSN* plsn2);
16551
16552CLFSUSER_API
16553BOOLEAN
16554NTAPI
16555ClfsLsnLess(
16556 const CLFS_LSN* plsn1,
16557 const CLFS_LSN* plsn2);
16558
16559CLFSUSER_API
16560BOOLEAN
16561NTAPI
16562ClfsLsnGreater(
16563 const CLFS_LSN* plsn1,
16564 const CLFS_LSN* plsn2);
16565
16566CLFSUSER_API
16567BOOLEAN
16568NTAPI
16569ClfsLsnNull(
16570 const CLFS_LSN* plsn);
16571
16572CLFSUSER_API
16573CLFS_CONTAINER_ID
16574NTAPI
16575ClfsLsnContainer(
16576 const CLFS_LSN* plsn);
16577
16578CLFSUSER_API
16579CLFS_LSN
16580NTAPI
16581ClfsLsnCreate(
16582 CLFS_CONTAINER_ID cidContainer,
16583 ULONG offBlock,
16584 ULONG cRecord);
16585
16586CLFSUSER_API
16587ULONG
16588NTAPI
16589ClfsLsnBlockOffset(
16590 const CLFS_LSN* plsn);
16591
16592CLFSUSER_API
16593ULONG
16594NTAPI
16595ClfsLsnRecordSequence(
16596 const CLFS_LSN* plsn);
16597
16598CLFSUSER_API
16599BOOLEAN
16600NTAPI
16601ClfsLsnInvalid(
16602 const CLFS_LSN* plsn);
16603
16604CLFSUSER_API
16605CLFS_LSN
16606NTAPI
16607ClfsLsnIncrement(
16608 PCLFS_LSN plsn);
16609
16610#ifdef __cplusplus
16611#ifdef CLFS_OPERATORS
16612
16613inline CLFS_LSN operator++(CLFS_LSN& refLsn) {
16614 refLsn = ClfsLsnIncrement (&refLsn);
16615 return refLsn;
16616}
16617
16618inline BOOLEAN operator<(const CLFS_LSN& refLsn1, const CLFS_LSN& refLsn2) {
16619 return ClfsLsnLess(&refLsn1, &refLsn2);
16620}
16621
16622inline BOOLEAN operator>(const CLFS_LSN& refLsn1, const CLFS_LSN& refLsn2) {
16623 return ClfsLsnGreater(&refLsn1, &refLsn2);
16624}
16625
16626inline BOOLEAN operator==(const CLFS_LSN& refLsn1, const CLFS_LSN& refLsn2) {
16627 return ClfsLsnEqual(&refLsn1, &refLsn2);
16628}
16629
16630inline BOOLEAN operator!=(const CLFS_LSN& refLsn1, const CLFS_LSN& refLsn2) {
16631 return !ClfsLsnEqual(&refLsn1, &refLsn2);
16632}
16633
16634inline BOOLEAN operator<=(const CLFS_LSN& refLsn1, const CLFS_LSN& refLsn2) {
16635 return !ClfsLsnGreater(&refLsn1, &refLsn2);
16636}
16637
16638inline BOOLEAN operator>=(const CLFS_LSN& refLsn1, const CLFS_LSN& refLsn2) {
16639 return !ClfsLsnLess(&refLsn1, &refLsn2);
16640}
16641
16642#endif
16643#endif
16644#endif
16645
16646#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_WINNT >= _WIN32_WINNT_VISTA
16647
16648#pragma pack(push,8)
16649
16650typedef struct _CLFS_PHYSICAL_LSN_INFORMATION {
16651 UCHAR StreamIdentifier;
16652 CLFS_LSN VirtualLsn;
16653 CLFS_LSN PhysicalLsn;
16654} CLFS_PHYSICAL_LSN_INFORMATION, *PCLFS_PHYSICAL_LSN_INFORMATION;
16655
16656#pragma pack(pop)
16657
16658#endif
16659
16660#endif /* _CLFS_PUBLIC_H_ */
16661
16662#if NTDDI_VERSION >= NTDDI_WS03SP1 || _WIN32_WINNT >= _WIN32_WINNT_WS03
16663
16664typedef enum _CLFS_MGMT_POLICY_TYPE {
16665 ClfsMgmtPolicyMaximumSize,
16666 ClfsMgmtPolicyMinimumSize,
16667 ClfsMgmtPolicyNewContainerSize,
16668 ClfsMgmtPolicyGrowthRate,
16669 ClfsMgmtPolicyLogTail,
16670 ClfsMgmtPolicyAutoShrink,
16671 ClfsMgmtPolicyAutoGrow,
16672 ClfsMgmtPolicyNewContainerPrefix,
16673 ClfsMgmtPolicyNewContainerSuffix,
16674 ClfsMgmtPolicyNewContainerExtension,
16675 ClfsMgmtPolicyInvalid
16676} CLFS_MGMT_POLICY_TYPE, *PCLFS_MGMT_POLICY_TYPE;
16677
16678#define CLFS_MGMT_NUM_POLICIES (ULONG)ClfsMgmtPolicyInvalid
16679
16680#define CLFS_LOG_SIZE_MINIMUM (ULONGLONG)0
16681#define CLFS_LOG_SIZE_MAXIMUM (ULONGLONG)-1
16682
16683#define CLFS_MGMT_POLICY_VERSION 1
16684
16685#define LOG_POLICY_OVERWRITE 0x01
16686#define LOG_POLICY_PERSIST 0x02
16687
16688typedef struct _CLFS_MGMT_POLICY {
16689 ULONG Version;
16690 ULONG LengthInBytes;
16691 ULONG PolicyFlags;
16692 CLFS_MGMT_POLICY_TYPE PolicyType;
16693 union {
16694 struct {
16695 ULONG Containers;
16696 } MaximumSize;
16697 struct {
16698 ULONG Containers;
16699 } MinimumSize;
16700 struct {
16701 ULONG SizeInBytes;
16702 } NewContainerSize;
16703 struct {
16704 ULONG AbsoluteGrowthInContainers;
16705 ULONG RelativeGrowthPercentage;
16706 } GrowthRate;
16707 struct {
16708 ULONG MinimumAvailablePercentage;
16709 ULONG MinimumAvailableContainers;
16710 } LogTail;
16711 struct {
16712 ULONG Percentage;
16713 } AutoShrink;
16714 struct {
16715 ULONG Enabled;
16716 } AutoGrow;
16717 struct {
16718 USHORT PrefixLengthInBytes;
16719 WCHAR PrefixString[1];
16720 } NewContainerPrefix;
16721 struct {
16722 ULONGLONG NextContainerSuffix;
16723 } NewContainerSuffix;
16724 struct {
16725 USHORT ExtensionLengthInBytes;
16726 WCHAR ExtensionString[1];
16727 } NewContainerExtension;
16728 } PolicyParameters;
16729} CLFS_MGMT_POLICY, *PCLFS_MGMT_POLICY;
16730
16731typedef enum _CLFS_MGMT_NOTIFICATION_TYPE {
16732 ClfsMgmtAdvanceTailNotification,
16733 ClfsMgmtLogFullHandlerNotification,
16734 ClfsMgmtLogUnpinnedNotification,
16735 ClfsMgmtLogWriteNotification
16736} CLFS_MGMT_NOTIFICATION_TYPE, *PCLFS_MGMT_NOTIFICATION_TYPE;
16737
16738typedef struct _CLFS_MGMT_NOTIFICATION {
16739 CLFS_MGMT_NOTIFICATION_TYPE Notification;
16740 CLFS_LSN Lsn;
16741 USHORT LogIsPinned;
16742} CLFS_MGMT_NOTIFICATION, *PCLFS_MGMT_NOTIFICATION;
16743
16744typedef NTSTATUS (*PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK)(
16745 PLOG_FILE_OBJECT LogFile,
16746 PCLFS_LSN TargetLsn,
16747 PVOID ClientData);
16748
16749typedef VOID (*PCLFS_CLIENT_LFF_HANDLER_COMPLETE_CALLBACK)(
16750 PLOG_FILE_OBJECT LogFile,
16751 NTSTATUS OperationStatus,
16752 BOOLEAN LogIsPinned,
16753 PVOID ClientData);
16754
16755typedef VOID (*PCLFS_CLIENT_LOG_UNPINNED_CALLBACK)(
16756 PLOG_FILE_OBJECT LogFile,
16757 PVOID ClientData);
16758
16759typedef VOID (*PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK)(
16760 PLOG_FILE_OBJECT LogFile,
16761 NTSTATUS OperationStatus,
16762 PVOID ClientData);
16763
16764#define CLFS_MGMT_CLIENT_REGISTRATION_VERSION 1
16765
16766typedef struct _CLFS_MGMT_CLIENT_REGISTRATION {
16767 ULONG Version;
16768 PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK AdvanceTailCallback;
16769 PVOID AdvanceTailCallbackData;
16770 PCLFS_CLIENT_LFF_HANDLER_COMPLETE_CALLBACK LogGrowthCompleteCallback;
16771 PVOID LogGrowthCompleteCallbackData;
16772 PCLFS_CLIENT_LOG_UNPINNED_CALLBACK LogUnpinnedCallback;
16773 PVOID LogUnpinnedCallbackData;
16774} CLFS_MGMT_CLIENT_REGISTRATION, *PCLFS_MGMT_CLIENT_REGISTRATION;
16775
16776typedef PVOID CLFS_MGMT_CLIENT, *PCLFS_MGMT_CLIENT;
16777
16778CLFSUSER_API
16779NTSTATUS
16780ClfsMgmtRegisterManagedClient(
16781 PLOG_FILE_OBJECT LogFile,
16782 PCLFS_MGMT_CLIENT_REGISTRATION RegistrationData,
16783 PCLFS_MGMT_CLIENT ClientCookie);
16784
16785CLFSUSER_API
16786NTSTATUS
16787ClfsMgmtDeregisterManagedClient(
16788 CLFS_MGMT_CLIENT ClientCookie);
16789
16790CLFSUSER_API
16791NTSTATUS
16792ClfsMgmtTailAdvanceFailure(
16793 CLFS_MGMT_CLIENT Client,
16794 NTSTATUS Reason);
16795
16796CLFSUSER_API
16797NTSTATUS
16798ClfsMgmtHandleLogFileFull(
16799 CLFS_MGMT_CLIENT Client);
16800
16801CLFSUSER_API
16802NTSTATUS
16803ClfsMgmtInstallPolicy(
16804 PLOG_FILE_OBJECT LogFile,
16805 PCLFS_MGMT_POLICY Policy,
16806 ULONG PolicyLength);
16807
16808CLFSUSER_API
16809NTSTATUS
16810ClfsMgmtQueryPolicy(
16811 PLOG_FILE_OBJECT LogFile,
16812 CLFS_MGMT_POLICY_TYPE PolicyType,
16813 PCLFS_MGMT_POLICY Policy,
16814 PULONG PolicyLength);
16815
16816CLFSUSER_API
16817NTSTATUS
16818ClfsMgmtRemovePolicy(
16819 PLOG_FILE_OBJECT LogFile,
16820 CLFS_MGMT_POLICY_TYPE PolicyType);
16821
16822CLFSUSER_API
16823NTSTATUS
16824ClfsMgmtSetLogFileSize(
16825 PLOG_FILE_OBJECT LogFile,
16826 PULONGLONG NewSizeInContainers,
16827 PULONGLONG ResultingSizeInContainers,
16828 PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
16829 PVOID CompletionRoutineData);
16830
16831#endif
16832
16833#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_WINNT >= _WIN32_WINNT_VISTA
16834
16835CLFSUSER_API
16836NTSTATUS
16837ClfsMgmtSetLogFileSizeAsClient(
16838 PLOG_FILE_OBJECT LogFile,
16839 PCLFS_MGMT_CLIENT ClientCookie,
16840 PULONGLONG NewSizeInContainers,
16841 PULONGLONG ResultingSizeInContainers,
16842 PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
16843 PVOID CompletionRoutineData);
16844
16845#endif
16846
16847#ifndef __CLFSPROC_H__
16848#define __CLFSPROC_H__
16849
16850#if NTDDI_VERSION >= NTDDI_WS03SP1
16851
16852CLFSUSER_API NTSTATUS ClfsInitialize(void);
16853
16854CLFSUSER_API void ClfsFinalize(void);
16855
16856CLFSUSER_API
16857NTSTATUS
16858ClfsCreateLogFile(
16859 PPLOG_FILE_OBJECT pplfoLog,
16860 PUNICODE_STRING puszLogFileName,
16861 ACCESS_MASK fDesiredAccess,
16862 ULONG dwShareMode,
16863 PSECURITY_DESCRIPTOR psdLogFile,
16864 ULONG fCreateDisposition,
16865 ULONG fCreateOptions,
16866 ULONG fFlagsAndAttributes,
16867 ULONG fLogOptionFlag,
16868 PVOID pvContext,
16869 ULONG cbContext);
16870
16871CLFSUSER_API
16872NTSTATUS
16873ClfsDeleteLogByPointer(
16874 PLOG_FILE_OBJECT plfoLog);
16875
16876CLFSUSER_API
16877NTSTATUS
16878ClfsDeleteLogFile(
16879 PUNICODE_STRING puszLogFileName,
16880 PVOID pvReserved,
16881 ULONG fLogOptionFlag,
16882 PVOID pvContext,
16883 ULONG cbContext);
16884
16885CLFSUSER_API
16886NTSTATUS
16887ClfsAddLogContainer(
16888 PLOG_FILE_OBJECT plfoLog,
16889 PULONGLONG pcbContainer,
16890 PUNICODE_STRING puszContainerPath);
16891
16892CLFSUSER_API
16893NTSTATUS
16894ClfsAddLogContainerSet(
16895 PLOG_FILE_OBJECT plfoLog,
16896 USHORT cContainers,
16897 PULONGLONG pcbContainer,
16898 PUNICODE_STRING rguszContainerPath);
16899
16900CLFSUSER_API
16901NTSTATUS
16902ClfsRemoveLogContainer(
16903 PLOG_FILE_OBJECT plfoLog,
16904 PUNICODE_STRING puszContainerPath,
16905 BOOLEAN fForce);
16906
16907CLFSUSER_API
16908NTSTATUS
16909ClfsRemoveLogContainerSet(
16910 PLOG_FILE_OBJECT plfoLog,
16911 USHORT cContainers,
16912 PUNICODE_STRING rgwszContainerPath,
16913 BOOLEAN fForce);
16914
16915CLFSUSER_API
16916NTSTATUS
16917ClfsSetArchiveTail(
16918 PLOG_FILE_OBJECT plfoLog,
16919 PCLFS_LSN plsnArchiveTail);
16920
16921CLFSUSER_API
16922NTSTATUS
16923ClfsSetEndOfLog(
16924 PLOG_FILE_OBJECT plfoLog,
16925 PCLFS_LSN plsnEnd);
16926
16927CLFSUSER_API
16928NTSTATUS
16929ClfsCreateScanContext(
16930 PLOG_FILE_OBJECT plfoLog,
16931 ULONG cFromContainer,
16932 ULONG cContainers,
16933 CLFS_SCAN_MODE eScanMode,
16934 PCLFS_SCAN_CONTEXT pcxScan);
16935
16936CLFSUSER_API
16937NTSTATUS
16938ClfsScanLogContainers(
16939 PCLFS_SCAN_CONTEXT pcxScan,
16940 CLFS_SCAN_MODE eScanMode);
16941
16942CLFSUSER_API
16943NTSTATUS
16944ClfsGetContainerName(
16945 PLOG_FILE_OBJECT plfoLog,
16946 CLFS_CONTAINER_ID cidLogicalContainer,
16947 PUNICODE_STRING puszContainerName,
16948 PULONG pcActualLenContainerName);
16949
16950CLFSUSER_API
16951NTSTATUS
16952ClfsGetLogFileInformation(
16953 PLOG_FILE_OBJECT plfoLog,
16954 PCLFS_INFORMATION pinfoBuffer,
16955 PULONG pcbInfoBuffer);
16956
16957CLFSUSER_API
16958NTSTATUS
16959ClfsSetLogFileInformation(
16960 PLOG_FILE_OBJECT plfoLog,
16961 CLFS_LOG_INFORMATION_CLASS eInformationClass,
16962 PVOID pinfoBuffer,
16963 ULONG cbBuffer);
16964
16965CLFSUSER_API
16966NTSTATUS
16967ClfsReadRestartArea(
16968 PVOID pvMarshalContext,
16969 PVOID* ppvRestartBuffer,
16970 PULONG pcbRestartBuffer,
16971 PCLFS_LSN plsn,
16972 PVOID* ppvReadContext);
16973
16974CLFSUSER_API
16975NTSTATUS
16976ClfsReadPreviousRestartArea(
16977 PVOID pvReadContext,
16978 PVOID* ppvRestartBuffer,
16979 PULONG pcbRestartBuffer,
16980 PCLFS_LSN plsnRestart);
16981
16982CLFSUSER_API
16983NTSTATUS
16984ClfsWriteRestartArea(
16985 PVOID pvMarshalContext,
16986 PVOID pvRestartBuffer,
16987 ULONG cbRestartBuffer,
16988 PCLFS_LSN plsnBase,
16989 ULONG fFlags,
16990 PULONG pcbWritten,
16991 PCLFS_LSN plsnNext);
16992
16993CLFSUSER_API
16994NTSTATUS
16995ClfsAdvanceLogBase(
16996 PVOID pvMarshalContext,
16997 PCLFS_LSN plsnBase,
16998 ULONG fFlags);
16999
17000CLFSUSER_API
17001NTSTATUS
17002ClfsCloseAndResetLogFile(
17003 PLOG_FILE_OBJECT plfoLog);
17004
17005CLFSUSER_API
17006NTSTATUS
17007ClfsCloseLogFileObject(
17008 PLOG_FILE_OBJECT plfoLog);
17009
17010CLFSUSER_API
17011NTSTATUS
17012ClfsCreateMarshallingArea(
17013 PLOG_FILE_OBJECT plfoLog,
17014 POOL_TYPE ePoolType,
17015 PALLOCATE_FUNCTION pfnAllocBuffer,
17016 PFREE_FUNCTION pfnFreeBuffer,
17017 ULONG cbMarshallingBuffer,
17018 ULONG cMaxWriteBuffers,
17019 ULONG cMaxReadBuffers,
17020 PVOID* ppvMarshalContext);
17021
17022CLFSUSER_API
17023NTSTATUS
17024ClfsDeleteMarshallingArea(
17025 PVOID pvMarshalContext);
17026
17027CLFSUSER_API
17028NTSTATUS
17029ClfsReserveAndAppendLog(
17030 PVOID pvMarshalContext,
17031 PCLFS_WRITE_ENTRY rgWriteEntries,
17032 ULONG cWriteEntries,
17033 PCLFS_LSN plsnUndoNext,
17034 PCLFS_LSN plsnPrevious,
17035 ULONG cReserveRecords,
17036 PLONGLONG rgcbReservation,
17037 ULONG fFlags,
17038 PCLFS_LSN plsn);
17039
17040CLFSUSER_API
17041NTSTATUS
17042ClfsReserveAndAppendLogAligned(
17043 PVOID pvMarshalContext,
17044 PCLFS_WRITE_ENTRY rgWriteEntries,
17045 ULONG cWriteEntries,
17046 ULONG cbEntryAlignment,
17047 PCLFS_LSN plsnUndoNext,
17048 PCLFS_LSN plsnPrevious,
17049 ULONG cReserveRecords,
17050 PLONGLONG rgcbReservation,
17051 ULONG fFlags,
17052 PCLFS_LSN plsn);
17053
17054CLFSUSER_API
17055NTSTATUS
17056ClfsAlignReservedLog(
17057 PVOID pvMarshalContext,
17058 ULONG cRecords,
17059 LONGLONG rgcbReservation[],
17060 PLONGLONG pcbAlignReservation);
17061
17062CLFSUSER_API
17063NTSTATUS
17064ClfsAllocReservedLog(
17065 PVOID pvMarshalContext,
17066 ULONG cRecords,
17067 PLONGLONG pcbAdjustment);
17068
17069CLFSUSER_API
17070NTSTATUS
17071ClfsFreeReservedLog(
17072 PVOID pvMarshalContext,
17073 ULONG cRecords,
17074 PLONGLONG pcbAdjustment);
17075
17076CLFSUSER_API
17077NTSTATUS
17078ClfsFlushBuffers(
17079 PVOID pvMarshalContext);
17080
17081CLFSUSER_API
17082NTSTATUS
17083ClfsFlushToLsn(
17084 PVOID pvMarshalContext,
17085 PCLFS_LSN plsnFlush,
17086 PCLFS_LSN plsnLastFlushed);
17087
17088CLFSUSER_API
17089NTSTATUS
17090ClfsReadLogRecord(
17091 PVOID pvMarshalContext,
17092 PCLFS_LSN plsnFirst,
17093 CLFS_CONTEXT_MODE peContextMode,
17094 PVOID* ppvReadBuffer,
17095 PULONG pcbReadBuffer,
17096 PCLFS_RECORD_TYPE peRecordType,
17097 PCLFS_LSN plsnUndoNext,
17098 PCLFS_LSN plsnPrevious,
17099 PVOID* ppvReadContext);
17100
17101CLFSUSER_API
17102NTSTATUS
17103ClfsReadNextLogRecord(
17104 PVOID pvReadContext,
17105 PVOID* ppvBuffer,
17106 PULONG pcbBuffer,
17107 PCLFS_RECORD_TYPE peRecordType,
17108 PCLFS_LSN plsnUser,
17109 PCLFS_LSN plsnUndoNext,
17110 PCLFS_LSN plsnPrevious,
17111 PCLFS_LSN plsnRecord);
17112
17113CLFSUSER_API
17114NTSTATUS
17115ClfsTerminateReadLog(
17116 PVOID pvCursorContext);
17117
17118CLFSUSER_API
17119NTSTATUS
17120ClfsGetLastLsn(
17121 PLOG_FILE_OBJECT plfoLog,
17122 PCLFS_LSN plsnLast);
17123
17124CLFSUSER_API
17125NTSTATUS
17126ClfsGetIoStatistics(
17127 PLOG_FILE_OBJECT plfoLog,
17128 PVOID pvStatsBuffer,
17129 ULONG cbStatsBuffer,
17130 CLFS_IOSTATS_CLASS eStatsClass,
17131 PULONG pcbStatsWritten);
17132
17133CLFSUSER_API
17134CLFS_LSN
17135ClfsLaterLsn(
17136 PCLFS_LSN plsn);
17137
17138CLFSUSER_API
17139CLFS_LSN
17140ClfsEarlierLsn(
17141 PCLFS_LSN plsn);
17142
17143CLFSUSER_API
17144NTSTATUS
17145ClfsLsnDifference(
17146 PCLFS_LSN plsnStart,
17147 PCLFS_LSN plsnFinish,
17148 ULONG cbContainer,
17149 ULONG cbMaxBlock,
17150 PLONGLONG pcbDifference);
17151
17152#endif
17153
17154#if NTDDI_VERSION >= NTDDI_VISTA
17155
17156CLFSUSER_API
17157BOOLEAN
17158ClfsValidTopLevelContext(
17159 PIRP pirpTopLevelContext);
17160
17161CLFSUSER_API
17162NTSTATUS
17163ClfsQueryLogFileInformation(
17164 PLOG_FILE_OBJECT plfoLog,
17165 CLFS_LOG_INFORMATION_CLASS eInformationClass,
17166 PVOID pinfoInputBuffer,
17167 ULONG cbinfoInputBuffer,
17168 PVOID pinfoBuffer,
17169 PULONG pcbInfoBuffer);
17170
17171#endif
17172
17173#if NTDDI_VERSION >= NTDDI_WIN8
17174
17175CLFSUSER_API
17176NTSTATUS
17177ClfsCreateMarshallingAreaEx(
17178 PLOG_FILE_OBJECT plfoLog,
17179 POOL_TYPE ePoolType,
17180 PALLOCATE_FUNCTION pfnAllocBuffer,
17181 PFREE_FUNCTION pfnFreeBuffer,
17182 ULONG cbMarshallingBuffer,
17183 ULONG cMaxWriteBuffers,
17184 ULONG cMaxReadBuffers,
17185 ULONG cAlignmentSize,
17186 ULONGLONG fFlags,
17187 PVOID* ppvMarshalContext);
17188
17189#endif
17190
17191#endif /* __CLFSPROC_H__ */
17192
1613117193#ifdef __cplusplus
1613217194}
1613317195#endif
lib/libc/include/any-windows-any/ddstream.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/ddstream.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/ddstream.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/devicetopology.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/devicetopology.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/devicetopology.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dimm.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dimm.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dimm.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dinput.h+2-2
......@@ -387,7 +387,7 @@ typedef struct DIDEVICEOBJECTINSTANCEA {
387387 WORD wUsage;
388388 DWORD dwDimension;
389389 WORD wExponent;
390 WORD wReserved;
390 WORD wReportId;
391391#endif /* DIRECTINPUT_VERSION >= 0x0500 */
392392} DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA;
393393typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;
......@@ -408,7 +408,7 @@ typedef struct DIDEVICEOBJECTINSTANCEW {
408408 WORD wUsage;
409409 DWORD dwDimension;
410410 WORD wExponent;
411 WORD wReserved;
411 WORD wReportId;
412412#endif /* DIRECTINPUT_VERSION >= 0x0500 */
413413} DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW;
414414typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;
lib/libc/include/any-windows-any/dinputd.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dinputd.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dinputd.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/directmanipulation.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/directmanipulation.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/directmanipulation.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dispex.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dispex.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dispex.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dmodshow.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dmodshow.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dmodshow.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/docobj.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/docobj.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/docobj.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/docobjectservice.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/docobjectservice.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/docobjectservice.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/documenttarget.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/documenttarget.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/documenttarget.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/downloadmgr.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/downloadmgr.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/downloadmgr.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/drmexternals.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/drmexternals.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/drmexternals.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dsound.h+10-2
......@@ -83,13 +83,21 @@ typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8,**LPLPDIRECTSOUNDBUFFER
8383
8484DEFINE_GUID(IID_IDirectSoundNotify, 0xB0210783,0x89cd,0x11d0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
8585typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY,**LPLPDIRECTSOUNDNOTIFY;
86#define IDirectSoundNotify8 IDirectSoundNotify
87typedef struct IDirectSoundNotify8 *LPDIRECTSOUNDNOTIFY8;
8688#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
8789
8890DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
8991typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER,**LPLPDIRECTSOUND3DLISTENER;
92#define IDirectSound3DListener8 IDirectSound3DListener
93typedef struct IDirectSound3DListener8 *LPDIRECTSOUND3DLISTENER8;
94#define IID_IDirectSound3DListener8 IID_IDirectSound3DListener
9095
9196DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
9297typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER,**LPLPDIRECTSOUND3DBUFFER;
98#define IDirectSound3DBuffer8 IDirectSound3DBuffer
99typedef struct IDirectSound3DBuffer8 *LPDIRECTSOUND3DBUFFER8;
100#define IID_IDirectSound3DBuffer8 IID_IDirectSound3DBuffer
93101
94102DEFINE_GUID(IID_IDirectSoundCapture, 0xB0210781,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
95103typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE,**LPLPDIRECTSOUNDCAPTURE;
......@@ -104,6 +112,8 @@ typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8,**LPLPDIR
104112
105113DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C,0x50,0x59,0x6D,0xDC,0x1D);
106114typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX,**LPLPDIRECTSOUNDFULLDUPLEX;
115#define IDirectSoundFullDuplex8 IDirectSoundFullDuplex
116typedef struct IDirectSoundFullDuplex8 *LPDIRECTSOUNDFULLDUPLEX8;
107117#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
108118
109119DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb, 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4);
......@@ -1153,7 +1163,6 @@ DECLARE_INTERFACE_(IDirectSound3DListener,IUnknown)
11531163#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
11541164#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
11551165#endif
1156#define IDirectSound3DListener8 IDirectSound3DListener
11571166
11581167/*****************************************************************************
11591168 * IDirectSound3DBuffer interface
......@@ -1251,7 +1260,6 @@ DECLARE_INTERFACE_(IDirectSound3DBuffer,IUnknown)
12511260#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
12521261#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
12531262#endif
1254#define IDirectSound3DBuffer8 IDirectSound3DBuffer
12551263
12561264/*****************************************************************************
12571265 * IKsPropertySet interface
lib/libc/include/any-windows-any/dvdif.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dvdif.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dvdif.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dwrite.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dwrite.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite_1.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dwrite_1.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dwrite_1.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite_2.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dwrite_2.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dwrite_2.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite_3.h+8-3
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dwrite_3.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dwrite_3.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -9311,16 +9311,21 @@ static FORCEINLINE WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWrit
93119311
93129312#endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */
93139313
9314typedef struct DWRITE_COLOR_GLYPH_RUN1 {
9314typedef struct DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1;
9315struct DWRITE_COLOR_GLYPH_RUN1
9316{
93159317 DWRITE_GLYPH_RUN glyphRun;
93169318 DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription;
93179319 FLOAT baselineOriginX;
93189320 FLOAT baselineOriginY;
93199321 DWRITE_COLOR_F runColor;
93209322 UINT16 paletteIndex;
9323#ifdef _WIN64
9324 UINT32 _pad;
9325#endif
93219326 DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;
93229327 DWRITE_MEASURING_MODE measuringMode;
9323} DWRITE_COLOR_GLYPH_RUN1;
9328};
93249329/*****************************************************************************
93259330 * IDWriteColorGlyphRunEnumerator1 interface
93269331 */
lib/libc/include/any-windows-any/dxgi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_2.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgi1_2.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgi1_2.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_3.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgi1_3.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgi1_3.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_4.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgi1_4.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgi1_4.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_5.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgi1_5.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgi1_5.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_6.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgi1_6.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgi1_6.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgicommon.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgicommon.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgicommon.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgidebug.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgidebug.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgidebug.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgiformat.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgiformat.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgiformat.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgitype.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxgitype.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxgitype.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxva.h+269
......@@ -563,6 +563,275 @@ typedef struct _DXVA_Status_VPx
563563 USHORT wNumMbsAffected;
564564} DXVA_Status_VPx, *LPDXVA_Status_VPx;
565565
566
567#define _DIRECTX_AV1_VA_
568
569/* AV1 decoder GUIDs */
570DEFINE_GUID(DXVA_ModeAV1_VLD_Profile0, 0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a);
571DEFINE_GUID(DXVA_ModeAV1_VLD_Profile1, 0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08);
572DEFINE_GUID(DXVA_ModeAV1_VLD_Profile2, 0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8);
573DEFINE_GUID(DXVA_ModeAV1_VLD_12bit_Profile2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);
574DEFINE_GUID(DXVA_ModeAV1_VLD_12bit_Profile2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);
575
576/* AV1 picture entry data structure */
577typedef struct _DXVA_PicEntry_AV1 {
578 UINT width;
579 UINT height;
580
581 INT wmmat[6];
582 __C89_NAMELESS union {
583 __C89_NAMELESS struct {
584 UCHAR wminvalid : 1;
585 UCHAR wmtype : 2;
586 UCHAR Reserved : 5;
587 } __C89_NAMELESSSTRUCTNAME;
588 UCHAR GlobalMotionFlags;
589 } __C89_NAMELESSUNIONNAME;
590 UCHAR Index;
591 UINT16 Reserved16Bits;
592} DXVA_PicEntry_AV1, *LPDXVA_PicEntry_AV1;
593
594/* AV1 picture parameters data structure */
595typedef struct _DXVA_PicParams_AV1 {
596 UINT width;
597 UINT height;
598
599 UINT max_width;
600 UINT max_height;
601
602 UCHAR CurrPicTextureIndex;
603 UCHAR superres_denom;
604 UCHAR bitdepth;
605 UCHAR seq_profile;
606
607 struct {
608 UCHAR cols;
609 UCHAR rows;
610 USHORT context_update_id;
611 USHORT widths[64];
612 USHORT heights[64];
613 } tiles;
614
615 union {
616 __C89_NAMELESS struct {
617 UINT use_128x128_superblock : 1;
618 UINT intra_edge_filter : 1;
619 UINT interintra_compound : 1;
620 UINT masked_compound : 1;
621 UINT warped_motion : 1;
622 UINT dual_filter : 1;
623 UINT jnt_comp : 1;
624 UINT screen_content_tools : 1;
625 UINT integer_mv : 1;
626 UINT cdef : 1;
627 UINT restoration : 1;
628 UINT film_grain : 1;
629 UINT intrabc : 1;
630 UINT high_precision_mv : 1;
631 UINT switchable_motion_mode : 1;
632 UINT filter_intra : 1;
633 UINT disable_frame_end_update_cdf : 1;
634 UINT disable_cdf_update : 1;
635 UINT reference_mode : 1;
636 UINT skip_mode : 1;
637 UINT reduced_tx_set : 1;
638 UINT superres : 1;
639 UINT tx_mode : 2;
640 UINT use_ref_frame_mvs : 1;
641 UINT enable_ref_frame_mvs : 1;
642 UINT reference_frame_update : 1;
643 UINT Reserved : 5;
644 } __C89_NAMELESSSTRUCTNAME;
645 UINT32 CodingParamToolFlags;
646 } coding;
647
648 union {
649 __C89_NAMELESS struct {
650 UCHAR frame_type : 2;
651 UCHAR show_frame : 1;
652 UCHAR showable_frame : 1;
653 UCHAR subsampling_x : 1;
654 UCHAR subsampling_y : 1;
655 UCHAR mono_chrome : 1;
656 UCHAR Reserved : 1;
657 } __C89_NAMELESSSTRUCTNAME;
658 UCHAR FormatAndPictureInfoFlags;
659 } format;
660
661 UCHAR primary_ref_frame;
662 UCHAR order_hint;
663 UCHAR order_hint_bits;
664
665 DXVA_PicEntry_AV1 frame_refs[7];
666 UCHAR RefFrameMapTextureIndex[8];
667
668 struct {
669 UCHAR filter_level[2];
670 UCHAR filter_level_u;
671 UCHAR filter_level_v;
672
673 UCHAR sharpness_level;
674 __C89_NAMELESS union {
675 __C89_NAMELESS struct {
676 UCHAR mode_ref_delta_enabled : 1;
677 UCHAR mode_ref_delta_update : 1;
678 UCHAR delta_lf_multi : 1;
679 UCHAR delta_lf_present : 1;
680 UCHAR Reserved : 4;
681 } __C89_NAMELESSSTRUCTNAME;
682 UCHAR ControlFlags;
683 } __C89_NAMELESSUNIONNAME;
684 CHAR ref_deltas[8];
685 CHAR mode_deltas[2];
686 UCHAR delta_lf_res;
687 UCHAR frame_restoration_type[3];
688 USHORT log2_restoration_unit_size[3];
689 UINT16 Reserved16Bits;
690 } loop_filter;
691
692 struct {
693 __C89_NAMELESS union {
694 __C89_NAMELESS struct {
695 UCHAR delta_q_present : 1;
696 UCHAR delta_q_res : 2;
697 UCHAR Reserved : 5;
698 } __C89_NAMELESSSTRUCTNAME;
699 UCHAR ControlFlags;
700 } __C89_NAMELESSUNIONNAME;
701
702 UCHAR base_qindex;
703 CHAR y_dc_delta_q;
704 CHAR u_dc_delta_q;
705 CHAR v_dc_delta_q;
706 CHAR u_ac_delta_q;
707 CHAR v_ac_delta_q;
708 UCHAR qm_y;
709 UCHAR qm_u;
710 UCHAR qm_v;
711 UINT16 Reserved16Bits;
712 } quantization;
713
714 struct {
715 __C89_NAMELESS union {
716 __C89_NAMELESS struct {
717 UCHAR damping : 2;
718 UCHAR bits : 2;
719 UCHAR Reserved : 4;
720 } __C89_NAMELESSSTRUCTNAME;
721 UCHAR ControlFlags;
722 } __C89_NAMELESSUNIONNAME;
723
724 union {
725 __C89_NAMELESS struct {
726 UCHAR primary : 6;
727 UCHAR secondary : 2;
728 } __C89_NAMELESSSTRUCTNAME;
729 UCHAR combined;
730 } y_strengths[8];
731
732 union {
733 __C89_NAMELESS struct {
734 UCHAR primary : 6;
735 UCHAR secondary : 2;
736 } __C89_NAMELESSSTRUCTNAME;
737 UCHAR combined;
738 } uv_strengths[8];
739
740 } cdef;
741
742 UCHAR interp_filter;
743
744 struct {
745 __C89_NAMELESS union {
746 __C89_NAMELESS struct {
747 UCHAR enabled : 1;
748 UCHAR update_map : 1;
749 UCHAR update_data : 1;
750 UCHAR temporal_update : 1;
751 UCHAR Reserved : 4;
752 } __C89_NAMELESSSTRUCTNAME;
753 UCHAR ControlFlags;
754 } __C89_NAMELESSUNIONNAME;
755 UCHAR Reserved24Bits[3];
756
757 union {
758 __C89_NAMELESS struct {
759 UCHAR alt_q : 1;
760 UCHAR alt_lf_y_v : 1;
761 UCHAR alt_lf_y_h : 1;
762 UCHAR alt_lf_u : 1;
763 UCHAR alt_lf_v : 1;
764 UCHAR ref_frame : 1;
765 UCHAR skip : 1;
766 UCHAR globalmv : 1;
767 } __C89_NAMELESSSTRUCTNAME;
768 UCHAR mask;
769 } feature_mask[8];
770
771 SHORT feature_data[8][8];
772
773 } segmentation;
774
775 struct {
776 __C89_NAMELESS union {
777 __C89_NAMELESS struct {
778 USHORT apply_grain : 1;
779 USHORT scaling_shift_minus8 : 2;
780 USHORT chroma_scaling_from_luma : 1;
781 USHORT ar_coeff_lag : 2;
782 USHORT ar_coeff_shift_minus6 : 2;
783 USHORT grain_scale_shift : 2;
784 USHORT overlap_flag : 1;
785 USHORT clip_to_restricted_range : 1;
786 USHORT matrix_coeff_is_identity : 1;
787 USHORT Reserved : 3;
788 } __C89_NAMELESSSTRUCTNAME;
789 USHORT ControlFlags;
790 } __C89_NAMELESSUNIONNAME;
791
792 USHORT grain_seed;
793 UCHAR scaling_points_y[14][2];
794 UCHAR num_y_points;
795 UCHAR scaling_points_cb[10][2];
796 UCHAR num_cb_points;
797 UCHAR scaling_points_cr[10][2];
798 UCHAR num_cr_points;
799 UCHAR ar_coeffs_y[24];
800 UCHAR ar_coeffs_cb[25];
801 UCHAR ar_coeffs_cr[25];
802 UCHAR cb_mult;
803 UCHAR cb_luma_mult;
804 UCHAR cr_mult;
805 UCHAR cr_luma_mult;
806 UCHAR Reserved8Bits;
807 SHORT cb_offset;
808 SHORT cr_offset;
809 } film_grain;
810
811 UINT Reserved32Bits;
812 UINT StatusReportFeedbackNumber;
813} DXVA_PicParams_AV1, *LPDXVA_PicParams_AV1;
814
815/* AV1 tile data structure */
816typedef struct _DXVA_Tile_AV1 {
817 UINT DataOffset;
818 UINT DataSize;
819 USHORT row;
820 USHORT column;
821 UINT16 Reserved16Bits;
822 UCHAR anchor_frame;
823 UCHAR Reserved8Bits;
824} DXVA_Tile_AV1, *LPDXVA_Tile_AV1;
825
826typedef struct _DXVA_Status_AV1 {
827 UINT StatusReportFeedbackNumber;
828 DXVA_PicEntry_AV1 CurrPic;
829 UCHAR BufType;
830 UCHAR Status;
831 UCHAR Reserved8Bits;
832 USHORT NumMbsAffected;
833} DXVA_Status_AV1, *LPDXVA_Status_AV1;
834
566835#include <poppack.h>
567836
568837typedef enum _DXVA_VideoChromaSubsampling
lib/libc/include/any-windows-any/dxva2api.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxva2api.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxva2api.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxvahd.h+13-13
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/dxvahd.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/dxvahd.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -405,19 +405,16 @@ typedef struct _DXVAHDSW_CALLBACKS {
405405
406406HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);
407407
408#ifdef __GNUC__
409#warning COM interfaces layout in this header has not been verified.
410#warning COM interfaces with incorrect layout may not work at all.
411__MINGW_BROKEN_INTERFACE(INTERFACE)
412#endif
413408/*****************************************************************************
414409 * IDXVAHD_Device interface
415410 */
416411#ifndef __IDXVAHD_Device_INTERFACE_DEFINED__
417412#define __IDXVAHD_Device_INTERFACE_DEFINED__
418413
414DEFINE_GUID(IID_IDXVAHD_Device, 0x95f12dfd, 0xd77e, 0x49be, 0x81,0x5f, 0x57,0xd5,0x79,0x63,0x4d,0x6d);
419415#if defined(__cplusplus) && !defined(CINTERFACE)
420interface IDXVAHD_Device : public IUnknown
416MIDL_INTERFACE("95f12dfd-d77e-49be-815f-57d579634d6d")
417IDXVAHD_Device : public IUnknown
421418{
422419 virtual HRESULT STDMETHODCALLTYPE CreateVideoSurface(
423420 UINT Width,
......@@ -459,6 +456,9 @@ interface IDXVAHD_Device : public IUnknown
459456 IDXVAHD_VideoProcessor **ppVideoProcessor) = 0;
460457
461458};
459#ifdef __CRT_UUID_DECL
460__CRT_UUID_DECL(IDXVAHD_Device, 0x95f12dfd, 0xd77e, 0x49be, 0x81,0x5f, 0x57,0xd5,0x79,0x63,0x4d,0x6d)
461#endif
462462#else
463463typedef struct IDXVAHD_DeviceVtbl {
464464 BEGIN_INTERFACE
......@@ -589,19 +589,16 @@ static FORCEINLINE HRESULT IDXVAHD_Device_CreateVideoProcessor(IDXVAHD_Device* T
589589
590590#endif /* __IDXVAHD_Device_INTERFACE_DEFINED__ */
591591
592#ifdef __GNUC__
593#warning COM interfaces layout in this header has not been verified.
594#warning COM interfaces with incorrect layout may not work at all.
595__MINGW_BROKEN_INTERFACE(INTERFACE)
596#endif
597592/*****************************************************************************
598593 * IDXVAHD_VideoProcessor interface
599594 */
600595#ifndef __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__
601596#define __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__
602597
598DEFINE_GUID(IID_IDXVAHD_VideoProcessor, 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe,0x1b, 0x30,0x75,0xd6,0x65,0xaa,0x52);
603599#if defined(__cplusplus) && !defined(CINTERFACE)
604interface IDXVAHD_VideoProcessor : public IUnknown
600MIDL_INTERFACE("95f4edf4-6e03-4cd7-be1b-3075d665aa52")
601IDXVAHD_VideoProcessor : public IUnknown
605602{
606603 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessBltState(
607604 DXVAHD_BLT_STATE State,
......@@ -632,6 +629,9 @@ interface IDXVAHD_VideoProcessor : public IUnknown
632629 const DXVAHD_STREAM_DATA *pStreams) = 0;
633630
634631};
632#ifdef __CRT_UUID_DECL
633__CRT_UUID_DECL(IDXVAHD_VideoProcessor, 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe,0x1b, 0x30,0x75,0xd6,0x65,0xaa,0x52)
634#endif
635635#else
636636typedef struct IDXVAHD_VideoProcessorVtbl {
637637 BEGIN_INTERFACE
lib/libc/include/any-windows-any/endpointvolume.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/endpointvolume.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/endpointvolume.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/eventtoken.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/eventtoken.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/eventtoken.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/evr.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/evr.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/evr.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/evr9.h+393-18
......@@ -1,29 +1,404 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_EVR9
7#define _INC_EVR9
1/*** Autogenerated by WIDL 7.0 from include/evr9.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __evr9_h__
17#define __evr9_h__
18
19/* Forward declarations */
20
21#ifndef __IMFVideoMixerBitmap_FWD_DEFINED__
22#define __IMFVideoMixerBitmap_FWD_DEFINED__
23typedef interface IMFVideoMixerBitmap IMFVideoMixerBitmap;
24#ifdef __cplusplus
25interface IMFVideoMixerBitmap;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IMFVideoProcessor_FWD_DEFINED__
30#define __IMFVideoProcessor_FWD_DEFINED__
31typedef interface IMFVideoProcessor IMFVideoProcessor;
32#ifdef __cplusplus
33interface IMFVideoProcessor;
34#endif /* __cplusplus */
35#endif
36
37/* Headers for imported files */
838
9#if (_WIN32_WINNT >= 0x0600)
39#include <unknwn.h>
40#include <evr.h>
41#include <dxva2api.h>
1042
1143#ifdef __cplusplus
1244extern "C" {
1345#endif
1446
15typedef enum _evr9_tag_MFVideoAlphaBitmapFlags {
16 MFVideoAlphaBitmap_EntireDDS = 0x00000001,
17 MFVideoAlphaBitmap_SrcColorKey = 0x00000002,
18 MFVideoAlphaBitmap_SrcRect = 0x00000004,
19 MFVideoAlphaBitmap_DestRect = 0x00000008,
20 MFVideoAlphaBitmap_FilterMode = 0x00000010,
21 MFVideoAlphaBitmap_Alpha = 0x00000020,
22 MFVideoAlphaBitmap_BitMask = 0x0000003f
47typedef struct MFVideoAlphaBitmapParams {
48 DWORD dwFlags;
49 COLORREF clrSrcKey;
50 RECT rcSrc;
51 MFVideoNormalizedRect nrcDest;
52 FLOAT fAlpha;
53 DWORD dwFilterMode;
54} MFVideoAlphaBitmapParams;
55typedef struct MFVideoAlphaBitmap {
56 WINBOOL GetBitmapFromDC;
57 union {
58 HDC hdc;
59 IDirect3DSurface9 *pDDS;
60 } bitmap;
61 MFVideoAlphaBitmapParams params;
62} MFVideoAlphaBitmap;
63typedef enum __WIDL_evr9_generated_name_00000030 {
64 MFVideoAlphaBitmap_EntireDDS = 0x1,
65 MFVideoAlphaBitmap_SrcColorKey = 0x2,
66 MFVideoAlphaBitmap_SrcRect = 0x4,
67 MFVideoAlphaBitmap_DestRect = 0x8,
68 MFVideoAlphaBitmap_FilterMode = 0x10,
69 MFVideoAlphaBitmap_Alpha = 0x20,
70 MFVideoAlphaBitmap_BitMask = 0x3f
2371} MFVideoAlphaBitmapFlags;
72/*****************************************************************************
73 * IMFVideoMixerBitmap interface
74 */
75#ifndef __IMFVideoMixerBitmap_INTERFACE_DEFINED__
76#define __IMFVideoMixerBitmap_INTERFACE_DEFINED__
77
78DEFINE_GUID(IID_IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc);
79#if defined(__cplusplus) && !defined(CINTERFACE)
80MIDL_INTERFACE("814c7b20-0fdb-4eec-af8f-f957c8f69edc")
81IMFVideoMixerBitmap : public IUnknown
82{
83 virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
84 const MFVideoAlphaBitmap *bitmap) = 0;
85
86 virtual HRESULT STDMETHODCALLTYPE ClearAlphaBitmap(
87 ) = 0;
88
89 virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
90 const MFVideoAlphaBitmapParams *params) = 0;
91
92 virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
93 MFVideoAlphaBitmapParams *params) = 0;
94
95};
96#ifdef __CRT_UUID_DECL
97__CRT_UUID_DECL(IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc)
98#endif
99#else
100typedef struct IMFVideoMixerBitmapVtbl {
101 BEGIN_INTERFACE
102
103 /*** IUnknown methods ***/
104 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
105 IMFVideoMixerBitmap *This,
106 REFIID riid,
107 void **ppvObject);
108
109 ULONG (STDMETHODCALLTYPE *AddRef)(
110 IMFVideoMixerBitmap *This);
111
112 ULONG (STDMETHODCALLTYPE *Release)(
113 IMFVideoMixerBitmap *This);
114
115 /*** IMFVideoMixerBitmap methods ***/
116 HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)(
117 IMFVideoMixerBitmap *This,
118 const MFVideoAlphaBitmap *bitmap);
119
120 HRESULT (STDMETHODCALLTYPE *ClearAlphaBitmap)(
121 IMFVideoMixerBitmap *This);
122
123 HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)(
124 IMFVideoMixerBitmap *This,
125 const MFVideoAlphaBitmapParams *params);
126
127 HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)(
128 IMFVideoMixerBitmap *This,
129 MFVideoAlphaBitmapParams *params);
130
131 END_INTERFACE
132} IMFVideoMixerBitmapVtbl;
133
134interface IMFVideoMixerBitmap {
135 CONST_VTBL IMFVideoMixerBitmapVtbl* lpVtbl;
136};
137
138#ifdef COBJMACROS
139#ifndef WIDL_C_INLINE_WRAPPERS
140/*** IUnknown methods ***/
141#define IMFVideoMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
142#define IMFVideoMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
143#define IMFVideoMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
144/*** IMFVideoMixerBitmap methods ***/
145#define IMFVideoMixerBitmap_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap)
146#define IMFVideoMixerBitmap_ClearAlphaBitmap(This) (This)->lpVtbl->ClearAlphaBitmap(This)
147#define IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(This,params) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,params)
148#define IMFVideoMixerBitmap_GetAlphaBitmapParameters(This,params) (This)->lpVtbl->GetAlphaBitmapParameters(This,params)
149#else
150/*** IUnknown methods ***/
151static FORCEINLINE HRESULT IMFVideoMixerBitmap_QueryInterface(IMFVideoMixerBitmap* This,REFIID riid,void **ppvObject) {
152 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
153}
154static FORCEINLINE ULONG IMFVideoMixerBitmap_AddRef(IMFVideoMixerBitmap* This) {
155 return This->lpVtbl->AddRef(This);
156}
157static FORCEINLINE ULONG IMFVideoMixerBitmap_Release(IMFVideoMixerBitmap* This) {
158 return This->lpVtbl->Release(This);
159}
160/*** IMFVideoMixerBitmap methods ***/
161static FORCEINLINE HRESULT IMFVideoMixerBitmap_SetAlphaBitmap(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmap *bitmap) {
162 return This->lpVtbl->SetAlphaBitmap(This,bitmap);
163}
164static FORCEINLINE HRESULT IMFVideoMixerBitmap_ClearAlphaBitmap(IMFVideoMixerBitmap* This) {
165 return This->lpVtbl->ClearAlphaBitmap(This);
166}
167static FORCEINLINE HRESULT IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmapParams *params) {
168 return This->lpVtbl->UpdateAlphaBitmapParameters(This,params);
169}
170static FORCEINLINE HRESULT IMFVideoMixerBitmap_GetAlphaBitmapParameters(IMFVideoMixerBitmap* This,MFVideoAlphaBitmapParams *params) {
171 return This->lpVtbl->GetAlphaBitmapParameters(This,params);
172}
173#endif
174#endif
175
176#endif
177
178
179#endif /* __IMFVideoMixerBitmap_INTERFACE_DEFINED__ */
180
181/*****************************************************************************
182 * IMFVideoProcessor interface
183 */
184#ifndef __IMFVideoProcessor_INTERFACE_DEFINED__
185#define __IMFVideoProcessor_INTERFACE_DEFINED__
186
187DEFINE_GUID(IID_IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e);
188#if defined(__cplusplus) && !defined(CINTERFACE)
189MIDL_INTERFACE("6ab0000c-fece-4d1f-a2ac-a9573530656e")
190IMFVideoProcessor : public IUnknown
191{
192 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoProcessorModes(
193 UINT *count,
194 GUID **modes) = 0;
195
196 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
197 GUID *mode,
198 DXVA2_VideoProcessorCaps *caps) = 0;
199
200 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorMode(
201 GUID *mode) = 0;
202
203 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessorMode(
204 GUID *mode) = 0;
205
206 virtual HRESULT STDMETHODCALLTYPE GetProcAmpRange(
207 DWORD prop,
208 DXVA2_ValueRange *range) = 0;
209
210 virtual HRESULT STDMETHODCALLTYPE GetProcAmpValues(
211 DWORD flags,
212 DXVA2_ProcAmpValues *values) = 0;
213
214 virtual HRESULT STDMETHODCALLTYPE SetProcAmpValues(
215 DWORD flags,
216 DXVA2_ProcAmpValues *values) = 0;
217
218 virtual HRESULT STDMETHODCALLTYPE GetFilteringRange(
219 DWORD prop,
220 DXVA2_ValueRange *range) = 0;
221
222 virtual HRESULT STDMETHODCALLTYPE GetFilteringValue(
223 DWORD prop,
224 DXVA2_Fixed32 *value) = 0;
225
226 virtual HRESULT STDMETHODCALLTYPE SetFilteringValue(
227 DWORD prop,
228 DXVA2_Fixed32 *value) = 0;
229
230 virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
231 COLORREF *color) = 0;
232
233 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
234 COLORREF color) = 0;
235
236};
237#ifdef __CRT_UUID_DECL
238__CRT_UUID_DECL(IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e)
239#endif
240#else
241typedef struct IMFVideoProcessorVtbl {
242 BEGIN_INTERFACE
243
244 /*** IUnknown methods ***/
245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
246 IMFVideoProcessor *This,
247 REFIID riid,
248 void **ppvObject);
249
250 ULONG (STDMETHODCALLTYPE *AddRef)(
251 IMFVideoProcessor *This);
252
253 ULONG (STDMETHODCALLTYPE *Release)(
254 IMFVideoProcessor *This);
255
256 /*** IMFVideoProcessor methods ***/
257 HRESULT (STDMETHODCALLTYPE *GetAvailableVideoProcessorModes)(
258 IMFVideoProcessor *This,
259 UINT *count,
260 GUID **modes);
261
262 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
263 IMFVideoProcessor *This,
264 GUID *mode,
265 DXVA2_VideoProcessorCaps *caps);
266
267 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorMode)(
268 IMFVideoProcessor *This,
269 GUID *mode);
270
271 HRESULT (STDMETHODCALLTYPE *SetVideoProcessorMode)(
272 IMFVideoProcessor *This,
273 GUID *mode);
274
275 HRESULT (STDMETHODCALLTYPE *GetProcAmpRange)(
276 IMFVideoProcessor *This,
277 DWORD prop,
278 DXVA2_ValueRange *range);
279
280 HRESULT (STDMETHODCALLTYPE *GetProcAmpValues)(
281 IMFVideoProcessor *This,
282 DWORD flags,
283 DXVA2_ProcAmpValues *values);
284
285 HRESULT (STDMETHODCALLTYPE *SetProcAmpValues)(
286 IMFVideoProcessor *This,
287 DWORD flags,
288 DXVA2_ProcAmpValues *values);
289
290 HRESULT (STDMETHODCALLTYPE *GetFilteringRange)(
291 IMFVideoProcessor *This,
292 DWORD prop,
293 DXVA2_ValueRange *range);
294
295 HRESULT (STDMETHODCALLTYPE *GetFilteringValue)(
296 IMFVideoProcessor *This,
297 DWORD prop,
298 DXVA2_Fixed32 *value);
299
300 HRESULT (STDMETHODCALLTYPE *SetFilteringValue)(
301 IMFVideoProcessor *This,
302 DWORD prop,
303 DXVA2_Fixed32 *value);
304
305 HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)(
306 IMFVideoProcessor *This,
307 COLORREF *color);
308
309 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
310 IMFVideoProcessor *This,
311 COLORREF color);
312
313 END_INTERFACE
314} IMFVideoProcessorVtbl;
315
316interface IMFVideoProcessor {
317 CONST_VTBL IMFVideoProcessorVtbl* lpVtbl;
318};
319
320#ifdef COBJMACROS
321#ifndef WIDL_C_INLINE_WRAPPERS
322/*** IUnknown methods ***/
323#define IMFVideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
324#define IMFVideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
325#define IMFVideoProcessor_Release(This) (This)->lpVtbl->Release(This)
326/*** IMFVideoProcessor methods ***/
327#define IMFVideoProcessor_GetAvailableVideoProcessorModes(This,count,modes) (This)->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes)
328#define IMFVideoProcessor_GetVideoProcessorCaps(This,mode,caps) (This)->lpVtbl->GetVideoProcessorCaps(This,mode,caps)
329#define IMFVideoProcessor_GetVideoProcessorMode(This,mode) (This)->lpVtbl->GetVideoProcessorMode(This,mode)
330#define IMFVideoProcessor_SetVideoProcessorMode(This,mode) (This)->lpVtbl->SetVideoProcessorMode(This,mode)
331#define IMFVideoProcessor_GetProcAmpRange(This,prop,range) (This)->lpVtbl->GetProcAmpRange(This,prop,range)
332#define IMFVideoProcessor_GetProcAmpValues(This,flags,values) (This)->lpVtbl->GetProcAmpValues(This,flags,values)
333#define IMFVideoProcessor_SetProcAmpValues(This,flags,values) (This)->lpVtbl->SetProcAmpValues(This,flags,values)
334#define IMFVideoProcessor_GetFilteringRange(This,prop,range) (This)->lpVtbl->GetFilteringRange(This,prop,range)
335#define IMFVideoProcessor_GetFilteringValue(This,prop,value) (This)->lpVtbl->GetFilteringValue(This,prop,value)
336#define IMFVideoProcessor_SetFilteringValue(This,prop,value) (This)->lpVtbl->SetFilteringValue(This,prop,value)
337#define IMFVideoProcessor_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color)
338#define IMFVideoProcessor_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
339#else
340/*** IUnknown methods ***/
341static FORCEINLINE HRESULT IMFVideoProcessor_QueryInterface(IMFVideoProcessor* This,REFIID riid,void **ppvObject) {
342 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
343}
344static FORCEINLINE ULONG IMFVideoProcessor_AddRef(IMFVideoProcessor* This) {
345 return This->lpVtbl->AddRef(This);
346}
347static FORCEINLINE ULONG IMFVideoProcessor_Release(IMFVideoProcessor* This) {
348 return This->lpVtbl->Release(This);
349}
350/*** IMFVideoProcessor methods ***/
351static FORCEINLINE HRESULT IMFVideoProcessor_GetAvailableVideoProcessorModes(IMFVideoProcessor* This,UINT *count,GUID **modes) {
352 return This->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes);
353}
354static FORCEINLINE HRESULT IMFVideoProcessor_GetVideoProcessorCaps(IMFVideoProcessor* This,GUID *mode,DXVA2_VideoProcessorCaps *caps) {
355 return This->lpVtbl->GetVideoProcessorCaps(This,mode,caps);
356}
357static FORCEINLINE HRESULT IMFVideoProcessor_GetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
358 return This->lpVtbl->GetVideoProcessorMode(This,mode);
359}
360static FORCEINLINE HRESULT IMFVideoProcessor_SetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
361 return This->lpVtbl->SetVideoProcessorMode(This,mode);
362}
363static FORCEINLINE HRESULT IMFVideoProcessor_GetProcAmpRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
364 return This->lpVtbl->GetProcAmpRange(This,prop,range);
365}
366static FORCEINLINE HRESULT IMFVideoProcessor_GetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
367 return This->lpVtbl->GetProcAmpValues(This,flags,values);
368}
369static FORCEINLINE HRESULT IMFVideoProcessor_SetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
370 return This->lpVtbl->SetProcAmpValues(This,flags,values);
371}
372static FORCEINLINE HRESULT IMFVideoProcessor_GetFilteringRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
373 return This->lpVtbl->GetFilteringRange(This,prop,range);
374}
375static FORCEINLINE HRESULT IMFVideoProcessor_GetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
376 return This->lpVtbl->GetFilteringValue(This,prop,value);
377}
378static FORCEINLINE HRESULT IMFVideoProcessor_SetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
379 return This->lpVtbl->SetFilteringValue(This,prop,value);
380}
381static FORCEINLINE HRESULT IMFVideoProcessor_GetBackgroundColor(IMFVideoProcessor* This,COLORREF *color) {
382 return This->lpVtbl->GetBackgroundColor(This,color);
383}
384static FORCEINLINE HRESULT IMFVideoProcessor_SetBackgroundColor(IMFVideoProcessor* This,COLORREF color) {
385 return This->lpVtbl->SetBackgroundColor(This,color);
386}
387#endif
388#endif
389
390#endif
391
392
393#endif /* __IMFVideoProcessor_INTERFACE_DEFINED__ */
394
395/* Begin additional prototypes for all interfaces */
396
397
398/* End additional prototypes */
24399
25400#ifdef __cplusplus
26401}
27402#endif
28#endif /*(_WIN32_WINNT >= 0x0600)*/
29#endif /*_INC_EVR9*/
403
404#endif /* __evr9_h__ */
lib/libc/include/any-windows-any/exdisp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/exdisp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/exdisp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/filter.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/filter.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/filter.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/float.h+1-1
......@@ -245,7 +245,7 @@
245245#define _CW_DEFAULT (_RC_NEAR+_PC_53+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)
246246#elif defined(__ia64__)
247247#define _CW_DEFAULT (_RC_NEAR+_PC_64+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)
248#elif defined(__x86_64__)
248#elif defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
249249#define _CW_DEFAULT (_RC_NEAR+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)
250250#endif
251251
lib/libc/include/any-windows-any/fontsub.h created+64
......@@ -0,0 +1,64 @@
1/*
2 * Copyright 2016 Nikolay Sivov for CodeWeavers
3 *
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.
8 *
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.
13 *
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
17 */
18
19#ifndef __WINE_FONTSUB_H
20#define __WINE_FONTSUB_H
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26typedef void *(__cdecl *CFP_ALLOCPROC)(size_t);
27typedef void *(__cdecl *CFP_REALLOCPROC)(void *, size_t);
28typedef void (__cdecl *CFP_FREEPROC)(void *);
29
30#define TTFCFP_SUBSET 0
31#define TTFCFP_SUBSET1 1
32#define TTFCFP_DELTA 2
33
34#define TTFCFP_UNICODE_PLATFORMID 0
35#define TTFCFP_APPLE_PLATFORMID 1
36#define TTFCFP_ISO_PLATFORMID 2
37#define TTFCFP_MS_PLATFORMID 3
38
39#define TTFCFP_STD_MAC_CHAR_SET 0
40#define TTFCFP_SYMBOL_CHAR_SET 0
41#define TTFCFP_UNICODE_CHAR_SET 1
42#define TTFCFP_DONT_CARE 0xffff
43
44#define TTFCFP_LANG_KEEP_ALL 0
45
46#define TTFCFP_FLAGS_SUBSET 0x0001
47#define TTFCFP_FLAGS_COMPRESS 0x0002
48#define TTFCFP_FLAGS_TTC 0x0004
49#define TTFCFP_FLAGS_GLYPHLIST 0x0008
50
51#define ERR_GENERIC 1000
52#define ERR_MEM 1005
53
54ULONG __cdecl CreateFontPackage(const unsigned char *src, const ULONG src_len, unsigned char **dest,
55 ULONG *dest_len, ULONG *written, const unsigned short flags, const unsigned short face_index,
56 const unsigned short format, const unsigned short lang, const unsigned short platform,
57 const unsigned short encoding, const unsigned short *keep_list, const unsigned short keep_len,
58 CFP_ALLOCPROC allocproc, CFP_REALLOCPROC reallocproc, CFP_FREEPROC freeproc, void *reserved);
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif
lib/libc/include/any-windows-any/fsrm.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fsrm.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fsrm.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmenums.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fsrmenums.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fsrmenums.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmquota.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fsrmquota.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fsrmquota.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmreports.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fsrmreports.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fsrmreports.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmscreen.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fsrmscreen.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fsrmscreen.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fusion.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fusion.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fusion.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fwptypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/fwptypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/fwptypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/hstring.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/hstring.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/hstring.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/httpext.h+20-1
......@@ -6,6 +6,10 @@
66#ifndef _HTTPEXT_H_
77#define _HTTPEXT_H_
88
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
12
913#include <windows.h>
1014
1115#ifdef __cplusplus
......@@ -60,6 +64,14 @@ extern "C" {
6064#define HSE_REQ_GET_CACHE_INVALIDATION_CALLBACK (HSE_REQ_END_RESERVED+40)
6165#define HSE_REQ_GET_UNICODE_ANONYMOUS_TOKEN (HSE_REQ_END_RESERVED+41)
6266#define HSE_REQ_GET_TRACE_INFO (HSE_REQ_END_RESERVED+42)
67#define HSE_REQ_SET_FLUSH_FLAG (HSE_REQ_END_RESERVED+43)
68#define HSE_REQ_GET_TRACE_INFO_EX (HSE_REQ_END_RESERVED+44)
69#define HSE_REQ_RAISE_TRACE_EVENT (HSE_REQ_END_RESERVED+45)
70#define HSE_REQ_GET_CONFIG_OBJECT (HSE_REQ_END_RESERVED+46)
71#define HSE_REQ_GET_WORKER_PROCESS_SETTINGS (HSE_REQ_END_RESERVED+47)
72#define HSE_REQ_GET_PROTOCOL_MANAGER_CUSTOM_INTERFACE_CALLBACK (HSE_REQ_END_RESERVED+48)
73#define HSE_REQ_CANCEL_IO (HSE_REQ_END_RESERVED+49)
74#define HSE_REQ_GET_CHANNEL_BINDING_TOKEN (HSE_REQ_END_RESERVED+50)
6375
6476#define HSE_TERM_ADVISORY_UNLOAD 0x00000001
6577#define HSE_TERM_MUST_UNLOAD 0x00000002
......@@ -72,6 +84,7 @@ extern "C" {
7284
7385#define HSE_IO_FINAL_SEND 0x00000010
7486#define HSE_IO_CACHE_RESPONSE 0x00000020
87#define HSE_IO_TRY_SKIP_CUSTOM_ERRORS 0x00000040
7588
7689 typedef LPVOID HCONN;
7790
......@@ -159,6 +172,7 @@ extern "C" {
159172#define HSE_EXEC_URL_IGNORE_VALIDATION_AND_RANGE 0x10
160173#define HSE_EXEC_URL_DISABLE_CUSTOM_ERROR 0x20
161174#define HSE_EXEC_URL_SSI_CMD 0x40
175#define HSE_EXEC_URL_HTTP_CACHE_ELIGIBLE 0x80
162176
163177 typedef struct _HSE_EXEC_URL_USER_INFO {
164178 HANDLE hImpersonationToken;
......@@ -242,6 +256,8 @@ extern "C" {
242256 DWORD dwReserved2;
243257 } HSE_TRACE_INFO,*LPHSE_TRACE_INFO;
244258
259 typedef HRESULT (WINAPI *PFN_HSE_GET_PROTOCOL_MANAGER_CUSTOM_INTERFACE_CALLBACK)(LPCWSTR pszProtocolManagerDll, LPCWSTR pszProtocolManagerDllInitFunction, DWORD dwCustomInterfaceId, PVOID *ppCustomInterface );
260
245261#define HSE_APP_FLAG_IN_PROCESS 0
246262#define HSE_APP_FLAG_ISOLATED_OOP 1
247263#define HSE_APP_FLAG_POOLED_OOP 2
......@@ -257,4 +273,7 @@ extern "C" {
257273#ifdef __cplusplus
258274}
259275#endif
260#endif
276
277#endif /* WINAPI_PARTITION_DESKTOP */
278
279#endif /* _HTTPEXT_H_ */
lib/libc/include/any-windows-any/icftypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/icftypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/icftypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/icodecapi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/icodecapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/icodecapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/iketypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/iketypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/iketypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/inputscope.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/inputscope.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/inputscope.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/inspectable.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/inspectable.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/inspectable.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/intrin.h+4
......@@ -67,6 +67,10 @@ extern "C" {
6767#endif
6868
6969#include <x86intrin.h>
70#include <cpuid.h>
71
72/* Undefine the GCC one taking 5 parameters to prefer the mingw-w64 one. */
73#undef __cpuid
7074
7175/* Before 4.9.2, x86intrin.h had broken versions of these. */
7276#undef _lrotl
lib/libc/include/any-windows-any/inttypes.h+47-1
......@@ -28,6 +28,7 @@ typedef struct {
2828 * length specifier. It appears to treat "ll" as "l".
2929 * The non-standard I64 length specifier causes warning in GCC,
3030 * but understood by MS runtime functions.
31 * crtdll.dll and msvcrt10.dll do not support any 64-bit modifier.
3132 */
3233#if defined(_UCRT) || __USE_MINGW_ANSI_STDIO
3334#define PRId64 "lld"
......@@ -36,7 +37,7 @@ typedef struct {
3637#define PRIu64 "llu"
3738#define PRIx64 "llx"
3839#define PRIX64 "llX"
39#else
40#elif !defined(__CRTDLL__) && __MSVCRT_VERSION__ >= 0x200
4041#define PRId64 "I64d"
4142#define PRIi64 "I64i"
4243#define PRIo64 "I64o"
......@@ -278,6 +279,51 @@ typedef struct {
278279#define SCNuFAST8 "hhu"
279280#endif /* __STDC_VERSION__ >= 199901 */
280281
282#if (defined(__CRTDLL__) || __MSVCRT_VERSION__ < 0x200) && !defined(__USE_MINGW_ANSI_STDIO)
283/*
284 * crtdll.dll and msvcrt10.dll do not support any 64-bit modifier.
285 * Undef all previously defined 64-bit modifiers.
286 */
287#undef PRIdLEAST64
288#undef PRIdFAST64
289#undef PRIdMAX
290#undef PRIiLEAST64
291#undef PRIiFAST64
292#undef PRIiMAX
293#undef PRIoLEAST64
294#undef PRIoFAST64
295#undef PRIoMAX
296#undef PRIuLEAST64
297#undef PRIuFAST64
298#undef PRIuMAX
299#undef PRIxLEAST64
300#undef PRIxFAST64
301#undef PRIxMAX
302#undef PRIXLEAST64
303#undef PRIXFAST64
304#undef PRIXMAX
305#undef SCNd64
306#undef SCNdLEAST64
307#undef SCNdFAST64
308#undef SCNdMAX
309#undef SCNi64
310#undef SCNiLEAST64
311#undef SCNiFAST64
312#undef SCNiMAX
313#undef SCNo64
314#undef SCNoLEAST64
315#undef SCNoFAST64
316#undef SCNoMAX
317#undef SCNx64
318#undef SCNxLEAST64
319#undef SCNxFAST64
320#undef SCNxMAX
321#undef SCNu64
322#undef SCNuLEAST64
323#undef SCNuFAST64
324#undef SCNuMAX
325#endif
326
281327intmax_t __cdecl imaxabs (intmax_t j);
282328#ifndef __CRT__NO_INLINE
283329__CRT_INLINE intmax_t __cdecl imaxabs (intmax_t j)
lib/libc/include/any-windows-any/ioringapi.h created+140
......@@ -0,0 +1,140 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _APISET_IORING_
8#define _APISET_IORING_
9
10#include <apiset.h>
11#include <apisetcconv.h>
12#include <minwindef.h>
13#include <minwinbase.h>
14#include <ntioring_x.h>
15
16#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
17#if NTDDI_VERSION >= NTDDI_WIN10_CO
18
19DECLARE_HANDLE(HIORING);
20
21typedef enum IORING_SQE_FLAGS {
22 IOSQE_FLAGS_NONE = 0
23} IORING_SQE_FLAGS;
24DEFINE_ENUM_FLAG_OPERATORS(IORING_SQE_FLAGS)
25
26typedef enum IORING_CREATE_REQUIRED_FLAGS {
27 IORING_CREATE_REQUIRED_FLAGS_NONE = 0
28} IORING_CREATE_REQUIRED_FLAGS;
29DEFINE_ENUM_FLAG_OPERATORS(IORING_CREATE_REQUIRED_FLAGS)
30
31typedef enum IORING_CREATE_ADVISORY_FLAGS {
32 IORING_CREATE_ADVISORY_FLAGS_NONE = 0
33} IORING_CREATE_ADVISORY_FLAGS;
34DEFINE_ENUM_FLAG_OPERATORS(IORING_CREATE_ADVISORY_FLAGS)
35
36typedef struct IORING_CREATE_FLAGS {
37 IORING_CREATE_REQUIRED_FLAGS Required;
38 IORING_CREATE_ADVISORY_FLAGS Advisory;
39} IORING_CREATE_FLAGS;
40
41typedef struct IORING_INFO {
42 IORING_VERSION IoRingVersion;
43 IORING_CREATE_FLAGS Flags;
44 UINT32 SubmissionQueueSize;
45 UINT32 CompletionQueueSize;
46} IORING_INFO;
47
48typedef struct IORING_CAPABILITIES {
49 IORING_VERSION MaxVersion;
50 UINT32 MaxSubmissionQueueSize;
51 UINT32 MaxCompletionQueueSize;
52 IORING_FEATURE_FLAGS FeatureFlags;
53} IORING_CAPABILITIES;
54
55typedef enum IORING_REF_KIND {
56 IORING_REF_RAW,
57 IORING_REF_REGISTERED
58} IORING_REF_KIND;
59
60typedef struct IORING_HANDLE_REF {
61#ifdef __cplusplus
62 explicit IORING_HANDLE_REF(HANDLE h) : Kind(IORING_REF_KIND::IORING_REF_RAW), Handle(h) {}
63 explicit IORING_HANDLE_REF(UINT32 index) : Kind(IORING_REF_KIND::IORING_REF_REGISTERED), Handle(index) {}
64#endif
65
66 IORING_REF_KIND Kind;
67 union HandleUnion {
68#ifdef __cplusplus
69 HandleUnion(HANDLE h) : Handle(h) {}
70 HandleUnion(UINT32 index) : Index(index) {}
71#endif
72 HANDLE Handle;
73 UINT32 Index;
74 } Handle;
75} IORING_HANDLE_REF;
76
77#ifdef __cplusplus
78#define IoRingHandleRefFromHandle(h) IORING_HANDLE_REF(static_cast<HANDLE>(h))
79#define IoRingHandleRefFromIndex(i) IORING_HANDLE_REF(static_cast<UINT32>(i))
80#else
81#define IoRingHandleRefFromHandle(h) {IORING_REF_RAW, {.Handle = h}}
82#define IoRingHandleRefFromIndex(i) {IORING_REF_REGISTERED, {.Index = i}}
83#endif
84
85typedef struct IORING_BUFFER_REF {
86#ifdef __cplusplus
87 explicit IORING_BUFFER_REF(void* address) : Kind(IORING_REF_KIND::IORING_REF_RAW), Buffer(address) {}
88 explicit IORING_BUFFER_REF(IORING_REGISTERED_BUFFER registeredBuffer) : Kind(IORING_REF_KIND::IORING_REF_REGISTERED), Buffer(registeredBuffer) {}
89 IORING_BUFFER_REF(UINT32 index, UINT32 offset) : IORING_BUFFER_REF(IORING_REGISTERED_BUFFER{index, offset}) {}
90#endif
91
92 IORING_REF_KIND Kind;
93 union BufferUnion {
94#ifdef __cplusplus
95 BufferUnion(void* address) : Address(address) {}
96 BufferUnion(IORING_REGISTERED_BUFFER indexAndOffset) : IndexAndOffset(indexAndOffset) {}
97#endif
98 void* Address;
99 IORING_REGISTERED_BUFFER IndexAndOffset;
100 }Buffer;
101} IORING_BUFFER_REF;
102
103#ifdef __cplusplus
104#define IoRingBufferRefFromPointer(p) IORING_BUFFER_REF(static_cast<void*>(p))
105#define IoRingBufferRefFromIndexAndOffset(i,o) IORING_BUFFER_REF((i),(o))
106#else
107#define IoRingBufferRefFromPointer(p) {IORING_REF_RAW, {.Address = p}}
108#define IoRingBufferRefFromIndexAndOffset(i,o) {IORING_REF_REGISTERED, {.IndexAndOffset = {(i),(o)}}}
109#endif
110
111typedef struct IORING_CQE {
112 UINT_PTR UserData;
113 HRESULT ResultCode;
114 ULONG_PTR Information;
115} IORING_CQE;
116
117#ifdef __cplusplus
118extern "C" {
119#endif
120
121STDAPI QueryIoRingCapabilities(IORING_CAPABILITIES* capabilities);
122STDAPI_(WINBOOL) IsIoRingOpSupported(HIORING ioRing, IORING_OP_CODE op);
123STDAPI CreateIoRing(IORING_VERSION ioringVersion, IORING_CREATE_FLAGS flags, UINT32 submissionQueueSize, UINT32 completionQueueSize, HIORING* h);
124STDAPI GetIoRingInfo(HIORING ioRing, IORING_INFO* info);
125STDAPI SubmitIoRing(HIORING ioRing, UINT32 waitOperations, UINT32 milliseconds, UINT32* submittedEntries);
126STDAPI CloseIoRing(HIORING ioRing);
127STDAPI PopIoRingCompletion(HIORING ioRing, IORING_CQE* cqe);
128STDAPI SetIoRingCompletionEvent(HIORING ioRing, HANDLE hEvent);
129STDAPI BuildIoRingCancelRequest(HIORING ioRing, IORING_HANDLE_REF file, UINT_PTR opToCancel, UINT_PTR userData);
130STDAPI BuildIoRingReadFile(HIORING ioRing, IORING_HANDLE_REF fileRef, IORING_BUFFER_REF dataRef, UINT32 numberOfBytesToRead, UINT64 fileOffset, UINT_PTR userData, IORING_SQE_FLAGS flags);
131STDAPI BuildIoRingRegisterFileHandles(HIORING ioRing, UINT32 count, HANDLE const handles[], UINT_PTR userData);
132STDAPI BuildIoRingRegisterBuffers(HIORING ioRing, UINT32 count, IORING_BUFFER_INFO const buffers[], UINT_PTR userData);
133
134#ifdef __cplusplus
135}
136#endif
137
138#endif /* NTDDI_WIN10_CO */
139#endif /* WINAPI_PARTITION_APP */
140#endif /* _APISET_IORING_ */
lib/libc/include/any-windows-any/ks.h+31-26
......@@ -581,20 +581,15 @@ DEFINE_GUIDSTRUCT("085AFF00-62CE-11CF-A5D6-28DB04C10000",KSCATEGORY_BRIDGE);
581581DEFINE_GUIDSTRUCT("65E8773D-8F56-11D0-A3B9-00A0C9223196",KSCATEGORY_CAPTURE);
582582#define KSCATEGORY_CAPTURE DEFINE_GUIDNAMED(KSCATEGORY_CAPTURE)
583583
584#define STATIC_KSCATEGORY_RENDER \
585 0x65E8773E,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96
586DEFINE_GUIDSTRUCT("65E8773E-8F56-11D0-A3B9-00A0C9223196",KSCATEGORY_RENDER);
587#define KSCATEGORY_RENDER DEFINE_GUIDNAMED(KSCATEGORY_RENDER)
588
589#define STATIC_KSCATEGORY_MIXER \
590 0xAD809C00,0x7B88,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
591DEFINE_GUIDSTRUCT("AD809C00-7B88-11D0-A5D6-28DB04C10000",KSCATEGORY_MIXER);
592#define KSCATEGORY_MIXER DEFINE_GUIDNAMED(KSCATEGORY_MIXER)
584#define STATIC_KSCATEGORY_CLOCK \
585 0x53172480,0x4791,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
586DEFINE_GUIDSTRUCT("53172480-4791-11D0-A5D6-28DB04C10000",KSCATEGORY_CLOCK);
587#define KSCATEGORY_CLOCK DEFINE_GUIDNAMED(KSCATEGORY_CLOCK)
593588
594#define STATIC_KSCATEGORY_SPLITTER \
595 0x0A4252A0,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
596DEFINE_GUIDSTRUCT("0A4252A0-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_SPLITTER);
597#define KSCATEGORY_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_SPLITTER)
589#define STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM \
590 0xCF1DDA2C,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96
591DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_COMMUNICATIONSTRANSFORM);
592#define KSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_COMMUNICATIONSTRANSFORM)
598593
599594#define STATIC_KSCATEGORY_DATACOMPRESSOR \
600595 0x1E84C900,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
......@@ -611,10 +606,10 @@ DEFINE_GUIDSTRUCT("2721AE20-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_DATADECOMPRE
611606DEFINE_GUIDSTRUCT("2EB07EA0-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_DATATRANSFORM);
612607#define KSCATEGORY_DATATRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_DATATRANSFORM)
613608
614#define STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM \
615 0xCF1DDA2C,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96
616DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_COMMUNICATIONSTRANSFORM);
617#define KSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_COMMUNICATIONSTRANSFORM)
609#define STATIC_KSCATEGORY_FILESYSTEM \
610 0x760FED5E,0x9357,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
611DEFINE_GUIDSTRUCT("760FED5E-9357-11D0-A3CC-00A0C9223196",KSCATEGORY_FILESYSTEM);
612#define KSCATEGORY_FILESYSTEM DEFINE_GUIDNAMED(KSCATEGORY_FILESYSTEM)
618613
619614#define STATIC_KSCATEGORY_INTERFACETRANSFORM \
620615 0xCF1DDA2D,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96
......@@ -626,15 +621,10 @@ DEFINE_GUIDSTRUCT("CF1DDA2D-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_INTERFACETRA
626621DEFINE_GUIDSTRUCT("CF1DDA2E-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_MEDIUMTRANSFORM);
627622#define KSCATEGORY_MEDIUMTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_MEDIUMTRANSFORM)
628623
629#define STATIC_KSCATEGORY_FILESYSTEM \
630 0x760FED5E,0x9357,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
631DEFINE_GUIDSTRUCT("760FED5E-9357-11D0-A3CC-00A0C9223196",KSCATEGORY_FILESYSTEM);
632#define KSCATEGORY_FILESYSTEM DEFINE_GUIDNAMED(KSCATEGORY_FILESYSTEM)
633
634#define STATIC_KSCATEGORY_CLOCK \
635 0x53172480,0x4791,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
636DEFINE_GUIDSTRUCT("53172480-4791-11D0-A5D6-28DB04C10000",KSCATEGORY_CLOCK);
637#define KSCATEGORY_CLOCK DEFINE_GUIDNAMED(KSCATEGORY_CLOCK)
624#define STATIC_KSCATEGORY_MIXER \
625 0xAD809C00,0x7B88,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
626DEFINE_GUIDSTRUCT("AD809C00-7B88-11D0-A5D6-28DB04C10000",KSCATEGORY_MIXER);
627#define KSCATEGORY_MIXER DEFINE_GUIDNAMED(KSCATEGORY_MIXER)
638628
639629#define STATIC_KSCATEGORY_PROXY \
640630 0x97EBAACA,0x95BD,0x11D0,0xA3,0xEA,0x00,0xA0,0xC9,0x22,0x31,0x96
......@@ -646,6 +636,21 @@ DEFINE_GUIDSTRUCT("97EBAACA-95BD-11D0-A3EA-00A0C9223196",KSCATEGORY_PROXY);
646636DEFINE_GUIDSTRUCT("97EBAACB-95BD-11D0-A3EA-00A0C9223196",KSCATEGORY_QUALITY);
647637#define KSCATEGORY_QUALITY DEFINE_GUIDNAMED(KSCATEGORY_QUALITY)
648638
639#define STATIC_KSCATEGORY_RENDER \
640 0x65E8773E,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96
641DEFINE_GUIDSTRUCT("65E8773E-8F56-11D0-A3B9-00A0C9223196",KSCATEGORY_RENDER);
642#define KSCATEGORY_RENDER DEFINE_GUIDNAMED(KSCATEGORY_RENDER)
643
644#define STATIC_KSCATEGORY_SPLITTER \
645 0x0A4252A0,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
646DEFINE_GUIDSTRUCT("0A4252A0-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_SPLITTER);
647#define KSCATEGORY_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_SPLITTER)
648
649#define STATIC_KSCATEGORY_VIDEO_CAMERA \
650 0xE5323777,0xF976,0x4F5B,0x9B,0x55,0xB9,0x46,0x99,0xC4,0x6E,0x44
651DEFINE_GUIDSTRUCT("E5323777-F976-4F5B-9B55-B94699C46E44",KSCATEGORY_VIDEO_CAMERA);
652#define KSCATEGORY_VIDEO_CAMERA DEFINE_GUIDNAMED(KSCATEGORY_VIDEO_CAMERA)
653
649654typedef struct {
650655 ULONG FromNode;
651656 ULONG FromNodePin;
lib/libc/include/any-windows-any/ksmedia.h+29
......@@ -386,6 +386,7 @@ DEFINE_GUIDSTRUCT("DFF220F2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_MULTITRACK_R
386386DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SYNTHESIZER);
387387#define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER)
388388
389#if NTDDI_VERSION < NTDDI_VISTA
389390#define STATIC_KSNODETYPE_SWSYNTH \
390391 0x423274A0,0x8B81,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
391392DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);
......@@ -395,6 +396,7 @@ DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);
395396 0xCB9BEFA0,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
396397DEFINE_GUIDSTRUCT("CB9BEFA0-A251-11D1-A050-0000F8004788",KSNODETYPE_SWMIDI);
397398#define KSNODETYPE_SWMIDI DEFINE_GUIDNAMED(KSNODETYPE_SWMIDI)
399#endif /* NTDDI_VERSION < NTDDI_VISTA */
398400
399401#define STATIC_KSNODETYPE_DRM_DESCRAMBLE \
400402 0xFFBB6E3F,0xCCFE,0x4D84,0x90,0xD9,0x42,0x14,0x18,0xB0,0x3A,0x8E
......@@ -416,6 +418,13 @@ DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_VIDEO);
416418DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_TEXT);
417419#define KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT)
418420
421#if NTDDI_VERSION >= NTDDI_VISTA
422#define STATIC_KSCATEGORY_REALTIME \
423 0xEB115FFCL,0x10C8,0x4964,0x83,0x1D,0x6D,0xCB,0x02,0xE6,0xF2,0x3F
424DEFINE_GUIDSTRUCT("EB115FFC-10C8-4964-831D-6DCB02E6F23F",KSCATEGORY_REALTIME);
425#define KSCATEGORY_REALTIME DEFINE_GUIDNAMED(KSCATEGORY_REALTIME)
426#endif /* NTDDI_VERSION >= NTDDI_VISTA */
427
419428#define STATIC_KSCATEGORY_NETWORK \
420429 0x67C9CC3C,0x69C4,0x11D2,0x87,0x59,0x00,0xA0,0xC9,0x22,0x31,0x96
421430DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196",KSCATEGORY_NETWORK);
......@@ -436,6 +445,7 @@ DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196",KSCATEGORY_VIRTUAL);
436445DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1",KSCATEGORY_ACOUSTIC_ECHO_CANCEL);
437446#define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)
438447
448#if NTDDI_VERSION < NTDDI_VISTA
439449#define STATIC_KSCATEGORY_SYSAUDIO \
440450 0xA7C7A5B1,0x5AF3,0x11D1,0x9C,0xED,0x00,0xA0,0x24,0xBF,0x04,0x07
441451DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407",KSCATEGORY_SYSAUDIO);
......@@ -455,6 +465,7 @@ DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F",KSCATEGORY_AUDIO_GFX);
455465 0x9EA331FA,0xB91B,0x45F8,0x92,0x85,0xBD,0x2B,0xC7,0x7A,0xFC,0xDE
456466DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITTER);
457467#define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)
468#endif /* NTDDI_VERSION < NTDDI_VISTA */
458469
459470#define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER
460471#define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER
......@@ -462,6 +473,7 @@ DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITT
462473#define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
463474#define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
464475
476#if NTDDI_VERSION < NTDDI_VISTA
465477#define STATIC_KSCATEGORY_AUDIO_DEVICE \
466478 0xFBF6F530,0x07B9,0x11D2,0xA7,0x1E,0x00,0x00,0xF8,0x00,0x47,0x88
467479DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788",KSCATEGORY_AUDIO_DEVICE);
......@@ -481,6 +493,7 @@ DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_WA
481493 0xD6C50674,0x72C1,0x11D2,0x97,0x55,0x00,0x00,0xF8,0x00,0x47,0x88
482494DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);
483495#define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)
496#endif /* NTDDI_VERSION < NTDDI_VISTA */
484497
485498#define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \
486499 0x47A4FA20,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
......@@ -1163,6 +1176,7 @@ typedef struct {
11631176 ULONG Reserved;
11641177} KSAUDIO_STEREO_ENHANCE,*PKSAUDIO_STEREO_ENHANCE;
11651178
1179#if NTDDI_VERSION < NTDDI_VISTA
11661180typedef enum {
11671181 KSPROPERTY_SYSAUDIO_NORMAL_DEFAULT = 0,
11681182 KSPROPERTY_SYSAUDIO_PLAYBACK_DEFAULT,
......@@ -1177,6 +1191,7 @@ typedef struct {
11771191 ULONG Flags;
11781192 ULONG Reserved;
11791193} KSAUDIO_PREFERRED_STATUS,*PKSAUDIO_PREFERRED_STATUS;
1194#endif /* NTDDI_VERSION < NTDDI_VISTA */
11801195
11811196#define STATIC_KSNODETYPE_DAC \
11821197 0x507AE360,0xC554,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
......@@ -1584,10 +1599,12 @@ DEFINE_GUIDSTRUCT("57E24340-FC5B-4612-A562-72B11A29DFAE",KSAUDFNAME_PEAKMETER);
15841599#define KSNODEPIN_DEMUX_IN 0
15851600#define KSNODEPIN_DEMUX_OUT 1
15861601
1602#if NTDDI_VERSION < NTDDI_VISTA
15871603#define KSNODEPIN_AEC_RENDER_IN 1
15881604#define KSNODEPIN_AEC_RENDER_OUT 0
15891605#define KSNODEPIN_AEC_CAPTURE_IN 2
15901606#define KSNODEPIN_AEC_CAPTURE_OUT 3
1607#endif /* NTDDI_VERSION < NTDDI_VISTA */
15911608
15921609#define STATIC_KSMETHODSETID_Wavetable \
15931610 0xDCEF31EB,0xD907,0x11D0,0x95,0x83,0x00,0xC0,0x4F,0xB9,0x25,0xD3
......@@ -1610,10 +1627,12 @@ typedef struct {
16101627 KSDATAFORMAT Format;
16111628} KSWAVETABLE_WAVE_DESC,*PKSWAVETABLE_WAVE_DESC;
16121629
1630#if NTDDI_VERSION < NTDDI_VISTA
16131631#define STATIC_KSPROPSETID_Acoustic_Echo_Cancel \
16141632 0xd7a4af8b,0x3dc1,0x4902,0x91,0xea,0x8a,0x15,0xc9,0x0e,0x05,0xb2
16151633DEFINE_GUIDSTRUCT("D7A4AF8B-3DC1-4902-91EA-8A15C90E05B2",KSPROPSETID_Acoustic_Echo_Cancel);
16161634#define KSPROPSETID_Acoustic_Echo_Cancel DEFINE_GUIDNAMED(KSPROPSETID_Acoustic_Echo_Cancel)
1635#endif /* NTDDI_VERSION < NTDDI_VISTA */
16171636
16181637typedef enum {
16191638 KSPROPERTY_AEC_NOISE_FILL_ENABLE = 0,
......@@ -1731,6 +1750,7 @@ DEFINE_GUIDSTRUCT("394EC7C0-62E9-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_WAVE
17311750DEFINE_GUIDSTRUCT("37407736-3620-11D1-85D3-0000F8754380",KSMUSIC_TECHNOLOGY_SWSYNTH);
17321751#define KSMUSIC_TECHNOLOGY_SWSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SWSYNTH)
17331752
1753#if NTDDI_VERSION < NTDDI_WS03
17341754#define STATIC_KSPROPSETID_WaveTable \
17351755 0x8539E660,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
17361756DEFINE_GUIDSTRUCT("8539E660-62E9-11CF-A5D6-28DB04C10000",KSPROPSETID_WaveTable);
......@@ -1742,6 +1762,7 @@ typedef enum {
17421762 KSPROPERTY_WAVETABLE_MEMORY,
17431763 KSPROPERTY_WAVETABLE_VERSION
17441764} KSPROPERTY_WAVETABLE;
1765#endif /* NTDDI_VERSION < NTDDI_WS03 */
17451766
17461767typedef struct {
17471768 KSDATARANGE DataRange;
......@@ -1751,6 +1772,7 @@ typedef struct {
17511772 ULONG ChannelMask;
17521773} KSDATARANGE_MUSIC,*PKSDATARANGE_MUSIC;
17531774
1775#if NTDDI_VERSION < NTDDI_WS03
17541776#define STATIC_KSEVENTSETID_Cyclic \
17551777 0x142C1AC0,0x072A,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
17561778DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);
......@@ -1759,6 +1781,7 @@ DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);
17591781typedef enum {
17601782 KSEVENT_CYCLIC_TIME_INTERVAL
17611783} KSEVENT_CYCLIC_TIME;
1784#endif /* NTDDI_VERSION < NTDDI_WS03 */
17621785
17631786#define STATIC_KSPROPSETID_Cyclic \
17641787 0x3FFEAEA0,0x2BEE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
......@@ -1792,6 +1815,7 @@ typedef struct {
17921815 DWORDLONG Position;
17931816} LOOPEDSTREAMING_POSITION_EVENT_DATA,*PLOOPEDSTREAMING_POSITION_EVENT_DATA;
17941817
1818#if NTDDI_VERSION < NTDDI_VISTA
17951819#define STATIC_KSPROPSETID_Sysaudio \
17961820 0xCBE3FAA0,0xCC75,0x11D0,0xB4,0x65,0x00,0x00,0x1A,0x18,0x18,0xE6
17971821DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6",KSPROPSETID_Sysaudio);
......@@ -1845,6 +1869,7 @@ typedef struct {
18451869 ULONG MixerPinId;
18461870 ULONG Reserved;
18471871} SYSAUDIO_ATTACH_VIRTUAL_SOURCE,*PSYSAUDIO_ATTACH_VIRTUAL_SOURCE;
1872#endif /* NTDDI_VERSION < NTDDI_VISTA */
18481873
18491874typedef struct {
18501875 KSPROPERTY Property;
......@@ -1882,16 +1907,19 @@ typedef struct {
18821907#endif
18831908} KSNODEPROPERTY_AUDIO_PROPERTY,*PKSNODEPROPERTY_AUDIO_PROPERTY;
18841909
1910#if NTDDI_VERSION < NTDDI_VISTA
18851911#define STATIC_KSPROPSETID_AudioGfx \
18861912 0x79a9312e,0x59ae,0x43b0,0xa3,0x50,0x8b,0x5,0x28,0x4c,0xab,0x24
18871913DEFINE_GUIDSTRUCT("79A9312E-59AE-43b0-A350-8B05284CAB24",KSPROPSETID_AudioGfx);
18881914#define KSPROPSETID_AudioGfx DEFINE_GUIDNAMED(KSPROPSETID_AudioGfx)
1915#endif /* NTDDI_VERSION < NTDDI_VISTA */
18891916
18901917typedef enum {
18911918 KSPROPERTY_AUDIOGFX_RENDERTARGETDEVICEID,
18921919 KSPROPERTY_AUDIOGFX_CAPTURETARGETDEVICEID
18931920} KSPROPERTY_AUDIOGFX;
18941921
1922#if NTDDI_VERSION < NTDDI_WS03
18951923#define STATIC_KSPROPSETID_Linear \
18961924 0x5A2FFE80,0x16B9,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
18971925DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);
......@@ -1900,6 +1928,7 @@ DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);
19001928typedef enum {
19011929 KSPROPERTY_LINEAR_POSITION
19021930} KSPROPERTY_LINEAR;
1931#endif /* NTDDI_VERSION < NTDDI_WS03 */
19031932
19041933#define STATIC_KSDATAFORMAT_TYPE_MUSIC \
19051934 0xE725D360,0x62CC,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
lib/libc/include/any-windows-any/locale.h+6
......@@ -103,6 +103,12 @@ extern "C" {
103103 _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale);
104104#endif
105105
106#ifdef __CHAR_UNSIGNED__
107/* Pull in the constructor from 'charmax.c'. */
108extern int __mingw_initcharmax;
109__MINGW_SELECTANY int* __mingw_reference_charmax = &__mingw_initcharmax;
110#endif
111
106112#ifdef __cplusplus
107113}
108114#endif
lib/libc/include/any-windows-any/locationapi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/locationapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/locationapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mediaobj.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mediaobj.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mediaobj.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/medparam.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/medparam.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/medparam.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mfapi.h+63-1
......@@ -334,7 +334,12 @@ extern "C" {
334334#define D3DFMT_X8R8G8B8 22
335335#define D3DFMT_R5G6B5 23
336336#define D3DFMT_X1R5G5B5 24
337#define D3DFMT_A2B10G10R10 31
337338#define D3DFMT_P8 41
339#define D3DFMT_L8 50
340#define D3DFMT_D16 80
341#define D3DFMT_L16 81
342#define D3DFMT_A16B16G16R16F 113
338343#define LOCAL_D3DFMT_DEFINES 1
339344#endif
340345
......@@ -345,6 +350,9 @@ extern "C" {
345350 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB555, D3DFMT_X1R5G5B5);
346351 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB565, D3DFMT_R5G6B5);
347352 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB8, D3DFMT_P8);
353 DEFINE_MEDIATYPE_GUID (MFVideoFormat_L8, D3DFMT_L8);
354 DEFINE_MEDIATYPE_GUID (MFVideoFormat_L16, D3DFMT_L16);
355 DEFINE_MEDIATYPE_GUID (MFVideoFormat_D16, D3DFMT_D16);
348356
349357#ifdef __GNUC__
350358#pragma GCC diagnostic push
......@@ -359,6 +367,7 @@ extern "C" {
359367 DEFINE_MEDIATYPE_GUID (MFVideoFormat_UYVY, FCC ('UYVY'));
360368 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV11, FCC ('NV11'));
361369 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV12, FCC ('NV12'));
370 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV21, FCC ('NV21'));
362371 DEFINE_MEDIATYPE_GUID (MFVideoFormat_YV12, FCC ('YV12'));
363372 DEFINE_MEDIATYPE_GUID (MFVideoFormat_I420, FCC ('I420'));
364373 DEFINE_MEDIATYPE_GUID (MFVideoFormat_IYUV, FCC ('IYUV'));
......@@ -402,9 +411,21 @@ extern "C" {
402411 DEFINE_MEDIATYPE_GUID (MFVideoFormat_HEVC_ES, FCC('HEVS'));
403412 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP80, FCC ('VP80'));
404413 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP90, FCC ('VP90'));
405#if WINVER >= 0x0602
414 DEFINE_MEDIATYPE_GUID (MFVideoFormat_ORAW, FCC('ORAW'));
415#if WINVER >= _WIN32_WINNT_WIN8
406416 DEFINE_MEDIATYPE_GUID (MFVideoFormat_H263, FCC ('H263'));
407417#endif
418#if WDK_NTDDI_VERSION >= NTDDI_WIN10
419 DEFINE_MEDIATYPE_GUID (MFVideoFormat_A2R10G10B10, D3DFMT_A2B10G10R10);
420 DEFINE_MEDIATYPE_GUID (MFVideoFormat_A16B16G16R16F, D3DFMT_A16B16G16R16F);
421#endif
422#if WDK_NTDDI_VERSION >= NTDDI_WIN10_RS3
423 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP10, FCC('VP10'));
424 DEFINE_MEDIATYPE_GUID (MFVideoFormat_AV1, FCC('AV01'));
425#endif
426#if NTDDI_VERSION >= NTDDI_WIN10_FE
427DEFINE_MEDIATYPE_GUID(MFVideoFormat_Theora, FCC('theo'));
428#endif
408429
409430#ifdef __GNUC__
410431#pragma GCC diagnostic pop
......@@ -417,6 +438,11 @@ extern "C" {
417438#undef D3DFMT_R5G6B5
418439#undef D3DFMT_X1R5G5B5
419440#undef D3DFMT_P8
441#undef D3DFMT_A2B10G10R10
442#undef D3DFMT_A16B16G16R16F
443#undef D3DFMT_L8
444#undef D3DFMT_D16
445#undef D3DFMT_L16
420446#undef LOCAL_D3DFMT_DEFINES
421447#endif
422448
......@@ -486,8 +512,44 @@ extern "C" {
486512 DEFINE_MEDIATYPE_GUID (MFAudioFormat_MPEG, WAVE_FORMAT_MPEG);
487513 DEFINE_MEDIATYPE_GUID (MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC);
488514 DEFINE_MEDIATYPE_GUID (MFAudioFormat_ADTS, WAVE_FORMAT_MPEG_ADTS_AAC);
515 DEFINE_MEDIATYPE_GUID (MFAudioFormat_AMR_NB, WAVE_FORMAT_AMR_NB);
516 DEFINE_MEDIATYPE_GUID (MFAudioFormat_AMR_WB, WAVE_FORMAT_AMR_WB);
517 DEFINE_MEDIATYPE_GUID (MFAudioFormat_AMR_WP, WAVE_FORMAT_AMR_WP);
518#if WINVER >= _WIN32_WINNT_WINTHRESHOLD
519 DEFINE_MEDIATYPE_GUID (MFAudioFormat_FLAC, WAVE_FORMAT_FLAC);
520 DEFINE_MEDIATYPE_GUID (MFAudioFormat_ALAC, WAVE_FORMAT_ALAC);
521 DEFINE_MEDIATYPE_GUID (MFAudioFormat_Opus, WAVE_FORMAT_OPUS);
522#endif
523 DEFINE_MEDIATYPE_GUID (MFAudioFormat_Dolby_AC4, WAVE_FORMAT_DOLBY_AC4);
524
489525 DEFINE_GUID (MFAudioFormat_Dolby_AC3, 0xe06d802c, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x05f, 0x6c, 0xbb, 0xea);
490526 DEFINE_GUID (MFAudioFormat_Dolby_DDPlus, 0xa7fb87af, 0x2d02, 0x42fb, 0xa4, 0xd4, 0x5, 0xcd, 0x93, 0x84, 0x3b, 0xdd);
527 DEFINE_GUID (MFAudioFormat_Dolby_AC4_V1, 0x36b7927c, 0x3d87, 0x4a2a, 0x91, 0x96, 0xa2, 0x1a, 0xd9, 0xe9, 0x35, 0xe6);
528 DEFINE_GUID (MFAudioFormat_Dolby_AC4_V2, 0x7998b2a0, 0x17dd, 0x49b6, 0x8d, 0xfa, 0x9b, 0x27, 0x85, 0x52, 0xa2, 0xac);
529 DEFINE_GUID (MFAudioFormat_Dolby_AC4_V1_ES, 0x9d8dccc6, 0xd156, 0x4fb8, 0x97, 0x9c, 0xa8, 0x5b, 0xe7, 0xd2, 0x1d, 0xfa);
530 DEFINE_GUID (MFAudioFormat_Dolby_AC4_V2_ES, 0x7e58c9f9, 0xb070, 0x45f4, 0x8c, 0xcd, 0xa9, 0x9a, 0x04, 0x17, 0xc1, 0xac);
531 DEFINE_GUID (MFAudioFormat_Vorbis, 0x8d2fd10b, 0x5841, 0x4a6b, 0x89, 0x05, 0x58, 0x8f, 0xec, 0x1a, 0xde, 0xd9);
532 DEFINE_GUID (MFAudioFormat_DTS_RAW, 0xe06d8033, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
533 DEFINE_GUID (MFAudioFormat_DTS_HD, 0xa2e58eb7, 0x0fa9, 0x48bb, 0xa4, 0x0c, 0xfa, 0x0e, 0x15, 0x6d, 0x06, 0x45);
534 DEFINE_GUID (MFAudioFormat_DTS_XLL, 0x45b37c1b, 0x8c70, 0x4e59, 0xa7, 0xbe, 0xa1, 0xe4, 0x2c, 0x81, 0xc8, 0x0d);
535 DEFINE_GUID (MFAudioFormat_DTS_LBR, 0xc2fe6f0a, 0x4e3c, 0x4df1, 0x9b, 0x60, 0x50, 0x86, 0x30, 0x91, 0xe4, 0xb9);
536 DEFINE_GUID (MFAudioFormat_DTS_UHD, 0x87020117, 0xace3, 0x42de, 0xb7, 0x3e, 0xc6, 0x56, 0x70, 0x62, 0x63, 0xf8);
537 DEFINE_GUID (MFAudioFormat_DTS_UHDY, 0x9b9cca00, 0x91b9, 0x4ccc, 0x88, 0x3a, 0x8f, 0x78, 0x7a, 0xc3, 0xcc, 0x86);
538#if NTDDI_VERSION >= NTDDI_WIN10_RS2
539 DEFINE_GUID (MFAudioFormat_Float_SpatialObjects, 0xfa39cd94, 0xbc64, 0x4ab1, 0x9b, 0x71, 0xdc, 0xd0, 0x9d, 0x5a, 0x7e, 0x7a);
540#endif
541#if WINVER >= _WIN32_WINNT_WINTHRESHOLD
542 DEFINE_GUID (MFAudioFormat_LPCM, 0xe06d8032l, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
543 DEFINE_GUID (MFAudioFormat_PCM_HDCP, 0xa5e7ff01, 0x8411, 0x4acc, 0xa8, 0x65, 0x5f, 0x49, 0x41, 0x28, 0x8d, 0x80);
544 DEFINE_GUID (MFAudioFormat_Dolby_AC3_HDCP, 0x97663a80, 0x8ffb, 0x4445, 0xa6, 0xba, 0x79, 0x2d, 0x90, 0x8f, 0x49, 0x7f);
545 DEFINE_GUID (MFAudioFormat_AAC_HDCP, 0x419bce76, 0x8b72, 0x400f, 0xad, 0xeb, 0x84, 0xb5, 0x7d, 0x63, 0x48, 0x4d);
546 DEFINE_GUID (MFAudioFormat_ADTS_HDCP, 0xda4963a3, 0x14d8, 0x4dcf, 0x92, 0xb7, 0x19, 0x3e, 0xb8, 0x43, 0x63, 0xdb);
547 DEFINE_GUID (MFAudioFormat_Base_HDCP, 0x3884b5bc, 0xe277, 0x43fd, 0x98, 0x3d, 0x03, 0x8a, 0xa8, 0xd9, 0xb6, 0x05);
548 DEFINE_GUID (MFVideoFormat_H264_HDCP, 0x5d0ce9dd, 0x9817, 0x49da, 0xbd, 0xfd, 0xf5, 0xf5, 0xb9, 0x8f, 0x18, 0xa6);
549 DEFINE_GUID (MFVideoFormat_HEVC_HDCP, 0x3cfe0fe6, 0x05c4, 0x47dc, 0x9d, 0x70, 0x4b, 0xdb, 0x29, 0x59, 0x72, 0x0f);
550 DEFINE_GUID (MFVideoFormat_Base_HDCP, 0xeac3b9d5, 0xbd14, 0x4237, 0x8f, 0x1f, 0xba, 0xb4, 0x28, 0xe4, 0x93, 0x12);
551#endif
552
491553 DEFINE_GUID (MFMPEG4Format_Base, 0x00000000, 0x767a, 0x494d, 0xb4, 0x78, 0xf2, 0x9d, 0x25, 0xdc, 0x90, 0x37);
492554 DEFINE_GUID (MF_MT_MAJOR_TYPE, 0x48eba18e, 0xf8c9, 0x4687, 0xbf, 0x11, 0x0a, 0x74, 0xc9, 0xf9, 0x6a, 0x8f);
493555 DEFINE_GUID (MF_MT_SUBTYPE, 0xf7e34c9a, 0x42e8, 0x4714, 0xb7, 0x4b, 0xcb, 0x29, 0xd7, 0x2c, 0x35, 0xe5);
lib/libc/include/any-windows-any/mfcaptureengine.h created+1769
......@@ -0,0 +1,1769 @@
1/*** Autogenerated by WIDL 7.0 from include/mfcaptureengine.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __mfcaptureengine_h__
17#define __mfcaptureengine_h__
18
19/* Forward declarations */
20
21#ifndef __IMFCaptureEngineOnEventCallback_FWD_DEFINED__
22#define __IMFCaptureEngineOnEventCallback_FWD_DEFINED__
23typedef interface IMFCaptureEngineOnEventCallback IMFCaptureEngineOnEventCallback;
24#ifdef __cplusplus
25interface IMFCaptureEngineOnEventCallback;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IMFCaptureEngineOnSampleCallback_FWD_DEFINED__
30#define __IMFCaptureEngineOnSampleCallback_FWD_DEFINED__
31typedef interface IMFCaptureEngineOnSampleCallback IMFCaptureEngineOnSampleCallback;
32#ifdef __cplusplus
33interface IMFCaptureEngineOnSampleCallback;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IMFCaptureSink_FWD_DEFINED__
38#define __IMFCaptureSink_FWD_DEFINED__
39typedef interface IMFCaptureSink IMFCaptureSink;
40#ifdef __cplusplus
41interface IMFCaptureSink;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IMFCaptureRecordSink_FWD_DEFINED__
46#define __IMFCaptureRecordSink_FWD_DEFINED__
47typedef interface IMFCaptureRecordSink IMFCaptureRecordSink;
48#ifdef __cplusplus
49interface IMFCaptureRecordSink;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IMFCapturePreviewSink_FWD_DEFINED__
54#define __IMFCapturePreviewSink_FWD_DEFINED__
55typedef interface IMFCapturePreviewSink IMFCapturePreviewSink;
56#ifdef __cplusplus
57interface IMFCapturePreviewSink;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IMFCapturePhotoSink_FWD_DEFINED__
62#define __IMFCapturePhotoSink_FWD_DEFINED__
63typedef interface IMFCapturePhotoSink IMFCapturePhotoSink;
64#ifdef __cplusplus
65interface IMFCapturePhotoSink;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IMFCaptureSource_FWD_DEFINED__
70#define __IMFCaptureSource_FWD_DEFINED__
71typedef interface IMFCaptureSource IMFCaptureSource;
72#ifdef __cplusplus
73interface IMFCaptureSource;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IMFCaptureEngine_FWD_DEFINED__
78#define __IMFCaptureEngine_FWD_DEFINED__
79typedef interface IMFCaptureEngine IMFCaptureEngine;
80#ifdef __cplusplus
81interface IMFCaptureEngine;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IMFCaptureEngineClassFactory_FWD_DEFINED__
86#define __IMFCaptureEngineClassFactory_FWD_DEFINED__
87typedef interface IMFCaptureEngineClassFactory IMFCaptureEngineClassFactory;
88#ifdef __cplusplus
89interface IMFCaptureEngineClassFactory;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IMFCaptureEngineOnSampleCallback2_FWD_DEFINED__
94#define __IMFCaptureEngineOnSampleCallback2_FWD_DEFINED__
95typedef interface IMFCaptureEngineOnSampleCallback2 IMFCaptureEngineOnSampleCallback2;
96#ifdef __cplusplus
97interface IMFCaptureEngineOnSampleCallback2;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IMFCaptureSink2_FWD_DEFINED__
102#define __IMFCaptureSink2_FWD_DEFINED__
103typedef interface IMFCaptureSink2 IMFCaptureSink2;
104#ifdef __cplusplus
105interface IMFCaptureSink2;
106#endif /* __cplusplus */
107#endif
108
109/* Headers for imported files */
110
111#include <mfobjects.h>
112#include <mfidl.h>
113
114#ifdef __cplusplus
115extern "C" {
116#endif
117
118#include <winapifamily.h>
119#if WINVER >= _WIN32_WINNT_WIN7
120#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
121#ifndef _MFVideoNormalizedRect_
122#define _MFVideoNormalizedRect_
123typedef struct MFVideoNormalizedRect {
124 float left;
125 float top;
126 float right;
127 float bottom;
128} MFVideoNormalizedRect;
129#endif
130typedef enum MF_CAPTURE_ENGINE_DEVICE_TYPE {
131 MF_CAPTURE_ENGINE_DEVICE_TYPE_AUDIO = 0x0,
132 MF_CAPTURE_ENGINE_DEVICE_TYPE_VIDEO = 0x1
133} MF_CAPTURE_ENGINE_DEVICE_TYPE;
134typedef enum MF_CAPTURE_ENGINE_SINK_TYPE {
135 MF_CAPTURE_ENGINE_SINK_TYPE_RECORD = 0x0,
136 MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW = 0x1,
137 MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO = 0x2
138} MF_CAPTURE_ENGINE_SINK_TYPE;
139enum {
140 MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW = 0xfffffffa,
141 MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD = 0xfffffff9,
142 MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_PHOTO = 0xfffffff8,
143 MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_AUDIO = 0xfffffff7,
144 MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_METADATA = 0xfffffff6,
145 MF_CAPTURE_ENGINE_MEDIASOURCE = 0xffffffff
146};
147typedef enum MF_CAPTURE_ENGINE_STREAM_CATEGORY {
148 MF_CAPTURE_ENGINE_STREAM_CATEGORY_VIDEO_PREVIEW = 0x0,
149 MF_CAPTURE_ENGINE_STREAM_CATEGORY_VIDEO_CAPTURE = 0x1,
150 MF_CAPTURE_ENGINE_STREAM_CATEGORY_PHOTO_INDEPENDENT = 0x2,
151 MF_CAPTURE_ENGINE_STREAM_CATEGORY_PHOTO_DEPENDENT = 0x3,
152 MF_CAPTURE_ENGINE_STREAM_CATEGORY_AUDIO = 0x4,
153 MF_CAPTURE_ENGINE_STREAM_CATEGORY_UNSUPPORTED = 0x5,
154 MF_CAPTURE_ENGINE_STREAM_CATEGORY_METADATA = 0x6
155} MF_CAPTURE_ENGINE_STREAM_CATEGORY;
156typedef enum MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE {
157 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_OTHER = 0,
158 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_COMMUNICATIONS = 1,
159 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_MEDIA = 2,
160 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_GAMECHAT = 3,
161 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_SPEECH = 4,
162 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_FARFIELDSPEECH = 5,
163 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_UNIFORMSPEECH = 6,
164 MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE_VOICETYPING = 7
165} MF_CAPTURE_ENGINE_MEDIA_CATEGORY_TYPE;
166typedef enum MF_CAPTURE_ENGINE_AUDIO_PROCESSING_MODE {
167 MF_CAPTURE_ENGINE_AUDIO_PROCESSING_DEFAULT = 0,
168 MF_CAPTURE_ENGINE_AUDIO_PROCESSING_RAW = 1
169} MF_CAPTURE_ENGINE_AUDIO_PROCESSING_MODE;
170EXTERN_GUID(MF_CAPTURE_ENGINE_INITIALIZED, 0x219992bc, 0xcf92, 0x4531, 0xa1, 0xae, 0x96, 0xe1, 0xe8, 0x86, 0xc8, 0xf1);
171EXTERN_GUID(MF_CAPTURE_ENGINE_PREVIEW_STARTED, 0xa416df21, 0xf9d3, 0x4a74, 0x99, 0x1b, 0xb8, 0x17, 0x29, 0x89, 0x52, 0xc4);
172EXTERN_GUID(MF_CAPTURE_ENGINE_PREVIEW_STOPPED, 0x13d5143c, 0x1edd, 0x4e50,0xa2, 0xef, 0x35, 0x0a, 0x47, 0x67, 0x80, 0x60);
173EXTERN_GUID(MF_CAPTURE_ENGINE_RECORD_STARTED, 0xac2b027b, 0xddf9, 0x48a0,0x89, 0xbe, 0x38, 0xab, 0x35, 0xef, 0x45, 0xc0);
174EXTERN_GUID(MF_CAPTURE_ENGINE_RECORD_STOPPED, 0x55e5200a, 0xf98f, 0x4c0d, 0xa9, 0xec, 0x9e, 0xb2, 0x5e, 0xd3, 0xd7, 0x73);
175EXTERN_GUID(MF_CAPTURE_ENGINE_PHOTO_TAKEN, 0x3c50c445, 0x7304, 0x48eb,0x86, 0x5d, 0xbb, 0xa1, 0x9b, 0xa3, 0xaf, 0x5c);
176EXTERN_GUID(MF_CAPTURE_SOURCE_CURRENT_DEVICE_MEDIA_TYPE_SET, 0xe7e75e4c, 0x039c, 0x4410, 0x81, 0x5b, 0x87, 0x41, 0x30, 0x7b, 0x63, 0xaa);
177EXTERN_GUID(MF_CAPTURE_ENGINE_ERROR, 0x46b89fc6, 0x33cc, 0x4399,0x9d, 0xad, 0x78, 0x4d, 0xe7, 0x7d, 0x58, 0x7c);
178EXTERN_GUID(MF_CAPTURE_ENGINE_EFFECT_ADDED, 0xaa8dc7b5, 0xa048, 0x4e13, 0x8e, 0xbe, 0xf2, 0x3c, 0x46, 0xc8, 0x30, 0xc1);
179EXTERN_GUID(MF_CAPTURE_ENGINE_EFFECT_REMOVED, 0xc6e8db07, 0xfb09, 0x4a48, 0x89, 0xc6, 0xbf, 0x92, 0xa0, 0x42, 0x22, 0xc9);
180EXTERN_GUID(MF_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED, 0xfded7521, 0x8ed8, 0x431a, 0xa9, 0x6b, 0xf3, 0xe2, 0x56, 0x5e, 0x98, 0x1c);
181EXTERN_GUID(MF_CAPTURE_SINK_PREPARED, 0x7bfce257, 0x12b1, 0x4409, 0x8c, 0x34, 0xd4, 0x45, 0xda, 0xab, 0x75, 0x78);
182EXTERN_GUID(MF_CAPTURE_ENGINE_OUTPUT_MEDIA_TYPE_SET, 0xcaaad994, 0x83ec, 0x45e9,0xa3, 0x0a, 0x1f, 0x20, 0xaa, 0xdb, 0x98, 0x31);
183EXTERN_GUID(MF_CAPTURE_ENGINE_CAMERA_STREAM_BLOCKED, 0xa4209417, 0x8d39, 0x46f3, 0xb7, 0x59, 0x59, 0x12, 0x52, 0x8f, 0x42, 0x07);
184EXTERN_GUID(MF_CAPTURE_ENGINE_CAMERA_STREAM_UNBLOCKED, 0x9be9eef0, 0xcdaf, 0x4717, 0x85, 0x64, 0x83, 0x4a, 0xae, 0x66, 0x41, 0x5c);
185EXTERN_GUID(MF_CAPTURE_ENGINE_D3D_MANAGER, 0x76e25e7b, 0xd595, 0x4283, 0x96, 0x2c, 0xc5, 0x94, 0xaf, 0xd7, 0x8d, 0xdf);
186EXTERN_GUID(MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_UNPROCESSED_SAMPLES, 0xb467f705, 0x7913, 0x4894, 0x9d, 0x42, 0xa2, 0x15, 0xfe, 0xa2, 0x3d, 0xa9);
187EXTERN_GUID(MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_UNPROCESSED_SAMPLES, 0x1cddb141, 0xa7f4, 0x4d58, 0x98, 0x96, 0x4d, 0x15, 0xa5, 0x3c, 0x4e, 0xfe);
188EXTERN_GUID(MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_PROCESSED_SAMPLES, 0xe7b4a49e, 0x382c, 0x4aef, 0xa9, 0x46, 0xae, 0xd5, 0x49, 0xb, 0x71, 0x11);
189EXTERN_GUID(MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_PROCESSED_SAMPLES, 0x9896e12a, 0xf707, 0x4500, 0xb6, 0xbd, 0xdb, 0x8e, 0xb8, 0x10, 0xb5, 0xf);
190EXTERN_GUID(MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY, 0x1c8077da, 0x8466, 0x4dc4, 0x8b, 0x8e, 0x27, 0x6b, 0x3f, 0x85, 0x92, 0x3b);
191EXTERN_GUID(MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY, 0x7e025171, 0xcf32, 0x4f2e, 0x8f, 0x19, 0x41, 0x5, 0x77, 0xb7, 0x3a, 0x66);
192EXTERN_GUID(MF_CAPTURE_ENGINE_DISABLE_HARDWARE_TRANSFORMS, 0xb7c42a6b, 0x3207, 0x4495, 0xb4, 0xe7, 0x81, 0xf9, 0xc3, 0x5d, 0x59, 0x91);
193EXTERN_GUID(MF_CAPTURE_ENGINE_DISABLE_DXVA, 0xf9818862, 0x179d, 0x433f, 0xa3, 0x2f, 0x74, 0xcb, 0xcf, 0x74, 0x46, 0x6d);
194EXTERN_GUID(MF_CAPTURE_ENGINE_MEDIASOURCE_CONFIG, 0xbc6989d2, 0x0fc1, 0x46e1, 0xa7, 0x4f, 0xef, 0xd3, 0x6b, 0xc7, 0x88, 0xde);
195EXTERN_GUID(MF_CAPTURE_ENGINE_DECODER_MFT_FIELDOFUSE_UNLOCK_Attribute, 0x2b8ad2e8, 0x7acb, 0x4321, 0xa6, 0x06, 0x32, 0x5c, 0x42, 0x49, 0xf4, 0xfc);
196EXTERN_GUID(MF_CAPTURE_ENGINE_ENCODER_MFT_FIELDOFUSE_UNLOCK_Attribute, 0x54c63a00, 0x78d5, 0x422f, 0xaa, 0x3e, 0x5e, 0x99, 0xac, 0x64, 0x92, 0x69);
197EXTERN_GUID(MF_CAPTURE_ENGINE_ENABLE_CAMERA_STREAMSTATE_NOTIFICATION, 0x4c808e9d, 0xaaed, 0x4713, 0x90, 0xfb, 0xcb, 0x24, 0x06, 0x4a, 0xb8, 0xda);
198EXTERN_GUID(MF_CAPTURE_ENGINE_MEDIA_CATEGORY, 0x8e3f5bd5, 0xdbbf, 0x42f0, 0x85, 0x42, 0xd0, 0x7a, 0x39, 0x71, 0x76, 0x2a);
199EXTERN_GUID(MF_CAPTURE_ENGINE_AUDIO_PROCESSING, 0x10f1be5e, 0x7e11, 0x410b, 0x97, 0x3d, 0xf4, 0xb6, 0x10, 0x90, 0x0, 0xfe);
200EXTERN_GUID(MF_CAPTURE_ENGINE_EVENT_GENERATOR_GUID, 0xabfa8ad5, 0xfc6d, 0x4911, 0x87, 0xe0, 0x96, 0x19, 0x45, 0xf8, 0xf7, 0xce);
201EXTERN_GUID(MF_CAPTURE_ENGINE_EVENT_STREAM_INDEX, 0x82697f44, 0xb1cf, 0x42eb, 0x97, 0x53, 0xf8, 0x6d, 0x64, 0x9c, 0x88, 0x65);
202EXTERN_GUID(MF_CAPTURE_ENGINE_SELECTEDCAMERAPROFILE, 0x03160b7e, 0x1c6f, 0x4db2, 0xad, 0x56, 0xa7, 0xc4, 0x30, 0xf8, 0x23, 0x92);
203EXTERN_GUID(MF_CAPTURE_ENGINE_SELECTEDCAMERAPROFILE_INDEX, 0x3ce88613, 0x2214, 0x46c3, 0xb4, 0x17, 0x82, 0xf8, 0xa3, 0x13, 0xc9, 0xc3);
204/*****************************************************************************
205 * IMFCaptureEngineOnEventCallback interface
206 */
207#ifndef __IMFCaptureEngineOnEventCallback_INTERFACE_DEFINED__
208#define __IMFCaptureEngineOnEventCallback_INTERFACE_DEFINED__
209
210DEFINE_GUID(IID_IMFCaptureEngineOnEventCallback, 0xaeda51c0, 0x9025, 0x4983, 0x90,0x12, 0xde,0x59,0x7b,0x88,0xb0,0x89);
211#if defined(__cplusplus) && !defined(CINTERFACE)
212MIDL_INTERFACE("aeda51c0-9025-4983-9012-de597b88b089")
213IMFCaptureEngineOnEventCallback : public IUnknown
214{
215 virtual HRESULT STDMETHODCALLTYPE OnEvent(
216 IMFMediaEvent *pEvent) = 0;
217
218};
219#ifdef __CRT_UUID_DECL
220__CRT_UUID_DECL(IMFCaptureEngineOnEventCallback, 0xaeda51c0, 0x9025, 0x4983, 0x90,0x12, 0xde,0x59,0x7b,0x88,0xb0,0x89)
221#endif
222#else
223typedef struct IMFCaptureEngineOnEventCallbackVtbl {
224 BEGIN_INTERFACE
225
226 /*** IUnknown methods ***/
227 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
228 IMFCaptureEngineOnEventCallback *This,
229 REFIID riid,
230 void **ppvObject);
231
232 ULONG (STDMETHODCALLTYPE *AddRef)(
233 IMFCaptureEngineOnEventCallback *This);
234
235 ULONG (STDMETHODCALLTYPE *Release)(
236 IMFCaptureEngineOnEventCallback *This);
237
238 /*** IMFCaptureEngineOnEventCallback methods ***/
239 HRESULT (STDMETHODCALLTYPE *OnEvent)(
240 IMFCaptureEngineOnEventCallback *This,
241 IMFMediaEvent *pEvent);
242
243 END_INTERFACE
244} IMFCaptureEngineOnEventCallbackVtbl;
245
246interface IMFCaptureEngineOnEventCallback {
247 CONST_VTBL IMFCaptureEngineOnEventCallbackVtbl* lpVtbl;
248};
249
250#ifdef COBJMACROS
251#ifndef WIDL_C_INLINE_WRAPPERS
252/*** IUnknown methods ***/
253#define IMFCaptureEngineOnEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
254#define IMFCaptureEngineOnEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
255#define IMFCaptureEngineOnEventCallback_Release(This) (This)->lpVtbl->Release(This)
256/*** IMFCaptureEngineOnEventCallback methods ***/
257#define IMFCaptureEngineOnEventCallback_OnEvent(This,pEvent) (This)->lpVtbl->OnEvent(This,pEvent)
258#else
259/*** IUnknown methods ***/
260static FORCEINLINE HRESULT IMFCaptureEngineOnEventCallback_QueryInterface(IMFCaptureEngineOnEventCallback* This,REFIID riid,void **ppvObject) {
261 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
262}
263static FORCEINLINE ULONG IMFCaptureEngineOnEventCallback_AddRef(IMFCaptureEngineOnEventCallback* This) {
264 return This->lpVtbl->AddRef(This);
265}
266static FORCEINLINE ULONG IMFCaptureEngineOnEventCallback_Release(IMFCaptureEngineOnEventCallback* This) {
267 return This->lpVtbl->Release(This);
268}
269/*** IMFCaptureEngineOnEventCallback methods ***/
270static FORCEINLINE HRESULT IMFCaptureEngineOnEventCallback_OnEvent(IMFCaptureEngineOnEventCallback* This,IMFMediaEvent *pEvent) {
271 return This->lpVtbl->OnEvent(This,pEvent);
272}
273#endif
274#endif
275
276#endif
277
278
279#endif /* __IMFCaptureEngineOnEventCallback_INTERFACE_DEFINED__ */
280
281/*****************************************************************************
282 * IMFCaptureEngineOnSampleCallback interface
283 */
284#ifndef __IMFCaptureEngineOnSampleCallback_INTERFACE_DEFINED__
285#define __IMFCaptureEngineOnSampleCallback_INTERFACE_DEFINED__
286
287DEFINE_GUID(IID_IMFCaptureEngineOnSampleCallback, 0x52150b82, 0xab39, 0x4467, 0x98,0x0f, 0xe4,0x8b,0xf0,0x82,0x2e,0xcd);
288#if defined(__cplusplus) && !defined(CINTERFACE)
289MIDL_INTERFACE("52150b82-ab39-4467-980f-e48bf0822ecd")
290IMFCaptureEngineOnSampleCallback : public IUnknown
291{
292 virtual HRESULT STDMETHODCALLTYPE OnSample(
293 IMFSample *pSample) = 0;
294
295};
296#ifdef __CRT_UUID_DECL
297__CRT_UUID_DECL(IMFCaptureEngineOnSampleCallback, 0x52150b82, 0xab39, 0x4467, 0x98,0x0f, 0xe4,0x8b,0xf0,0x82,0x2e,0xcd)
298#endif
299#else
300typedef struct IMFCaptureEngineOnSampleCallbackVtbl {
301 BEGIN_INTERFACE
302
303 /*** IUnknown methods ***/
304 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
305 IMFCaptureEngineOnSampleCallback *This,
306 REFIID riid,
307 void **ppvObject);
308
309 ULONG (STDMETHODCALLTYPE *AddRef)(
310 IMFCaptureEngineOnSampleCallback *This);
311
312 ULONG (STDMETHODCALLTYPE *Release)(
313 IMFCaptureEngineOnSampleCallback *This);
314
315 /*** IMFCaptureEngineOnSampleCallback methods ***/
316 HRESULT (STDMETHODCALLTYPE *OnSample)(
317 IMFCaptureEngineOnSampleCallback *This,
318 IMFSample *pSample);
319
320 END_INTERFACE
321} IMFCaptureEngineOnSampleCallbackVtbl;
322
323interface IMFCaptureEngineOnSampleCallback {
324 CONST_VTBL IMFCaptureEngineOnSampleCallbackVtbl* lpVtbl;
325};
326
327#ifdef COBJMACROS
328#ifndef WIDL_C_INLINE_WRAPPERS
329/*** IUnknown methods ***/
330#define IMFCaptureEngineOnSampleCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
331#define IMFCaptureEngineOnSampleCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
332#define IMFCaptureEngineOnSampleCallback_Release(This) (This)->lpVtbl->Release(This)
333/*** IMFCaptureEngineOnSampleCallback methods ***/
334#define IMFCaptureEngineOnSampleCallback_OnSample(This,pSample) (This)->lpVtbl->OnSample(This,pSample)
335#else
336/*** IUnknown methods ***/
337static FORCEINLINE HRESULT IMFCaptureEngineOnSampleCallback_QueryInterface(IMFCaptureEngineOnSampleCallback* This,REFIID riid,void **ppvObject) {
338 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
339}
340static FORCEINLINE ULONG IMFCaptureEngineOnSampleCallback_AddRef(IMFCaptureEngineOnSampleCallback* This) {
341 return This->lpVtbl->AddRef(This);
342}
343static FORCEINLINE ULONG IMFCaptureEngineOnSampleCallback_Release(IMFCaptureEngineOnSampleCallback* This) {
344 return This->lpVtbl->Release(This);
345}
346/*** IMFCaptureEngineOnSampleCallback methods ***/
347static FORCEINLINE HRESULT IMFCaptureEngineOnSampleCallback_OnSample(IMFCaptureEngineOnSampleCallback* This,IMFSample *pSample) {
348 return This->lpVtbl->OnSample(This,pSample);
349}
350#endif
351#endif
352
353#endif
354
355
356#endif /* __IMFCaptureEngineOnSampleCallback_INTERFACE_DEFINED__ */
357
358/*****************************************************************************
359 * IMFCaptureSink interface
360 */
361#ifndef __IMFCaptureSink_INTERFACE_DEFINED__
362#define __IMFCaptureSink_INTERFACE_DEFINED__
363
364DEFINE_GUID(IID_IMFCaptureSink, 0x72d6135b, 0x35e9, 0x412c, 0xb9,0x26, 0xfd,0x52,0x65,0xf2,0xa8,0x85);
365#if defined(__cplusplus) && !defined(CINTERFACE)
366MIDL_INTERFACE("72d6135b-35e9-412c-b926-fd5265f2a885")
367IMFCaptureSink : public IUnknown
368{
369 virtual HRESULT STDMETHODCALLTYPE GetOutputMediaType(
370 DWORD dwSinkStreamIndex,
371 IMFMediaType **ppMediaType) = 0;
372
373 virtual HRESULT STDMETHODCALLTYPE GetService(
374 DWORD dwSinkStreamIndex,
375 REFGUID rguidService,
376 REFIID riid,
377 IUnknown **ppUnknown) = 0;
378
379 virtual HRESULT STDMETHODCALLTYPE AddStream(
380 DWORD dwSourceStreamIndex,
381 IMFMediaType *pMediaType,
382 IMFAttributes *pAttributes,
383 DWORD *pdwSinkStreamIndex) = 0;
384
385 virtual HRESULT STDMETHODCALLTYPE Prepare(
386 ) = 0;
387
388 virtual HRESULT STDMETHODCALLTYPE RemoveAllStreams(
389 ) = 0;
390
391};
392#ifdef __CRT_UUID_DECL
393__CRT_UUID_DECL(IMFCaptureSink, 0x72d6135b, 0x35e9, 0x412c, 0xb9,0x26, 0xfd,0x52,0x65,0xf2,0xa8,0x85)
394#endif
395#else
396typedef struct IMFCaptureSinkVtbl {
397 BEGIN_INTERFACE
398
399 /*** IUnknown methods ***/
400 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
401 IMFCaptureSink *This,
402 REFIID riid,
403 void **ppvObject);
404
405 ULONG (STDMETHODCALLTYPE *AddRef)(
406 IMFCaptureSink *This);
407
408 ULONG (STDMETHODCALLTYPE *Release)(
409 IMFCaptureSink *This);
410
411 /*** IMFCaptureSink methods ***/
412 HRESULT (STDMETHODCALLTYPE *GetOutputMediaType)(
413 IMFCaptureSink *This,
414 DWORD dwSinkStreamIndex,
415 IMFMediaType **ppMediaType);
416
417 HRESULT (STDMETHODCALLTYPE *GetService)(
418 IMFCaptureSink *This,
419 DWORD dwSinkStreamIndex,
420 REFGUID rguidService,
421 REFIID riid,
422 IUnknown **ppUnknown);
423
424 HRESULT (STDMETHODCALLTYPE *AddStream)(
425 IMFCaptureSink *This,
426 DWORD dwSourceStreamIndex,
427 IMFMediaType *pMediaType,
428 IMFAttributes *pAttributes,
429 DWORD *pdwSinkStreamIndex);
430
431 HRESULT (STDMETHODCALLTYPE *Prepare)(
432 IMFCaptureSink *This);
433
434 HRESULT (STDMETHODCALLTYPE *RemoveAllStreams)(
435 IMFCaptureSink *This);
436
437 END_INTERFACE
438} IMFCaptureSinkVtbl;
439
440interface IMFCaptureSink {
441 CONST_VTBL IMFCaptureSinkVtbl* lpVtbl;
442};
443
444#ifdef COBJMACROS
445#ifndef WIDL_C_INLINE_WRAPPERS
446/*** IUnknown methods ***/
447#define IMFCaptureSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
448#define IMFCaptureSink_AddRef(This) (This)->lpVtbl->AddRef(This)
449#define IMFCaptureSink_Release(This) (This)->lpVtbl->Release(This)
450/*** IMFCaptureSink methods ***/
451#define IMFCaptureSink_GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType) (This)->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType)
452#define IMFCaptureSink_GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown) (This)->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown)
453#define IMFCaptureSink_AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex) (This)->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex)
454#define IMFCaptureSink_Prepare(This) (This)->lpVtbl->Prepare(This)
455#define IMFCaptureSink_RemoveAllStreams(This) (This)->lpVtbl->RemoveAllStreams(This)
456#else
457/*** IUnknown methods ***/
458static FORCEINLINE HRESULT IMFCaptureSink_QueryInterface(IMFCaptureSink* This,REFIID riid,void **ppvObject) {
459 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
460}
461static FORCEINLINE ULONG IMFCaptureSink_AddRef(IMFCaptureSink* This) {
462 return This->lpVtbl->AddRef(This);
463}
464static FORCEINLINE ULONG IMFCaptureSink_Release(IMFCaptureSink* This) {
465 return This->lpVtbl->Release(This);
466}
467/*** IMFCaptureSink methods ***/
468static FORCEINLINE HRESULT IMFCaptureSink_GetOutputMediaType(IMFCaptureSink* This,DWORD dwSinkStreamIndex,IMFMediaType **ppMediaType) {
469 return This->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType);
470}
471static FORCEINLINE HRESULT IMFCaptureSink_GetService(IMFCaptureSink* This,DWORD dwSinkStreamIndex,REFGUID rguidService,REFIID riid,IUnknown **ppUnknown) {
472 return This->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown);
473}
474static FORCEINLINE HRESULT IMFCaptureSink_AddStream(IMFCaptureSink* This,DWORD dwSourceStreamIndex,IMFMediaType *pMediaType,IMFAttributes *pAttributes,DWORD *pdwSinkStreamIndex) {
475 return This->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex);
476}
477static FORCEINLINE HRESULT IMFCaptureSink_Prepare(IMFCaptureSink* This) {
478 return This->lpVtbl->Prepare(This);
479}
480static FORCEINLINE HRESULT IMFCaptureSink_RemoveAllStreams(IMFCaptureSink* This) {
481 return This->lpVtbl->RemoveAllStreams(This);
482}
483#endif
484#endif
485
486#endif
487
488
489#endif /* __IMFCaptureSink_INTERFACE_DEFINED__ */
490
491/*****************************************************************************
492 * IMFCaptureRecordSink interface
493 */
494#ifndef __IMFCaptureRecordSink_INTERFACE_DEFINED__
495#define __IMFCaptureRecordSink_INTERFACE_DEFINED__
496
497DEFINE_GUID(IID_IMFCaptureRecordSink, 0x3323b55a, 0xf92a, 0x4fe2, 0x8e,0xdc, 0xe9,0xbf,0xc0,0x63,0x4d,0x77);
498#if defined(__cplusplus) && !defined(CINTERFACE)
499MIDL_INTERFACE("3323b55a-f92a-4fe2-8edc-e9bfc0634d77")
500IMFCaptureRecordSink : public IMFCaptureSink
501{
502 virtual HRESULT STDMETHODCALLTYPE SetOutputByteStream(
503 IMFByteStream *pByteStream,
504 REFGUID guidContainerType) = 0;
505
506 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
507 LPCWSTR fileName) = 0;
508
509 virtual HRESULT STDMETHODCALLTYPE SetSampleCallback(
510 DWORD dwStreamSinkIndex,
511 IMFCaptureEngineOnSampleCallback *pCallback) = 0;
512
513 virtual HRESULT STDMETHODCALLTYPE SetCustomSink(
514 IMFMediaSink *pMediaSink) = 0;
515
516 virtual HRESULT STDMETHODCALLTYPE GetRotation(
517 DWORD dwStreamIndex,
518 DWORD *pdwRotationValue) = 0;
519
520 virtual HRESULT STDMETHODCALLTYPE SetRotation(
521 DWORD dwStreamIndex,
522 DWORD dwRotationValue) = 0;
523
524};
525#ifdef __CRT_UUID_DECL
526__CRT_UUID_DECL(IMFCaptureRecordSink, 0x3323b55a, 0xf92a, 0x4fe2, 0x8e,0xdc, 0xe9,0xbf,0xc0,0x63,0x4d,0x77)
527#endif
528#else
529typedef struct IMFCaptureRecordSinkVtbl {
530 BEGIN_INTERFACE
531
532 /*** IUnknown methods ***/
533 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
534 IMFCaptureRecordSink *This,
535 REFIID riid,
536 void **ppvObject);
537
538 ULONG (STDMETHODCALLTYPE *AddRef)(
539 IMFCaptureRecordSink *This);
540
541 ULONG (STDMETHODCALLTYPE *Release)(
542 IMFCaptureRecordSink *This);
543
544 /*** IMFCaptureSink methods ***/
545 HRESULT (STDMETHODCALLTYPE *GetOutputMediaType)(
546 IMFCaptureRecordSink *This,
547 DWORD dwSinkStreamIndex,
548 IMFMediaType **ppMediaType);
549
550 HRESULT (STDMETHODCALLTYPE *GetService)(
551 IMFCaptureRecordSink *This,
552 DWORD dwSinkStreamIndex,
553 REFGUID rguidService,
554 REFIID riid,
555 IUnknown **ppUnknown);
556
557 HRESULT (STDMETHODCALLTYPE *AddStream)(
558 IMFCaptureRecordSink *This,
559 DWORD dwSourceStreamIndex,
560 IMFMediaType *pMediaType,
561 IMFAttributes *pAttributes,
562 DWORD *pdwSinkStreamIndex);
563
564 HRESULT (STDMETHODCALLTYPE *Prepare)(
565 IMFCaptureRecordSink *This);
566
567 HRESULT (STDMETHODCALLTYPE *RemoveAllStreams)(
568 IMFCaptureRecordSink *This);
569
570 /*** IMFCaptureRecordSink methods ***/
571 HRESULT (STDMETHODCALLTYPE *SetOutputByteStream)(
572 IMFCaptureRecordSink *This,
573 IMFByteStream *pByteStream,
574 REFGUID guidContainerType);
575
576 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
577 IMFCaptureRecordSink *This,
578 LPCWSTR fileName);
579
580 HRESULT (STDMETHODCALLTYPE *SetSampleCallback)(
581 IMFCaptureRecordSink *This,
582 DWORD dwStreamSinkIndex,
583 IMFCaptureEngineOnSampleCallback *pCallback);
584
585 HRESULT (STDMETHODCALLTYPE *SetCustomSink)(
586 IMFCaptureRecordSink *This,
587 IMFMediaSink *pMediaSink);
588
589 HRESULT (STDMETHODCALLTYPE *GetRotation)(
590 IMFCaptureRecordSink *This,
591 DWORD dwStreamIndex,
592 DWORD *pdwRotationValue);
593
594 HRESULT (STDMETHODCALLTYPE *SetRotation)(
595 IMFCaptureRecordSink *This,
596 DWORD dwStreamIndex,
597 DWORD dwRotationValue);
598
599 END_INTERFACE
600} IMFCaptureRecordSinkVtbl;
601
602interface IMFCaptureRecordSink {
603 CONST_VTBL IMFCaptureRecordSinkVtbl* lpVtbl;
604};
605
606#ifdef COBJMACROS
607#ifndef WIDL_C_INLINE_WRAPPERS
608/*** IUnknown methods ***/
609#define IMFCaptureRecordSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
610#define IMFCaptureRecordSink_AddRef(This) (This)->lpVtbl->AddRef(This)
611#define IMFCaptureRecordSink_Release(This) (This)->lpVtbl->Release(This)
612/*** IMFCaptureSink methods ***/
613#define IMFCaptureRecordSink_GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType) (This)->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType)
614#define IMFCaptureRecordSink_GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown) (This)->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown)
615#define IMFCaptureRecordSink_AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex) (This)->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex)
616#define IMFCaptureRecordSink_Prepare(This) (This)->lpVtbl->Prepare(This)
617#define IMFCaptureRecordSink_RemoveAllStreams(This) (This)->lpVtbl->RemoveAllStreams(This)
618/*** IMFCaptureRecordSink methods ***/
619#define IMFCaptureRecordSink_SetOutputByteStream(This,pByteStream,guidContainerType) (This)->lpVtbl->SetOutputByteStream(This,pByteStream,guidContainerType)
620#define IMFCaptureRecordSink_SetOutputFileName(This,fileName) (This)->lpVtbl->SetOutputFileName(This,fileName)
621#define IMFCaptureRecordSink_SetSampleCallback(This,dwStreamSinkIndex,pCallback) (This)->lpVtbl->SetSampleCallback(This,dwStreamSinkIndex,pCallback)
622#define IMFCaptureRecordSink_SetCustomSink(This,pMediaSink) (This)->lpVtbl->SetCustomSink(This,pMediaSink)
623#define IMFCaptureRecordSink_GetRotation(This,dwStreamIndex,pdwRotationValue) (This)->lpVtbl->GetRotation(This,dwStreamIndex,pdwRotationValue)
624#define IMFCaptureRecordSink_SetRotation(This,dwStreamIndex,dwRotationValue) (This)->lpVtbl->SetRotation(This,dwStreamIndex,dwRotationValue)
625#else
626/*** IUnknown methods ***/
627static FORCEINLINE HRESULT IMFCaptureRecordSink_QueryInterface(IMFCaptureRecordSink* This,REFIID riid,void **ppvObject) {
628 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
629}
630static FORCEINLINE ULONG IMFCaptureRecordSink_AddRef(IMFCaptureRecordSink* This) {
631 return This->lpVtbl->AddRef(This);
632}
633static FORCEINLINE ULONG IMFCaptureRecordSink_Release(IMFCaptureRecordSink* This) {
634 return This->lpVtbl->Release(This);
635}
636/*** IMFCaptureSink methods ***/
637static FORCEINLINE HRESULT IMFCaptureRecordSink_GetOutputMediaType(IMFCaptureRecordSink* This,DWORD dwSinkStreamIndex,IMFMediaType **ppMediaType) {
638 return This->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType);
639}
640static FORCEINLINE HRESULT IMFCaptureRecordSink_GetService(IMFCaptureRecordSink* This,DWORD dwSinkStreamIndex,REFGUID rguidService,REFIID riid,IUnknown **ppUnknown) {
641 return This->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown);
642}
643static FORCEINLINE HRESULT IMFCaptureRecordSink_AddStream(IMFCaptureRecordSink* This,DWORD dwSourceStreamIndex,IMFMediaType *pMediaType,IMFAttributes *pAttributes,DWORD *pdwSinkStreamIndex) {
644 return This->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex);
645}
646static FORCEINLINE HRESULT IMFCaptureRecordSink_Prepare(IMFCaptureRecordSink* This) {
647 return This->lpVtbl->Prepare(This);
648}
649static FORCEINLINE HRESULT IMFCaptureRecordSink_RemoveAllStreams(IMFCaptureRecordSink* This) {
650 return This->lpVtbl->RemoveAllStreams(This);
651}
652/*** IMFCaptureRecordSink methods ***/
653static FORCEINLINE HRESULT IMFCaptureRecordSink_SetOutputByteStream(IMFCaptureRecordSink* This,IMFByteStream *pByteStream,REFGUID guidContainerType) {
654 return This->lpVtbl->SetOutputByteStream(This,pByteStream,guidContainerType);
655}
656static FORCEINLINE HRESULT IMFCaptureRecordSink_SetOutputFileName(IMFCaptureRecordSink* This,LPCWSTR fileName) {
657 return This->lpVtbl->SetOutputFileName(This,fileName);
658}
659static FORCEINLINE HRESULT IMFCaptureRecordSink_SetSampleCallback(IMFCaptureRecordSink* This,DWORD dwStreamSinkIndex,IMFCaptureEngineOnSampleCallback *pCallback) {
660 return This->lpVtbl->SetSampleCallback(This,dwStreamSinkIndex,pCallback);
661}
662static FORCEINLINE HRESULT IMFCaptureRecordSink_SetCustomSink(IMFCaptureRecordSink* This,IMFMediaSink *pMediaSink) {
663 return This->lpVtbl->SetCustomSink(This,pMediaSink);
664}
665static FORCEINLINE HRESULT IMFCaptureRecordSink_GetRotation(IMFCaptureRecordSink* This,DWORD dwStreamIndex,DWORD *pdwRotationValue) {
666 return This->lpVtbl->GetRotation(This,dwStreamIndex,pdwRotationValue);
667}
668static FORCEINLINE HRESULT IMFCaptureRecordSink_SetRotation(IMFCaptureRecordSink* This,DWORD dwStreamIndex,DWORD dwRotationValue) {
669 return This->lpVtbl->SetRotation(This,dwStreamIndex,dwRotationValue);
670}
671#endif
672#endif
673
674#endif
675
676
677#endif /* __IMFCaptureRecordSink_INTERFACE_DEFINED__ */
678
679/*****************************************************************************
680 * IMFCapturePreviewSink interface
681 */
682#ifndef __IMFCapturePreviewSink_INTERFACE_DEFINED__
683#define __IMFCapturePreviewSink_INTERFACE_DEFINED__
684
685DEFINE_GUID(IID_IMFCapturePreviewSink, 0x77346cfd, 0x5b49, 0x4d73, 0xac,0xe0, 0x5b,0x52,0xa8,0x59,0xf2,0xe0);
686#if defined(__cplusplus) && !defined(CINTERFACE)
687MIDL_INTERFACE("77346cfd-5b49-4d73-ace0-5b52a859f2e0")
688IMFCapturePreviewSink : public IMFCaptureSink
689{
690 virtual HRESULT STDMETHODCALLTYPE SetRenderHandle(
691 HANDLE handle) = 0;
692
693 virtual HRESULT STDMETHODCALLTYPE SetRenderSurface(
694 IUnknown *pSurface) = 0;
695
696 virtual HRESULT STDMETHODCALLTYPE UpdateVideo(
697 const MFVideoNormalizedRect *pSrc,
698 const RECT *pDst,
699 const COLORREF *pBorderClr) = 0;
700
701 virtual HRESULT STDMETHODCALLTYPE SetSampleCallback(
702 DWORD dwStreamSinkIndex,
703 IMFCaptureEngineOnSampleCallback *pCallback) = 0;
704
705 virtual HRESULT STDMETHODCALLTYPE GetMirrorState(
706 WINBOOL *pfMirrorState) = 0;
707
708 virtual HRESULT STDMETHODCALLTYPE SetMirrorState(
709 WINBOOL fMirrorState) = 0;
710
711 virtual HRESULT STDMETHODCALLTYPE GetRotation(
712 DWORD dwStreamIndex,
713 DWORD *pdwRotationValue) = 0;
714
715 virtual HRESULT STDMETHODCALLTYPE SetRotation(
716 DWORD dwStreamIndex,
717 DWORD dwRotationValue) = 0;
718
719 virtual HRESULT STDMETHODCALLTYPE SetCustomSink(
720 IMFMediaSink *pMediaSink) = 0;
721
722};
723#ifdef __CRT_UUID_DECL
724__CRT_UUID_DECL(IMFCapturePreviewSink, 0x77346cfd, 0x5b49, 0x4d73, 0xac,0xe0, 0x5b,0x52,0xa8,0x59,0xf2,0xe0)
725#endif
726#else
727typedef struct IMFCapturePreviewSinkVtbl {
728 BEGIN_INTERFACE
729
730 /*** IUnknown methods ***/
731 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
732 IMFCapturePreviewSink *This,
733 REFIID riid,
734 void **ppvObject);
735
736 ULONG (STDMETHODCALLTYPE *AddRef)(
737 IMFCapturePreviewSink *This);
738
739 ULONG (STDMETHODCALLTYPE *Release)(
740 IMFCapturePreviewSink *This);
741
742 /*** IMFCaptureSink methods ***/
743 HRESULT (STDMETHODCALLTYPE *GetOutputMediaType)(
744 IMFCapturePreviewSink *This,
745 DWORD dwSinkStreamIndex,
746 IMFMediaType **ppMediaType);
747
748 HRESULT (STDMETHODCALLTYPE *GetService)(
749 IMFCapturePreviewSink *This,
750 DWORD dwSinkStreamIndex,
751 REFGUID rguidService,
752 REFIID riid,
753 IUnknown **ppUnknown);
754
755 HRESULT (STDMETHODCALLTYPE *AddStream)(
756 IMFCapturePreviewSink *This,
757 DWORD dwSourceStreamIndex,
758 IMFMediaType *pMediaType,
759 IMFAttributes *pAttributes,
760 DWORD *pdwSinkStreamIndex);
761
762 HRESULT (STDMETHODCALLTYPE *Prepare)(
763 IMFCapturePreviewSink *This);
764
765 HRESULT (STDMETHODCALLTYPE *RemoveAllStreams)(
766 IMFCapturePreviewSink *This);
767
768 /*** IMFCapturePreviewSink methods ***/
769 HRESULT (STDMETHODCALLTYPE *SetRenderHandle)(
770 IMFCapturePreviewSink *This,
771 HANDLE handle);
772
773 HRESULT (STDMETHODCALLTYPE *SetRenderSurface)(
774 IMFCapturePreviewSink *This,
775 IUnknown *pSurface);
776
777 HRESULT (STDMETHODCALLTYPE *UpdateVideo)(
778 IMFCapturePreviewSink *This,
779 const MFVideoNormalizedRect *pSrc,
780 const RECT *pDst,
781 const COLORREF *pBorderClr);
782
783 HRESULT (STDMETHODCALLTYPE *SetSampleCallback)(
784 IMFCapturePreviewSink *This,
785 DWORD dwStreamSinkIndex,
786 IMFCaptureEngineOnSampleCallback *pCallback);
787
788 HRESULT (STDMETHODCALLTYPE *GetMirrorState)(
789 IMFCapturePreviewSink *This,
790 WINBOOL *pfMirrorState);
791
792 HRESULT (STDMETHODCALLTYPE *SetMirrorState)(
793 IMFCapturePreviewSink *This,
794 WINBOOL fMirrorState);
795
796 HRESULT (STDMETHODCALLTYPE *GetRotation)(
797 IMFCapturePreviewSink *This,
798 DWORD dwStreamIndex,
799 DWORD *pdwRotationValue);
800
801 HRESULT (STDMETHODCALLTYPE *SetRotation)(
802 IMFCapturePreviewSink *This,
803 DWORD dwStreamIndex,
804 DWORD dwRotationValue);
805
806 HRESULT (STDMETHODCALLTYPE *SetCustomSink)(
807 IMFCapturePreviewSink *This,
808 IMFMediaSink *pMediaSink);
809
810 END_INTERFACE
811} IMFCapturePreviewSinkVtbl;
812
813interface IMFCapturePreviewSink {
814 CONST_VTBL IMFCapturePreviewSinkVtbl* lpVtbl;
815};
816
817#ifdef COBJMACROS
818#ifndef WIDL_C_INLINE_WRAPPERS
819/*** IUnknown methods ***/
820#define IMFCapturePreviewSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
821#define IMFCapturePreviewSink_AddRef(This) (This)->lpVtbl->AddRef(This)
822#define IMFCapturePreviewSink_Release(This) (This)->lpVtbl->Release(This)
823/*** IMFCaptureSink methods ***/
824#define IMFCapturePreviewSink_GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType) (This)->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType)
825#define IMFCapturePreviewSink_GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown) (This)->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown)
826#define IMFCapturePreviewSink_AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex) (This)->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex)
827#define IMFCapturePreviewSink_Prepare(This) (This)->lpVtbl->Prepare(This)
828#define IMFCapturePreviewSink_RemoveAllStreams(This) (This)->lpVtbl->RemoveAllStreams(This)
829/*** IMFCapturePreviewSink methods ***/
830#define IMFCapturePreviewSink_SetRenderHandle(This,handle) (This)->lpVtbl->SetRenderHandle(This,handle)
831#define IMFCapturePreviewSink_SetRenderSurface(This,pSurface) (This)->lpVtbl->SetRenderSurface(This,pSurface)
832#define IMFCapturePreviewSink_UpdateVideo(This,pSrc,pDst,pBorderClr) (This)->lpVtbl->UpdateVideo(This,pSrc,pDst,pBorderClr)
833#define IMFCapturePreviewSink_SetSampleCallback(This,dwStreamSinkIndex,pCallback) (This)->lpVtbl->SetSampleCallback(This,dwStreamSinkIndex,pCallback)
834#define IMFCapturePreviewSink_GetMirrorState(This,pfMirrorState) (This)->lpVtbl->GetMirrorState(This,pfMirrorState)
835#define IMFCapturePreviewSink_SetMirrorState(This,fMirrorState) (This)->lpVtbl->SetMirrorState(This,fMirrorState)
836#define IMFCapturePreviewSink_GetRotation(This,dwStreamIndex,pdwRotationValue) (This)->lpVtbl->GetRotation(This,dwStreamIndex,pdwRotationValue)
837#define IMFCapturePreviewSink_SetRotation(This,dwStreamIndex,dwRotationValue) (This)->lpVtbl->SetRotation(This,dwStreamIndex,dwRotationValue)
838#define IMFCapturePreviewSink_SetCustomSink(This,pMediaSink) (This)->lpVtbl->SetCustomSink(This,pMediaSink)
839#else
840/*** IUnknown methods ***/
841static FORCEINLINE HRESULT IMFCapturePreviewSink_QueryInterface(IMFCapturePreviewSink* This,REFIID riid,void **ppvObject) {
842 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
843}
844static FORCEINLINE ULONG IMFCapturePreviewSink_AddRef(IMFCapturePreviewSink* This) {
845 return This->lpVtbl->AddRef(This);
846}
847static FORCEINLINE ULONG IMFCapturePreviewSink_Release(IMFCapturePreviewSink* This) {
848 return This->lpVtbl->Release(This);
849}
850/*** IMFCaptureSink methods ***/
851static FORCEINLINE HRESULT IMFCapturePreviewSink_GetOutputMediaType(IMFCapturePreviewSink* This,DWORD dwSinkStreamIndex,IMFMediaType **ppMediaType) {
852 return This->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType);
853}
854static FORCEINLINE HRESULT IMFCapturePreviewSink_GetService(IMFCapturePreviewSink* This,DWORD dwSinkStreamIndex,REFGUID rguidService,REFIID riid,IUnknown **ppUnknown) {
855 return This->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown);
856}
857static FORCEINLINE HRESULT IMFCapturePreviewSink_AddStream(IMFCapturePreviewSink* This,DWORD dwSourceStreamIndex,IMFMediaType *pMediaType,IMFAttributes *pAttributes,DWORD *pdwSinkStreamIndex) {
858 return This->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex);
859}
860static FORCEINLINE HRESULT IMFCapturePreviewSink_Prepare(IMFCapturePreviewSink* This) {
861 return This->lpVtbl->Prepare(This);
862}
863static FORCEINLINE HRESULT IMFCapturePreviewSink_RemoveAllStreams(IMFCapturePreviewSink* This) {
864 return This->lpVtbl->RemoveAllStreams(This);
865}
866/*** IMFCapturePreviewSink methods ***/
867static FORCEINLINE HRESULT IMFCapturePreviewSink_SetRenderHandle(IMFCapturePreviewSink* This,HANDLE handle) {
868 return This->lpVtbl->SetRenderHandle(This,handle);
869}
870static FORCEINLINE HRESULT IMFCapturePreviewSink_SetRenderSurface(IMFCapturePreviewSink* This,IUnknown *pSurface) {
871 return This->lpVtbl->SetRenderSurface(This,pSurface);
872}
873static FORCEINLINE HRESULT IMFCapturePreviewSink_UpdateVideo(IMFCapturePreviewSink* This,const MFVideoNormalizedRect *pSrc,const RECT *pDst,const COLORREF *pBorderClr) {
874 return This->lpVtbl->UpdateVideo(This,pSrc,pDst,pBorderClr);
875}
876static FORCEINLINE HRESULT IMFCapturePreviewSink_SetSampleCallback(IMFCapturePreviewSink* This,DWORD dwStreamSinkIndex,IMFCaptureEngineOnSampleCallback *pCallback) {
877 return This->lpVtbl->SetSampleCallback(This,dwStreamSinkIndex,pCallback);
878}
879static FORCEINLINE HRESULT IMFCapturePreviewSink_GetMirrorState(IMFCapturePreviewSink* This,WINBOOL *pfMirrorState) {
880 return This->lpVtbl->GetMirrorState(This,pfMirrorState);
881}
882static FORCEINLINE HRESULT IMFCapturePreviewSink_SetMirrorState(IMFCapturePreviewSink* This,WINBOOL fMirrorState) {
883 return This->lpVtbl->SetMirrorState(This,fMirrorState);
884}
885static FORCEINLINE HRESULT IMFCapturePreviewSink_GetRotation(IMFCapturePreviewSink* This,DWORD dwStreamIndex,DWORD *pdwRotationValue) {
886 return This->lpVtbl->GetRotation(This,dwStreamIndex,pdwRotationValue);
887}
888static FORCEINLINE HRESULT IMFCapturePreviewSink_SetRotation(IMFCapturePreviewSink* This,DWORD dwStreamIndex,DWORD dwRotationValue) {
889 return This->lpVtbl->SetRotation(This,dwStreamIndex,dwRotationValue);
890}
891static FORCEINLINE HRESULT IMFCapturePreviewSink_SetCustomSink(IMFCapturePreviewSink* This,IMFMediaSink *pMediaSink) {
892 return This->lpVtbl->SetCustomSink(This,pMediaSink);
893}
894#endif
895#endif
896
897#endif
898
899
900#endif /* __IMFCapturePreviewSink_INTERFACE_DEFINED__ */
901
902/*****************************************************************************
903 * IMFCapturePhotoSink interface
904 */
905#ifndef __IMFCapturePhotoSink_INTERFACE_DEFINED__
906#define __IMFCapturePhotoSink_INTERFACE_DEFINED__
907
908DEFINE_GUID(IID_IMFCapturePhotoSink, 0xd2d43cc8, 0x48bb, 0x4aa7, 0x95,0xdb, 0x10,0xc0,0x69,0x77,0xe7,0x77);
909#if defined(__cplusplus) && !defined(CINTERFACE)
910MIDL_INTERFACE("d2d43cc8-48bb-4aa7-95db-10c06977e777")
911IMFCapturePhotoSink : public IMFCaptureSink
912{
913 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
914 LPCWSTR fileName) = 0;
915
916 virtual HRESULT STDMETHODCALLTYPE SetSampleCallback(
917 IMFCaptureEngineOnSampleCallback *pCallback) = 0;
918
919 virtual HRESULT STDMETHODCALLTYPE SetOutputByteStream(
920 IMFByteStream *pByteStream) = 0;
921
922};
923#ifdef __CRT_UUID_DECL
924__CRT_UUID_DECL(IMFCapturePhotoSink, 0xd2d43cc8, 0x48bb, 0x4aa7, 0x95,0xdb, 0x10,0xc0,0x69,0x77,0xe7,0x77)
925#endif
926#else
927typedef struct IMFCapturePhotoSinkVtbl {
928 BEGIN_INTERFACE
929
930 /*** IUnknown methods ***/
931 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
932 IMFCapturePhotoSink *This,
933 REFIID riid,
934 void **ppvObject);
935
936 ULONG (STDMETHODCALLTYPE *AddRef)(
937 IMFCapturePhotoSink *This);
938
939 ULONG (STDMETHODCALLTYPE *Release)(
940 IMFCapturePhotoSink *This);
941
942 /*** IMFCaptureSink methods ***/
943 HRESULT (STDMETHODCALLTYPE *GetOutputMediaType)(
944 IMFCapturePhotoSink *This,
945 DWORD dwSinkStreamIndex,
946 IMFMediaType **ppMediaType);
947
948 HRESULT (STDMETHODCALLTYPE *GetService)(
949 IMFCapturePhotoSink *This,
950 DWORD dwSinkStreamIndex,
951 REFGUID rguidService,
952 REFIID riid,
953 IUnknown **ppUnknown);
954
955 HRESULT (STDMETHODCALLTYPE *AddStream)(
956 IMFCapturePhotoSink *This,
957 DWORD dwSourceStreamIndex,
958 IMFMediaType *pMediaType,
959 IMFAttributes *pAttributes,
960 DWORD *pdwSinkStreamIndex);
961
962 HRESULT (STDMETHODCALLTYPE *Prepare)(
963 IMFCapturePhotoSink *This);
964
965 HRESULT (STDMETHODCALLTYPE *RemoveAllStreams)(
966 IMFCapturePhotoSink *This);
967
968 /*** IMFCapturePhotoSink methods ***/
969 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
970 IMFCapturePhotoSink *This,
971 LPCWSTR fileName);
972
973 HRESULT (STDMETHODCALLTYPE *SetSampleCallback)(
974 IMFCapturePhotoSink *This,
975 IMFCaptureEngineOnSampleCallback *pCallback);
976
977 HRESULT (STDMETHODCALLTYPE *SetOutputByteStream)(
978 IMFCapturePhotoSink *This,
979 IMFByteStream *pByteStream);
980
981 END_INTERFACE
982} IMFCapturePhotoSinkVtbl;
983
984interface IMFCapturePhotoSink {
985 CONST_VTBL IMFCapturePhotoSinkVtbl* lpVtbl;
986};
987
988#ifdef COBJMACROS
989#ifndef WIDL_C_INLINE_WRAPPERS
990/*** IUnknown methods ***/
991#define IMFCapturePhotoSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
992#define IMFCapturePhotoSink_AddRef(This) (This)->lpVtbl->AddRef(This)
993#define IMFCapturePhotoSink_Release(This) (This)->lpVtbl->Release(This)
994/*** IMFCaptureSink methods ***/
995#define IMFCapturePhotoSink_GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType) (This)->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType)
996#define IMFCapturePhotoSink_GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown) (This)->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown)
997#define IMFCapturePhotoSink_AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex) (This)->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex)
998#define IMFCapturePhotoSink_Prepare(This) (This)->lpVtbl->Prepare(This)
999#define IMFCapturePhotoSink_RemoveAllStreams(This) (This)->lpVtbl->RemoveAllStreams(This)
1000/*** IMFCapturePhotoSink methods ***/
1001#define IMFCapturePhotoSink_SetOutputFileName(This,fileName) (This)->lpVtbl->SetOutputFileName(This,fileName)
1002#define IMFCapturePhotoSink_SetSampleCallback(This,pCallback) (This)->lpVtbl->SetSampleCallback(This,pCallback)
1003#define IMFCapturePhotoSink_SetOutputByteStream(This,pByteStream) (This)->lpVtbl->SetOutputByteStream(This,pByteStream)
1004#else
1005/*** IUnknown methods ***/
1006static FORCEINLINE HRESULT IMFCapturePhotoSink_QueryInterface(IMFCapturePhotoSink* This,REFIID riid,void **ppvObject) {
1007 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1008}
1009static FORCEINLINE ULONG IMFCapturePhotoSink_AddRef(IMFCapturePhotoSink* This) {
1010 return This->lpVtbl->AddRef(This);
1011}
1012static FORCEINLINE ULONG IMFCapturePhotoSink_Release(IMFCapturePhotoSink* This) {
1013 return This->lpVtbl->Release(This);
1014}
1015/*** IMFCaptureSink methods ***/
1016static FORCEINLINE HRESULT IMFCapturePhotoSink_GetOutputMediaType(IMFCapturePhotoSink* This,DWORD dwSinkStreamIndex,IMFMediaType **ppMediaType) {
1017 return This->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType);
1018}
1019static FORCEINLINE HRESULT IMFCapturePhotoSink_GetService(IMFCapturePhotoSink* This,DWORD dwSinkStreamIndex,REFGUID rguidService,REFIID riid,IUnknown **ppUnknown) {
1020 return This->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown);
1021}
1022static FORCEINLINE HRESULT IMFCapturePhotoSink_AddStream(IMFCapturePhotoSink* This,DWORD dwSourceStreamIndex,IMFMediaType *pMediaType,IMFAttributes *pAttributes,DWORD *pdwSinkStreamIndex) {
1023 return This->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex);
1024}
1025static FORCEINLINE HRESULT IMFCapturePhotoSink_Prepare(IMFCapturePhotoSink* This) {
1026 return This->lpVtbl->Prepare(This);
1027}
1028static FORCEINLINE HRESULT IMFCapturePhotoSink_RemoveAllStreams(IMFCapturePhotoSink* This) {
1029 return This->lpVtbl->RemoveAllStreams(This);
1030}
1031/*** IMFCapturePhotoSink methods ***/
1032static FORCEINLINE HRESULT IMFCapturePhotoSink_SetOutputFileName(IMFCapturePhotoSink* This,LPCWSTR fileName) {
1033 return This->lpVtbl->SetOutputFileName(This,fileName);
1034}
1035static FORCEINLINE HRESULT IMFCapturePhotoSink_SetSampleCallback(IMFCapturePhotoSink* This,IMFCaptureEngineOnSampleCallback *pCallback) {
1036 return This->lpVtbl->SetSampleCallback(This,pCallback);
1037}
1038static FORCEINLINE HRESULT IMFCapturePhotoSink_SetOutputByteStream(IMFCapturePhotoSink* This,IMFByteStream *pByteStream) {
1039 return This->lpVtbl->SetOutputByteStream(This,pByteStream);
1040}
1041#endif
1042#endif
1043
1044#endif
1045
1046
1047#endif /* __IMFCapturePhotoSink_INTERFACE_DEFINED__ */
1048
1049/*****************************************************************************
1050 * IMFCaptureSource interface
1051 */
1052#ifndef __IMFCaptureSource_INTERFACE_DEFINED__
1053#define __IMFCaptureSource_INTERFACE_DEFINED__
1054
1055DEFINE_GUID(IID_IMFCaptureSource, 0x439a42a8, 0x0d2c, 0x4505, 0xbe,0x83, 0xf7,0x9b,0x2a,0x05,0xd5,0xc4);
1056#if defined(__cplusplus) && !defined(CINTERFACE)
1057MIDL_INTERFACE("439a42a8-0d2c-4505-be83-f79b2a05d5c4")
1058IMFCaptureSource : public IUnknown
1059{
1060 virtual HRESULT STDMETHODCALLTYPE GetCaptureDeviceSource(
1061 MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,
1062 IMFMediaSource **ppMediaSource) = 0;
1063
1064 virtual HRESULT STDMETHODCALLTYPE GetCaptureDeviceActivate(
1065 MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,
1066 IMFActivate **ppActivate) = 0;
1067
1068 virtual HRESULT STDMETHODCALLTYPE GetService(
1069 REFIID rguidService,
1070 REFIID riid,
1071 IUnknown **ppUnknown) = 0;
1072
1073 virtual HRESULT STDMETHODCALLTYPE AddEffect(
1074 DWORD dwSourceStreamIndex,
1075 IUnknown *pUnknown) = 0;
1076
1077 virtual HRESULT STDMETHODCALLTYPE RemoveEffect(
1078 DWORD dwSourceStreamIndex,
1079 IUnknown *pUnknown) = 0;
1080
1081 virtual HRESULT STDMETHODCALLTYPE RemoveAllEffects(
1082 DWORD dwSourceStreamIndex) = 0;
1083
1084 virtual HRESULT STDMETHODCALLTYPE GetAvailableDeviceMediaType(
1085 DWORD dwSourceStreamIndex,
1086 DWORD dwMediaTypeIndex,
1087 IMFMediaType **ppMediaType) = 0;
1088
1089 virtual HRESULT STDMETHODCALLTYPE SetCurrentDeviceMediaType(
1090 DWORD dwSourceStreamIndex,
1091 IMFMediaType *pMediaType) = 0;
1092
1093 virtual HRESULT STDMETHODCALLTYPE GetCurrentDeviceMediaType(
1094 DWORD dwSourceStreamIndex,
1095 IMFMediaType **ppMediaType) = 0;
1096
1097 virtual HRESULT STDMETHODCALLTYPE GetDeviceStreamCount(
1098 DWORD *pdwStreamCount) = 0;
1099
1100 virtual HRESULT STDMETHODCALLTYPE GetDeviceStreamCategory(
1101 DWORD dwSourceStreamIndex,
1102 MF_CAPTURE_ENGINE_STREAM_CATEGORY *pStreamCategory) = 0;
1103
1104 virtual HRESULT STDMETHODCALLTYPE GetMirrorState(
1105 DWORD dwStreamIndex,
1106 WINBOOL *pfMirrorState) = 0;
1107
1108 virtual HRESULT STDMETHODCALLTYPE SetMirrorState(
1109 DWORD dwStreamIndex,
1110 WINBOOL fMirrorState) = 0;
1111
1112 virtual HRESULT STDMETHODCALLTYPE GetStreamIndexFromFriendlyName(
1113 UINT32 uifriendlyName,
1114 DWORD *pdwActualStreamIndex) = 0;
1115
1116};
1117#ifdef __CRT_UUID_DECL
1118__CRT_UUID_DECL(IMFCaptureSource, 0x439a42a8, 0x0d2c, 0x4505, 0xbe,0x83, 0xf7,0x9b,0x2a,0x05,0xd5,0xc4)
1119#endif
1120#else
1121typedef struct IMFCaptureSourceVtbl {
1122 BEGIN_INTERFACE
1123
1124 /*** IUnknown methods ***/
1125 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1126 IMFCaptureSource *This,
1127 REFIID riid,
1128 void **ppvObject);
1129
1130 ULONG (STDMETHODCALLTYPE *AddRef)(
1131 IMFCaptureSource *This);
1132
1133 ULONG (STDMETHODCALLTYPE *Release)(
1134 IMFCaptureSource *This);
1135
1136 /*** IMFCaptureSource methods ***/
1137 HRESULT (STDMETHODCALLTYPE *GetCaptureDeviceSource)(
1138 IMFCaptureSource *This,
1139 MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,
1140 IMFMediaSource **ppMediaSource);
1141
1142 HRESULT (STDMETHODCALLTYPE *GetCaptureDeviceActivate)(
1143 IMFCaptureSource *This,
1144 MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,
1145 IMFActivate **ppActivate);
1146
1147 HRESULT (STDMETHODCALLTYPE *GetService)(
1148 IMFCaptureSource *This,
1149 REFIID rguidService,
1150 REFIID riid,
1151 IUnknown **ppUnknown);
1152
1153 HRESULT (STDMETHODCALLTYPE *AddEffect)(
1154 IMFCaptureSource *This,
1155 DWORD dwSourceStreamIndex,
1156 IUnknown *pUnknown);
1157
1158 HRESULT (STDMETHODCALLTYPE *RemoveEffect)(
1159 IMFCaptureSource *This,
1160 DWORD dwSourceStreamIndex,
1161 IUnknown *pUnknown);
1162
1163 HRESULT (STDMETHODCALLTYPE *RemoveAllEffects)(
1164 IMFCaptureSource *This,
1165 DWORD dwSourceStreamIndex);
1166
1167 HRESULT (STDMETHODCALLTYPE *GetAvailableDeviceMediaType)(
1168 IMFCaptureSource *This,
1169 DWORD dwSourceStreamIndex,
1170 DWORD dwMediaTypeIndex,
1171 IMFMediaType **ppMediaType);
1172
1173 HRESULT (STDMETHODCALLTYPE *SetCurrentDeviceMediaType)(
1174 IMFCaptureSource *This,
1175 DWORD dwSourceStreamIndex,
1176 IMFMediaType *pMediaType);
1177
1178 HRESULT (STDMETHODCALLTYPE *GetCurrentDeviceMediaType)(
1179 IMFCaptureSource *This,
1180 DWORD dwSourceStreamIndex,
1181 IMFMediaType **ppMediaType);
1182
1183 HRESULT (STDMETHODCALLTYPE *GetDeviceStreamCount)(
1184 IMFCaptureSource *This,
1185 DWORD *pdwStreamCount);
1186
1187 HRESULT (STDMETHODCALLTYPE *GetDeviceStreamCategory)(
1188 IMFCaptureSource *This,
1189 DWORD dwSourceStreamIndex,
1190 MF_CAPTURE_ENGINE_STREAM_CATEGORY *pStreamCategory);
1191
1192 HRESULT (STDMETHODCALLTYPE *GetMirrorState)(
1193 IMFCaptureSource *This,
1194 DWORD dwStreamIndex,
1195 WINBOOL *pfMirrorState);
1196
1197 HRESULT (STDMETHODCALLTYPE *SetMirrorState)(
1198 IMFCaptureSource *This,
1199 DWORD dwStreamIndex,
1200 WINBOOL fMirrorState);
1201
1202 HRESULT (STDMETHODCALLTYPE *GetStreamIndexFromFriendlyName)(
1203 IMFCaptureSource *This,
1204 UINT32 uifriendlyName,
1205 DWORD *pdwActualStreamIndex);
1206
1207 END_INTERFACE
1208} IMFCaptureSourceVtbl;
1209
1210interface IMFCaptureSource {
1211 CONST_VTBL IMFCaptureSourceVtbl* lpVtbl;
1212};
1213
1214#ifdef COBJMACROS
1215#ifndef WIDL_C_INLINE_WRAPPERS
1216/*** IUnknown methods ***/
1217#define IMFCaptureSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1218#define IMFCaptureSource_AddRef(This) (This)->lpVtbl->AddRef(This)
1219#define IMFCaptureSource_Release(This) (This)->lpVtbl->Release(This)
1220/*** IMFCaptureSource methods ***/
1221#define IMFCaptureSource_GetCaptureDeviceSource(This,mfCaptureEngineDeviceType,ppMediaSource) (This)->lpVtbl->GetCaptureDeviceSource(This,mfCaptureEngineDeviceType,ppMediaSource)
1222#define IMFCaptureSource_GetCaptureDeviceActivate(This,mfCaptureEngineDeviceType,ppActivate) (This)->lpVtbl->GetCaptureDeviceActivate(This,mfCaptureEngineDeviceType,ppActivate)
1223#define IMFCaptureSource_GetService(This,rguidService,riid,ppUnknown) (This)->lpVtbl->GetService(This,rguidService,riid,ppUnknown)
1224#define IMFCaptureSource_AddEffect(This,dwSourceStreamIndex,pUnknown) (This)->lpVtbl->AddEffect(This,dwSourceStreamIndex,pUnknown)
1225#define IMFCaptureSource_RemoveEffect(This,dwSourceStreamIndex,pUnknown) (This)->lpVtbl->RemoveEffect(This,dwSourceStreamIndex,pUnknown)
1226#define IMFCaptureSource_RemoveAllEffects(This,dwSourceStreamIndex) (This)->lpVtbl->RemoveAllEffects(This,dwSourceStreamIndex)
1227#define IMFCaptureSource_GetAvailableDeviceMediaType(This,dwSourceStreamIndex,dwMediaTypeIndex,ppMediaType) (This)->lpVtbl->GetAvailableDeviceMediaType(This,dwSourceStreamIndex,dwMediaTypeIndex,ppMediaType)
1228#define IMFCaptureSource_SetCurrentDeviceMediaType(This,dwSourceStreamIndex,pMediaType) (This)->lpVtbl->SetCurrentDeviceMediaType(This,dwSourceStreamIndex,pMediaType)
1229#define IMFCaptureSource_GetCurrentDeviceMediaType(This,dwSourceStreamIndex,ppMediaType) (This)->lpVtbl->GetCurrentDeviceMediaType(This,dwSourceStreamIndex,ppMediaType)
1230#define IMFCaptureSource_GetDeviceStreamCount(This,pdwStreamCount) (This)->lpVtbl->GetDeviceStreamCount(This,pdwStreamCount)
1231#define IMFCaptureSource_GetDeviceStreamCategory(This,dwSourceStreamIndex,pStreamCategory) (This)->lpVtbl->GetDeviceStreamCategory(This,dwSourceStreamIndex,pStreamCategory)
1232#define IMFCaptureSource_GetMirrorState(This,dwStreamIndex,pfMirrorState) (This)->lpVtbl->GetMirrorState(This,dwStreamIndex,pfMirrorState)
1233#define IMFCaptureSource_SetMirrorState(This,dwStreamIndex,fMirrorState) (This)->lpVtbl->SetMirrorState(This,dwStreamIndex,fMirrorState)
1234#define IMFCaptureSource_GetStreamIndexFromFriendlyName(This,uifriendlyName,pdwActualStreamIndex) (This)->lpVtbl->GetStreamIndexFromFriendlyName(This,uifriendlyName,pdwActualStreamIndex)
1235#else
1236/*** IUnknown methods ***/
1237static FORCEINLINE HRESULT IMFCaptureSource_QueryInterface(IMFCaptureSource* This,REFIID riid,void **ppvObject) {
1238 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1239}
1240static FORCEINLINE ULONG IMFCaptureSource_AddRef(IMFCaptureSource* This) {
1241 return This->lpVtbl->AddRef(This);
1242}
1243static FORCEINLINE ULONG IMFCaptureSource_Release(IMFCaptureSource* This) {
1244 return This->lpVtbl->Release(This);
1245}
1246/*** IMFCaptureSource methods ***/
1247static FORCEINLINE HRESULT IMFCaptureSource_GetCaptureDeviceSource(IMFCaptureSource* This,MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,IMFMediaSource **ppMediaSource) {
1248 return This->lpVtbl->GetCaptureDeviceSource(This,mfCaptureEngineDeviceType,ppMediaSource);
1249}
1250static FORCEINLINE HRESULT IMFCaptureSource_GetCaptureDeviceActivate(IMFCaptureSource* This,MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,IMFActivate **ppActivate) {
1251 return This->lpVtbl->GetCaptureDeviceActivate(This,mfCaptureEngineDeviceType,ppActivate);
1252}
1253static FORCEINLINE HRESULT IMFCaptureSource_GetService(IMFCaptureSource* This,REFIID rguidService,REFIID riid,IUnknown **ppUnknown) {
1254 return This->lpVtbl->GetService(This,rguidService,riid,ppUnknown);
1255}
1256static FORCEINLINE HRESULT IMFCaptureSource_AddEffect(IMFCaptureSource* This,DWORD dwSourceStreamIndex,IUnknown *pUnknown) {
1257 return This->lpVtbl->AddEffect(This,dwSourceStreamIndex,pUnknown);
1258}
1259static FORCEINLINE HRESULT IMFCaptureSource_RemoveEffect(IMFCaptureSource* This,DWORD dwSourceStreamIndex,IUnknown *pUnknown) {
1260 return This->lpVtbl->RemoveEffect(This,dwSourceStreamIndex,pUnknown);
1261}
1262static FORCEINLINE HRESULT IMFCaptureSource_RemoveAllEffects(IMFCaptureSource* This,DWORD dwSourceStreamIndex) {
1263 return This->lpVtbl->RemoveAllEffects(This,dwSourceStreamIndex);
1264}
1265static FORCEINLINE HRESULT IMFCaptureSource_GetAvailableDeviceMediaType(IMFCaptureSource* This,DWORD dwSourceStreamIndex,DWORD dwMediaTypeIndex,IMFMediaType **ppMediaType) {
1266 return This->lpVtbl->GetAvailableDeviceMediaType(This,dwSourceStreamIndex,dwMediaTypeIndex,ppMediaType);
1267}
1268static FORCEINLINE HRESULT IMFCaptureSource_SetCurrentDeviceMediaType(IMFCaptureSource* This,DWORD dwSourceStreamIndex,IMFMediaType *pMediaType) {
1269 return This->lpVtbl->SetCurrentDeviceMediaType(This,dwSourceStreamIndex,pMediaType);
1270}
1271static FORCEINLINE HRESULT IMFCaptureSource_GetCurrentDeviceMediaType(IMFCaptureSource* This,DWORD dwSourceStreamIndex,IMFMediaType **ppMediaType) {
1272 return This->lpVtbl->GetCurrentDeviceMediaType(This,dwSourceStreamIndex,ppMediaType);
1273}
1274static FORCEINLINE HRESULT IMFCaptureSource_GetDeviceStreamCount(IMFCaptureSource* This,DWORD *pdwStreamCount) {
1275 return This->lpVtbl->GetDeviceStreamCount(This,pdwStreamCount);
1276}
1277static FORCEINLINE HRESULT IMFCaptureSource_GetDeviceStreamCategory(IMFCaptureSource* This,DWORD dwSourceStreamIndex,MF_CAPTURE_ENGINE_STREAM_CATEGORY *pStreamCategory) {
1278 return This->lpVtbl->GetDeviceStreamCategory(This,dwSourceStreamIndex,pStreamCategory);
1279}
1280static FORCEINLINE HRESULT IMFCaptureSource_GetMirrorState(IMFCaptureSource* This,DWORD dwStreamIndex,WINBOOL *pfMirrorState) {
1281 return This->lpVtbl->GetMirrorState(This,dwStreamIndex,pfMirrorState);
1282}
1283static FORCEINLINE HRESULT IMFCaptureSource_SetMirrorState(IMFCaptureSource* This,DWORD dwStreamIndex,WINBOOL fMirrorState) {
1284 return This->lpVtbl->SetMirrorState(This,dwStreamIndex,fMirrorState);
1285}
1286static FORCEINLINE HRESULT IMFCaptureSource_GetStreamIndexFromFriendlyName(IMFCaptureSource* This,UINT32 uifriendlyName,DWORD *pdwActualStreamIndex) {
1287 return This->lpVtbl->GetStreamIndexFromFriendlyName(This,uifriendlyName,pdwActualStreamIndex);
1288}
1289#endif
1290#endif
1291
1292#endif
1293
1294
1295#endif /* __IMFCaptureSource_INTERFACE_DEFINED__ */
1296
1297EXTERN_GUID(CLSID_MFCaptureEngine, 0xefce38d3, 0x8914, 0x4674,0xa7, 0xdf, 0xae, 0x1b, 0x3d, 0x65, 0x4b, 0x8a);
1298/*****************************************************************************
1299 * IMFCaptureEngine interface
1300 */
1301#ifndef __IMFCaptureEngine_INTERFACE_DEFINED__
1302#define __IMFCaptureEngine_INTERFACE_DEFINED__
1303
1304DEFINE_GUID(IID_IMFCaptureEngine, 0xa6bba433, 0x176b, 0x48b2, 0xb3,0x75, 0x53,0xaa,0x03,0x47,0x32,0x07);
1305#if defined(__cplusplus) && !defined(CINTERFACE)
1306MIDL_INTERFACE("a6bba433-176b-48b2-b375-53aa03473207")
1307IMFCaptureEngine : public IUnknown
1308{
1309 virtual HRESULT STDMETHODCALLTYPE Initialize(
1310 IMFCaptureEngineOnEventCallback *pEventCallback,
1311 IMFAttributes *pAttributes,
1312 IUnknown *pAudioSource,
1313 IUnknown *pVideoSource) = 0;
1314
1315 virtual HRESULT STDMETHODCALLTYPE StartPreview(
1316 ) = 0;
1317
1318 virtual HRESULT STDMETHODCALLTYPE StopPreview(
1319 ) = 0;
1320
1321 virtual HRESULT STDMETHODCALLTYPE StartRecord(
1322 ) = 0;
1323
1324 virtual HRESULT STDMETHODCALLTYPE StopRecord(
1325 WINBOOL bFinalize,
1326 WINBOOL bFlushUnprocessedSamples) = 0;
1327
1328 virtual HRESULT STDMETHODCALLTYPE TakePhoto(
1329 ) = 0;
1330
1331 virtual HRESULT STDMETHODCALLTYPE GetSink(
1332 MF_CAPTURE_ENGINE_SINK_TYPE mfCaptureEngineSinkType,
1333 IMFCaptureSink **ppSink) = 0;
1334
1335 virtual HRESULT STDMETHODCALLTYPE GetSource(
1336 IMFCaptureSource **ppSource) = 0;
1337
1338};
1339#ifdef __CRT_UUID_DECL
1340__CRT_UUID_DECL(IMFCaptureEngine, 0xa6bba433, 0x176b, 0x48b2, 0xb3,0x75, 0x53,0xaa,0x03,0x47,0x32,0x07)
1341#endif
1342#else
1343typedef struct IMFCaptureEngineVtbl {
1344 BEGIN_INTERFACE
1345
1346 /*** IUnknown methods ***/
1347 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1348 IMFCaptureEngine *This,
1349 REFIID riid,
1350 void **ppvObject);
1351
1352 ULONG (STDMETHODCALLTYPE *AddRef)(
1353 IMFCaptureEngine *This);
1354
1355 ULONG (STDMETHODCALLTYPE *Release)(
1356 IMFCaptureEngine *This);
1357
1358 /*** IMFCaptureEngine methods ***/
1359 HRESULT (STDMETHODCALLTYPE *Initialize)(
1360 IMFCaptureEngine *This,
1361 IMFCaptureEngineOnEventCallback *pEventCallback,
1362 IMFAttributes *pAttributes,
1363 IUnknown *pAudioSource,
1364 IUnknown *pVideoSource);
1365
1366 HRESULT (STDMETHODCALLTYPE *StartPreview)(
1367 IMFCaptureEngine *This);
1368
1369 HRESULT (STDMETHODCALLTYPE *StopPreview)(
1370 IMFCaptureEngine *This);
1371
1372 HRESULT (STDMETHODCALLTYPE *StartRecord)(
1373 IMFCaptureEngine *This);
1374
1375 HRESULT (STDMETHODCALLTYPE *StopRecord)(
1376 IMFCaptureEngine *This,
1377 WINBOOL bFinalize,
1378 WINBOOL bFlushUnprocessedSamples);
1379
1380 HRESULT (STDMETHODCALLTYPE *TakePhoto)(
1381 IMFCaptureEngine *This);
1382
1383 HRESULT (STDMETHODCALLTYPE *GetSink)(
1384 IMFCaptureEngine *This,
1385 MF_CAPTURE_ENGINE_SINK_TYPE mfCaptureEngineSinkType,
1386 IMFCaptureSink **ppSink);
1387
1388 HRESULT (STDMETHODCALLTYPE *GetSource)(
1389 IMFCaptureEngine *This,
1390 IMFCaptureSource **ppSource);
1391
1392 END_INTERFACE
1393} IMFCaptureEngineVtbl;
1394
1395interface IMFCaptureEngine {
1396 CONST_VTBL IMFCaptureEngineVtbl* lpVtbl;
1397};
1398
1399#ifdef COBJMACROS
1400#ifndef WIDL_C_INLINE_WRAPPERS
1401/*** IUnknown methods ***/
1402#define IMFCaptureEngine_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1403#define IMFCaptureEngine_AddRef(This) (This)->lpVtbl->AddRef(This)
1404#define IMFCaptureEngine_Release(This) (This)->lpVtbl->Release(This)
1405/*** IMFCaptureEngine methods ***/
1406#define IMFCaptureEngine_Initialize(This,pEventCallback,pAttributes,pAudioSource,pVideoSource) (This)->lpVtbl->Initialize(This,pEventCallback,pAttributes,pAudioSource,pVideoSource)
1407#define IMFCaptureEngine_StartPreview(This) (This)->lpVtbl->StartPreview(This)
1408#define IMFCaptureEngine_StopPreview(This) (This)->lpVtbl->StopPreview(This)
1409#define IMFCaptureEngine_StartRecord(This) (This)->lpVtbl->StartRecord(This)
1410#define IMFCaptureEngine_StopRecord(This,bFinalize,bFlushUnprocessedSamples) (This)->lpVtbl->StopRecord(This,bFinalize,bFlushUnprocessedSamples)
1411#define IMFCaptureEngine_TakePhoto(This) (This)->lpVtbl->TakePhoto(This)
1412#define IMFCaptureEngine_GetSink(This,mfCaptureEngineSinkType,ppSink) (This)->lpVtbl->GetSink(This,mfCaptureEngineSinkType,ppSink)
1413#define IMFCaptureEngine_GetSource(This,ppSource) (This)->lpVtbl->GetSource(This,ppSource)
1414#else
1415/*** IUnknown methods ***/
1416static FORCEINLINE HRESULT IMFCaptureEngine_QueryInterface(IMFCaptureEngine* This,REFIID riid,void **ppvObject) {
1417 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1418}
1419static FORCEINLINE ULONG IMFCaptureEngine_AddRef(IMFCaptureEngine* This) {
1420 return This->lpVtbl->AddRef(This);
1421}
1422static FORCEINLINE ULONG IMFCaptureEngine_Release(IMFCaptureEngine* This) {
1423 return This->lpVtbl->Release(This);
1424}
1425/*** IMFCaptureEngine methods ***/
1426static FORCEINLINE HRESULT IMFCaptureEngine_Initialize(IMFCaptureEngine* This,IMFCaptureEngineOnEventCallback *pEventCallback,IMFAttributes *pAttributes,IUnknown *pAudioSource,IUnknown *pVideoSource) {
1427 return This->lpVtbl->Initialize(This,pEventCallback,pAttributes,pAudioSource,pVideoSource);
1428}
1429static FORCEINLINE HRESULT IMFCaptureEngine_StartPreview(IMFCaptureEngine* This) {
1430 return This->lpVtbl->StartPreview(This);
1431}
1432static FORCEINLINE HRESULT IMFCaptureEngine_StopPreview(IMFCaptureEngine* This) {
1433 return This->lpVtbl->StopPreview(This);
1434}
1435static FORCEINLINE HRESULT IMFCaptureEngine_StartRecord(IMFCaptureEngine* This) {
1436 return This->lpVtbl->StartRecord(This);
1437}
1438static FORCEINLINE HRESULT IMFCaptureEngine_StopRecord(IMFCaptureEngine* This,WINBOOL bFinalize,WINBOOL bFlushUnprocessedSamples) {
1439 return This->lpVtbl->StopRecord(This,bFinalize,bFlushUnprocessedSamples);
1440}
1441static FORCEINLINE HRESULT IMFCaptureEngine_TakePhoto(IMFCaptureEngine* This) {
1442 return This->lpVtbl->TakePhoto(This);
1443}
1444static FORCEINLINE HRESULT IMFCaptureEngine_GetSink(IMFCaptureEngine* This,MF_CAPTURE_ENGINE_SINK_TYPE mfCaptureEngineSinkType,IMFCaptureSink **ppSink) {
1445 return This->lpVtbl->GetSink(This,mfCaptureEngineSinkType,ppSink);
1446}
1447static FORCEINLINE HRESULT IMFCaptureEngine_GetSource(IMFCaptureEngine* This,IMFCaptureSource **ppSource) {
1448 return This->lpVtbl->GetSource(This,ppSource);
1449}
1450#endif
1451#endif
1452
1453#endif
1454
1455
1456#endif /* __IMFCaptureEngine_INTERFACE_DEFINED__ */
1457
1458EXTERN_GUID(CLSID_MFCaptureEngineClassFactory, 0xefce38d3, 0x8914, 0x4674,0xa7, 0xdf, 0xae, 0x1b, 0x3d, 0x65, 0x4b, 0x8a);
1459/*****************************************************************************
1460 * IMFCaptureEngineClassFactory interface
1461 */
1462#ifndef __IMFCaptureEngineClassFactory_INTERFACE_DEFINED__
1463#define __IMFCaptureEngineClassFactory_INTERFACE_DEFINED__
1464
1465DEFINE_GUID(IID_IMFCaptureEngineClassFactory, 0x8f02d140, 0x56fc, 0x4302, 0xa7,0x05, 0x3a,0x97,0xc7,0x8b,0xe7,0x79);
1466#if defined(__cplusplus) && !defined(CINTERFACE)
1467MIDL_INTERFACE("8f02d140-56fc-4302-a705-3a97c78be779")
1468IMFCaptureEngineClassFactory : public IUnknown
1469{
1470 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
1471 REFCLSID clsid,
1472 REFIID riid,
1473 LPVOID *ppvObject) = 0;
1474
1475};
1476#ifdef __CRT_UUID_DECL
1477__CRT_UUID_DECL(IMFCaptureEngineClassFactory, 0x8f02d140, 0x56fc, 0x4302, 0xa7,0x05, 0x3a,0x97,0xc7,0x8b,0xe7,0x79)
1478#endif
1479#else
1480typedef struct IMFCaptureEngineClassFactoryVtbl {
1481 BEGIN_INTERFACE
1482
1483 /*** IUnknown methods ***/
1484 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1485 IMFCaptureEngineClassFactory *This,
1486 REFIID riid,
1487 void **ppvObject);
1488
1489 ULONG (STDMETHODCALLTYPE *AddRef)(
1490 IMFCaptureEngineClassFactory *This);
1491
1492 ULONG (STDMETHODCALLTYPE *Release)(
1493 IMFCaptureEngineClassFactory *This);
1494
1495 /*** IMFCaptureEngineClassFactory methods ***/
1496 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1497 IMFCaptureEngineClassFactory *This,
1498 REFCLSID clsid,
1499 REFIID riid,
1500 LPVOID *ppvObject);
1501
1502 END_INTERFACE
1503} IMFCaptureEngineClassFactoryVtbl;
1504
1505interface IMFCaptureEngineClassFactory {
1506 CONST_VTBL IMFCaptureEngineClassFactoryVtbl* lpVtbl;
1507};
1508
1509#ifdef COBJMACROS
1510#ifndef WIDL_C_INLINE_WRAPPERS
1511/*** IUnknown methods ***/
1512#define IMFCaptureEngineClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1513#define IMFCaptureEngineClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1514#define IMFCaptureEngineClassFactory_Release(This) (This)->lpVtbl->Release(This)
1515/*** IMFCaptureEngineClassFactory methods ***/
1516#define IMFCaptureEngineClassFactory_CreateInstance(This,clsid,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,clsid,riid,ppvObject)
1517#else
1518/*** IUnknown methods ***/
1519static FORCEINLINE HRESULT IMFCaptureEngineClassFactory_QueryInterface(IMFCaptureEngineClassFactory* This,REFIID riid,void **ppvObject) {
1520 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1521}
1522static FORCEINLINE ULONG IMFCaptureEngineClassFactory_AddRef(IMFCaptureEngineClassFactory* This) {
1523 return This->lpVtbl->AddRef(This);
1524}
1525static FORCEINLINE ULONG IMFCaptureEngineClassFactory_Release(IMFCaptureEngineClassFactory* This) {
1526 return This->lpVtbl->Release(This);
1527}
1528/*** IMFCaptureEngineClassFactory methods ***/
1529static FORCEINLINE HRESULT IMFCaptureEngineClassFactory_CreateInstance(IMFCaptureEngineClassFactory* This,REFCLSID clsid,REFIID riid,LPVOID *ppvObject) {
1530 return This->lpVtbl->CreateInstance(This,clsid,riid,ppvObject);
1531}
1532#endif
1533#endif
1534
1535#endif
1536
1537
1538#endif /* __IMFCaptureEngineClassFactory_INTERFACE_DEFINED__ */
1539
1540EXTERN_GUID(MFSampleExtension_DeviceReferenceSystemTime, 0x6523775a, 0xba2d, 0x405f,0xb2, 0xc5, 0x01, 0xff, 0x88, 0xe2, 0xe8, 0xf6);
1541/*****************************************************************************
1542 * IMFCaptureEngineOnSampleCallback2 interface
1543 */
1544#ifndef __IMFCaptureEngineOnSampleCallback2_INTERFACE_DEFINED__
1545#define __IMFCaptureEngineOnSampleCallback2_INTERFACE_DEFINED__
1546
1547DEFINE_GUID(IID_IMFCaptureEngineOnSampleCallback2, 0xe37ceed7, 0x340f, 0x4514, 0x9f,0x4d, 0x9c,0x2a,0xe0,0x26,0x10,0x0b);
1548#if defined(__cplusplus) && !defined(CINTERFACE)
1549MIDL_INTERFACE("e37ceed7-340f-4514-9f4d-9c2ae026100b")
1550IMFCaptureEngineOnSampleCallback2 : public IMFCaptureEngineOnSampleCallback
1551{
1552 virtual HRESULT STDMETHODCALLTYPE OnSynchronizedEvent(
1553 IMFMediaEvent *pEvent) = 0;
1554
1555};
1556#ifdef __CRT_UUID_DECL
1557__CRT_UUID_DECL(IMFCaptureEngineOnSampleCallback2, 0xe37ceed7, 0x340f, 0x4514, 0x9f,0x4d, 0x9c,0x2a,0xe0,0x26,0x10,0x0b)
1558#endif
1559#else
1560typedef struct IMFCaptureEngineOnSampleCallback2Vtbl {
1561 BEGIN_INTERFACE
1562
1563 /*** IUnknown methods ***/
1564 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1565 IMFCaptureEngineOnSampleCallback2 *This,
1566 REFIID riid,
1567 void **ppvObject);
1568
1569 ULONG (STDMETHODCALLTYPE *AddRef)(
1570 IMFCaptureEngineOnSampleCallback2 *This);
1571
1572 ULONG (STDMETHODCALLTYPE *Release)(
1573 IMFCaptureEngineOnSampleCallback2 *This);
1574
1575 /*** IMFCaptureEngineOnSampleCallback methods ***/
1576 HRESULT (STDMETHODCALLTYPE *OnSample)(
1577 IMFCaptureEngineOnSampleCallback2 *This,
1578 IMFSample *pSample);
1579
1580 /*** IMFCaptureEngineOnSampleCallback2 methods ***/
1581 HRESULT (STDMETHODCALLTYPE *OnSynchronizedEvent)(
1582 IMFCaptureEngineOnSampleCallback2 *This,
1583 IMFMediaEvent *pEvent);
1584
1585 END_INTERFACE
1586} IMFCaptureEngineOnSampleCallback2Vtbl;
1587
1588interface IMFCaptureEngineOnSampleCallback2 {
1589 CONST_VTBL IMFCaptureEngineOnSampleCallback2Vtbl* lpVtbl;
1590};
1591
1592#ifdef COBJMACROS
1593#ifndef WIDL_C_INLINE_WRAPPERS
1594/*** IUnknown methods ***/
1595#define IMFCaptureEngineOnSampleCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1596#define IMFCaptureEngineOnSampleCallback2_AddRef(This) (This)->lpVtbl->AddRef(This)
1597#define IMFCaptureEngineOnSampleCallback2_Release(This) (This)->lpVtbl->Release(This)
1598/*** IMFCaptureEngineOnSampleCallback methods ***/
1599#define IMFCaptureEngineOnSampleCallback2_OnSample(This,pSample) (This)->lpVtbl->OnSample(This,pSample)
1600/*** IMFCaptureEngineOnSampleCallback2 methods ***/
1601#define IMFCaptureEngineOnSampleCallback2_OnSynchronizedEvent(This,pEvent) (This)->lpVtbl->OnSynchronizedEvent(This,pEvent)
1602#else
1603/*** IUnknown methods ***/
1604static FORCEINLINE HRESULT IMFCaptureEngineOnSampleCallback2_QueryInterface(IMFCaptureEngineOnSampleCallback2* This,REFIID riid,void **ppvObject) {
1605 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1606}
1607static FORCEINLINE ULONG IMFCaptureEngineOnSampleCallback2_AddRef(IMFCaptureEngineOnSampleCallback2* This) {
1608 return This->lpVtbl->AddRef(This);
1609}
1610static FORCEINLINE ULONG IMFCaptureEngineOnSampleCallback2_Release(IMFCaptureEngineOnSampleCallback2* This) {
1611 return This->lpVtbl->Release(This);
1612}
1613/*** IMFCaptureEngineOnSampleCallback methods ***/
1614static FORCEINLINE HRESULT IMFCaptureEngineOnSampleCallback2_OnSample(IMFCaptureEngineOnSampleCallback2* This,IMFSample *pSample) {
1615 return This->lpVtbl->OnSample(This,pSample);
1616}
1617/*** IMFCaptureEngineOnSampleCallback2 methods ***/
1618static FORCEINLINE HRESULT IMFCaptureEngineOnSampleCallback2_OnSynchronizedEvent(IMFCaptureEngineOnSampleCallback2* This,IMFMediaEvent *pEvent) {
1619 return This->lpVtbl->OnSynchronizedEvent(This,pEvent);
1620}
1621#endif
1622#endif
1623
1624#endif
1625
1626
1627#endif /* __IMFCaptureEngineOnSampleCallback2_INTERFACE_DEFINED__ */
1628
1629/*****************************************************************************
1630 * IMFCaptureSink2 interface
1631 */
1632#ifndef __IMFCaptureSink2_INTERFACE_DEFINED__
1633#define __IMFCaptureSink2_INTERFACE_DEFINED__
1634
1635DEFINE_GUID(IID_IMFCaptureSink2, 0xf9e4219e, 0x6197, 0x4b5e, 0xb8,0x88, 0xbe,0xe3,0x10,0xab,0x2c,0x59);
1636#if defined(__cplusplus) && !defined(CINTERFACE)
1637MIDL_INTERFACE("f9e4219e-6197-4b5e-b888-bee310ab2c59")
1638IMFCaptureSink2 : public IMFCaptureSink
1639{
1640 virtual HRESULT STDMETHODCALLTYPE SetOutputMediaType(
1641 DWORD dwStreamIndex,
1642 IMFMediaType *pMediaType,
1643 IMFAttributes *pEncodingAttributes) = 0;
1644
1645};
1646#ifdef __CRT_UUID_DECL
1647__CRT_UUID_DECL(IMFCaptureSink2, 0xf9e4219e, 0x6197, 0x4b5e, 0xb8,0x88, 0xbe,0xe3,0x10,0xab,0x2c,0x59)
1648#endif
1649#else
1650typedef struct IMFCaptureSink2Vtbl {
1651 BEGIN_INTERFACE
1652
1653 /*** IUnknown methods ***/
1654 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1655 IMFCaptureSink2 *This,
1656 REFIID riid,
1657 void **ppvObject);
1658
1659 ULONG (STDMETHODCALLTYPE *AddRef)(
1660 IMFCaptureSink2 *This);
1661
1662 ULONG (STDMETHODCALLTYPE *Release)(
1663 IMFCaptureSink2 *This);
1664
1665 /*** IMFCaptureSink methods ***/
1666 HRESULT (STDMETHODCALLTYPE *GetOutputMediaType)(
1667 IMFCaptureSink2 *This,
1668 DWORD dwSinkStreamIndex,
1669 IMFMediaType **ppMediaType);
1670
1671 HRESULT (STDMETHODCALLTYPE *GetService)(
1672 IMFCaptureSink2 *This,
1673 DWORD dwSinkStreamIndex,
1674 REFGUID rguidService,
1675 REFIID riid,
1676 IUnknown **ppUnknown);
1677
1678 HRESULT (STDMETHODCALLTYPE *AddStream)(
1679 IMFCaptureSink2 *This,
1680 DWORD dwSourceStreamIndex,
1681 IMFMediaType *pMediaType,
1682 IMFAttributes *pAttributes,
1683 DWORD *pdwSinkStreamIndex);
1684
1685 HRESULT (STDMETHODCALLTYPE *Prepare)(
1686 IMFCaptureSink2 *This);
1687
1688 HRESULT (STDMETHODCALLTYPE *RemoveAllStreams)(
1689 IMFCaptureSink2 *This);
1690
1691 /*** IMFCaptureSink2 methods ***/
1692 HRESULT (STDMETHODCALLTYPE *SetOutputMediaType)(
1693 IMFCaptureSink2 *This,
1694 DWORD dwStreamIndex,
1695 IMFMediaType *pMediaType,
1696 IMFAttributes *pEncodingAttributes);
1697
1698 END_INTERFACE
1699} IMFCaptureSink2Vtbl;
1700
1701interface IMFCaptureSink2 {
1702 CONST_VTBL IMFCaptureSink2Vtbl* lpVtbl;
1703};
1704
1705#ifdef COBJMACROS
1706#ifndef WIDL_C_INLINE_WRAPPERS
1707/*** IUnknown methods ***/
1708#define IMFCaptureSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1709#define IMFCaptureSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
1710#define IMFCaptureSink2_Release(This) (This)->lpVtbl->Release(This)
1711/*** IMFCaptureSink methods ***/
1712#define IMFCaptureSink2_GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType) (This)->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType)
1713#define IMFCaptureSink2_GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown) (This)->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown)
1714#define IMFCaptureSink2_AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex) (This)->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex)
1715#define IMFCaptureSink2_Prepare(This) (This)->lpVtbl->Prepare(This)
1716#define IMFCaptureSink2_RemoveAllStreams(This) (This)->lpVtbl->RemoveAllStreams(This)
1717/*** IMFCaptureSink2 methods ***/
1718#define IMFCaptureSink2_SetOutputMediaType(This,dwStreamIndex,pMediaType,pEncodingAttributes) (This)->lpVtbl->SetOutputMediaType(This,dwStreamIndex,pMediaType,pEncodingAttributes)
1719#else
1720/*** IUnknown methods ***/
1721static FORCEINLINE HRESULT IMFCaptureSink2_QueryInterface(IMFCaptureSink2* This,REFIID riid,void **ppvObject) {
1722 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1723}
1724static FORCEINLINE ULONG IMFCaptureSink2_AddRef(IMFCaptureSink2* This) {
1725 return This->lpVtbl->AddRef(This);
1726}
1727static FORCEINLINE ULONG IMFCaptureSink2_Release(IMFCaptureSink2* This) {
1728 return This->lpVtbl->Release(This);
1729}
1730/*** IMFCaptureSink methods ***/
1731static FORCEINLINE HRESULT IMFCaptureSink2_GetOutputMediaType(IMFCaptureSink2* This,DWORD dwSinkStreamIndex,IMFMediaType **ppMediaType) {
1732 return This->lpVtbl->GetOutputMediaType(This,dwSinkStreamIndex,ppMediaType);
1733}
1734static FORCEINLINE HRESULT IMFCaptureSink2_GetService(IMFCaptureSink2* This,DWORD dwSinkStreamIndex,REFGUID rguidService,REFIID riid,IUnknown **ppUnknown) {
1735 return This->lpVtbl->GetService(This,dwSinkStreamIndex,rguidService,riid,ppUnknown);
1736}
1737static FORCEINLINE HRESULT IMFCaptureSink2_AddStream(IMFCaptureSink2* This,DWORD dwSourceStreamIndex,IMFMediaType *pMediaType,IMFAttributes *pAttributes,DWORD *pdwSinkStreamIndex) {
1738 return This->lpVtbl->AddStream(This,dwSourceStreamIndex,pMediaType,pAttributes,pdwSinkStreamIndex);
1739}
1740static FORCEINLINE HRESULT IMFCaptureSink2_Prepare(IMFCaptureSink2* This) {
1741 return This->lpVtbl->Prepare(This);
1742}
1743static FORCEINLINE HRESULT IMFCaptureSink2_RemoveAllStreams(IMFCaptureSink2* This) {
1744 return This->lpVtbl->RemoveAllStreams(This);
1745}
1746/*** IMFCaptureSink2 methods ***/
1747static FORCEINLINE HRESULT IMFCaptureSink2_SetOutputMediaType(IMFCaptureSink2* This,DWORD dwStreamIndex,IMFMediaType *pMediaType,IMFAttributes *pEncodingAttributes) {
1748 return This->lpVtbl->SetOutputMediaType(This,dwStreamIndex,pMediaType,pEncodingAttributes);
1749}
1750#endif
1751#endif
1752
1753#endif
1754
1755
1756#endif /* __IMFCaptureSink2_INTERFACE_DEFINED__ */
1757
1758#endif /* WINAPI_PARTITION_DESKTOP */
1759#endif /* WINVER >= _WIN32_WINNT_WIN7 */
1760/* Begin additional prototypes for all interfaces */
1761
1762
1763/* End additional prototypes */
1764
1765#ifdef __cplusplus
1766}
1767#endif
1768
1769#endif /* __mfcaptureengine_h__ */
lib/libc/include/any-windows-any/mfd3d12.h created+275
......@@ -0,0 +1,275 @@
1/*** Autogenerated by WIDL 7.0 from include/mfd3d12.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __mfd3d12_h__
17#define __mfd3d12_h__
18
19/* Forward declarations */
20
21#ifndef __IMFD3D12SynchronizationObjectCommands_FWD_DEFINED__
22#define __IMFD3D12SynchronizationObjectCommands_FWD_DEFINED__
23typedef interface IMFD3D12SynchronizationObjectCommands IMFD3D12SynchronizationObjectCommands;
24#ifdef __cplusplus
25interface IMFD3D12SynchronizationObjectCommands;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IMFD3D12SynchronizationObject_FWD_DEFINED__
30#define __IMFD3D12SynchronizationObject_FWD_DEFINED__
31typedef interface IMFD3D12SynchronizationObject IMFD3D12SynchronizationObject;
32#ifdef __cplusplus
33interface IMFD3D12SynchronizationObject;
34#endif /* __cplusplus */
35#endif
36
37/* Headers for imported files */
38
39#include <mfidl.h>
40#include <d3d12.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46#include <winapifamily.h>
47#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
48/*****************************************************************************
49 * IMFD3D12SynchronizationObjectCommands interface
50 */
51#ifndef __IMFD3D12SynchronizationObjectCommands_INTERFACE_DEFINED__
52#define __IMFD3D12SynchronizationObjectCommands_INTERFACE_DEFINED__
53
54DEFINE_GUID(IID_IMFD3D12SynchronizationObjectCommands, 0x09d0f835, 0x92ff, 0x4e53, 0x8e,0xfa, 0x40,0xfa,0xa5,0x51,0xf2,0x33);
55#if defined(__cplusplus) && !defined(CINTERFACE)
56MIDL_INTERFACE("09d0f835-92ff-4e53-8efa-40faa551f233")
57IMFD3D12SynchronizationObjectCommands : public IUnknown
58{
59 virtual HRESULT STDMETHODCALLTYPE EnqueueResourceReady(
60 ID3D12CommandQueue *pProducerCommandQueue) = 0;
61
62 virtual HRESULT STDMETHODCALLTYPE EnqueueResourceReadyWait(
63 ID3D12CommandQueue *pConsumerCommandQueue) = 0;
64
65 virtual HRESULT STDMETHODCALLTYPE SignalEventOnResourceReady(
66 HANDLE hEvent) = 0;
67
68 virtual HRESULT STDMETHODCALLTYPE EnqueueResourceRelease(
69 ID3D12CommandQueue *pConsumerCommandQueue) = 0;
70
71};
72#ifdef __CRT_UUID_DECL
73__CRT_UUID_DECL(IMFD3D12SynchronizationObjectCommands, 0x09d0f835, 0x92ff, 0x4e53, 0x8e,0xfa, 0x40,0xfa,0xa5,0x51,0xf2,0x33)
74#endif
75#else
76typedef struct IMFD3D12SynchronizationObjectCommandsVtbl {
77 BEGIN_INTERFACE
78
79 /*** IUnknown methods ***/
80 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
81 IMFD3D12SynchronizationObjectCommands *This,
82 REFIID riid,
83 void **ppvObject);
84
85 ULONG (STDMETHODCALLTYPE *AddRef)(
86 IMFD3D12SynchronizationObjectCommands *This);
87
88 ULONG (STDMETHODCALLTYPE *Release)(
89 IMFD3D12SynchronizationObjectCommands *This);
90
91 /*** IMFD3D12SynchronizationObjectCommands methods ***/
92 HRESULT (STDMETHODCALLTYPE *EnqueueResourceReady)(
93 IMFD3D12SynchronizationObjectCommands *This,
94 ID3D12CommandQueue *pProducerCommandQueue);
95
96 HRESULT (STDMETHODCALLTYPE *EnqueueResourceReadyWait)(
97 IMFD3D12SynchronizationObjectCommands *This,
98 ID3D12CommandQueue *pConsumerCommandQueue);
99
100 HRESULT (STDMETHODCALLTYPE *SignalEventOnResourceReady)(
101 IMFD3D12SynchronizationObjectCommands *This,
102 HANDLE hEvent);
103
104 HRESULT (STDMETHODCALLTYPE *EnqueueResourceRelease)(
105 IMFD3D12SynchronizationObjectCommands *This,
106 ID3D12CommandQueue *pConsumerCommandQueue);
107
108 END_INTERFACE
109} IMFD3D12SynchronizationObjectCommandsVtbl;
110
111interface IMFD3D12SynchronizationObjectCommands {
112 CONST_VTBL IMFD3D12SynchronizationObjectCommandsVtbl* lpVtbl;
113};
114
115#ifdef COBJMACROS
116#ifndef WIDL_C_INLINE_WRAPPERS
117/*** IUnknown methods ***/
118#define IMFD3D12SynchronizationObjectCommands_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
119#define IMFD3D12SynchronizationObjectCommands_AddRef(This) (This)->lpVtbl->AddRef(This)
120#define IMFD3D12SynchronizationObjectCommands_Release(This) (This)->lpVtbl->Release(This)
121/*** IMFD3D12SynchronizationObjectCommands methods ***/
122#define IMFD3D12SynchronizationObjectCommands_EnqueueResourceReady(This,pProducerCommandQueue) (This)->lpVtbl->EnqueueResourceReady(This,pProducerCommandQueue)
123#define IMFD3D12SynchronizationObjectCommands_EnqueueResourceReadyWait(This,pConsumerCommandQueue) (This)->lpVtbl->EnqueueResourceReadyWait(This,pConsumerCommandQueue)
124#define IMFD3D12SynchronizationObjectCommands_SignalEventOnResourceReady(This,hEvent) (This)->lpVtbl->SignalEventOnResourceReady(This,hEvent)
125#define IMFD3D12SynchronizationObjectCommands_EnqueueResourceRelease(This,pConsumerCommandQueue) (This)->lpVtbl->EnqueueResourceRelease(This,pConsumerCommandQueue)
126#else
127/*** IUnknown methods ***/
128static FORCEINLINE HRESULT IMFD3D12SynchronizationObjectCommands_QueryInterface(IMFD3D12SynchronizationObjectCommands* This,REFIID riid,void **ppvObject) {
129 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
130}
131static FORCEINLINE ULONG IMFD3D12SynchronizationObjectCommands_AddRef(IMFD3D12SynchronizationObjectCommands* This) {
132 return This->lpVtbl->AddRef(This);
133}
134static FORCEINLINE ULONG IMFD3D12SynchronizationObjectCommands_Release(IMFD3D12SynchronizationObjectCommands* This) {
135 return This->lpVtbl->Release(This);
136}
137/*** IMFD3D12SynchronizationObjectCommands methods ***/
138static FORCEINLINE HRESULT IMFD3D12SynchronizationObjectCommands_EnqueueResourceReady(IMFD3D12SynchronizationObjectCommands* This,ID3D12CommandQueue *pProducerCommandQueue) {
139 return This->lpVtbl->EnqueueResourceReady(This,pProducerCommandQueue);
140}
141static FORCEINLINE HRESULT IMFD3D12SynchronizationObjectCommands_EnqueueResourceReadyWait(IMFD3D12SynchronizationObjectCommands* This,ID3D12CommandQueue *pConsumerCommandQueue) {
142 return This->lpVtbl->EnqueueResourceReadyWait(This,pConsumerCommandQueue);
143}
144static FORCEINLINE HRESULT IMFD3D12SynchronizationObjectCommands_SignalEventOnResourceReady(IMFD3D12SynchronizationObjectCommands* This,HANDLE hEvent) {
145 return This->lpVtbl->SignalEventOnResourceReady(This,hEvent);
146}
147static FORCEINLINE HRESULT IMFD3D12SynchronizationObjectCommands_EnqueueResourceRelease(IMFD3D12SynchronizationObjectCommands* This,ID3D12CommandQueue *pConsumerCommandQueue) {
148 return This->lpVtbl->EnqueueResourceRelease(This,pConsumerCommandQueue);
149}
150#endif
151#endif
152
153#endif
154
155
156#endif /* __IMFD3D12SynchronizationObjectCommands_INTERFACE_DEFINED__ */
157
158/*****************************************************************************
159 * IMFD3D12SynchronizationObject interface
160 */
161#ifndef __IMFD3D12SynchronizationObject_INTERFACE_DEFINED__
162#define __IMFD3D12SynchronizationObject_INTERFACE_DEFINED__
163
164DEFINE_GUID(IID_IMFD3D12SynchronizationObject, 0x802302b0, 0x82de, 0x45e1, 0xb4,0x21, 0xf1,0x9e,0xe5,0xbd,0xaf,0x23);
165#if defined(__cplusplus) && !defined(CINTERFACE)
166MIDL_INTERFACE("802302b0-82de-45e1-b421-f19ee5bdaf23")
167IMFD3D12SynchronizationObject : public IUnknown
168{
169 virtual HRESULT STDMETHODCALLTYPE SignalEventOnFinalResourceRelease(
170 HANDLE hEvent) = 0;
171
172 virtual HRESULT STDMETHODCALLTYPE Reset(
173 ) = 0;
174
175};
176#ifdef __CRT_UUID_DECL
177__CRT_UUID_DECL(IMFD3D12SynchronizationObject, 0x802302b0, 0x82de, 0x45e1, 0xb4,0x21, 0xf1,0x9e,0xe5,0xbd,0xaf,0x23)
178#endif
179#else
180typedef struct IMFD3D12SynchronizationObjectVtbl {
181 BEGIN_INTERFACE
182
183 /*** IUnknown methods ***/
184 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
185 IMFD3D12SynchronizationObject *This,
186 REFIID riid,
187 void **ppvObject);
188
189 ULONG (STDMETHODCALLTYPE *AddRef)(
190 IMFD3D12SynchronizationObject *This);
191
192 ULONG (STDMETHODCALLTYPE *Release)(
193 IMFD3D12SynchronizationObject *This);
194
195 /*** IMFD3D12SynchronizationObject methods ***/
196 HRESULT (STDMETHODCALLTYPE *SignalEventOnFinalResourceRelease)(
197 IMFD3D12SynchronizationObject *This,
198 HANDLE hEvent);
199
200 HRESULT (STDMETHODCALLTYPE *Reset)(
201 IMFD3D12SynchronizationObject *This);
202
203 END_INTERFACE
204} IMFD3D12SynchronizationObjectVtbl;
205
206interface IMFD3D12SynchronizationObject {
207 CONST_VTBL IMFD3D12SynchronizationObjectVtbl* lpVtbl;
208};
209
210#ifdef COBJMACROS
211#ifndef WIDL_C_INLINE_WRAPPERS
212/*** IUnknown methods ***/
213#define IMFD3D12SynchronizationObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
214#define IMFD3D12SynchronizationObject_AddRef(This) (This)->lpVtbl->AddRef(This)
215#define IMFD3D12SynchronizationObject_Release(This) (This)->lpVtbl->Release(This)
216/*** IMFD3D12SynchronizationObject methods ***/
217#define IMFD3D12SynchronizationObject_SignalEventOnFinalResourceRelease(This,hEvent) (This)->lpVtbl->SignalEventOnFinalResourceRelease(This,hEvent)
218#define IMFD3D12SynchronizationObject_Reset(This) (This)->lpVtbl->Reset(This)
219#else
220/*** IUnknown methods ***/
221static FORCEINLINE HRESULT IMFD3D12SynchronizationObject_QueryInterface(IMFD3D12SynchronizationObject* This,REFIID riid,void **ppvObject) {
222 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
223}
224static FORCEINLINE ULONG IMFD3D12SynchronizationObject_AddRef(IMFD3D12SynchronizationObject* This) {
225 return This->lpVtbl->AddRef(This);
226}
227static FORCEINLINE ULONG IMFD3D12SynchronizationObject_Release(IMFD3D12SynchronizationObject* This) {
228 return This->lpVtbl->Release(This);
229}
230/*** IMFD3D12SynchronizationObject methods ***/
231static FORCEINLINE HRESULT IMFD3D12SynchronizationObject_SignalEventOnFinalResourceRelease(IMFD3D12SynchronizationObject* This,HANDLE hEvent) {
232 return This->lpVtbl->SignalEventOnFinalResourceRelease(This,hEvent);
233}
234static FORCEINLINE HRESULT IMFD3D12SynchronizationObject_Reset(IMFD3D12SynchronizationObject* This) {
235 return This->lpVtbl->Reset(This);
236}
237#endif
238#endif
239
240#endif
241
242
243#endif /* __IMFD3D12SynchronizationObject_INTERFACE_DEFINED__ */
244
245#if NTDDI_VERSION >= NTDDI_WIN10_CO
246HRESULT MFCreateD3D12SynchronizationObject(ID3D12Device *pDevice, REFIID riid, void **ppvSyncObject);
247#endif /* NTDDI_WIN10_CO */
248typedef enum MF_MT_D3D_RESOURCE_VERSION_ENUM {
249 MF_D3D11_RESOURCE = 0,
250 MF_D3D12_RESOURCE = 1
251} MF_MT_D3D_RESOURCE_VERSION_ENUM;
252EXTERN_GUID(MF_D3D12_SYNCHRONIZATION_OBJECT, 0x2a7c8d6a, 0x85a6, 0x494d, 0xa0, 0x46, 0x6, 0xea, 0x1a, 0x13, 0x8f, 0x4b);
253EXTERN_GUID(MF_MT_D3D_RESOURCE_VERSION, 0x174f1e85, 0xfe26, 0x453d, 0xb5, 0x2e, 0x5b, 0xdd, 0x4e, 0x55, 0xb9, 0x44);
254EXTERN_GUID(MF_MT_D3D12_CPU_READBACK, 0x28ee9fe3, 0xd481, 0x46a6, 0xb9, 0x8a, 0x7f, 0x69, 0xd5, 0x28, 0xe, 0x82);
255EXTERN_GUID(MF_MT_D3D12_TEXTURE_LAYOUT, 0x97c85caa, 0xbeb, 0x4ee1, 0x97, 0x15, 0xf2, 0x2f, 0xad, 0x8c, 0x10, 0xf5);
256EXTERN_GUID(MF_MT_D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET, 0xeeac2585, 0x3430, 0x498c, 0x84, 0xa2, 0x77, 0xb1, 0xbb, 0xa5, 0x70, 0xf6);
257EXTERN_GUID(MF_MT_D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, 0xb1138dc3, 0x1d5, 0x4c14, 0x9b, 0xdc, 0xcd, 0xc9, 0x33, 0x6f, 0x55, 0xb9);
258EXTERN_GUID(MF_MT_D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS, 0x82c85647, 0x5057, 0x4960, 0x95, 0x59, 0xf4, 0x5b, 0x8e, 0x27, 0x14, 0x27);
259EXTERN_GUID(MF_MT_D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE, 0xba06bfac, 0xffe3, 0x474a, 0xab, 0x55, 0x16, 0x1e, 0xe4, 0x41, 0x7a, 0x2e);
260EXTERN_GUID(MF_MT_D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER, 0xa6a1e439, 0x2f96, 0x4ab5, 0x98, 0xdc, 0xad, 0xf7, 0x49, 0x73, 0x50, 0x5d);
261EXTERN_GUID(MF_MT_D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS, 0xa4940b2, 0xcfd6, 0x4738, 0x9d, 0x2, 0x98, 0x11, 0x37, 0x34, 0x1, 0x5a);
262EXTERN_GUID(MF_SA_D3D12_HEAP_FLAGS, 0x496b3266, 0xd28f, 0x4f8c, 0x93, 0xa7, 0x4a, 0x59, 0x6b, 0x1a, 0x31, 0xa1);
263EXTERN_GUID(MF_SA_D3D12_HEAP_TYPE, 0x56f26a76, 0xbbc1, 0x4ce0, 0xbb, 0x11, 0xe2, 0x23, 0x68, 0xd8, 0x74, 0xed);
264EXTERN_GUID(MF_SA_D3D12_CLEAR_VALUE, 0x86ba9a39, 0x526, 0x495d, 0x9a, 0xb5, 0x54, 0xec, 0x9f, 0xad, 0x6f, 0xc3);
265#endif /* WINAPI_PARTITION_APP */
266/* Begin additional prototypes for all interfaces */
267
268
269/* End additional prototypes */
270
271#ifdef __cplusplus
272}
273#endif
274
275#endif /* __mfd3d12_h__ */
lib/libc/include/any-windows-any/mfidl.h+1790-90
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mfidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mfidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -90,6 +90,14 @@ interface IMFMediaSource;
9090#endif /* __cplusplus */
9191#endif
9292
93#ifndef __IMFMediaSourceEx_FWD_DEFINED__
94#define __IMFMediaSourceEx_FWD_DEFINED__
95typedef interface IMFMediaSourceEx IMFMediaSourceEx;
96#ifdef __cplusplus
97interface IMFMediaSourceEx;
98#endif /* __cplusplus */
99#endif
100
93101#ifndef __IMFByteStreamBuffering_FWD_DEFINED__
94102#define __IMFByteStreamBuffering_FWD_DEFINED__
95103typedef interface IMFByteStreamBuffering IMFByteStreamBuffering;
......@@ -202,6 +210,22 @@ interface IMFSampleGrabberSinkCallback;
202210#endif /* __cplusplus */
203211#endif
204212
213#ifndef __IMFShutdown_FWD_DEFINED__
214#define __IMFShutdown_FWD_DEFINED__
215typedef interface IMFShutdown IMFShutdown;
216#ifdef __cplusplus
217interface IMFShutdown;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __IMFSimpleAudioVolume_FWD_DEFINED__
222#define __IMFSimpleAudioVolume_FWD_DEFINED__
223typedef interface IMFSimpleAudioVolume IMFSimpleAudioVolume;
224#ifdef __cplusplus
225interface IMFSimpleAudioVolume;
226#endif /* __cplusplus */
227#endif
228
205229#ifndef __IMFSourceResolver_FWD_DEFINED__
206230#define __IMFSourceResolver_FWD_DEFINED__
207231typedef interface IMFSourceResolver IMFSourceResolver;
......@@ -218,6 +242,14 @@ interface IMFStreamSink;
218242#endif /* __cplusplus */
219243#endif
220244
245#ifndef __IMFTimer_FWD_DEFINED__
246#define __IMFTimer_FWD_DEFINED__
247typedef interface IMFTimer IMFTimer;
248#ifdef __cplusplus
249interface IMFTimer;
250#endif /* __cplusplus */
251#endif
252
221253#ifndef __IMFTopoLoader_FWD_DEFINED__
222254#define __IMFTopoLoader_FWD_DEFINED__
223255typedef interface IMFTopoLoader IMFTopoLoader;
......@@ -226,6 +258,78 @@ interface IMFTopoLoader;
226258#endif /* __cplusplus */
227259#endif
228260
261#ifndef __IMFVideoSampleAllocator_FWD_DEFINED__
262#define __IMFVideoSampleAllocator_FWD_DEFINED__
263typedef interface IMFVideoSampleAllocator IMFVideoSampleAllocator;
264#ifdef __cplusplus
265interface IMFVideoSampleAllocator;
266#endif /* __cplusplus */
267#endif
268
269#ifndef __IMFVideoSampleAllocatorNotify_FWD_DEFINED__
270#define __IMFVideoSampleAllocatorNotify_FWD_DEFINED__
271typedef interface IMFVideoSampleAllocatorNotify IMFVideoSampleAllocatorNotify;
272#ifdef __cplusplus
273interface IMFVideoSampleAllocatorNotify;
274#endif /* __cplusplus */
275#endif
276
277#ifndef __IMFVideoSampleAllocatorNotifyEx_FWD_DEFINED__
278#define __IMFVideoSampleAllocatorNotifyEx_FWD_DEFINED__
279typedef interface IMFVideoSampleAllocatorNotifyEx IMFVideoSampleAllocatorNotifyEx;
280#ifdef __cplusplus
281interface IMFVideoSampleAllocatorNotifyEx;
282#endif /* __cplusplus */
283#endif
284
285#ifndef __IMFVideoSampleAllocatorCallback_FWD_DEFINED__
286#define __IMFVideoSampleAllocatorCallback_FWD_DEFINED__
287typedef interface IMFVideoSampleAllocatorCallback IMFVideoSampleAllocatorCallback;
288#ifdef __cplusplus
289interface IMFVideoSampleAllocatorCallback;
290#endif /* __cplusplus */
291#endif
292
293#ifndef __IMFVideoSampleAllocatorEx_FWD_DEFINED__
294#define __IMFVideoSampleAllocatorEx_FWD_DEFINED__
295typedef interface IMFVideoSampleAllocatorEx IMFVideoSampleAllocatorEx;
296#ifdef __cplusplus
297interface IMFVideoSampleAllocatorEx;
298#endif /* __cplusplus */
299#endif
300
301#ifndef __IMFVideoProcessorControl_FWD_DEFINED__
302#define __IMFVideoProcessorControl_FWD_DEFINED__
303typedef interface IMFVideoProcessorControl IMFVideoProcessorControl;
304#ifdef __cplusplus
305interface IMFVideoProcessorControl;
306#endif /* __cplusplus */
307#endif
308
309#ifndef __IMFVideoProcessorControl2_FWD_DEFINED__
310#define __IMFVideoProcessorControl2_FWD_DEFINED__
311typedef interface IMFVideoProcessorControl2 IMFVideoProcessorControl2;
312#ifdef __cplusplus
313interface IMFVideoProcessorControl2;
314#endif /* __cplusplus */
315#endif
316
317#ifndef __IMFVideoProcessorControl3_FWD_DEFINED__
318#define __IMFVideoProcessorControl3_FWD_DEFINED__
319typedef interface IMFVideoProcessorControl3 IMFVideoProcessorControl3;
320#ifdef __cplusplus
321interface IMFVideoProcessorControl3;
322#endif /* __cplusplus */
323#endif
324
325#ifndef __IMFVideoRendererEffectControl_FWD_DEFINED__
326#define __IMFVideoRendererEffectControl_FWD_DEFINED__
327typedef interface IMFVideoRendererEffectControl IMFVideoRendererEffectControl;
328#ifdef __cplusplus
329interface IMFVideoRendererEffectControl;
330#endif /* __cplusplus */
331#endif
332
229333/* Headers for imported files */
230334
231335#include <mfobjects.h>
......@@ -242,10 +346,11 @@ typedef enum MFSESSION_SETTOPOLOGY_FLAGS {
242346 MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4
243347} MFSESSION_SETTOPOLOGY_FLAGS;
244348typedef enum MFSESSION_GETFULLTOPOLOGY_FLAGS {
245 MFSESSION_GETFULLTOPOLOGY_CURRENT = 0
349 MFSESSION_GETFULLTOPOLOGY_CURRENT = 0x1
246350} MFSESSION_GETFULLTOPOLOGY_FLAGS;
247351typedef enum MFPMPSESSION_CREATION_FLAGS {
248 MFPMPSESSION_UNPROTECTED_PROCESS = 0x1
352 MFPMPSESSION_UNPROTECTED_PROCESS = 0x1,
353 MFPMPSESSION_IN_PROCESS = 0x2
249354} MFPMPSESSION_CREATION_FLAGS;
250355typedef UINT64 TOPOID;
251356typedef enum MF_TOPOLOGY_TYPE {
......@@ -2852,6 +2957,201 @@ HRESULT __RPC_STUB IMFMediaSource_CreatePresentationDescriptor_Stub(
28522957
28532958#endif /* __IMFMediaSource_INTERFACE_DEFINED__ */
28542959
2960#if (WINVER >= _WIN32_WINNT_WIN8)
2961/*****************************************************************************
2962 * IMFMediaSourceEx interface
2963 */
2964#ifndef __IMFMediaSourceEx_INTERFACE_DEFINED__
2965#define __IMFMediaSourceEx_INTERFACE_DEFINED__
2966
2967DEFINE_GUID(IID_IMFMediaSourceEx, 0x3c9b2eb9, 0x86d5, 0x4514, 0xa3,0x94, 0xf5,0x66,0x64,0xf9,0xf0,0xd8);
2968#if defined(__cplusplus) && !defined(CINTERFACE)
2969MIDL_INTERFACE("3c9b2eb9-86d5-4514-a394-f56664f9f0d8")
2970IMFMediaSourceEx : public IMFMediaSource
2971{
2972 virtual HRESULT STDMETHODCALLTYPE GetSourceAttributes(
2973 IMFAttributes **ppAttributes) = 0;
2974
2975 virtual HRESULT STDMETHODCALLTYPE GetStreamAttributes(
2976 DWORD dwStreamIdentifier,
2977 IMFAttributes **ppAttributes) = 0;
2978
2979 virtual HRESULT STDMETHODCALLTYPE SetD3DManager(
2980 IUnknown *pManager) = 0;
2981
2982};
2983#ifdef __CRT_UUID_DECL
2984__CRT_UUID_DECL(IMFMediaSourceEx, 0x3c9b2eb9, 0x86d5, 0x4514, 0xa3,0x94, 0xf5,0x66,0x64,0xf9,0xf0,0xd8)
2985#endif
2986#else
2987typedef struct IMFMediaSourceExVtbl {
2988 BEGIN_INTERFACE
2989
2990 /*** IUnknown methods ***/
2991 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2992 IMFMediaSourceEx *This,
2993 REFIID riid,
2994 void **ppvObject);
2995
2996 ULONG (STDMETHODCALLTYPE *AddRef)(
2997 IMFMediaSourceEx *This);
2998
2999 ULONG (STDMETHODCALLTYPE *Release)(
3000 IMFMediaSourceEx *This);
3001
3002 /*** IMFMediaEventGenerator methods ***/
3003 HRESULT (STDMETHODCALLTYPE *GetEvent)(
3004 IMFMediaSourceEx *This,
3005 DWORD dwFlags,
3006 IMFMediaEvent **ppEvent);
3007
3008 HRESULT (STDMETHODCALLTYPE *BeginGetEvent)(
3009 IMFMediaSourceEx *This,
3010 IMFAsyncCallback *pCallback,
3011 IUnknown *punkState);
3012
3013 HRESULT (STDMETHODCALLTYPE *EndGetEvent)(
3014 IMFMediaSourceEx *This,
3015 IMFAsyncResult *pResult,
3016 IMFMediaEvent **ppEvent);
3017
3018 HRESULT (STDMETHODCALLTYPE *QueueEvent)(
3019 IMFMediaSourceEx *This,
3020 MediaEventType met,
3021 REFGUID guidExtendedType,
3022 HRESULT hrStatus,
3023 const PROPVARIANT *pvValue);
3024
3025 /*** IMFMediaSource methods ***/
3026 HRESULT (STDMETHODCALLTYPE *GetCharacteristics)(
3027 IMFMediaSourceEx *This,
3028 DWORD *pdwCharacteristics);
3029
3030 HRESULT (STDMETHODCALLTYPE *CreatePresentationDescriptor)(
3031 IMFMediaSourceEx *This,
3032 IMFPresentationDescriptor **ppPresentationDescriptor);
3033
3034 HRESULT (STDMETHODCALLTYPE *Start)(
3035 IMFMediaSourceEx *This,
3036 IMFPresentationDescriptor *pPresentationDescriptor,
3037 const GUID *pguidTimeFormat,
3038 const PROPVARIANT *pvarStartPosition);
3039
3040 HRESULT (STDMETHODCALLTYPE *Stop)(
3041 IMFMediaSourceEx *This);
3042
3043 HRESULT (STDMETHODCALLTYPE *Pause)(
3044 IMFMediaSourceEx *This);
3045
3046 HRESULT (STDMETHODCALLTYPE *Shutdown)(
3047 IMFMediaSourceEx *This);
3048
3049 /*** IMFMediaSourceEx methods ***/
3050 HRESULT (STDMETHODCALLTYPE *GetSourceAttributes)(
3051 IMFMediaSourceEx *This,
3052 IMFAttributes **ppAttributes);
3053
3054 HRESULT (STDMETHODCALLTYPE *GetStreamAttributes)(
3055 IMFMediaSourceEx *This,
3056 DWORD dwStreamIdentifier,
3057 IMFAttributes **ppAttributes);
3058
3059 HRESULT (STDMETHODCALLTYPE *SetD3DManager)(
3060 IMFMediaSourceEx *This,
3061 IUnknown *pManager);
3062
3063 END_INTERFACE
3064} IMFMediaSourceExVtbl;
3065
3066interface IMFMediaSourceEx {
3067 CONST_VTBL IMFMediaSourceExVtbl* lpVtbl;
3068};
3069
3070#ifdef COBJMACROS
3071#ifndef WIDL_C_INLINE_WRAPPERS
3072/*** IUnknown methods ***/
3073#define IMFMediaSourceEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3074#define IMFMediaSourceEx_AddRef(This) (This)->lpVtbl->AddRef(This)
3075#define IMFMediaSourceEx_Release(This) (This)->lpVtbl->Release(This)
3076/*** IMFMediaEventGenerator methods ***/
3077#define IMFMediaSourceEx_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent)
3078#define IMFMediaSourceEx_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState)
3079#define IMFMediaSourceEx_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent)
3080#define IMFMediaSourceEx_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue)
3081/*** IMFMediaSource methods ***/
3082#define IMFMediaSourceEx_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics)
3083#define IMFMediaSourceEx_CreatePresentationDescriptor(This,ppPresentationDescriptor) (This)->lpVtbl->CreatePresentationDescriptor(This,ppPresentationDescriptor)
3084#define IMFMediaSourceEx_Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) (This)->lpVtbl->Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition)
3085#define IMFMediaSourceEx_Stop(This) (This)->lpVtbl->Stop(This)
3086#define IMFMediaSourceEx_Pause(This) (This)->lpVtbl->Pause(This)
3087#define IMFMediaSourceEx_Shutdown(This) (This)->lpVtbl->Shutdown(This)
3088/*** IMFMediaSourceEx methods ***/
3089#define IMFMediaSourceEx_GetSourceAttributes(This,ppAttributes) (This)->lpVtbl->GetSourceAttributes(This,ppAttributes)
3090#define IMFMediaSourceEx_GetStreamAttributes(This,dwStreamIdentifier,ppAttributes) (This)->lpVtbl->GetStreamAttributes(This,dwStreamIdentifier,ppAttributes)
3091#define IMFMediaSourceEx_SetD3DManager(This,pManager) (This)->lpVtbl->SetD3DManager(This,pManager)
3092#else
3093/*** IUnknown methods ***/
3094static FORCEINLINE HRESULT IMFMediaSourceEx_QueryInterface(IMFMediaSourceEx* This,REFIID riid,void **ppvObject) {
3095 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3096}
3097static FORCEINLINE ULONG IMFMediaSourceEx_AddRef(IMFMediaSourceEx* This) {
3098 return This->lpVtbl->AddRef(This);
3099}
3100static FORCEINLINE ULONG IMFMediaSourceEx_Release(IMFMediaSourceEx* This) {
3101 return This->lpVtbl->Release(This);
3102}
3103/*** IMFMediaEventGenerator methods ***/
3104static FORCEINLINE HRESULT IMFMediaSourceEx_GetEvent(IMFMediaSourceEx* This,DWORD dwFlags,IMFMediaEvent **ppEvent) {
3105 return This->lpVtbl->GetEvent(This,dwFlags,ppEvent);
3106}
3107static FORCEINLINE HRESULT IMFMediaSourceEx_BeginGetEvent(IMFMediaSourceEx* This,IMFAsyncCallback *pCallback,IUnknown *punkState) {
3108 return This->lpVtbl->BeginGetEvent(This,pCallback,punkState);
3109}
3110static FORCEINLINE HRESULT IMFMediaSourceEx_EndGetEvent(IMFMediaSourceEx* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) {
3111 return This->lpVtbl->EndGetEvent(This,pResult,ppEvent);
3112}
3113static FORCEINLINE HRESULT IMFMediaSourceEx_QueueEvent(IMFMediaSourceEx* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) {
3114 return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue);
3115}
3116/*** IMFMediaSource methods ***/
3117static FORCEINLINE HRESULT IMFMediaSourceEx_GetCharacteristics(IMFMediaSourceEx* This,DWORD *pdwCharacteristics) {
3118 return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics);
3119}
3120static FORCEINLINE HRESULT IMFMediaSourceEx_CreatePresentationDescriptor(IMFMediaSourceEx* This,IMFPresentationDescriptor **ppPresentationDescriptor) {
3121 return This->lpVtbl->CreatePresentationDescriptor(This,ppPresentationDescriptor);
3122}
3123static FORCEINLINE HRESULT IMFMediaSourceEx_Start(IMFMediaSourceEx* This,IMFPresentationDescriptor *pPresentationDescriptor,const GUID *pguidTimeFormat,const PROPVARIANT *pvarStartPosition) {
3124 return This->lpVtbl->Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition);
3125}
3126static FORCEINLINE HRESULT IMFMediaSourceEx_Stop(IMFMediaSourceEx* This) {
3127 return This->lpVtbl->Stop(This);
3128}
3129static FORCEINLINE HRESULT IMFMediaSourceEx_Pause(IMFMediaSourceEx* This) {
3130 return This->lpVtbl->Pause(This);
3131}
3132static FORCEINLINE HRESULT IMFMediaSourceEx_Shutdown(IMFMediaSourceEx* This) {
3133 return This->lpVtbl->Shutdown(This);
3134}
3135/*** IMFMediaSourceEx methods ***/
3136static FORCEINLINE HRESULT IMFMediaSourceEx_GetSourceAttributes(IMFMediaSourceEx* This,IMFAttributes **ppAttributes) {
3137 return This->lpVtbl->GetSourceAttributes(This,ppAttributes);
3138}
3139static FORCEINLINE HRESULT IMFMediaSourceEx_GetStreamAttributes(IMFMediaSourceEx* This,DWORD dwStreamIdentifier,IMFAttributes **ppAttributes) {
3140 return This->lpVtbl->GetStreamAttributes(This,dwStreamIdentifier,ppAttributes);
3141}
3142static FORCEINLINE HRESULT IMFMediaSourceEx_SetD3DManager(IMFMediaSourceEx* This,IUnknown *pManager) {
3143 return This->lpVtbl->SetD3DManager(This,pManager);
3144}
3145#endif
3146#endif
3147
3148#endif
3149
3150
3151#endif /* __IMFMediaSourceEx_INTERFACE_DEFINED__ */
3152
3153EXTERN_GUID(MF_SOURCE_STREAM_SUPPORTS_HW_CONNECTION, 0xa38253aa, 0x6314, 0x42fd, 0xa3, 0xce, 0xbb, 0x27, 0xb6, 0x85, 0x99, 0x46);
3154#endif /* (WINVER >= _WIN32_WINNT_WIN8) */
28553155typedef struct _MF_LEAKY_BUCKET_PAIR {
28563156 DWORD dwBitrate;
28573157 DWORD msBufferWindow;
......@@ -3141,6 +3441,21 @@ typedef enum _MF_TRANSCODE_TOPOLOGY_MODE_FLAGS {
31413441 MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1
31423442} MF_TRANSCODE_TOPOLOGYMODE_FLAGS;
31433443#endif
3444EXTERN_GUID(MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca);
3445EXTERN_GUID(MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xbd, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb);
3446EXTERN_GUID(MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a);
3447EXTERN_GUID(MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1);
3448EXTERN_GUID(MFTranscodeContainerType_FLAC, 0x31344aa3, 0x05a9, 0x42b5, 0x90, 0x1b, 0x8e, 0x9d, 0x42, 0x57, 0xf7, 0x5e);
3449EXTERN_GUID(MFTranscodeContainerType_3GP, 0x34c50167, 0x4472, 0x4f34, 0x9e, 0xa0, 0xc4, 0x9f, 0xba, 0xcf, 0x03, 0x7d);
3450EXTERN_GUID(MFTranscodeContainerType_AC3, 0x6d8d91c3, 0x8c91, 0x4ed1, 0x87, 0x42, 0x8c, 0x34, 0x7d, 0x5b, 0x44, 0xd0);
3451EXTERN_GUID(MFTranscodeContainerType_ADTS, 0x132fd27d, 0x0f02, 0x43de, 0xa3, 0x01, 0x38, 0xfb, 0xbb, 0xb3, 0x83, 0x4e);
3452EXTERN_GUID(MFTranscodeContainerType_MPEG2, 0xbfc2dbf9, 0x7bb4, 0x4f8f, 0xaf, 0xde, 0xe1, 0x12, 0xc4, 0x4b, 0xa8, 0x82);
3453EXTERN_GUID(MFTranscodeContainerType_WAVE, 0x64c3453c, 0x0f26, 0x4741, 0xbe, 0x63, 0x87, 0xbd, 0xf8, 0xbb, 0x93, 0x5b);
3454EXTERN_GUID(MFTranscodeContainerType_AVI, 0x7edfe8af, 0x402f, 0x4d76, 0xa3, 0x3c, 0x61, 0x9f, 0xd1, 0x57, 0xd0, 0xf1);
3455#if (WINVER >= _WIN32_WINNT_WIN8)
3456EXTERN_GUID(MFTranscodeContainerType_FMPEG4, 0x9ba876f1, 0x419f, 0x4b77, 0xa1, 0xe0, 0x35, 0x95, 0x9d, 0x9d, 0x40, 0x4);
3457#endif /* (WINVER >= _WIN32_WINNT_WIN8) */
3458EXTERN_GUID(MFTranscodeContainerType_AMR, 0x25d5ad3, 0x621a, 0x475b, 0x96, 0x4d, 0x66, 0xb1, 0xc8, 0x24, 0xf0, 0x79);
31443459typedef enum __WIDL_mfidl_generated_name_0000002E {
31453460 MF_LICENSE_URL_UNTRUSTED = 0,
31463461 MF_LICENSE_URL_TRUSTED = 1,
......@@ -5055,116 +5370,313 @@ static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnShutdown(IMFSampleGrab
50555370#endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */
50565371
50575372/*****************************************************************************
5058 * IMFSourceResolver interface
5373 * IMFShutdown interface
50595374 */
5060#ifndef __IMFSourceResolver_INTERFACE_DEFINED__
5061#define __IMFSourceResolver_INTERFACE_DEFINED__
5375#ifndef __IMFShutdown_INTERFACE_DEFINED__
5376#define __IMFShutdown_INTERFACE_DEFINED__
50625377
5063DEFINE_GUID(IID_IMFSourceResolver, 0xfbe5a32d, 0xa497, 0x4b61, 0xbb,0x85, 0x97,0xb1,0xa8,0x48,0xa6,0xe3);
5378DEFINE_GUID(IID_IMFShutdown, 0x97ec2ea4, 0x0e42, 0x4937, 0x97,0xac, 0x9d,0x6d,0x32,0x88,0x24,0xe1);
50645379#if defined(__cplusplus) && !defined(CINTERFACE)
5065MIDL_INTERFACE("fbe5a32d-a497-4b61-bb85-97b1a848a6e3")
5066IMFSourceResolver : public IUnknown
5380MIDL_INTERFACE("97ec2ea4-0e42-4937-97ac-9d6d328824e1")
5381IMFShutdown : public IUnknown
50675382{
5068 virtual HRESULT STDMETHODCALLTYPE CreateObjectFromURL(
5069 LPCWSTR pwszURL,
5070 DWORD dwFlags,
5071 IPropertyStore *pProps,
5072 MF_OBJECT_TYPE *pObjectType,
5073 IUnknown **ppObject) = 0;
5074
5075 virtual HRESULT STDMETHODCALLTYPE CreateObjectFromByteStream(
5076 IMFByteStream *pByteStream,
5077 LPCWSTR pwszURL,
5078 DWORD dwFlags,
5079 IPropertyStore *pProps,
5080 MF_OBJECT_TYPE *pObjectType,
5081 IUnknown **ppObject) = 0;
5082
5083 virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL(
5084 LPCWSTR pwszURL,
5085 DWORD dwFlags,
5086 IPropertyStore *pProps,
5087 IUnknown **ppIUnknownCancelCookie,
5088 IMFAsyncCallback *pCallback,
5089 IUnknown *punkState) = 0;
5090
5091 virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL(
5092 IMFAsyncResult *pResult,
5093 MF_OBJECT_TYPE *pObjectType,
5094 IUnknown **ppObject) = 0;
5095
5096 virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByteStream(
5097 IMFByteStream *pByteStream,
5098 LPCWSTR pwszURL,
5099 DWORD dwFlags,
5100 IPropertyStore *pProps,
5101 IUnknown **ppIUnknownCancelCookie,
5102 IMFAsyncCallback *pCallback,
5103 IUnknown *punkState) = 0;
5104
5105 virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteStream(
5106 IMFAsyncResult *pResult,
5107 MF_OBJECT_TYPE *pObjectType,
5108 IUnknown **ppObject) = 0;
5383 virtual HRESULT STDMETHODCALLTYPE Shutdown(
5384 ) = 0;
51095385
5110 virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(
5111 IUnknown *pIUnknownCancelCookie) = 0;
5386 virtual HRESULT STDMETHODCALLTYPE GetShutdownStatus(
5387 MFSHUTDOWN_STATUS *pStatus) = 0;
51125388
51135389};
51145390#ifdef __CRT_UUID_DECL
5115__CRT_UUID_DECL(IMFSourceResolver, 0xfbe5a32d, 0xa497, 0x4b61, 0xbb,0x85, 0x97,0xb1,0xa8,0x48,0xa6,0xe3)
5391__CRT_UUID_DECL(IMFShutdown, 0x97ec2ea4, 0x0e42, 0x4937, 0x97,0xac, 0x9d,0x6d,0x32,0x88,0x24,0xe1)
51165392#endif
51175393#else
5118typedef struct IMFSourceResolverVtbl {
5394typedef struct IMFShutdownVtbl {
51195395 BEGIN_INTERFACE
51205396
51215397 /*** IUnknown methods ***/
51225398 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5123 IMFSourceResolver *This,
5399 IMFShutdown *This,
51245400 REFIID riid,
51255401 void **ppvObject);
51265402
51275403 ULONG (STDMETHODCALLTYPE *AddRef)(
5128 IMFSourceResolver *This);
5404 IMFShutdown *This);
51295405
51305406 ULONG (STDMETHODCALLTYPE *Release)(
5131 IMFSourceResolver *This);
5407 IMFShutdown *This);
51325408
5133 /*** IMFSourceResolver methods ***/
5134 HRESULT (STDMETHODCALLTYPE *CreateObjectFromURL)(
5135 IMFSourceResolver *This,
5136 LPCWSTR pwszURL,
5137 DWORD dwFlags,
5138 IPropertyStore *pProps,
5139 MF_OBJECT_TYPE *pObjectType,
5140 IUnknown **ppObject);
5409 /*** IMFShutdown methods ***/
5410 HRESULT (STDMETHODCALLTYPE *Shutdown)(
5411 IMFShutdown *This);
51415412
5142 HRESULT (STDMETHODCALLTYPE *CreateObjectFromByteStream)(
5143 IMFSourceResolver *This,
5144 IMFByteStream *pByteStream,
5145 LPCWSTR pwszURL,
5146 DWORD dwFlags,
5147 IPropertyStore *pProps,
5148 MF_OBJECT_TYPE *pObjectType,
5149 IUnknown **ppObject);
5413 HRESULT (STDMETHODCALLTYPE *GetShutdownStatus)(
5414 IMFShutdown *This,
5415 MFSHUTDOWN_STATUS *pStatus);
51505416
5151 HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromURL)(
5152 IMFSourceResolver *This,
5153 LPCWSTR pwszURL,
5154 DWORD dwFlags,
5155 IPropertyStore *pProps,
5156 IUnknown **ppIUnknownCancelCookie,
5157 IMFAsyncCallback *pCallback,
5158 IUnknown *punkState);
5417 END_INTERFACE
5418} IMFShutdownVtbl;
51595419
5160 HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromURL)(
5161 IMFSourceResolver *This,
5162 IMFAsyncResult *pResult,
5163 MF_OBJECT_TYPE *pObjectType,
5164 IUnknown **ppObject);
5420interface IMFShutdown {
5421 CONST_VTBL IMFShutdownVtbl* lpVtbl;
5422};
51655423
5166 HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromByteStream)(
5167 IMFSourceResolver *This,
5424#ifdef COBJMACROS
5425#ifndef WIDL_C_INLINE_WRAPPERS
5426/*** IUnknown methods ***/
5427#define IMFShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5428#define IMFShutdown_AddRef(This) (This)->lpVtbl->AddRef(This)
5429#define IMFShutdown_Release(This) (This)->lpVtbl->Release(This)
5430/*** IMFShutdown methods ***/
5431#define IMFShutdown_Shutdown(This) (This)->lpVtbl->Shutdown(This)
5432#define IMFShutdown_GetShutdownStatus(This,pStatus) (This)->lpVtbl->GetShutdownStatus(This,pStatus)
5433#else
5434/*** IUnknown methods ***/
5435static FORCEINLINE HRESULT IMFShutdown_QueryInterface(IMFShutdown* This,REFIID riid,void **ppvObject) {
5436 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5437}
5438static FORCEINLINE ULONG IMFShutdown_AddRef(IMFShutdown* This) {
5439 return This->lpVtbl->AddRef(This);
5440}
5441static FORCEINLINE ULONG IMFShutdown_Release(IMFShutdown* This) {
5442 return This->lpVtbl->Release(This);
5443}
5444/*** IMFShutdown methods ***/
5445static FORCEINLINE HRESULT IMFShutdown_Shutdown(IMFShutdown* This) {
5446 return This->lpVtbl->Shutdown(This);
5447}
5448static FORCEINLINE HRESULT IMFShutdown_GetShutdownStatus(IMFShutdown* This,MFSHUTDOWN_STATUS *pStatus) {
5449 return This->lpVtbl->GetShutdownStatus(This,pStatus);
5450}
5451#endif
5452#endif
5453
5454#endif
5455
5456
5457#endif /* __IMFShutdown_INTERFACE_DEFINED__ */
5458
5459/*****************************************************************************
5460 * IMFSimpleAudioVolume interface
5461 */
5462#ifndef __IMFSimpleAudioVolume_INTERFACE_DEFINED__
5463#define __IMFSimpleAudioVolume_INTERFACE_DEFINED__
5464
5465DEFINE_GUID(IID_IMFSimpleAudioVolume, 0x089edf13, 0xcf71, 0x4338, 0x8d,0x13, 0x9e,0x56,0x9d,0xbd,0xc3,0x19);
5466#if defined(__cplusplus) && !defined(CINTERFACE)
5467MIDL_INTERFACE("089edf13-cf71-4338-8d13-9e569dbdc319")
5468IMFSimpleAudioVolume : public IUnknown
5469{
5470 virtual HRESULT STDMETHODCALLTYPE SetMasterVolume(
5471 float fLevel) = 0;
5472
5473 virtual HRESULT STDMETHODCALLTYPE GetMasterVolume(
5474 float *pfLevel) = 0;
5475
5476 virtual HRESULT STDMETHODCALLTYPE SetMute(
5477 const WINBOOL bMute) = 0;
5478
5479 virtual HRESULT STDMETHODCALLTYPE GetMute(
5480 WINBOOL *pbMute) = 0;
5481
5482};
5483#ifdef __CRT_UUID_DECL
5484__CRT_UUID_DECL(IMFSimpleAudioVolume, 0x089edf13, 0xcf71, 0x4338, 0x8d,0x13, 0x9e,0x56,0x9d,0xbd,0xc3,0x19)
5485#endif
5486#else
5487typedef struct IMFSimpleAudioVolumeVtbl {
5488 BEGIN_INTERFACE
5489
5490 /*** IUnknown methods ***/
5491 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5492 IMFSimpleAudioVolume *This,
5493 REFIID riid,
5494 void **ppvObject);
5495
5496 ULONG (STDMETHODCALLTYPE *AddRef)(
5497 IMFSimpleAudioVolume *This);
5498
5499 ULONG (STDMETHODCALLTYPE *Release)(
5500 IMFSimpleAudioVolume *This);
5501
5502 /*** IMFSimpleAudioVolume methods ***/
5503 HRESULT (STDMETHODCALLTYPE *SetMasterVolume)(
5504 IMFSimpleAudioVolume *This,
5505 float fLevel);
5506
5507 HRESULT (STDMETHODCALLTYPE *GetMasterVolume)(
5508 IMFSimpleAudioVolume *This,
5509 float *pfLevel);
5510
5511 HRESULT (STDMETHODCALLTYPE *SetMute)(
5512 IMFSimpleAudioVolume *This,
5513 const WINBOOL bMute);
5514
5515 HRESULT (STDMETHODCALLTYPE *GetMute)(
5516 IMFSimpleAudioVolume *This,
5517 WINBOOL *pbMute);
5518
5519 END_INTERFACE
5520} IMFSimpleAudioVolumeVtbl;
5521
5522interface IMFSimpleAudioVolume {
5523 CONST_VTBL IMFSimpleAudioVolumeVtbl* lpVtbl;
5524};
5525
5526#ifdef COBJMACROS
5527#ifndef WIDL_C_INLINE_WRAPPERS
5528/*** IUnknown methods ***/
5529#define IMFSimpleAudioVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5530#define IMFSimpleAudioVolume_AddRef(This) (This)->lpVtbl->AddRef(This)
5531#define IMFSimpleAudioVolume_Release(This) (This)->lpVtbl->Release(This)
5532/*** IMFSimpleAudioVolume methods ***/
5533#define IMFSimpleAudioVolume_SetMasterVolume(This,fLevel) (This)->lpVtbl->SetMasterVolume(This,fLevel)
5534#define IMFSimpleAudioVolume_GetMasterVolume(This,pfLevel) (This)->lpVtbl->GetMasterVolume(This,pfLevel)
5535#define IMFSimpleAudioVolume_SetMute(This,bMute) (This)->lpVtbl->SetMute(This,bMute)
5536#define IMFSimpleAudioVolume_GetMute(This,pbMute) (This)->lpVtbl->GetMute(This,pbMute)
5537#else
5538/*** IUnknown methods ***/
5539static FORCEINLINE HRESULT IMFSimpleAudioVolume_QueryInterface(IMFSimpleAudioVolume* This,REFIID riid,void **ppvObject) {
5540 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5541}
5542static FORCEINLINE ULONG IMFSimpleAudioVolume_AddRef(IMFSimpleAudioVolume* This) {
5543 return This->lpVtbl->AddRef(This);
5544}
5545static FORCEINLINE ULONG IMFSimpleAudioVolume_Release(IMFSimpleAudioVolume* This) {
5546 return This->lpVtbl->Release(This);
5547}
5548/*** IMFSimpleAudioVolume methods ***/
5549static FORCEINLINE HRESULT IMFSimpleAudioVolume_SetMasterVolume(IMFSimpleAudioVolume* This,float fLevel) {
5550 return This->lpVtbl->SetMasterVolume(This,fLevel);
5551}
5552static FORCEINLINE HRESULT IMFSimpleAudioVolume_GetMasterVolume(IMFSimpleAudioVolume* This,float *pfLevel) {
5553 return This->lpVtbl->GetMasterVolume(This,pfLevel);
5554}
5555static FORCEINLINE HRESULT IMFSimpleAudioVolume_SetMute(IMFSimpleAudioVolume* This,const WINBOOL bMute) {
5556 return This->lpVtbl->SetMute(This,bMute);
5557}
5558static FORCEINLINE HRESULT IMFSimpleAudioVolume_GetMute(IMFSimpleAudioVolume* This,WINBOOL *pbMute) {
5559 return This->lpVtbl->GetMute(This,pbMute);
5560}
5561#endif
5562#endif
5563
5564#endif
5565
5566
5567#endif /* __IMFSimpleAudioVolume_INTERFACE_DEFINED__ */
5568
5569/*****************************************************************************
5570 * IMFSourceResolver interface
5571 */
5572#ifndef __IMFSourceResolver_INTERFACE_DEFINED__
5573#define __IMFSourceResolver_INTERFACE_DEFINED__
5574
5575DEFINE_GUID(IID_IMFSourceResolver, 0xfbe5a32d, 0xa497, 0x4b61, 0xbb,0x85, 0x97,0xb1,0xa8,0x48,0xa6,0xe3);
5576#if defined(__cplusplus) && !defined(CINTERFACE)
5577MIDL_INTERFACE("fbe5a32d-a497-4b61-bb85-97b1a848a6e3")
5578IMFSourceResolver : public IUnknown
5579{
5580 virtual HRESULT STDMETHODCALLTYPE CreateObjectFromURL(
5581 LPCWSTR pwszURL,
5582 DWORD dwFlags,
5583 IPropertyStore *pProps,
5584 MF_OBJECT_TYPE *pObjectType,
5585 IUnknown **ppObject) = 0;
5586
5587 virtual HRESULT STDMETHODCALLTYPE CreateObjectFromByteStream(
5588 IMFByteStream *pByteStream,
5589 LPCWSTR pwszURL,
5590 DWORD dwFlags,
5591 IPropertyStore *pProps,
5592 MF_OBJECT_TYPE *pObjectType,
5593 IUnknown **ppObject) = 0;
5594
5595 virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL(
5596 LPCWSTR pwszURL,
5597 DWORD dwFlags,
5598 IPropertyStore *pProps,
5599 IUnknown **ppIUnknownCancelCookie,
5600 IMFAsyncCallback *pCallback,
5601 IUnknown *punkState) = 0;
5602
5603 virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL(
5604 IMFAsyncResult *pResult,
5605 MF_OBJECT_TYPE *pObjectType,
5606 IUnknown **ppObject) = 0;
5607
5608 virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByteStream(
5609 IMFByteStream *pByteStream,
5610 LPCWSTR pwszURL,
5611 DWORD dwFlags,
5612 IPropertyStore *pProps,
5613 IUnknown **ppIUnknownCancelCookie,
5614 IMFAsyncCallback *pCallback,
5615 IUnknown *punkState) = 0;
5616
5617 virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteStream(
5618 IMFAsyncResult *pResult,
5619 MF_OBJECT_TYPE *pObjectType,
5620 IUnknown **ppObject) = 0;
5621
5622 virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(
5623 IUnknown *pIUnknownCancelCookie) = 0;
5624
5625};
5626#ifdef __CRT_UUID_DECL
5627__CRT_UUID_DECL(IMFSourceResolver, 0xfbe5a32d, 0xa497, 0x4b61, 0xbb,0x85, 0x97,0xb1,0xa8,0x48,0xa6,0xe3)
5628#endif
5629#else
5630typedef struct IMFSourceResolverVtbl {
5631 BEGIN_INTERFACE
5632
5633 /*** IUnknown methods ***/
5634 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5635 IMFSourceResolver *This,
5636 REFIID riid,
5637 void **ppvObject);
5638
5639 ULONG (STDMETHODCALLTYPE *AddRef)(
5640 IMFSourceResolver *This);
5641
5642 ULONG (STDMETHODCALLTYPE *Release)(
5643 IMFSourceResolver *This);
5644
5645 /*** IMFSourceResolver methods ***/
5646 HRESULT (STDMETHODCALLTYPE *CreateObjectFromURL)(
5647 IMFSourceResolver *This,
5648 LPCWSTR pwszURL,
5649 DWORD dwFlags,
5650 IPropertyStore *pProps,
5651 MF_OBJECT_TYPE *pObjectType,
5652 IUnknown **ppObject);
5653
5654 HRESULT (STDMETHODCALLTYPE *CreateObjectFromByteStream)(
5655 IMFSourceResolver *This,
5656 IMFByteStream *pByteStream,
5657 LPCWSTR pwszURL,
5658 DWORD dwFlags,
5659 IPropertyStore *pProps,
5660 MF_OBJECT_TYPE *pObjectType,
5661 IUnknown **ppObject);
5662
5663 HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromURL)(
5664 IMFSourceResolver *This,
5665 LPCWSTR pwszURL,
5666 DWORD dwFlags,
5667 IPropertyStore *pProps,
5668 IUnknown **ppIUnknownCancelCookie,
5669 IMFAsyncCallback *pCallback,
5670 IUnknown *punkState);
5671
5672 HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromURL)(
5673 IMFSourceResolver *This,
5674 IMFAsyncResult *pResult,
5675 MF_OBJECT_TYPE *pObjectType,
5676 IUnknown **ppObject);
5677
5678 HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromByteStream)(
5679 IMFSourceResolver *This,
51685680 IMFByteStream *pByteStream,
51695681 LPCWSTR pwszURL,
51705682 DWORD dwFlags,
......@@ -5514,6 +6026,102 @@ static FORCEINLINE HRESULT IMFStreamSink_Flush(IMFStreamSink* This) {
55146026
55156027#endif /* __IMFStreamSink_INTERFACE_DEFINED__ */
55166028
6029/*****************************************************************************
6030 * IMFTimer interface
6031 */
6032#ifndef __IMFTimer_INTERFACE_DEFINED__
6033#define __IMFTimer_INTERFACE_DEFINED__
6034
6035DEFINE_GUID(IID_IMFTimer, 0xe56e4cbd, 0x8f70, 0x49d8, 0xa0,0xf8, 0xed,0xb3,0xd6,0xab,0x9b,0xf2);
6036#if defined(__cplusplus) && !defined(CINTERFACE)
6037MIDL_INTERFACE("e56e4cbd-8f70-49d8-a0f8-edb3d6ab9bf2")
6038IMFTimer : public IUnknown
6039{
6040 virtual HRESULT STDMETHODCALLTYPE SetTimer(
6041 DWORD dwFlags,
6042 LONGLONG llClockTime,
6043 IMFAsyncCallback *pCallback,
6044 IUnknown *punkState,
6045 IUnknown **ppunkKey) = 0;
6046
6047 virtual HRESULT STDMETHODCALLTYPE CancelTimer(
6048 IUnknown *punkKey) = 0;
6049
6050};
6051#ifdef __CRT_UUID_DECL
6052__CRT_UUID_DECL(IMFTimer, 0xe56e4cbd, 0x8f70, 0x49d8, 0xa0,0xf8, 0xed,0xb3,0xd6,0xab,0x9b,0xf2)
6053#endif
6054#else
6055typedef struct IMFTimerVtbl {
6056 BEGIN_INTERFACE
6057
6058 /*** IUnknown methods ***/
6059 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6060 IMFTimer *This,
6061 REFIID riid,
6062 void **ppvObject);
6063
6064 ULONG (STDMETHODCALLTYPE *AddRef)(
6065 IMFTimer *This);
6066
6067 ULONG (STDMETHODCALLTYPE *Release)(
6068 IMFTimer *This);
6069
6070 /*** IMFTimer methods ***/
6071 HRESULT (STDMETHODCALLTYPE *SetTimer)(
6072 IMFTimer *This,
6073 DWORD dwFlags,
6074 LONGLONG llClockTime,
6075 IMFAsyncCallback *pCallback,
6076 IUnknown *punkState,
6077 IUnknown **ppunkKey);
6078
6079 HRESULT (STDMETHODCALLTYPE *CancelTimer)(
6080 IMFTimer *This,
6081 IUnknown *punkKey);
6082
6083 END_INTERFACE
6084} IMFTimerVtbl;
6085
6086interface IMFTimer {
6087 CONST_VTBL IMFTimerVtbl* lpVtbl;
6088};
6089
6090#ifdef COBJMACROS
6091#ifndef WIDL_C_INLINE_WRAPPERS
6092/*** IUnknown methods ***/
6093#define IMFTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6094#define IMFTimer_AddRef(This) (This)->lpVtbl->AddRef(This)
6095#define IMFTimer_Release(This) (This)->lpVtbl->Release(This)
6096/*** IMFTimer methods ***/
6097#define IMFTimer_SetTimer(This,dwFlags,llClockTime,pCallback,punkState,ppunkKey) (This)->lpVtbl->SetTimer(This,dwFlags,llClockTime,pCallback,punkState,ppunkKey)
6098#define IMFTimer_CancelTimer(This,punkKey) (This)->lpVtbl->CancelTimer(This,punkKey)
6099#else
6100/*** IUnknown methods ***/
6101static FORCEINLINE HRESULT IMFTimer_QueryInterface(IMFTimer* This,REFIID riid,void **ppvObject) {
6102 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6103}
6104static FORCEINLINE ULONG IMFTimer_AddRef(IMFTimer* This) {
6105 return This->lpVtbl->AddRef(This);
6106}
6107static FORCEINLINE ULONG IMFTimer_Release(IMFTimer* This) {
6108 return This->lpVtbl->Release(This);
6109}
6110/*** IMFTimer methods ***/
6111static FORCEINLINE HRESULT IMFTimer_SetTimer(IMFTimer* This,DWORD dwFlags,LONGLONG llClockTime,IMFAsyncCallback *pCallback,IUnknown *punkState,IUnknown **ppunkKey) {
6112 return This->lpVtbl->SetTimer(This,dwFlags,llClockTime,pCallback,punkState,ppunkKey);
6113}
6114static FORCEINLINE HRESULT IMFTimer_CancelTimer(IMFTimer* This,IUnknown *punkKey) {
6115 return This->lpVtbl->CancelTimer(This,punkKey);
6116}
6117#endif
6118#endif
6119
6120#endif
6121
6122
6123#endif /* __IMFTimer_INTERFACE_DEFINED__ */
6124
55176125/*****************************************************************************
55186126 * IMFTopoLoader interface
55196127 */
......@@ -5595,8 +6203,1079 @@ static FORCEINLINE HRESULT IMFTopoLoader_Load(IMFTopoLoader* This,IMFTopology *p
55956203
55966204#endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */
55976205
5598HRESULT MFCreate3GPMediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);
5599HRESULT MFCreateAggregateSource(IMFCollection *pSourceCollection,IMFMediaSource **ppAggSource);
6206/*****************************************************************************
6207 * IMFVideoSampleAllocator interface
6208 */
6209#ifndef __IMFVideoSampleAllocator_INTERFACE_DEFINED__
6210#define __IMFVideoSampleAllocator_INTERFACE_DEFINED__
6211
6212DEFINE_GUID(IID_IMFVideoSampleAllocator, 0x86cbc910, 0xe533, 0x4751, 0x8e,0x3b, 0xf1,0x9b,0x5b,0x80,0x6a,0x03);
6213#if defined(__cplusplus) && !defined(CINTERFACE)
6214MIDL_INTERFACE("86cbc910-e533-4751-8e3b-f19b5b806a03")
6215IMFVideoSampleAllocator : public IUnknown
6216{
6217 virtual HRESULT STDMETHODCALLTYPE SetDirectXManager(
6218 IUnknown *pManager) = 0;
6219
6220 virtual HRESULT STDMETHODCALLTYPE UninitializeSampleAllocator(
6221 ) = 0;
6222
6223 virtual HRESULT STDMETHODCALLTYPE InitializeSampleAllocator(
6224 DWORD cRequestedFrames,
6225 IMFMediaType *pMediaType) = 0;
6226
6227 virtual HRESULT STDMETHODCALLTYPE AllocateSample(
6228 IMFSample **ppSample) = 0;
6229
6230};
6231#ifdef __CRT_UUID_DECL
6232__CRT_UUID_DECL(IMFVideoSampleAllocator, 0x86cbc910, 0xe533, 0x4751, 0x8e,0x3b, 0xf1,0x9b,0x5b,0x80,0x6a,0x03)
6233#endif
6234#else
6235typedef struct IMFVideoSampleAllocatorVtbl {
6236 BEGIN_INTERFACE
6237
6238 /*** IUnknown methods ***/
6239 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6240 IMFVideoSampleAllocator *This,
6241 REFIID riid,
6242 void **ppvObject);
6243
6244 ULONG (STDMETHODCALLTYPE *AddRef)(
6245 IMFVideoSampleAllocator *This);
6246
6247 ULONG (STDMETHODCALLTYPE *Release)(
6248 IMFVideoSampleAllocator *This);
6249
6250 /*** IMFVideoSampleAllocator methods ***/
6251 HRESULT (STDMETHODCALLTYPE *SetDirectXManager)(
6252 IMFVideoSampleAllocator *This,
6253 IUnknown *pManager);
6254
6255 HRESULT (STDMETHODCALLTYPE *UninitializeSampleAllocator)(
6256 IMFVideoSampleAllocator *This);
6257
6258 HRESULT (STDMETHODCALLTYPE *InitializeSampleAllocator)(
6259 IMFVideoSampleAllocator *This,
6260 DWORD cRequestedFrames,
6261 IMFMediaType *pMediaType);
6262
6263 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
6264 IMFVideoSampleAllocator *This,
6265 IMFSample **ppSample);
6266
6267 END_INTERFACE
6268} IMFVideoSampleAllocatorVtbl;
6269
6270interface IMFVideoSampleAllocator {
6271 CONST_VTBL IMFVideoSampleAllocatorVtbl* lpVtbl;
6272};
6273
6274#ifdef COBJMACROS
6275#ifndef WIDL_C_INLINE_WRAPPERS
6276/*** IUnknown methods ***/
6277#define IMFVideoSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6278#define IMFVideoSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
6279#define IMFVideoSampleAllocator_Release(This) (This)->lpVtbl->Release(This)
6280/*** IMFVideoSampleAllocator methods ***/
6281#define IMFVideoSampleAllocator_SetDirectXManager(This,pManager) (This)->lpVtbl->SetDirectXManager(This,pManager)
6282#define IMFVideoSampleAllocator_UninitializeSampleAllocator(This) (This)->lpVtbl->UninitializeSampleAllocator(This)
6283#define IMFVideoSampleAllocator_InitializeSampleAllocator(This,cRequestedFrames,pMediaType) (This)->lpVtbl->InitializeSampleAllocator(This,cRequestedFrames,pMediaType)
6284#define IMFVideoSampleAllocator_AllocateSample(This,ppSample) (This)->lpVtbl->AllocateSample(This,ppSample)
6285#else
6286/*** IUnknown methods ***/
6287static FORCEINLINE HRESULT IMFVideoSampleAllocator_QueryInterface(IMFVideoSampleAllocator* This,REFIID riid,void **ppvObject) {
6288 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6289}
6290static FORCEINLINE ULONG IMFVideoSampleAllocator_AddRef(IMFVideoSampleAllocator* This) {
6291 return This->lpVtbl->AddRef(This);
6292}
6293static FORCEINLINE ULONG IMFVideoSampleAllocator_Release(IMFVideoSampleAllocator* This) {
6294 return This->lpVtbl->Release(This);
6295}
6296/*** IMFVideoSampleAllocator methods ***/
6297static FORCEINLINE HRESULT IMFVideoSampleAllocator_SetDirectXManager(IMFVideoSampleAllocator* This,IUnknown *pManager) {
6298 return This->lpVtbl->SetDirectXManager(This,pManager);
6299}
6300static FORCEINLINE HRESULT IMFVideoSampleAllocator_UninitializeSampleAllocator(IMFVideoSampleAllocator* This) {
6301 return This->lpVtbl->UninitializeSampleAllocator(This);
6302}
6303static FORCEINLINE HRESULT IMFVideoSampleAllocator_InitializeSampleAllocator(IMFVideoSampleAllocator* This,DWORD cRequestedFrames,IMFMediaType *pMediaType) {
6304 return This->lpVtbl->InitializeSampleAllocator(This,cRequestedFrames,pMediaType);
6305}
6306static FORCEINLINE HRESULT IMFVideoSampleAllocator_AllocateSample(IMFVideoSampleAllocator* This,IMFSample **ppSample) {
6307 return This->lpVtbl->AllocateSample(This,ppSample);
6308}
6309#endif
6310#endif
6311
6312#endif
6313
6314
6315#endif /* __IMFVideoSampleAllocator_INTERFACE_DEFINED__ */
6316
6317#if WINVER >= _WIN32_WINNT_WIN7
6318/*****************************************************************************
6319 * IMFVideoSampleAllocatorNotify interface
6320 */
6321#ifndef __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__
6322#define __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__
6323
6324DEFINE_GUID(IID_IMFVideoSampleAllocatorNotify, 0xa792cdbe, 0xc374, 0x4e89, 0x83,0x35, 0x27,0x8e,0x7b,0x99,0x56,0xa4);
6325#if defined(__cplusplus) && !defined(CINTERFACE)
6326MIDL_INTERFACE("a792cdbe-c374-4e89-8335-278e7b9956a4")
6327IMFVideoSampleAllocatorNotify : public IUnknown
6328{
6329 virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
6330 ) = 0;
6331
6332};
6333#ifdef __CRT_UUID_DECL
6334__CRT_UUID_DECL(IMFVideoSampleAllocatorNotify, 0xa792cdbe, 0xc374, 0x4e89, 0x83,0x35, 0x27,0x8e,0x7b,0x99,0x56,0xa4)
6335#endif
6336#else
6337typedef struct IMFVideoSampleAllocatorNotifyVtbl {
6338 BEGIN_INTERFACE
6339
6340 /*** IUnknown methods ***/
6341 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6342 IMFVideoSampleAllocatorNotify *This,
6343 REFIID riid,
6344 void **ppvObject);
6345
6346 ULONG (STDMETHODCALLTYPE *AddRef)(
6347 IMFVideoSampleAllocatorNotify *This);
6348
6349 ULONG (STDMETHODCALLTYPE *Release)(
6350 IMFVideoSampleAllocatorNotify *This);
6351
6352 /*** IMFVideoSampleAllocatorNotify methods ***/
6353 HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
6354 IMFVideoSampleAllocatorNotify *This);
6355
6356 END_INTERFACE
6357} IMFVideoSampleAllocatorNotifyVtbl;
6358
6359interface IMFVideoSampleAllocatorNotify {
6360 CONST_VTBL IMFVideoSampleAllocatorNotifyVtbl* lpVtbl;
6361};
6362
6363#ifdef COBJMACROS
6364#ifndef WIDL_C_INLINE_WRAPPERS
6365/*** IUnknown methods ***/
6366#define IMFVideoSampleAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6367#define IMFVideoSampleAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
6368#define IMFVideoSampleAllocatorNotify_Release(This) (This)->lpVtbl->Release(This)
6369/*** IMFVideoSampleAllocatorNotify methods ***/
6370#define IMFVideoSampleAllocatorNotify_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
6371#else
6372/*** IUnknown methods ***/
6373static FORCEINLINE HRESULT IMFVideoSampleAllocatorNotify_QueryInterface(IMFVideoSampleAllocatorNotify* This,REFIID riid,void **ppvObject) {
6374 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6375}
6376static FORCEINLINE ULONG IMFVideoSampleAllocatorNotify_AddRef(IMFVideoSampleAllocatorNotify* This) {
6377 return This->lpVtbl->AddRef(This);
6378}
6379static FORCEINLINE ULONG IMFVideoSampleAllocatorNotify_Release(IMFVideoSampleAllocatorNotify* This) {
6380 return This->lpVtbl->Release(This);
6381}
6382/*** IMFVideoSampleAllocatorNotify methods ***/
6383static FORCEINLINE HRESULT IMFVideoSampleAllocatorNotify_NotifyRelease(IMFVideoSampleAllocatorNotify* This) {
6384 return This->lpVtbl->NotifyRelease(This);
6385}
6386#endif
6387#endif
6388
6389#endif
6390
6391
6392#endif /* __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ */
6393
6394/*****************************************************************************
6395 * IMFVideoSampleAllocatorNotifyEx interface
6396 */
6397#ifndef __IMFVideoSampleAllocatorNotifyEx_INTERFACE_DEFINED__
6398#define __IMFVideoSampleAllocatorNotifyEx_INTERFACE_DEFINED__
6399
6400DEFINE_GUID(IID_IMFVideoSampleAllocatorNotifyEx, 0x3978aa1a, 0x6d5b, 0x4b7f, 0xa3,0x40, 0x90,0x89,0x91,0x89,0xae,0x34);
6401#if defined(__cplusplus) && !defined(CINTERFACE)
6402MIDL_INTERFACE("3978aa1a-6d5b-4b7f-a340-90899189ae34")
6403IMFVideoSampleAllocatorNotifyEx : public IMFVideoSampleAllocatorNotify
6404{
6405 virtual HRESULT STDMETHODCALLTYPE NotifyPrune(
6406 IMFSample *ppSample) = 0;
6407
6408};
6409#ifdef __CRT_UUID_DECL
6410__CRT_UUID_DECL(IMFVideoSampleAllocatorNotifyEx, 0x3978aa1a, 0x6d5b, 0x4b7f, 0xa3,0x40, 0x90,0x89,0x91,0x89,0xae,0x34)
6411#endif
6412#else
6413typedef struct IMFVideoSampleAllocatorNotifyExVtbl {
6414 BEGIN_INTERFACE
6415
6416 /*** IUnknown methods ***/
6417 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6418 IMFVideoSampleAllocatorNotifyEx *This,
6419 REFIID riid,
6420 void **ppvObject);
6421
6422 ULONG (STDMETHODCALLTYPE *AddRef)(
6423 IMFVideoSampleAllocatorNotifyEx *This);
6424
6425 ULONG (STDMETHODCALLTYPE *Release)(
6426 IMFVideoSampleAllocatorNotifyEx *This);
6427
6428 /*** IMFVideoSampleAllocatorNotify methods ***/
6429 HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
6430 IMFVideoSampleAllocatorNotifyEx *This);
6431
6432 /*** IMFVideoSampleAllocatorNotifyEx methods ***/
6433 HRESULT (STDMETHODCALLTYPE *NotifyPrune)(
6434 IMFVideoSampleAllocatorNotifyEx *This,
6435 IMFSample *ppSample);
6436
6437 END_INTERFACE
6438} IMFVideoSampleAllocatorNotifyExVtbl;
6439
6440interface IMFVideoSampleAllocatorNotifyEx {
6441 CONST_VTBL IMFVideoSampleAllocatorNotifyExVtbl* lpVtbl;
6442};
6443
6444#ifdef COBJMACROS
6445#ifndef WIDL_C_INLINE_WRAPPERS
6446/*** IUnknown methods ***/
6447#define IMFVideoSampleAllocatorNotifyEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6448#define IMFVideoSampleAllocatorNotifyEx_AddRef(This) (This)->lpVtbl->AddRef(This)
6449#define IMFVideoSampleAllocatorNotifyEx_Release(This) (This)->lpVtbl->Release(This)
6450/*** IMFVideoSampleAllocatorNotify methods ***/
6451#define IMFVideoSampleAllocatorNotifyEx_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
6452/*** IMFVideoSampleAllocatorNotifyEx methods ***/
6453#define IMFVideoSampleAllocatorNotifyEx_NotifyPrune(This,ppSample) (This)->lpVtbl->NotifyPrune(This,ppSample)
6454#else
6455/*** IUnknown methods ***/
6456static FORCEINLINE HRESULT IMFVideoSampleAllocatorNotifyEx_QueryInterface(IMFVideoSampleAllocatorNotifyEx* This,REFIID riid,void **ppvObject) {
6457 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6458}
6459static FORCEINLINE ULONG IMFVideoSampleAllocatorNotifyEx_AddRef(IMFVideoSampleAllocatorNotifyEx* This) {
6460 return This->lpVtbl->AddRef(This);
6461}
6462static FORCEINLINE ULONG IMFVideoSampleAllocatorNotifyEx_Release(IMFVideoSampleAllocatorNotifyEx* This) {
6463 return This->lpVtbl->Release(This);
6464}
6465/*** IMFVideoSampleAllocatorNotify methods ***/
6466static FORCEINLINE HRESULT IMFVideoSampleAllocatorNotifyEx_NotifyRelease(IMFVideoSampleAllocatorNotifyEx* This) {
6467 return This->lpVtbl->NotifyRelease(This);
6468}
6469/*** IMFVideoSampleAllocatorNotifyEx methods ***/
6470static FORCEINLINE HRESULT IMFVideoSampleAllocatorNotifyEx_NotifyPrune(IMFVideoSampleAllocatorNotifyEx* This,IMFSample *ppSample) {
6471 return This->lpVtbl->NotifyPrune(This,ppSample);
6472}
6473#endif
6474#endif
6475
6476#endif
6477
6478
6479#endif /* __IMFVideoSampleAllocatorNotifyEx_INTERFACE_DEFINED__ */
6480
6481/*****************************************************************************
6482 * IMFVideoSampleAllocatorCallback interface
6483 */
6484#ifndef __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__
6485#define __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__
6486
6487DEFINE_GUID(IID_IMFVideoSampleAllocatorCallback, 0x992388b4, 0x3372, 0x4f67, 0x8b,0x6f, 0xc8,0x4c,0x07,0x1f,0x47,0x51);
6488#if defined(__cplusplus) && !defined(CINTERFACE)
6489MIDL_INTERFACE("992388b4-3372-4f67-8b6f-c84c071f4751")
6490IMFVideoSampleAllocatorCallback : public IUnknown
6491{
6492 virtual HRESULT STDMETHODCALLTYPE SetCallback(
6493 IMFVideoSampleAllocatorNotify *pNotify) = 0;
6494
6495 virtual HRESULT STDMETHODCALLTYPE GetFreeSampleCount(
6496 LONG *plSamples) = 0;
6497
6498};
6499#ifdef __CRT_UUID_DECL
6500__CRT_UUID_DECL(IMFVideoSampleAllocatorCallback, 0x992388b4, 0x3372, 0x4f67, 0x8b,0x6f, 0xc8,0x4c,0x07,0x1f,0x47,0x51)
6501#endif
6502#else
6503typedef struct IMFVideoSampleAllocatorCallbackVtbl {
6504 BEGIN_INTERFACE
6505
6506 /*** IUnknown methods ***/
6507 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6508 IMFVideoSampleAllocatorCallback *This,
6509 REFIID riid,
6510 void **ppvObject);
6511
6512 ULONG (STDMETHODCALLTYPE *AddRef)(
6513 IMFVideoSampleAllocatorCallback *This);
6514
6515 ULONG (STDMETHODCALLTYPE *Release)(
6516 IMFVideoSampleAllocatorCallback *This);
6517
6518 /*** IMFVideoSampleAllocatorCallback methods ***/
6519 HRESULT (STDMETHODCALLTYPE *SetCallback)(
6520 IMFVideoSampleAllocatorCallback *This,
6521 IMFVideoSampleAllocatorNotify *pNotify);
6522
6523 HRESULT (STDMETHODCALLTYPE *GetFreeSampleCount)(
6524 IMFVideoSampleAllocatorCallback *This,
6525 LONG *plSamples);
6526
6527 END_INTERFACE
6528} IMFVideoSampleAllocatorCallbackVtbl;
6529
6530interface IMFVideoSampleAllocatorCallback {
6531 CONST_VTBL IMFVideoSampleAllocatorCallbackVtbl* lpVtbl;
6532};
6533
6534#ifdef COBJMACROS
6535#ifndef WIDL_C_INLINE_WRAPPERS
6536/*** IUnknown methods ***/
6537#define IMFVideoSampleAllocatorCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6538#define IMFVideoSampleAllocatorCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
6539#define IMFVideoSampleAllocatorCallback_Release(This) (This)->lpVtbl->Release(This)
6540/*** IMFVideoSampleAllocatorCallback methods ***/
6541#define IMFVideoSampleAllocatorCallback_SetCallback(This,pNotify) (This)->lpVtbl->SetCallback(This,pNotify)
6542#define IMFVideoSampleAllocatorCallback_GetFreeSampleCount(This,plSamples) (This)->lpVtbl->GetFreeSampleCount(This,plSamples)
6543#else
6544/*** IUnknown methods ***/
6545static FORCEINLINE HRESULT IMFVideoSampleAllocatorCallback_QueryInterface(IMFVideoSampleAllocatorCallback* This,REFIID riid,void **ppvObject) {
6546 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6547}
6548static FORCEINLINE ULONG IMFVideoSampleAllocatorCallback_AddRef(IMFVideoSampleAllocatorCallback* This) {
6549 return This->lpVtbl->AddRef(This);
6550}
6551static FORCEINLINE ULONG IMFVideoSampleAllocatorCallback_Release(IMFVideoSampleAllocatorCallback* This) {
6552 return This->lpVtbl->Release(This);
6553}
6554/*** IMFVideoSampleAllocatorCallback methods ***/
6555static FORCEINLINE HRESULT IMFVideoSampleAllocatorCallback_SetCallback(IMFVideoSampleAllocatorCallback* This,IMFVideoSampleAllocatorNotify *pNotify) {
6556 return This->lpVtbl->SetCallback(This,pNotify);
6557}
6558static FORCEINLINE HRESULT IMFVideoSampleAllocatorCallback_GetFreeSampleCount(IMFVideoSampleAllocatorCallback* This,LONG *plSamples) {
6559 return This->lpVtbl->GetFreeSampleCount(This,plSamples);
6560}
6561#endif
6562#endif
6563
6564#endif
6565
6566
6567#endif /* __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ */
6568
6569/*****************************************************************************
6570 * IMFVideoSampleAllocatorEx interface
6571 */
6572#ifndef __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__
6573#define __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__
6574
6575DEFINE_GUID(IID_IMFVideoSampleAllocatorEx, 0x545b3a48, 0x3283, 0x4f62, 0x86,0x6f, 0xa6,0x2d,0x8f,0x59,0x8f,0x9f);
6576#if defined(__cplusplus) && !defined(CINTERFACE)
6577MIDL_INTERFACE("545b3a48-3283-4f62-866f-a62d8f598f9f")
6578IMFVideoSampleAllocatorEx : public IMFVideoSampleAllocator
6579{
6580 virtual HRESULT STDMETHODCALLTYPE InitializeSampleAllocatorEx(
6581 DWORD cInitialSamples,
6582 DWORD cMaximumSamples,
6583 IMFAttributes *pAttributes,
6584 IMFMediaType *pMediaType) = 0;
6585
6586};
6587#ifdef __CRT_UUID_DECL
6588__CRT_UUID_DECL(IMFVideoSampleAllocatorEx, 0x545b3a48, 0x3283, 0x4f62, 0x86,0x6f, 0xa6,0x2d,0x8f,0x59,0x8f,0x9f)
6589#endif
6590#else
6591typedef struct IMFVideoSampleAllocatorExVtbl {
6592 BEGIN_INTERFACE
6593
6594 /*** IUnknown methods ***/
6595 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6596 IMFVideoSampleAllocatorEx *This,
6597 REFIID riid,
6598 void **ppvObject);
6599
6600 ULONG (STDMETHODCALLTYPE *AddRef)(
6601 IMFVideoSampleAllocatorEx *This);
6602
6603 ULONG (STDMETHODCALLTYPE *Release)(
6604 IMFVideoSampleAllocatorEx *This);
6605
6606 /*** IMFVideoSampleAllocator methods ***/
6607 HRESULT (STDMETHODCALLTYPE *SetDirectXManager)(
6608 IMFVideoSampleAllocatorEx *This,
6609 IUnknown *pManager);
6610
6611 HRESULT (STDMETHODCALLTYPE *UninitializeSampleAllocator)(
6612 IMFVideoSampleAllocatorEx *This);
6613
6614 HRESULT (STDMETHODCALLTYPE *InitializeSampleAllocator)(
6615 IMFVideoSampleAllocatorEx *This,
6616 DWORD cRequestedFrames,
6617 IMFMediaType *pMediaType);
6618
6619 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
6620 IMFVideoSampleAllocatorEx *This,
6621 IMFSample **ppSample);
6622
6623 /*** IMFVideoSampleAllocatorEx methods ***/
6624 HRESULT (STDMETHODCALLTYPE *InitializeSampleAllocatorEx)(
6625 IMFVideoSampleAllocatorEx *This,
6626 DWORD cInitialSamples,
6627 DWORD cMaximumSamples,
6628 IMFAttributes *pAttributes,
6629 IMFMediaType *pMediaType);
6630
6631 END_INTERFACE
6632} IMFVideoSampleAllocatorExVtbl;
6633
6634interface IMFVideoSampleAllocatorEx {
6635 CONST_VTBL IMFVideoSampleAllocatorExVtbl* lpVtbl;
6636};
6637
6638#ifdef COBJMACROS
6639#ifndef WIDL_C_INLINE_WRAPPERS
6640/*** IUnknown methods ***/
6641#define IMFVideoSampleAllocatorEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6642#define IMFVideoSampleAllocatorEx_AddRef(This) (This)->lpVtbl->AddRef(This)
6643#define IMFVideoSampleAllocatorEx_Release(This) (This)->lpVtbl->Release(This)
6644/*** IMFVideoSampleAllocator methods ***/
6645#define IMFVideoSampleAllocatorEx_SetDirectXManager(This,pManager) (This)->lpVtbl->SetDirectXManager(This,pManager)
6646#define IMFVideoSampleAllocatorEx_UninitializeSampleAllocator(This) (This)->lpVtbl->UninitializeSampleAllocator(This)
6647#define IMFVideoSampleAllocatorEx_InitializeSampleAllocator(This,cRequestedFrames,pMediaType) (This)->lpVtbl->InitializeSampleAllocator(This,cRequestedFrames,pMediaType)
6648#define IMFVideoSampleAllocatorEx_AllocateSample(This,ppSample) (This)->lpVtbl->AllocateSample(This,ppSample)
6649/*** IMFVideoSampleAllocatorEx methods ***/
6650#define IMFVideoSampleAllocatorEx_InitializeSampleAllocatorEx(This,cInitialSamples,cMaximumSamples,pAttributes,pMediaType) (This)->lpVtbl->InitializeSampleAllocatorEx(This,cInitialSamples,cMaximumSamples,pAttributes,pMediaType)
6651#else
6652/*** IUnknown methods ***/
6653static FORCEINLINE HRESULT IMFVideoSampleAllocatorEx_QueryInterface(IMFVideoSampleAllocatorEx* This,REFIID riid,void **ppvObject) {
6654 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6655}
6656static FORCEINLINE ULONG IMFVideoSampleAllocatorEx_AddRef(IMFVideoSampleAllocatorEx* This) {
6657 return This->lpVtbl->AddRef(This);
6658}
6659static FORCEINLINE ULONG IMFVideoSampleAllocatorEx_Release(IMFVideoSampleAllocatorEx* This) {
6660 return This->lpVtbl->Release(This);
6661}
6662/*** IMFVideoSampleAllocator methods ***/
6663static FORCEINLINE HRESULT IMFVideoSampleAllocatorEx_SetDirectXManager(IMFVideoSampleAllocatorEx* This,IUnknown *pManager) {
6664 return This->lpVtbl->SetDirectXManager(This,pManager);
6665}
6666static FORCEINLINE HRESULT IMFVideoSampleAllocatorEx_UninitializeSampleAllocator(IMFVideoSampleAllocatorEx* This) {
6667 return This->lpVtbl->UninitializeSampleAllocator(This);
6668}
6669static FORCEINLINE HRESULT IMFVideoSampleAllocatorEx_InitializeSampleAllocator(IMFVideoSampleAllocatorEx* This,DWORD cRequestedFrames,IMFMediaType *pMediaType) {
6670 return This->lpVtbl->InitializeSampleAllocator(This,cRequestedFrames,pMediaType);
6671}
6672static FORCEINLINE HRESULT IMFVideoSampleAllocatorEx_AllocateSample(IMFVideoSampleAllocatorEx* This,IMFSample **ppSample) {
6673 return This->lpVtbl->AllocateSample(This,ppSample);
6674}
6675/*** IMFVideoSampleAllocatorEx methods ***/
6676static FORCEINLINE HRESULT IMFVideoSampleAllocatorEx_InitializeSampleAllocatorEx(IMFVideoSampleAllocatorEx* This,DWORD cInitialSamples,DWORD cMaximumSamples,IMFAttributes *pAttributes,IMFMediaType *pMediaType) {
6677 return This->lpVtbl->InitializeSampleAllocatorEx(This,cInitialSamples,cMaximumSamples,pAttributes,pMediaType);
6678}
6679#endif
6680#endif
6681
6682#endif
6683
6684
6685#endif /* __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__ */
6686
6687#endif /* WINVER >= _WIN32_WINNT_WIN7 */
6688#if WINVER >= _WIN32_WINNT_WIN8
6689typedef enum _MF_VIDEO_PROCESSOR_ROTATION {
6690 ROTATION_NONE = 0,
6691 ROTATION_NORMAL = 1
6692} MF_VIDEO_PROCESSOR_ROTATION;
6693typedef enum _MF_VIDEO_PROCESSOR_MIRROR {
6694 MIRROR_NONE = 0,
6695 MIRROR_HORIZONTAL = 1,
6696 MIRROR_VERTICAL = 2
6697} MF_VIDEO_PROCESSOR_MIRROR;
6698/*****************************************************************************
6699 * IMFVideoProcessorControl interface
6700 */
6701#ifndef __IMFVideoProcessorControl_INTERFACE_DEFINED__
6702#define __IMFVideoProcessorControl_INTERFACE_DEFINED__
6703
6704DEFINE_GUID(IID_IMFVideoProcessorControl, 0xa3f675d5, 0x6119, 0x4f7f, 0xa1,0x00, 0x1d,0x8b,0x28,0x0f,0x0e,0xfb);
6705#if defined(__cplusplus) && !defined(CINTERFACE)
6706MIDL_INTERFACE("a3f675d5-6119-4f7f-a100-1d8b280f0efb")
6707IMFVideoProcessorControl : public IUnknown
6708{
6709 virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
6710 MFARGB *pBorderColor) = 0;
6711
6712 virtual HRESULT STDMETHODCALLTYPE SetSourceRectangle(
6713 RECT *pSrcRect) = 0;
6714
6715 virtual HRESULT STDMETHODCALLTYPE SetDestinationRectangle(
6716 RECT *pDstRect) = 0;
6717
6718 virtual HRESULT STDMETHODCALLTYPE SetMirror(
6719 MF_VIDEO_PROCESSOR_MIRROR eMirror) = 0;
6720
6721 virtual HRESULT STDMETHODCALLTYPE SetRotation(
6722 MF_VIDEO_PROCESSOR_ROTATION eRotation) = 0;
6723
6724 virtual HRESULT STDMETHODCALLTYPE SetConstrictionSize(
6725 SIZE *pConstrictionSize) = 0;
6726
6727};
6728#ifdef __CRT_UUID_DECL
6729__CRT_UUID_DECL(IMFVideoProcessorControl, 0xa3f675d5, 0x6119, 0x4f7f, 0xa1,0x00, 0x1d,0x8b,0x28,0x0f,0x0e,0xfb)
6730#endif
6731#else
6732typedef struct IMFVideoProcessorControlVtbl {
6733 BEGIN_INTERFACE
6734
6735 /*** IUnknown methods ***/
6736 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6737 IMFVideoProcessorControl *This,
6738 REFIID riid,
6739 void **ppvObject);
6740
6741 ULONG (STDMETHODCALLTYPE *AddRef)(
6742 IMFVideoProcessorControl *This);
6743
6744 ULONG (STDMETHODCALLTYPE *Release)(
6745 IMFVideoProcessorControl *This);
6746
6747 /*** IMFVideoProcessorControl methods ***/
6748 HRESULT (STDMETHODCALLTYPE *SetBorderColor)(
6749 IMFVideoProcessorControl *This,
6750 MFARGB *pBorderColor);
6751
6752 HRESULT (STDMETHODCALLTYPE *SetSourceRectangle)(
6753 IMFVideoProcessorControl *This,
6754 RECT *pSrcRect);
6755
6756 HRESULT (STDMETHODCALLTYPE *SetDestinationRectangle)(
6757 IMFVideoProcessorControl *This,
6758 RECT *pDstRect);
6759
6760 HRESULT (STDMETHODCALLTYPE *SetMirror)(
6761 IMFVideoProcessorControl *This,
6762 MF_VIDEO_PROCESSOR_MIRROR eMirror);
6763
6764 HRESULT (STDMETHODCALLTYPE *SetRotation)(
6765 IMFVideoProcessorControl *This,
6766 MF_VIDEO_PROCESSOR_ROTATION eRotation);
6767
6768 HRESULT (STDMETHODCALLTYPE *SetConstrictionSize)(
6769 IMFVideoProcessorControl *This,
6770 SIZE *pConstrictionSize);
6771
6772 END_INTERFACE
6773} IMFVideoProcessorControlVtbl;
6774
6775interface IMFVideoProcessorControl {
6776 CONST_VTBL IMFVideoProcessorControlVtbl* lpVtbl;
6777};
6778
6779#ifdef COBJMACROS
6780#ifndef WIDL_C_INLINE_WRAPPERS
6781/*** IUnknown methods ***/
6782#define IMFVideoProcessorControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6783#define IMFVideoProcessorControl_AddRef(This) (This)->lpVtbl->AddRef(This)
6784#define IMFVideoProcessorControl_Release(This) (This)->lpVtbl->Release(This)
6785/*** IMFVideoProcessorControl methods ***/
6786#define IMFVideoProcessorControl_SetBorderColor(This,pBorderColor) (This)->lpVtbl->SetBorderColor(This,pBorderColor)
6787#define IMFVideoProcessorControl_SetSourceRectangle(This,pSrcRect) (This)->lpVtbl->SetSourceRectangle(This,pSrcRect)
6788#define IMFVideoProcessorControl_SetDestinationRectangle(This,pDstRect) (This)->lpVtbl->SetDestinationRectangle(This,pDstRect)
6789#define IMFVideoProcessorControl_SetMirror(This,eMirror) (This)->lpVtbl->SetMirror(This,eMirror)
6790#define IMFVideoProcessorControl_SetRotation(This,eRotation) (This)->lpVtbl->SetRotation(This,eRotation)
6791#define IMFVideoProcessorControl_SetConstrictionSize(This,pConstrictionSize) (This)->lpVtbl->SetConstrictionSize(This,pConstrictionSize)
6792#else
6793/*** IUnknown methods ***/
6794static FORCEINLINE HRESULT IMFVideoProcessorControl_QueryInterface(IMFVideoProcessorControl* This,REFIID riid,void **ppvObject) {
6795 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6796}
6797static FORCEINLINE ULONG IMFVideoProcessorControl_AddRef(IMFVideoProcessorControl* This) {
6798 return This->lpVtbl->AddRef(This);
6799}
6800static FORCEINLINE ULONG IMFVideoProcessorControl_Release(IMFVideoProcessorControl* This) {
6801 return This->lpVtbl->Release(This);
6802}
6803/*** IMFVideoProcessorControl methods ***/
6804static FORCEINLINE HRESULT IMFVideoProcessorControl_SetBorderColor(IMFVideoProcessorControl* This,MFARGB *pBorderColor) {
6805 return This->lpVtbl->SetBorderColor(This,pBorderColor);
6806}
6807static FORCEINLINE HRESULT IMFVideoProcessorControl_SetSourceRectangle(IMFVideoProcessorControl* This,RECT *pSrcRect) {
6808 return This->lpVtbl->SetSourceRectangle(This,pSrcRect);
6809}
6810static FORCEINLINE HRESULT IMFVideoProcessorControl_SetDestinationRectangle(IMFVideoProcessorControl* This,RECT *pDstRect) {
6811 return This->lpVtbl->SetDestinationRectangle(This,pDstRect);
6812}
6813static FORCEINLINE HRESULT IMFVideoProcessorControl_SetMirror(IMFVideoProcessorControl* This,MF_VIDEO_PROCESSOR_MIRROR eMirror) {
6814 return This->lpVtbl->SetMirror(This,eMirror);
6815}
6816static FORCEINLINE HRESULT IMFVideoProcessorControl_SetRotation(IMFVideoProcessorControl* This,MF_VIDEO_PROCESSOR_ROTATION eRotation) {
6817 return This->lpVtbl->SetRotation(This,eRotation);
6818}
6819static FORCEINLINE HRESULT IMFVideoProcessorControl_SetConstrictionSize(IMFVideoProcessorControl* This,SIZE *pConstrictionSize) {
6820 return This->lpVtbl->SetConstrictionSize(This,pConstrictionSize);
6821}
6822#endif
6823#endif
6824
6825#endif
6826
6827
6828#endif /* __IMFVideoProcessorControl_INTERFACE_DEFINED__ */
6829
6830#if WINVER >= _WIN32_WINNT_WINBLUE
6831/*****************************************************************************
6832 * IMFVideoProcessorControl2 interface
6833 */
6834#ifndef __IMFVideoProcessorControl2_INTERFACE_DEFINED__
6835#define __IMFVideoProcessorControl2_INTERFACE_DEFINED__
6836
6837DEFINE_GUID(IID_IMFVideoProcessorControl2, 0xbde633d3, 0xe1dc, 0x4a7f, 0xa6,0x93, 0xbb,0xae,0x39,0x9c,0x4a,0x20);
6838#if defined(__cplusplus) && !defined(CINTERFACE)
6839MIDL_INTERFACE("bde633d3-e1dc-4a7f-a693-bbae399c4a20")
6840IMFVideoProcessorControl2 : public IMFVideoProcessorControl
6841{
6842 virtual HRESULT STDMETHODCALLTYPE SetRotationOverride(
6843 UINT uiRotation) = 0;
6844
6845 virtual HRESULT STDMETHODCALLTYPE EnableHardwareEffects(
6846 WINBOOL fEnabled) = 0;
6847
6848 virtual HRESULT STDMETHODCALLTYPE GetSupportedHardwareEffects(
6849 UINT *puiSupport) = 0;
6850
6851};
6852#ifdef __CRT_UUID_DECL
6853__CRT_UUID_DECL(IMFVideoProcessorControl2, 0xbde633d3, 0xe1dc, 0x4a7f, 0xa6,0x93, 0xbb,0xae,0x39,0x9c,0x4a,0x20)
6854#endif
6855#else
6856typedef struct IMFVideoProcessorControl2Vtbl {
6857 BEGIN_INTERFACE
6858
6859 /*** IUnknown methods ***/
6860 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6861 IMFVideoProcessorControl2 *This,
6862 REFIID riid,
6863 void **ppvObject);
6864
6865 ULONG (STDMETHODCALLTYPE *AddRef)(
6866 IMFVideoProcessorControl2 *This);
6867
6868 ULONG (STDMETHODCALLTYPE *Release)(
6869 IMFVideoProcessorControl2 *This);
6870
6871 /*** IMFVideoProcessorControl methods ***/
6872 HRESULT (STDMETHODCALLTYPE *SetBorderColor)(
6873 IMFVideoProcessorControl2 *This,
6874 MFARGB *pBorderColor);
6875
6876 HRESULT (STDMETHODCALLTYPE *SetSourceRectangle)(
6877 IMFVideoProcessorControl2 *This,
6878 RECT *pSrcRect);
6879
6880 HRESULT (STDMETHODCALLTYPE *SetDestinationRectangle)(
6881 IMFVideoProcessorControl2 *This,
6882 RECT *pDstRect);
6883
6884 HRESULT (STDMETHODCALLTYPE *SetMirror)(
6885 IMFVideoProcessorControl2 *This,
6886 MF_VIDEO_PROCESSOR_MIRROR eMirror);
6887
6888 HRESULT (STDMETHODCALLTYPE *SetRotation)(
6889 IMFVideoProcessorControl2 *This,
6890 MF_VIDEO_PROCESSOR_ROTATION eRotation);
6891
6892 HRESULT (STDMETHODCALLTYPE *SetConstrictionSize)(
6893 IMFVideoProcessorControl2 *This,
6894 SIZE *pConstrictionSize);
6895
6896 /*** IMFVideoProcessorControl2 methods ***/
6897 HRESULT (STDMETHODCALLTYPE *SetRotationOverride)(
6898 IMFVideoProcessorControl2 *This,
6899 UINT uiRotation);
6900
6901 HRESULT (STDMETHODCALLTYPE *EnableHardwareEffects)(
6902 IMFVideoProcessorControl2 *This,
6903 WINBOOL fEnabled);
6904
6905 HRESULT (STDMETHODCALLTYPE *GetSupportedHardwareEffects)(
6906 IMFVideoProcessorControl2 *This,
6907 UINT *puiSupport);
6908
6909 END_INTERFACE
6910} IMFVideoProcessorControl2Vtbl;
6911
6912interface IMFVideoProcessorControl2 {
6913 CONST_VTBL IMFVideoProcessorControl2Vtbl* lpVtbl;
6914};
6915
6916#ifdef COBJMACROS
6917#ifndef WIDL_C_INLINE_WRAPPERS
6918/*** IUnknown methods ***/
6919#define IMFVideoProcessorControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6920#define IMFVideoProcessorControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
6921#define IMFVideoProcessorControl2_Release(This) (This)->lpVtbl->Release(This)
6922/*** IMFVideoProcessorControl methods ***/
6923#define IMFVideoProcessorControl2_SetBorderColor(This,pBorderColor) (This)->lpVtbl->SetBorderColor(This,pBorderColor)
6924#define IMFVideoProcessorControl2_SetSourceRectangle(This,pSrcRect) (This)->lpVtbl->SetSourceRectangle(This,pSrcRect)
6925#define IMFVideoProcessorControl2_SetDestinationRectangle(This,pDstRect) (This)->lpVtbl->SetDestinationRectangle(This,pDstRect)
6926#define IMFVideoProcessorControl2_SetMirror(This,eMirror) (This)->lpVtbl->SetMirror(This,eMirror)
6927#define IMFVideoProcessorControl2_SetRotation(This,eRotation) (This)->lpVtbl->SetRotation(This,eRotation)
6928#define IMFVideoProcessorControl2_SetConstrictionSize(This,pConstrictionSize) (This)->lpVtbl->SetConstrictionSize(This,pConstrictionSize)
6929/*** IMFVideoProcessorControl2 methods ***/
6930#define IMFVideoProcessorControl2_SetRotationOverride(This,uiRotation) (This)->lpVtbl->SetRotationOverride(This,uiRotation)
6931#define IMFVideoProcessorControl2_EnableHardwareEffects(This,fEnabled) (This)->lpVtbl->EnableHardwareEffects(This,fEnabled)
6932#define IMFVideoProcessorControl2_GetSupportedHardwareEffects(This,puiSupport) (This)->lpVtbl->GetSupportedHardwareEffects(This,puiSupport)
6933#else
6934/*** IUnknown methods ***/
6935static FORCEINLINE HRESULT IMFVideoProcessorControl2_QueryInterface(IMFVideoProcessorControl2* This,REFIID riid,void **ppvObject) {
6936 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6937}
6938static FORCEINLINE ULONG IMFVideoProcessorControl2_AddRef(IMFVideoProcessorControl2* This) {
6939 return This->lpVtbl->AddRef(This);
6940}
6941static FORCEINLINE ULONG IMFVideoProcessorControl2_Release(IMFVideoProcessorControl2* This) {
6942 return This->lpVtbl->Release(This);
6943}
6944/*** IMFVideoProcessorControl methods ***/
6945static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetBorderColor(IMFVideoProcessorControl2* This,MFARGB *pBorderColor) {
6946 return This->lpVtbl->SetBorderColor(This,pBorderColor);
6947}
6948static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetSourceRectangle(IMFVideoProcessorControl2* This,RECT *pSrcRect) {
6949 return This->lpVtbl->SetSourceRectangle(This,pSrcRect);
6950}
6951static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetDestinationRectangle(IMFVideoProcessorControl2* This,RECT *pDstRect) {
6952 return This->lpVtbl->SetDestinationRectangle(This,pDstRect);
6953}
6954static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetMirror(IMFVideoProcessorControl2* This,MF_VIDEO_PROCESSOR_MIRROR eMirror) {
6955 return This->lpVtbl->SetMirror(This,eMirror);
6956}
6957static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetRotation(IMFVideoProcessorControl2* This,MF_VIDEO_PROCESSOR_ROTATION eRotation) {
6958 return This->lpVtbl->SetRotation(This,eRotation);
6959}
6960static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetConstrictionSize(IMFVideoProcessorControl2* This,SIZE *pConstrictionSize) {
6961 return This->lpVtbl->SetConstrictionSize(This,pConstrictionSize);
6962}
6963/*** IMFVideoProcessorControl2 methods ***/
6964static FORCEINLINE HRESULT IMFVideoProcessorControl2_SetRotationOverride(IMFVideoProcessorControl2* This,UINT uiRotation) {
6965 return This->lpVtbl->SetRotationOverride(This,uiRotation);
6966}
6967static FORCEINLINE HRESULT IMFVideoProcessorControl2_EnableHardwareEffects(IMFVideoProcessorControl2* This,WINBOOL fEnabled) {
6968 return This->lpVtbl->EnableHardwareEffects(This,fEnabled);
6969}
6970static FORCEINLINE HRESULT IMFVideoProcessorControl2_GetSupportedHardwareEffects(IMFVideoProcessorControl2* This,UINT *puiSupport) {
6971 return This->lpVtbl->GetSupportedHardwareEffects(This,puiSupport);
6972}
6973#endif
6974#endif
6975
6976#endif
6977
6978
6979#endif /* __IMFVideoProcessorControl2_INTERFACE_DEFINED__ */
6980
6981#if WINVER >= _WIN32_WINNT_WIN10
6982typedef enum _MFVideoSphericalFormat {
6983 MFVideoSphericalFormat_Unsupported = 0,
6984 MFVideoSphericalFormat_Equirectangular = 1,
6985 MFVideoSphericalFormat_CubeMap = 2,
6986 MFVideoSphericalFormat_3DMesh = 3
6987} MFVideoSphericalFormat;
6988#endif /* WINVER >= _WIN32_WINNT_WIN10 */
6989#if NTDDI_VERSION >= NTDDI_WIN10_RS3
6990EXTERN_GUID(MF_XVP_SAMPLE_LOCK_TIMEOUT, 0xaa4ddb29, 0x5134, 0x4363, 0xac, 0x72, 0x83, 0xec, 0x4b, 0xc1, 0x4, 0x26);
6991typedef enum MFVideoSphericalProjectionMode {
6992 MFVideoSphericalProjectionMode_Spherical = 0,
6993 MFVideoSphericalProjectionMode_Flat = 1
6994} MFVideoSphericalProjectionMode;
6995/*****************************************************************************
6996 * IMFVideoProcessorControl3 interface
6997 */
6998#ifndef __IMFVideoProcessorControl3_INTERFACE_DEFINED__
6999#define __IMFVideoProcessorControl3_INTERFACE_DEFINED__
7000
7001DEFINE_GUID(IID_IMFVideoProcessorControl3, 0x2424b3f2, 0xeb23, 0x40f1, 0x91,0xaa, 0x74,0xbd,0xde,0xea,0x08,0x83);
7002#if defined(__cplusplus) && !defined(CINTERFACE)
7003MIDL_INTERFACE("2424b3f2-eb23-40f1-91aa-74bddeea0883")
7004IMFVideoProcessorControl3 : public IMFVideoProcessorControl2
7005{
7006 virtual HRESULT STDMETHODCALLTYPE GetNaturalOutputType(
7007 IMFMediaType **ppType) = 0;
7008
7009 virtual HRESULT STDMETHODCALLTYPE EnableSphericalVideoProcessing(
7010 WINBOOL fEnable,
7011 MFVideoSphericalFormat eFormat,
7012 MFVideoSphericalProjectionMode eProjectionMode) = 0;
7013
7014 virtual HRESULT STDMETHODCALLTYPE SetSphericalVideoProperties(
7015 float X,
7016 float Y,
7017 float Z,
7018 float W,
7019 float fieldOfView) = 0;
7020
7021 virtual HRESULT STDMETHODCALLTYPE SetOutputDevice(
7022 IUnknown *pOutputDevice) = 0;
7023
7024};
7025#ifdef __CRT_UUID_DECL
7026__CRT_UUID_DECL(IMFVideoProcessorControl3, 0x2424b3f2, 0xeb23, 0x40f1, 0x91,0xaa, 0x74,0xbd,0xde,0xea,0x08,0x83)
7027#endif
7028#else
7029typedef struct IMFVideoProcessorControl3Vtbl {
7030 BEGIN_INTERFACE
7031
7032 /*** IUnknown methods ***/
7033 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7034 IMFVideoProcessorControl3 *This,
7035 REFIID riid,
7036 void **ppvObject);
7037
7038 ULONG (STDMETHODCALLTYPE *AddRef)(
7039 IMFVideoProcessorControl3 *This);
7040
7041 ULONG (STDMETHODCALLTYPE *Release)(
7042 IMFVideoProcessorControl3 *This);
7043
7044 /*** IMFVideoProcessorControl methods ***/
7045 HRESULT (STDMETHODCALLTYPE *SetBorderColor)(
7046 IMFVideoProcessorControl3 *This,
7047 MFARGB *pBorderColor);
7048
7049 HRESULT (STDMETHODCALLTYPE *SetSourceRectangle)(
7050 IMFVideoProcessorControl3 *This,
7051 RECT *pSrcRect);
7052
7053 HRESULT (STDMETHODCALLTYPE *SetDestinationRectangle)(
7054 IMFVideoProcessorControl3 *This,
7055 RECT *pDstRect);
7056
7057 HRESULT (STDMETHODCALLTYPE *SetMirror)(
7058 IMFVideoProcessorControl3 *This,
7059 MF_VIDEO_PROCESSOR_MIRROR eMirror);
7060
7061 HRESULT (STDMETHODCALLTYPE *SetRotation)(
7062 IMFVideoProcessorControl3 *This,
7063 MF_VIDEO_PROCESSOR_ROTATION eRotation);
7064
7065 HRESULT (STDMETHODCALLTYPE *SetConstrictionSize)(
7066 IMFVideoProcessorControl3 *This,
7067 SIZE *pConstrictionSize);
7068
7069 /*** IMFVideoProcessorControl2 methods ***/
7070 HRESULT (STDMETHODCALLTYPE *SetRotationOverride)(
7071 IMFVideoProcessorControl3 *This,
7072 UINT uiRotation);
7073
7074 HRESULT (STDMETHODCALLTYPE *EnableHardwareEffects)(
7075 IMFVideoProcessorControl3 *This,
7076 WINBOOL fEnabled);
7077
7078 HRESULT (STDMETHODCALLTYPE *GetSupportedHardwareEffects)(
7079 IMFVideoProcessorControl3 *This,
7080 UINT *puiSupport);
7081
7082 /*** IMFVideoProcessorControl3 methods ***/
7083 HRESULT (STDMETHODCALLTYPE *GetNaturalOutputType)(
7084 IMFVideoProcessorControl3 *This,
7085 IMFMediaType **ppType);
7086
7087 HRESULT (STDMETHODCALLTYPE *EnableSphericalVideoProcessing)(
7088 IMFVideoProcessorControl3 *This,
7089 WINBOOL fEnable,
7090 MFVideoSphericalFormat eFormat,
7091 MFVideoSphericalProjectionMode eProjectionMode);
7092
7093 HRESULT (STDMETHODCALLTYPE *SetSphericalVideoProperties)(
7094 IMFVideoProcessorControl3 *This,
7095 float X,
7096 float Y,
7097 float Z,
7098 float W,
7099 float fieldOfView);
7100
7101 HRESULT (STDMETHODCALLTYPE *SetOutputDevice)(
7102 IMFVideoProcessorControl3 *This,
7103 IUnknown *pOutputDevice);
7104
7105 END_INTERFACE
7106} IMFVideoProcessorControl3Vtbl;
7107
7108interface IMFVideoProcessorControl3 {
7109 CONST_VTBL IMFVideoProcessorControl3Vtbl* lpVtbl;
7110};
7111
7112#ifdef COBJMACROS
7113#ifndef WIDL_C_INLINE_WRAPPERS
7114/*** IUnknown methods ***/
7115#define IMFVideoProcessorControl3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7116#define IMFVideoProcessorControl3_AddRef(This) (This)->lpVtbl->AddRef(This)
7117#define IMFVideoProcessorControl3_Release(This) (This)->lpVtbl->Release(This)
7118/*** IMFVideoProcessorControl methods ***/
7119#define IMFVideoProcessorControl3_SetBorderColor(This,pBorderColor) (This)->lpVtbl->SetBorderColor(This,pBorderColor)
7120#define IMFVideoProcessorControl3_SetSourceRectangle(This,pSrcRect) (This)->lpVtbl->SetSourceRectangle(This,pSrcRect)
7121#define IMFVideoProcessorControl3_SetDestinationRectangle(This,pDstRect) (This)->lpVtbl->SetDestinationRectangle(This,pDstRect)
7122#define IMFVideoProcessorControl3_SetMirror(This,eMirror) (This)->lpVtbl->SetMirror(This,eMirror)
7123#define IMFVideoProcessorControl3_SetRotation(This,eRotation) (This)->lpVtbl->SetRotation(This,eRotation)
7124#define IMFVideoProcessorControl3_SetConstrictionSize(This,pConstrictionSize) (This)->lpVtbl->SetConstrictionSize(This,pConstrictionSize)
7125/*** IMFVideoProcessorControl2 methods ***/
7126#define IMFVideoProcessorControl3_SetRotationOverride(This,uiRotation) (This)->lpVtbl->SetRotationOverride(This,uiRotation)
7127#define IMFVideoProcessorControl3_EnableHardwareEffects(This,fEnabled) (This)->lpVtbl->EnableHardwareEffects(This,fEnabled)
7128#define IMFVideoProcessorControl3_GetSupportedHardwareEffects(This,puiSupport) (This)->lpVtbl->GetSupportedHardwareEffects(This,puiSupport)
7129/*** IMFVideoProcessorControl3 methods ***/
7130#define IMFVideoProcessorControl3_GetNaturalOutputType(This,ppType) (This)->lpVtbl->GetNaturalOutputType(This,ppType)
7131#define IMFVideoProcessorControl3_EnableSphericalVideoProcessing(This,fEnable,eFormat,eProjectionMode) (This)->lpVtbl->EnableSphericalVideoProcessing(This,fEnable,eFormat,eProjectionMode)
7132#define IMFVideoProcessorControl3_SetSphericalVideoProperties(This,X,Y,Z,W,fieldOfView) (This)->lpVtbl->SetSphericalVideoProperties(This,X,Y,Z,W,fieldOfView)
7133#define IMFVideoProcessorControl3_SetOutputDevice(This,pOutputDevice) (This)->lpVtbl->SetOutputDevice(This,pOutputDevice)
7134#else
7135/*** IUnknown methods ***/
7136static FORCEINLINE HRESULT IMFVideoProcessorControl3_QueryInterface(IMFVideoProcessorControl3* This,REFIID riid,void **ppvObject) {
7137 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7138}
7139static FORCEINLINE ULONG IMFVideoProcessorControl3_AddRef(IMFVideoProcessorControl3* This) {
7140 return This->lpVtbl->AddRef(This);
7141}
7142static FORCEINLINE ULONG IMFVideoProcessorControl3_Release(IMFVideoProcessorControl3* This) {
7143 return This->lpVtbl->Release(This);
7144}
7145/*** IMFVideoProcessorControl methods ***/
7146static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetBorderColor(IMFVideoProcessorControl3* This,MFARGB *pBorderColor) {
7147 return This->lpVtbl->SetBorderColor(This,pBorderColor);
7148}
7149static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetSourceRectangle(IMFVideoProcessorControl3* This,RECT *pSrcRect) {
7150 return This->lpVtbl->SetSourceRectangle(This,pSrcRect);
7151}
7152static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetDestinationRectangle(IMFVideoProcessorControl3* This,RECT *pDstRect) {
7153 return This->lpVtbl->SetDestinationRectangle(This,pDstRect);
7154}
7155static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetMirror(IMFVideoProcessorControl3* This,MF_VIDEO_PROCESSOR_MIRROR eMirror) {
7156 return This->lpVtbl->SetMirror(This,eMirror);
7157}
7158static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetRotation(IMFVideoProcessorControl3* This,MF_VIDEO_PROCESSOR_ROTATION eRotation) {
7159 return This->lpVtbl->SetRotation(This,eRotation);
7160}
7161static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetConstrictionSize(IMFVideoProcessorControl3* This,SIZE *pConstrictionSize) {
7162 return This->lpVtbl->SetConstrictionSize(This,pConstrictionSize);
7163}
7164/*** IMFVideoProcessorControl2 methods ***/
7165static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetRotationOverride(IMFVideoProcessorControl3* This,UINT uiRotation) {
7166 return This->lpVtbl->SetRotationOverride(This,uiRotation);
7167}
7168static FORCEINLINE HRESULT IMFVideoProcessorControl3_EnableHardwareEffects(IMFVideoProcessorControl3* This,WINBOOL fEnabled) {
7169 return This->lpVtbl->EnableHardwareEffects(This,fEnabled);
7170}
7171static FORCEINLINE HRESULT IMFVideoProcessorControl3_GetSupportedHardwareEffects(IMFVideoProcessorControl3* This,UINT *puiSupport) {
7172 return This->lpVtbl->GetSupportedHardwareEffects(This,puiSupport);
7173}
7174/*** IMFVideoProcessorControl3 methods ***/
7175static FORCEINLINE HRESULT IMFVideoProcessorControl3_GetNaturalOutputType(IMFVideoProcessorControl3* This,IMFMediaType **ppType) {
7176 return This->lpVtbl->GetNaturalOutputType(This,ppType);
7177}
7178static FORCEINLINE HRESULT IMFVideoProcessorControl3_EnableSphericalVideoProcessing(IMFVideoProcessorControl3* This,WINBOOL fEnable,MFVideoSphericalFormat eFormat,MFVideoSphericalProjectionMode eProjectionMode) {
7179 return This->lpVtbl->EnableSphericalVideoProcessing(This,fEnable,eFormat,eProjectionMode);
7180}
7181static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetSphericalVideoProperties(IMFVideoProcessorControl3* This,float X,float Y,float Z,float W,float fieldOfView) {
7182 return This->lpVtbl->SetSphericalVideoProperties(This,X,Y,Z,W,fieldOfView);
7183}
7184static FORCEINLINE HRESULT IMFVideoProcessorControl3_SetOutputDevice(IMFVideoProcessorControl3* This,IUnknown *pOutputDevice) {
7185 return This->lpVtbl->SetOutputDevice(This,pOutputDevice);
7186}
7187#endif
7188#endif
7189
7190#endif
7191
7192
7193#endif /* __IMFVideoProcessorControl3_INTERFACE_DEFINED__ */
7194
7195#endif /* NTDDI_VERSION >= NTDDI_WIN10_RS3 */
7196#endif /* WINVER >= _WIN32_WINNT_WINBLUE */
7197#if NTDDI_VERSION >= NTDDI_WIN10_VB
7198/*****************************************************************************
7199 * IMFVideoRendererEffectControl interface
7200 */
7201#ifndef __IMFVideoRendererEffectControl_INTERFACE_DEFINED__
7202#define __IMFVideoRendererEffectControl_INTERFACE_DEFINED__
7203
7204DEFINE_GUID(IID_IMFVideoRendererEffectControl, 0x604d33d7, 0xcf23, 0x41d5, 0x82,0x24, 0x5b,0xbb,0xb1,0xa8,0x74,0x75);
7205#if defined(__cplusplus) && !defined(CINTERFACE)
7206MIDL_INTERFACE("604d33d7-cf23-41d5-8224-5bbbb1a87475")
7207IMFVideoRendererEffectControl : public IUnknown
7208{
7209 virtual HRESULT STDMETHODCALLTYPE OnAppServiceConnectionEstablished(
7210 IUnknown *pAppServiceConnection) = 0;
7211
7212};
7213#ifdef __CRT_UUID_DECL
7214__CRT_UUID_DECL(IMFVideoRendererEffectControl, 0x604d33d7, 0xcf23, 0x41d5, 0x82,0x24, 0x5b,0xbb,0xb1,0xa8,0x74,0x75)
7215#endif
7216#else
7217typedef struct IMFVideoRendererEffectControlVtbl {
7218 BEGIN_INTERFACE
7219
7220 /*** IUnknown methods ***/
7221 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7222 IMFVideoRendererEffectControl *This,
7223 REFIID riid,
7224 void **ppvObject);
7225
7226 ULONG (STDMETHODCALLTYPE *AddRef)(
7227 IMFVideoRendererEffectControl *This);
7228
7229 ULONG (STDMETHODCALLTYPE *Release)(
7230 IMFVideoRendererEffectControl *This);
7231
7232 /*** IMFVideoRendererEffectControl methods ***/
7233 HRESULT (STDMETHODCALLTYPE *OnAppServiceConnectionEstablished)(
7234 IMFVideoRendererEffectControl *This,
7235 IUnknown *pAppServiceConnection);
7236
7237 END_INTERFACE
7238} IMFVideoRendererEffectControlVtbl;
7239
7240interface IMFVideoRendererEffectControl {
7241 CONST_VTBL IMFVideoRendererEffectControlVtbl* lpVtbl;
7242};
7243
7244#ifdef COBJMACROS
7245#ifndef WIDL_C_INLINE_WRAPPERS
7246/*** IUnknown methods ***/
7247#define IMFVideoRendererEffectControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7248#define IMFVideoRendererEffectControl_AddRef(This) (This)->lpVtbl->AddRef(This)
7249#define IMFVideoRendererEffectControl_Release(This) (This)->lpVtbl->Release(This)
7250/*** IMFVideoRendererEffectControl methods ***/
7251#define IMFVideoRendererEffectControl_OnAppServiceConnectionEstablished(This,pAppServiceConnection) (This)->lpVtbl->OnAppServiceConnectionEstablished(This,pAppServiceConnection)
7252#else
7253/*** IUnknown methods ***/
7254static FORCEINLINE HRESULT IMFVideoRendererEffectControl_QueryInterface(IMFVideoRendererEffectControl* This,REFIID riid,void **ppvObject) {
7255 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7256}
7257static FORCEINLINE ULONG IMFVideoRendererEffectControl_AddRef(IMFVideoRendererEffectControl* This) {
7258 return This->lpVtbl->AddRef(This);
7259}
7260static FORCEINLINE ULONG IMFVideoRendererEffectControl_Release(IMFVideoRendererEffectControl* This) {
7261 return This->lpVtbl->Release(This);
7262}
7263/*** IMFVideoRendererEffectControl methods ***/
7264static FORCEINLINE HRESULT IMFVideoRendererEffectControl_OnAppServiceConnectionEstablished(IMFVideoRendererEffectControl* This,IUnknown *pAppServiceConnection) {
7265 return This->lpVtbl->OnAppServiceConnectionEstablished(This,pAppServiceConnection);
7266}
7267#endif
7268#endif
7269
7270#endif
7271
7272
7273#endif /* __IMFVideoRendererEffectControl_INTERFACE_DEFINED__ */
7274
7275#endif /* WINVER >= NTDDI_WIN10_VB */
7276#endif /* WINVER >= _WIN32_WINNT_WIN8 */
7277HRESULT WINAPI MFCreate3GPMediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);
7278HRESULT WINAPI MFCreateAggregateSource(IMFCollection *pSourceCollection,IMFMediaSource **ppAggSource);
56007279
56017280HRESULT WINAPI MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,DWORD fAlignmentFlags,IMFMediaBuffer **ppBuffer);
56027281HRESULT WINAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo);
......@@ -5610,6 +7289,7 @@ HRESULT WINAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescr
56107289HRESULT WINAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter);
56117290HRESULT WINAPI MFCreateAudioRenderer(IMFAttributes *pAudioAttributes, IMFMediaSink **ppSink);
56127291HRESULT WINAPI MFCreateAudioRendererActivate(IMFActivate **ppActivate);
7292HRESULT WINAPI MFCreateDeviceSource(IMFAttributes *pAttributes,IMFMediaSource **ppSource);
56137293HRESULT WINAPI MFCreateMediaSession(IMFAttributes *pConfiguration,IMFMediaSession **ppMS);
56147294HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *pTargetByteStream,IMFMediaSink **ppMediaSink);
56157295HRESULT WINAPI MFCreateMPEG4MediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);
......@@ -5666,6 +7346,7 @@ EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d0
56667346EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471, 0x92ec, 0x4df4, 0x94, 0xfe, 0x81, 0xc3, 0x6f, 0xc, 0x3a, 0x7a);
56677347EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559,0x52f8,0x4fa2,0xbb,0xce,0xac,0xdb,0x34,0xa8,0xec,0x1);
56687348EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 0x56a819ca,0xc78,0x4de4,0xa0,0xa7,0x3d,0xda,0xba,0xf,0x24,0xd4);
7349EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID, 0x14dd9a1c, 0x7cff, 0x41be, 0xb1, 0xb9, 0xba, 0x1a, 0xc6, 0xec, 0xb5, 0x71);
56697350EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 0x30da9258,0xfeb9,0x47a7,0xa4,0x53,0x76,0x3a,0x7a,0x8e,0x1c,0x5f);
56707351EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 0xbc9d118e,0x8c67,0x4a18,0x85,0xd4,0x12,0xd3,0x0,0x40,0x5,0x52);
56717352EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69,0xc3bd,0x4509,0x94,0x1d,0x46,0x7e,0x4d,0x24,0x89,0x9e);
......@@ -5674,10 +7355,20 @@ EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 0x7dd9b730,0x
56747355EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f);
56757356EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3);
56767357EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a,0x4ae7,0x42d8,0x99,0xe0,0x0a,0x60,0x13,0xee,0xf9,0x0f);
7358EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_SYMBOLIC_LINK, 0x98d24b5e, 0x5930, 0x4614, 0xb5, 0xa1, 0xf6, 0x0, 0xf9, 0x35, 0x5a, 0x78);
7359EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_PROVIDER_DEVICE_ID, 0x36689d42, 0xa06c, 0x40ae, 0x84, 0xcf, 0xf5, 0xa0, 0x34, 0x6, 0x7c, 0xc4);
7360EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_XADDRESS, 0xbca0be52, 0xc327, 0x44c7, 0x9b, 0x7d, 0x7f, 0xa8, 0xd9, 0xb5, 0xbc, 0xda);
7361EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_STREAM_URL, 0x9d7b40d2, 0x3617, 0x4043, 0x93, 0xe3, 0x8d, 0x6d, 0xa9, 0xbb, 0x34, 0x92);
7362EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_USERNAME,0x5d01add, 0x949f, 0x46eb, 0xbc, 0x8e, 0x8b, 0xd, 0x2b, 0x32, 0xd7, 0x9d);
7363EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_PASSWORD, 0xa0fd7e16, 0x42d9, 0x49df, 0x84, 0xc0, 0xe8, 0x2c, 0x5e, 0xab, 0x88, 0x74);
56777364EXTERN_GUID(MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd);
56787365EXTERN_GUID(MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5);
56797366EXTERN_GUID(MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9);
56807367EXTERN_GUID(MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 0x4e2e, 0xab, 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d);
7368EXTERN_GUID(MF_SD_LANGUAGE, 0xaf2180, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x59, 0x3b, 0xc1, 0x21);
7369EXTERN_GUID(MF_SD_PROTECTED, 0xaf2181, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x59, 0x3b, 0xc1, 0x21);
7370EXTERN_GUID(MF_SD_STREAM_NAME, 0x4f1b099d, 0xd314, 0x41e5, 0xa7, 0x81, 0x7f, 0xef, 0xaa, 0x4c, 0x50, 0x1f);
7371EXTERN_GUID(MF_SD_MUTUALLY_EXCLUSIVE, 0x23ef79c, 0x388d, 0x487f, 0xac, 0x17, 0x69, 0x6c, 0xd6, 0xe3, 0xc6, 0xf5);
56817372EXTERN_GUID(MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
56827373EXTERN_GUID(MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
56837374EXTERN_GUID(MF_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
......@@ -5708,6 +7399,15 @@ EXTERN_GUID(MF_TOPONODE_NOSHUTDOWN_ON_REMOVE, 0x14932f9c, 0x9087, 0x4bb4, 0x84,
57087399EXTERN_GUID(MF_TOPONODE_RATELESS, 0x14932f9d, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
57097400EXTERN_GUID(MF_TOPONODE_DISABLE_PREROLL, 0x14932f9e, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
57107401EXTERN_GUID(MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59);
7402EXTERN_GUID(MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 0xb571, 0x4959, 0x8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93);
7403EXTERN_GUID(MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 0x9d, 0xea, 0x3b, 0xab, 0x65, 0xb, 0xeb, 0xf2);
7404EXTERN_GUID(MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x60f, 0x487c, 0xa6, 0x90, 0x80, 0xd7, 0xf5, 0xd, 0x1c, 0x72);
7405EXTERN_GUID(MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 0x4ea9, 0xb1, 0xe9, 0xa1, 0xfe, 0x3a, 0x49, 0xfb, 0xc9);
7406EXTERN_GUID(MF_TRANSCODE_QUALITYVSSPEED, 0x98332df8, 0x03cd, 0x476b, 0x89, 0xfa, 0x3f, 0x9e, 0x44, 0x2d, 0xec, 0x9f);
7407EXTERN_GUID(MF_TRANSCODE_DONOT_INSERT_ENCODER, 0xf45aa7ce, 0xab24, 0x4012, 0xa1, 0x1b, 0xdc, 0x82, 0x20, 0x20, 0x14, 0x10);
7408EXTERN_GUID(MR_AUDIO_POLICY_SERVICE, 0x911fd737, 0x6775, 0x4ab0, 0xa6, 0x14, 0x29, 0x78, 0x62, 0xfd, 0xac, 0x88);
7409EXTERN_GUID(MR_CAPTURE_POLICY_VOLUME_SERVICE, 0x24030acd, 0x107a, 0x4265, 0x97, 0x5c, 0x41, 0x4e, 0x33, 0xe6, 0x5f, 0x2a);
7410EXTERN_GUID(MR_POLICY_VOLUME_SERVICE, 0x1abaa2ac, 0x9d3b, 0x47c6, 0xab, 0x48, 0xc5, 0x95, 0x6, 0xde, 0x78, 0x4d);
57117411EXTERN_GUID(MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4);
57127412/* Begin additional prototypes for all interfaces */
57137413
lib/libc/include/any-windows-any/mfmediacapture.h created+298
......@@ -0,0 +1,298 @@
1/*** Autogenerated by WIDL 7.0 from include/mfmediacapture.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __mfmediacapture_h__
17#define __mfmediacapture_h__
18
19/* Forward declarations */
20
21#ifndef __IAdvancedMediaCaptureInitializationSettings_FWD_DEFINED__
22#define __IAdvancedMediaCaptureInitializationSettings_FWD_DEFINED__
23typedef interface IAdvancedMediaCaptureInitializationSettings IAdvancedMediaCaptureInitializationSettings;
24#ifdef __cplusplus
25interface IAdvancedMediaCaptureInitializationSettings;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IAdvancedMediaCaptureSettings_FWD_DEFINED__
30#define __IAdvancedMediaCaptureSettings_FWD_DEFINED__
31typedef interface IAdvancedMediaCaptureSettings IAdvancedMediaCaptureSettings;
32#ifdef __cplusplus
33interface IAdvancedMediaCaptureSettings;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IAdvancedMediaCapture_FWD_DEFINED__
38#define __IAdvancedMediaCapture_FWD_DEFINED__
39typedef interface IAdvancedMediaCapture IAdvancedMediaCapture;
40#ifdef __cplusplus
41interface IAdvancedMediaCapture;
42#endif /* __cplusplus */
43#endif
44
45/* Headers for imported files */
46
47#include <mfobjects.h>
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53#include <winapifamily.h>
54#if NTDDI_VERSION >= NTDDI_WIN8
55#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
56/*****************************************************************************
57 * IAdvancedMediaCaptureInitializationSettings interface
58 */
59#ifndef __IAdvancedMediaCaptureInitializationSettings_INTERFACE_DEFINED__
60#define __IAdvancedMediaCaptureInitializationSettings_INTERFACE_DEFINED__
61
62DEFINE_GUID(IID_IAdvancedMediaCaptureInitializationSettings, 0x3de21209, 0x8ba6, 0x4f2a, 0xa5,0x77, 0x28,0x19,0xb5,0x6f,0xf1,0x4d);
63#if defined(__cplusplus) && !defined(CINTERFACE)
64MIDL_INTERFACE("3de21209-8ba6-4f2a-a577-2819b56ff14d")
65IAdvancedMediaCaptureInitializationSettings : public IUnknown
66{
67 virtual HRESULT STDMETHODCALLTYPE SetDirectxDeviceManager(
68 IMFDXGIDeviceManager *pManager) = 0;
69
70};
71#ifdef __CRT_UUID_DECL
72__CRT_UUID_DECL(IAdvancedMediaCaptureInitializationSettings, 0x3de21209, 0x8ba6, 0x4f2a, 0xa5,0x77, 0x28,0x19,0xb5,0x6f,0xf1,0x4d)
73#endif
74#else
75typedef struct IAdvancedMediaCaptureInitializationSettingsVtbl {
76 BEGIN_INTERFACE
77
78 /*** IUnknown methods ***/
79 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
80 IAdvancedMediaCaptureInitializationSettings *This,
81 REFIID riid,
82 void **ppvObject);
83
84 ULONG (STDMETHODCALLTYPE *AddRef)(
85 IAdvancedMediaCaptureInitializationSettings *This);
86
87 ULONG (STDMETHODCALLTYPE *Release)(
88 IAdvancedMediaCaptureInitializationSettings *This);
89
90 /*** IAdvancedMediaCaptureInitializationSettings methods ***/
91 HRESULT (STDMETHODCALLTYPE *SetDirectxDeviceManager)(
92 IAdvancedMediaCaptureInitializationSettings *This,
93 IMFDXGIDeviceManager *pManager);
94
95 END_INTERFACE
96} IAdvancedMediaCaptureInitializationSettingsVtbl;
97
98interface IAdvancedMediaCaptureInitializationSettings {
99 CONST_VTBL IAdvancedMediaCaptureInitializationSettingsVtbl* lpVtbl;
100};
101
102#ifdef COBJMACROS
103#ifndef WIDL_C_INLINE_WRAPPERS
104/*** IUnknown methods ***/
105#define IAdvancedMediaCaptureInitializationSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
106#define IAdvancedMediaCaptureInitializationSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
107#define IAdvancedMediaCaptureInitializationSettings_Release(This) (This)->lpVtbl->Release(This)
108/*** IAdvancedMediaCaptureInitializationSettings methods ***/
109#define IAdvancedMediaCaptureInitializationSettings_SetDirectxDeviceManager(This,pManager) (This)->lpVtbl->SetDirectxDeviceManager(This,pManager)
110#else
111/*** IUnknown methods ***/
112static FORCEINLINE HRESULT IAdvancedMediaCaptureInitializationSettings_QueryInterface(IAdvancedMediaCaptureInitializationSettings* This,REFIID riid,void **ppvObject) {
113 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
114}
115static FORCEINLINE ULONG IAdvancedMediaCaptureInitializationSettings_AddRef(IAdvancedMediaCaptureInitializationSettings* This) {
116 return This->lpVtbl->AddRef(This);
117}
118static FORCEINLINE ULONG IAdvancedMediaCaptureInitializationSettings_Release(IAdvancedMediaCaptureInitializationSettings* This) {
119 return This->lpVtbl->Release(This);
120}
121/*** IAdvancedMediaCaptureInitializationSettings methods ***/
122static FORCEINLINE HRESULT IAdvancedMediaCaptureInitializationSettings_SetDirectxDeviceManager(IAdvancedMediaCaptureInitializationSettings* This,IMFDXGIDeviceManager *pManager) {
123 return This->lpVtbl->SetDirectxDeviceManager(This,pManager);
124}
125#endif
126#endif
127
128#endif
129
130
131#endif /* __IAdvancedMediaCaptureInitializationSettings_INTERFACE_DEFINED__ */
132
133/*****************************************************************************
134 * IAdvancedMediaCaptureSettings interface
135 */
136#ifndef __IAdvancedMediaCaptureSettings_INTERFACE_DEFINED__
137#define __IAdvancedMediaCaptureSettings_INTERFACE_DEFINED__
138
139DEFINE_GUID(IID_IAdvancedMediaCaptureSettings, 0x24e0485f, 0xa33e, 0x4aa1, 0xb5,0x64, 0x60,0x19,0xb1,0xd1,0x4f,0x65);
140#if defined(__cplusplus) && !defined(CINTERFACE)
141MIDL_INTERFACE("24e0485f-a33e-4aa1-b564-6019b1d14f65")
142IAdvancedMediaCaptureSettings : public IUnknown
143{
144 virtual HRESULT STDMETHODCALLTYPE GetDirectxDeviceManager(
145 IMFDXGIDeviceManager **ppManager) = 0;
146
147};
148#ifdef __CRT_UUID_DECL
149__CRT_UUID_DECL(IAdvancedMediaCaptureSettings, 0x24e0485f, 0xa33e, 0x4aa1, 0xb5,0x64, 0x60,0x19,0xb1,0xd1,0x4f,0x65)
150#endif
151#else
152typedef struct IAdvancedMediaCaptureSettingsVtbl {
153 BEGIN_INTERFACE
154
155 /*** IUnknown methods ***/
156 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
157 IAdvancedMediaCaptureSettings *This,
158 REFIID riid,
159 void **ppvObject);
160
161 ULONG (STDMETHODCALLTYPE *AddRef)(
162 IAdvancedMediaCaptureSettings *This);
163
164 ULONG (STDMETHODCALLTYPE *Release)(
165 IAdvancedMediaCaptureSettings *This);
166
167 /*** IAdvancedMediaCaptureSettings methods ***/
168 HRESULT (STDMETHODCALLTYPE *GetDirectxDeviceManager)(
169 IAdvancedMediaCaptureSettings *This,
170 IMFDXGIDeviceManager **ppManager);
171
172 END_INTERFACE
173} IAdvancedMediaCaptureSettingsVtbl;
174
175interface IAdvancedMediaCaptureSettings {
176 CONST_VTBL IAdvancedMediaCaptureSettingsVtbl* lpVtbl;
177};
178
179#ifdef COBJMACROS
180#ifndef WIDL_C_INLINE_WRAPPERS
181/*** IUnknown methods ***/
182#define IAdvancedMediaCaptureSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
183#define IAdvancedMediaCaptureSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
184#define IAdvancedMediaCaptureSettings_Release(This) (This)->lpVtbl->Release(This)
185/*** IAdvancedMediaCaptureSettings methods ***/
186#define IAdvancedMediaCaptureSettings_GetDirectxDeviceManager(This,ppManager) (This)->lpVtbl->GetDirectxDeviceManager(This,ppManager)
187#else
188/*** IUnknown methods ***/
189static FORCEINLINE HRESULT IAdvancedMediaCaptureSettings_QueryInterface(IAdvancedMediaCaptureSettings* This,REFIID riid,void **ppvObject) {
190 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
191}
192static FORCEINLINE ULONG IAdvancedMediaCaptureSettings_AddRef(IAdvancedMediaCaptureSettings* This) {
193 return This->lpVtbl->AddRef(This);
194}
195static FORCEINLINE ULONG IAdvancedMediaCaptureSettings_Release(IAdvancedMediaCaptureSettings* This) {
196 return This->lpVtbl->Release(This);
197}
198/*** IAdvancedMediaCaptureSettings methods ***/
199static FORCEINLINE HRESULT IAdvancedMediaCaptureSettings_GetDirectxDeviceManager(IAdvancedMediaCaptureSettings* This,IMFDXGIDeviceManager **ppManager) {
200 return This->lpVtbl->GetDirectxDeviceManager(This,ppManager);
201}
202#endif
203#endif
204
205#endif
206
207
208#endif /* __IAdvancedMediaCaptureSettings_INTERFACE_DEFINED__ */
209
210/*****************************************************************************
211 * IAdvancedMediaCapture interface
212 */
213#ifndef __IAdvancedMediaCapture_INTERFACE_DEFINED__
214#define __IAdvancedMediaCapture_INTERFACE_DEFINED__
215
216DEFINE_GUID(IID_IAdvancedMediaCapture, 0xd0751585, 0xd216, 0x4344, 0xb5,0xbf, 0x46,0x3b,0x68,0xf9,0x77,0xbb);
217#if defined(__cplusplus) && !defined(CINTERFACE)
218MIDL_INTERFACE("d0751585-d216-4344-b5bf-463b68f977bb")
219IAdvancedMediaCapture : public IUnknown
220{
221 virtual HRESULT STDMETHODCALLTYPE GetAdvancedMediaCaptureSettings(
222 IAdvancedMediaCaptureSettings **ppSettings) = 0;
223
224};
225#ifdef __CRT_UUID_DECL
226__CRT_UUID_DECL(IAdvancedMediaCapture, 0xd0751585, 0xd216, 0x4344, 0xb5,0xbf, 0x46,0x3b,0x68,0xf9,0x77,0xbb)
227#endif
228#else
229typedef struct IAdvancedMediaCaptureVtbl {
230 BEGIN_INTERFACE
231
232 /*** IUnknown methods ***/
233 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
234 IAdvancedMediaCapture *This,
235 REFIID riid,
236 void **ppvObject);
237
238 ULONG (STDMETHODCALLTYPE *AddRef)(
239 IAdvancedMediaCapture *This);
240
241 ULONG (STDMETHODCALLTYPE *Release)(
242 IAdvancedMediaCapture *This);
243
244 /*** IAdvancedMediaCapture methods ***/
245 HRESULT (STDMETHODCALLTYPE *GetAdvancedMediaCaptureSettings)(
246 IAdvancedMediaCapture *This,
247 IAdvancedMediaCaptureSettings **ppSettings);
248
249 END_INTERFACE
250} IAdvancedMediaCaptureVtbl;
251
252interface IAdvancedMediaCapture {
253 CONST_VTBL IAdvancedMediaCaptureVtbl* lpVtbl;
254};
255
256#ifdef COBJMACROS
257#ifndef WIDL_C_INLINE_WRAPPERS
258/*** IUnknown methods ***/
259#define IAdvancedMediaCapture_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
260#define IAdvancedMediaCapture_AddRef(This) (This)->lpVtbl->AddRef(This)
261#define IAdvancedMediaCapture_Release(This) (This)->lpVtbl->Release(This)
262/*** IAdvancedMediaCapture methods ***/
263#define IAdvancedMediaCapture_GetAdvancedMediaCaptureSettings(This,ppSettings) (This)->lpVtbl->GetAdvancedMediaCaptureSettings(This,ppSettings)
264#else
265/*** IUnknown methods ***/
266static FORCEINLINE HRESULT IAdvancedMediaCapture_QueryInterface(IAdvancedMediaCapture* This,REFIID riid,void **ppvObject) {
267 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
268}
269static FORCEINLINE ULONG IAdvancedMediaCapture_AddRef(IAdvancedMediaCapture* This) {
270 return This->lpVtbl->AddRef(This);
271}
272static FORCEINLINE ULONG IAdvancedMediaCapture_Release(IAdvancedMediaCapture* This) {
273 return This->lpVtbl->Release(This);
274}
275/*** IAdvancedMediaCapture methods ***/
276static FORCEINLINE HRESULT IAdvancedMediaCapture_GetAdvancedMediaCaptureSettings(IAdvancedMediaCapture* This,IAdvancedMediaCaptureSettings **ppSettings) {
277 return This->lpVtbl->GetAdvancedMediaCaptureSettings(This,ppSettings);
278}
279#endif
280#endif
281
282#endif
283
284
285#endif /* __IAdvancedMediaCapture_INTERFACE_DEFINED__ */
286
287#endif /* WINAPI_PARTITION_APP */
288#endif /* NTDDI >= NTDDI_WIN8 */
289/* Begin additional prototypes for all interfaces */
290
291
292/* End additional prototypes */
293
294#ifdef __cplusplus
295}
296#endif
297
298#endif /* __mfmediacapture_h__ */
lib/libc/include/any-windows-any/mfobjects.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mfobjects.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mfobjects.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mfplay.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mfplay.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mfplay.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mfreadwrite.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mfreadwrite.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mfreadwrite.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mftransform.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mftransform.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mftransform.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mmdeviceapi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mmdeviceapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mmdeviceapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mmreg.h+6
......@@ -2008,6 +2008,7 @@ extern "C" {
20082008#define WAVE_FORMAT_LEAD_SPEECH 0x434c
20092009#define WAVE_FORMAT_LEAD_VORBIS 0x564c
20102010#define WAVE_FORMAT_WAVPACK_AUDIO 0x5756
2011#define WAVE_FORMAT_ALAC 0x6c61
20112012#define WAVE_FORMAT_OGG_VORBIS_MODE_1 0x674f
20122013#define WAVE_FORMAT_OGG_VORBIS_MODE_2 0x6750
20132014#define WAVE_FORMAT_OGG_VORBIS_MODE_3 0x6751
......@@ -2015,7 +2016,11 @@ extern "C" {
20152016#define WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS 0x6770
20162017#define WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS 0x6771
20172018#define WAVE_FORMAT_3COM_NBX 0x7000
2019#define WAVE_FORMAT_OPUS 0x704f
20182020#define WAVE_FORMAT_FAAD_AAC 0x706d
2021#define WAVE_FORMAT_AMR_NB 0x7361
2022#define WAVE_FORMAT_AMR_WB 0x7362
2023#define WAVE_FORMAT_AMR_WP 0x7363
20192024#define WAVE_FORMAT_GSM_AMR_CBR 0x7a21
20202025#define WAVE_FORMAT_GSM_AMR_VBR_SID 0x7a22
20212026#define WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 0xa100
......@@ -2055,6 +2060,7 @@ extern "C" {
20552060#define WAVE_FORMAT_NICE_G728 0xa122
20562061#define WAVE_FORMAT_FRACE_TELECOM_G729 0xa123
20572062#define WAVE_FORMAT_CODIAN 0xa124
2063#define WAVE_FORMAT_DOLBY_AC4 0xac40
20582064#define WAVE_FORMAT_FLAC 0xf1ac
20592065
20602066#if !defined (WAVE_FORMAT_EXTENSIBLE)
lib/libc/include/any-windows-any/mmstream.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mmstream.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mmstream.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mmsystem.h+1
......@@ -302,6 +302,7 @@ extern "C" {
302302#define WAVE_MAPPED 0x0004
303303#define WAVE_FORMAT_DIRECT 0x0008
304304#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT)
305#define WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE 0x0010
305306
306307 typedef struct wavehdr_tag {
307308 LPSTR lpData;
lib/libc/include/any-windows-any/mscoree.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mscoree.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mscoree.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/msctf.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/msctf.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/msctf.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mshtmhst.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mshtmhst.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mshtmhst.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mshtml.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/mshtml.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/mshtml.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/msinkaut.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/msinkaut.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/msinkaut.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/msinkaut_i.c+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/msinkaut.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/msinkaut.idl - Do not edit ***/
22
33#include <rpc.h>
44#include <rpcndr.h>
lib/libc/include/any-windows-any/msopc.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/msopc.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/msopc.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mstcpip.h+237-4
......@@ -15,12 +15,68 @@
1515#define u_long __ms_u_long
1616#endif
1717
18#if NTDDI_VERSION >= NTDDI_WIN10_RS2
19typedef enum _TCPSTATE {
20 TCPSTATE_CLOSED,
21 TCPSTATE_LISTEN,
22 TCPSTATE_SYN_SENT,
23 TCPSTATE_SYN_RCVD,
24 TCPSTATE_ESTABLISHED,
25 TCPSTATE_FIN_WAIT_1,
26 TCPSTATE_FIN_WAIT_2,
27 TCPSTATE_CLOSE_WAIT,
28 TCPSTATE_CLOSING,
29 TCPSTATE_LAST_ACK,
30 TCPSTATE_TIME_WAIT,
31 TCPSTATE_MAX
32} TCPSTATE;
33#endif
34
35#ifndef _TRANSPORT_SETTING_COMMON_
36#define _TRANSPORT_SETTING_COMMON_
37typedef struct TRANSPORT_SETTING_ID {
38 GUID Guid;
39} TRANSPORT_SETTING_ID, *PTRANSPORT_SETTING_ID;
40#endif
41
1842struct tcp_keepalive {
1943 u_long onoff;
2044 u_long keepalivetime;
2145 u_long keepaliveinterval;
2246};
2347
48typedef enum {
49 CONTROL_CHANNEL_TRIGGER_STATUS_INVALID = 0,
50 CONTROL_CHANNEL_TRIGGER_STATUS_SOFTWARE_SLOT_ALLOCATED = 1,
51 CONTROL_CHANNEL_TRIGGER_STATUS_HARDWARE_SLOT_ALLOCATED = 2,
52 CONTROL_CHANNEL_TRIGGER_STATUS_POLICY_ERROR = 3,
53 CONTROL_CHANNEL_TRIGGER_STATUS_SYSTEM_ERROR = 4,
54 CONTROL_CHANNEL_TRIGGER_STATUS_TRANSPORT_DISCONNECTED = 5,
55 CONTROL_CHANNEL_TRIGGER_STATUS_SERVICE_UNAVAILABLE = 6
56} CONTROL_CHANNEL_TRIGGER_STATUS, *PCONTROL_CHANNEL_TRIGGER_STATUS;
57
58#define CONTROL_CHANNEL_TRIGGER_STATUS_MAX CONTROL_CHANNEL_TRIGGER_STATUS_SYSTEM_ERROR
59
60typedef struct _REAL_TIME_NOTIFICATION_SETTING_INPUT {
61 TRANSPORT_SETTING_ID TransportSettingId;
62 GUID BrokerEventGuid;
63} REAL_TIME_NOTIFICATION_SETTING_INPUT, *PREAL_TIME_NOTIFICATION_SETTING_INPUT;
64
65typedef struct _REAL_TIME_NOTIFICATION_SETTING_INPUT_EX {
66 TRANSPORT_SETTING_ID TransportSettingId;
67 GUID BrokerEventGuid;
68 BOOLEAN Unmark;
69} REAL_TIME_NOTIFICATION_SETTING_INPUT_EX, *PREAL_TIME_NOTIFICATION_SETTING_INPUT_EX;
70
71typedef struct _REAL_TIME_NOTIFICATION_SETTING_OUTPUT {
72 CONTROL_CHANNEL_TRIGGER_STATUS ChannelStatus;
73} REAL_TIME_NOTIFICATION_SETTING_OUTPUT, *PREAL_TIME_NOTIFICATION_SETTING_OUTPUT;
74
75typedef struct _ASSOCIATE_NAMERES_CONTEXT_INPUT {
76 TRANSPORT_SETTING_ID TransportSettingId;
77 UINT64 Handle;
78} ASSOCIATE_NAMERES_CONTEXT_INPUT, *PASSOCIATE_NAMERES_CONTEXT_INPUT;
79
2480#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
2581#define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2)
2682#define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3)
......@@ -32,11 +88,188 @@ struct tcp_keepalive {
3288#define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9)
3389#define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10)
3490#define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11)
91#define SIO_RCVALL_MCAST_IF _WSAIOW(IOC_VENDOR,13)
92#define SIO_RCVALL_IF _WSAIOW(IOC_VENDOR,14)
93#define SIO_LOOPBACK_FAST_PATH _WSAIOW(IOC_VENDOR,16)
94#define SIO_TCP_INITIAL_RTO _WSAIOW(IOC_VENDOR,17)
95#define SIO_APPLY_TRANSPORT_SETTING _WSAIOW(IOC_VENDOR,19)
96#define SIO_QUERY_TRANSPORT_SETTING _WSAIOW(IOC_VENDOR,20)
97#define SIO_TCP_SET_ICW _WSAIOW(IOC_VENDOR,22)
98#define SIO_TCP_SET_ACK_FREQUENCY _WSAIOW(IOC_VENDOR,23)
99#if NTDDI_VERSION >= NTDDI_WIN10_RS3
100#define SIO_SET_PRIORITY_HINT _WSAIOW(IOC_VENDOR,24)
101#endif
102#if NTDDI_VERSION >= NTDDI_WIN10_FE
103#define SIO_PRIORITY_HINT SIO_SET_PRIORITY_HINT
104#endif
105#if NTDDI_VERSION >= NTDDI_WIN10_RS2
106#define SIO_TCP_INFO _WSAIORW(IOC_VENDOR,39)
107#endif
108#if NTDDI_VERSION >= NTDDI_WIN10_VB
109#define SIO_CPU_AFFINITY _WSAIOW(IOC_VENDOR,21)
110#endif
111#if NTDDI_VERSION >= NTDDI_WIN10_FE
112
113#define SIO_TIMESTAMPING _WSAIOW(IOC_VENDOR, 235)
114
115typedef struct _TIMESTAMPING_CONFIG {
116 ULONG Flags;
117 USHORT TxTimestampsBuffered;
118} TIMESTAMPING_CONFIG, *PTIMESTAMPING_CONFIG;
119
120#define TIMESTAMPING_FLAG_RX 0x1
121#define TIMESTAMPING_FLAG_TX 0x2
122
123#define SO_TIMESTAMP 0x300A
124
125#define SO_TIMESTAMP_ID 0x300B
126
127#define SIO_GET_TX_TIMESTAMP _WSAIOW(IOC_VENDOR, 234)
128
129typedef enum {
130 SocketPriorityHintVeryLow = 0,
131 SocketPriorityHintLow,
132 SocketPriorityHintNormal,
133 SocketMaximumPriorityHintType
134} SOCKET_PRIORITY_HINT, *PSOCKET_PRIORITY_HINT;
135
136typedef struct _PRIORITY_STATUS {
137 SOCKET_PRIORITY_HINT Sender;
138 SOCKET_PRIORITY_HINT Receiver;
139} PRIORITY_STATUS, *PPRIORITY_STATUS;
140#endif /* NTDDI_WIN10_FE */
141
142typedef enum {
143 RCVALL_OFF = 0,
144 RCVALL_ON = 1,
145 RCVALL_SOCKETLEVELONLY = 2,
146 RCVALL_IPLEVEL = 3
147} RCVALL_VALUE, *PRCVALL_VALUE;
148
149#define RCVALL_MAX RCVALL_IPLEVEL
150
151typedef struct {
152 RCVALL_VALUE Mode;
153 ULONG Interface;
154} RCVALL_IF, *PRCVALL_IF;
155
156#define TCP_INITIAL_RTO_UNSPECIFIED_RTT ((USHORT) -1)
157#define TCP_INITIAL_RTO_UNSPECIFIED_MAX_SYN_RETRANSMISSIONS ((UCHAR) -1)
158
159#define TCP_INITIAL_RTO_DEFAULT_RTT (0)
160#define TCP_INITIAL_RTO_DEFAULT_MAX_SYN_RETRANSMISSIONS (0)
161#define TCP_INITIAL_RTO_NO_SYN_RETRANSMISSIONS ((UCHAR) -2)
162
163typedef struct _TCP_INITIAL_RTO_PARAMETERS {
164 USHORT Rtt;
165 UCHAR MaxSynRetransmissions;
166} TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
167
168typedef enum {
169 TCP_ICW_LEVEL_DEFAULT = 0,
170 TCP_ICW_LEVEL_HIGH = 1,
171 TCP_ICW_LEVEL_VERY_HIGH = 2,
172 TCP_ICW_LEVEL_AGGRESSIVE = 3,
173 TCP_ICW_LEVEL_EXPERIMENTAL = 4,
174 TCP_ICW_LEVEL_COMPAT = 254,
175 TCP_ICW_LEVEL_MAX = 255
176} TCP_ICW_LEVEL, *PTCP_ICW_LEVEL;
177
178typedef struct _TCP_ICW_PARAMETERS {
179 TCP_ICW_LEVEL Level;
180} TCP_ICW_PARAMETERS, *PTCP_ICW_PARAMETERS;
181
182typedef struct _TCP_ACK_FREQUENCY_PARAMETERS {
183 UCHAR TcpDelayedAckFrequency;
184} TCP_ACK_FREQUENCY_PARAMETERS, *PTCP_ACK_FREQUENCY_PARAMETERS;
185
186#if NTDDI_VERSION >= NTDDI_WIN10_RS2
187typedef struct _TCP_INFO_v0 {
188 TCPSTATE State;
189 ULONG Mss;
190 ULONG64 ConnectionTimeMs;
191 BOOLEAN TimestampsEnabled;
192 ULONG RttUs;
193 ULONG MinRttUs;
194 ULONG BytesInFlight;
195 ULONG Cwnd;
196 ULONG SndWnd;
197 ULONG RcvWnd;
198 ULONG RcvBuf;
199 ULONG64 BytesOut;
200 ULONG64 BytesIn;
201 ULONG BytesReordered;
202 ULONG BytesRetrans;
203 ULONG FastRetrans;
204 ULONG DupAcksIn;
205 ULONG TimeoutEpisodes;
206 UCHAR SynRetrans;
207} TCP_INFO_v0, *PTCP_INFO_v0;
208#endif
209
210#if NTDDI_VERSION >= NTDDI_WIN10_RS5
211typedef struct _TCP_INFO_v1 {
212 TCPSTATE State;
213 ULONG Mss;
214 ULONG64 ConnectionTimeMs;
215 BOOLEAN TimestampsEnabled;
216 ULONG RttUs;
217 ULONG MinRttUs;
218 ULONG BytesInFlight;
219 ULONG Cwnd;
220 ULONG SndWnd;
221 ULONG RcvWnd;
222 ULONG RcvBuf;
223 ULONG64 BytesOut;
224 ULONG64 BytesIn;
225 ULONG BytesReordered;
226 ULONG BytesRetrans;
227 ULONG FastRetrans;
228 ULONG DupAcksIn;
229 ULONG TimeoutEpisodes;
230 UCHAR SynRetrans;
231 ULONG SndLimTransRwin;
232 ULONG SndLimTimeRwin;
233 ULONG64 SndLimBytesRwin;
234 ULONG SndLimTransCwnd;
235 ULONG SndLimTimeCwnd;
236 ULONG64 SndLimBytesCwnd;
237 ULONG SndLimTransSnd;
238 ULONG SndLimTimeSnd;
239 ULONG64 SndLimBytesSnd;
240} TCP_INFO_v1, *PTCP_INFO_v1;
241#endif
242
243#define SIO_ACQUIRE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 100)
244#define SIO_RELEASE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 101)
245#define SIO_ASSOCIATE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 102)
246
247typedef struct _INET_PORT_RANGE {
248 USHORT StartPort;
249 USHORT NumberOfPorts;
250} INET_PORT_RANGE, *PINET_PORT_RANGE;
251
252typedef struct _INET_PORT_RANGE INET_PORT_RESERVATION, *PINET_PORT_RESERVATION;
253
254typedef struct {
255 ULONG64 Token;
256} INET_PORT_RESERVATION_TOKEN, *PINET_PORT_RESERVATION_TOKEN;
257
258#define INVALID_PORT_RESERVATION_TOKEN ((ULONG64)0)
259
260typedef struct {
261#ifdef __cplusplus
262 INET_PORT_RESERVATION Reservation;
263 INET_PORT_RESERVATION_TOKEN Token;
264#else
265 INET_PORT_RESERVATION;
266 INET_PORT_RESERVATION_TOKEN;
267#endif
268} INET_PORT_RESERVATION_INSTANCE, *PINET_PORT_RESERVATION_INSTANCE;
35269
36#define RCVALL_OFF 0
37#define RCVALL_ON 1
38#define RCVALL_SOCKETLEVELONLY 2
39#define RCVALL_IPLEVEL 3
270typedef struct {
271 ULONG OwningPid;
272} INET_PORT_RESERVATION_INFORMATION, *PINET_PORT_RESERVATION_INFORMATION;
40273
41274#if (_WIN32_WINNT >= 0x0502)
42275typedef enum _SOCKET_SECURITY_PROTOCOL {
lib/libc/include/any-windows-any/msxml.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/msxml.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/msxml.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napcertrelyingparty.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napcertrelyingparty.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napcertrelyingparty.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napcommon.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napcommon.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napcommon.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napenforcementclient.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napenforcementclient.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napenforcementclient.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napmanagement.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napmanagement.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napmanagement.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napprotocol.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napprotocol.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napprotocol.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napservermanagement.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napservermanagement.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napservermanagement.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napsystemhealthagent.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napsystemhealthagent.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napsystemhealthagent.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napsystemhealthvalidator.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/napsystemhealthvalidator.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/napsystemhealthvalidator.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/naptypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/naptypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/naptypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netcfgn.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/netcfgn.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/netcfgn.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netcfgx.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/netcfgx.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/netcfgx.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netfw.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/netfw.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/netfw.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netlistmgr.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/netlistmgr.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/netlistmgr.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ntdddisk.h+6
......@@ -366,6 +366,9 @@ typedef struct _PARTITION_INFORMATION_MBR {
366366 BOOLEAN BootIndicator;
367367 BOOLEAN RecognizedPartition;
368368 ULONG HiddenSectors;
369#if NTDDI_VERSION > NTDDI_WINBLUE
370 GUID PartitionId;
371#endif
369372} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
370373
371374typedef struct _PARTITION_INFORMATION_EX {
......@@ -374,6 +377,9 @@ typedef struct _PARTITION_INFORMATION_EX {
374377 LARGE_INTEGER PartitionLength;
375378 ULONG PartitionNumber;
376379 BOOLEAN RewritePartition;
380#if NTDDI_VERSION >= NTDDI_WIN10_RS3
381 BOOLEAN IsServicePartition;
382#endif
377383 _ANONYMOUS_UNION union {
378384 PARTITION_INFORMATION_MBR Mbr;
379385 PARTITION_INFORMATION_GPT Gpt;
lib/libc/include/any-windows-any/ntioring_x.h created+54
......@@ -0,0 +1,54 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _NTIORINGX_H_
8#define _NTIORINGX_H_
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#if NTDDI_VERSION >= NTDDI_WIN10_CO
15
16typedef enum IORING_VERSION {
17 IORING_VERSION_INVALID = 0,
18 IORING_VERSION_1
19} IORING_VERSION;
20
21typedef enum IORING_FEATURE_FLAGS {
22 IORING_FEATURE_FLAGS_NONE = 0,
23 IORING_FEATURE_UM_EMULATION = 0x00000001,
24 IORING_FEATURE_SET_COMPLETION_EVENT = 0x00000002
25} IORING_FEATURE_FLAGS;
26DEFINE_ENUM_FLAG_OPERATORS(IORING_FEATURE_FLAGS)
27
28typedef enum IORING_OP_CODE {
29 IORING_OP_NOP,
30 IORING_OP_READ,
31 IORING_OP_REGISTER_FILES,
32 IORING_OP_REGISTER_BUFFERS,
33 IORING_OP_CANCEL
34} IORING_OP_CODE;
35
36typedef struct IORING_BUFFER_INFO {
37 void* Address;
38 UINT32 Length;
39} IORING_BUFFER_INFO;
40
41typedef struct IORING_REGISTERED_BUFFER {
42 UINT32 BufferIndex;
43 UINT32 Offset;
44} IORING_REGISTERED_BUFFER;
45
46#define IORING_SUBMIT_WAIT_ALL MAXUINT32
47
48#endif /* NTDDI_WIN10_CO */
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif /* _NTIORINGX_H_ */
lib/libc/include/any-windows-any/ntsecapi.h+1125-22
......@@ -3,6 +3,485 @@
33 * This file is part of the mingw-w64 runtime package.
44 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
55 */
6
7#ifdef DEFINE_GUID
8
9#if !defined(INITGUID) || !defined(Audit_System_SecurityStateChange_defined)
10DEFINE_GUID(Audit_System_SecurityStateChange, 0x0cce9210, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
11#ifdef INITGUID
12#define Audit_System_SecurityStateChange_defined
13#endif
14#endif
15
16#if !defined(INITGUID) || !defined(Audit_System_SecuritySubsystemExtension_defined)
17DEFINE_GUID(Audit_System_SecuritySubsystemExtension, 0x0cce9211, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
18#ifdef INITGUID
19#define Audit_System_SecuritySubsystemExtension_defined
20#endif
21#endif
22
23#if !defined(INITGUID) || !defined(Audit_System_Integrity_defined)
24DEFINE_GUID(Audit_System_Integrity, 0x0cce9212, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
25#ifdef INITGUID
26#define Audit_System_Integrity_defined
27#endif
28#endif
29
30#if !defined(INITGUID) || !defined(Audit_System_IPSecDriverEvents_defined)
31DEFINE_GUID(Audit_System_IPSecDriverEvents, 0x0cce9213, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
32#ifdef INITGUID
33#define Audit_System_IPSecDriverEvents_defined
34#endif
35#endif
36
37#if !defined(INITGUID) || !defined(Audit_System_Others_defined)
38DEFINE_GUID(Audit_System_Others, 0x0cce9214, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
39#ifdef INITGUID
40#define Audit_System_Others_defined
41#endif
42#endif
43
44#if !defined(INITGUID) || !defined(Audit_Logon_Logon_defined)
45DEFINE_GUID(Audit_Logon_Logon, 0x0cce9215, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
46#ifdef INITGUID
47#define Audit_Logon_Logon_defined
48#endif
49#endif
50
51#if !defined(INITGUID) || !defined(Audit_Logon_Logoff_defined)
52DEFINE_GUID(Audit_Logon_Logoff, 0x0cce9216, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
53#ifdef INITGUID
54#define Audit_Logon_Logoff_defined
55#endif
56#endif
57
58#if !defined(INITGUID) || !defined(Audit_Logon_AccountLockout_defined)
59DEFINE_GUID(Audit_Logon_AccountLockout, 0x0cce9217, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
60#ifdef INITGUID
61#define Audit_Logon_AccountLockout_defined
62#endif
63#endif
64
65#if !defined(INITGUID) || !defined(Audit_Logon_IPSecMainMode_defined)
66DEFINE_GUID(Audit_Logon_IPSecMainMode, 0x0cce9218, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
67#ifdef INITGUID
68#define Audit_Logon_IPSecMainMode_defined
69#endif
70#endif
71
72#if !defined(INITGUID) || !defined(Audit_Logon_IPSecQuickMode_defined)
73DEFINE_GUID(Audit_Logon_IPSecQuickMode, 0x0cce9219, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
74#ifdef INITGUID
75#define Audit_Logon_IPSecQuickMode_defined
76#endif
77#endif
78
79#if !defined(INITGUID) || !defined(Audit_Logon_IPSecUserMode_defined)
80DEFINE_GUID(Audit_Logon_IPSecUserMode, 0x0cce921a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
81#ifdef INITGUID
82#define Audit_Logon_IPSecUserMode_defined
83#endif
84#endif
85
86#if !defined(INITGUID) || !defined(Audit_Logon_SpecialLogon_defined)
87DEFINE_GUID(Audit_Logon_SpecialLogon, 0x0cce921b, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
88#ifdef INITGUID
89#define Audit_Logon_SpecialLogon_defined
90#endif
91#endif
92
93#if !defined(INITGUID) || !defined(Audit_Logon_Others_defined)
94DEFINE_GUID(Audit_Logon_Others, 0x0cce921c, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
95#ifdef INITGUID
96#define Audit_Logon_Others_defined
97#endif
98#endif
99
100#if !defined(INITGUID) || !defined(Audit_ObjectAccess_FileSystem_defined)
101DEFINE_GUID(Audit_ObjectAccess_FileSystem, 0x0cce921d, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
102#ifdef INITGUID
103#define Audit_ObjectAccess_FileSystem_defined
104#endif
105#endif
106
107#if !defined(INITGUID) || !defined(Audit_ObjectAccess_Registry_defined)
108DEFINE_GUID(Audit_ObjectAccess_Registry, 0x0cce921e, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
109#ifdef INITGUID
110#define Audit_ObjectAccess_Registry_defined
111#endif
112#endif
113
114#if !defined(INITGUID) || !defined(Audit_ObjectAccess_Kernel_defined)
115DEFINE_GUID(Audit_ObjectAccess_Kernel, 0x0cce921f, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
116#ifdef INITGUID
117#define Audit_ObjectAccess_Kernel_defined
118#endif
119#endif
120
121#if !defined(INITGUID) || !defined(Audit_ObjectAccess_Sam_defined)
122DEFINE_GUID(Audit_ObjectAccess_Sam, 0x0cce9220, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
123#ifdef INITGUID
124#define Audit_ObjectAccess_Sam_defined
125#endif
126#endif
127
128#if !defined(INITGUID) || !defined(Audit_ObjectAccess_CertificationServices_defined)
129DEFINE_GUID(Audit_ObjectAccess_CertificationServices, 0x0cce9221, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
130#ifdef INITGUID
131#define Audit_ObjectAccess_CertificationServices_defined
132#endif
133#endif
134
135#if !defined(INITGUID) || !defined(Audit_ObjectAccess_ApplicationGenerated_defined)
136DEFINE_GUID(Audit_ObjectAccess_ApplicationGenerated, 0x0cce9222, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
137#ifdef INITGUID
138#define Audit_ObjectAccess_ApplicationGenerated_defined
139#endif
140#endif
141#if !defined(INITGUID) || !defined(Audit_ObjectAccess_Handle_defined)
142DEFINE_GUID(Audit_ObjectAccess_Handle, 0x0cce9223, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
143#ifdef INITGUID
144#define Audit_ObjectAccess_Handle_defined
145#endif
146#endif
147
148#if !defined(INITGUID) || !defined(Audit_ObjectAccess_Share_defined)
149DEFINE_GUID(Audit_ObjectAccess_Share, 0x0cce9224, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
150#ifdef INITGUID
151#define Audit_ObjectAccess_Share_defined
152#endif
153#endif
154
155#if !defined(INITGUID) || !defined(Audit_ObjectAccess_FirewallPacketDrops_defined)
156DEFINE_GUID(Audit_ObjectAccess_FirewallPacketDrops, 0x0cce9225, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
157#ifdef INITGUID
158#define Audit_ObjectAccess_FirewallPacketDrops_defined
159#endif
160#endif
161
162#if !defined(INITGUID) || !defined(Audit_ObjectAccess_FirewallConnection_defined)
163DEFINE_GUID(Audit_ObjectAccess_FirewallConnection, 0x0cce9226, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
164#ifdef INITGUID
165#define Audit_ObjectAccess_FirewallConnection_defined
166#endif
167#endif
168
169#if !defined(INITGUID) || !defined(Audit_ObjectAccess_Other_defined)
170DEFINE_GUID(Audit_ObjectAccess_Other, 0x0cce9227, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
171#ifdef INITGUID
172#define Audit_ObjectAccess_Other_defined
173#endif
174#endif
175
176#if !defined(INITGUID) || !defined(Audit_PrivilegeUse_Sensitive_defined)
177DEFINE_GUID(Audit_PrivilegeUse_Sensitive, 0x0cce9228, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
178#ifdef INITGUID
179#define Audit_PrivilegeUse_Sensitive_defined
180#endif
181#endif
182
183#if !defined(INITGUID) || !defined(Audit_PrivilegeUse_NonSensitive_defined)
184DEFINE_GUID(Audit_PrivilegeUse_NonSensitive, 0x0cce9229, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
185#ifdef INITGUID
186#define Audit_PrivilegeUse_NonSensitive_defined
187#endif
188#endif
189
190#if !defined(INITGUID) || !defined(Audit_PrivilegeUse_Others_defined)
191DEFINE_GUID(Audit_PrivilegeUse_Others, 0x0cce922a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
192#ifdef INITGUID
193#define Audit_PrivilegeUse_Others_defined
194#endif
195#endif
196
197#if !defined(INITGUID) || !defined(Audit_DetailedTracking_ProcessCreation_defined)
198DEFINE_GUID(Audit_DetailedTracking_ProcessCreation, 0x0cce922b, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
199#ifdef INITGUID
200#define Audit_DetailedTracking_ProcessCreation_defined
201#endif
202#endif
203
204#if !defined(INITGUID) || !defined(Audit_DetailedTracking_ProcessTermination_defined)
205DEFINE_GUID(Audit_DetailedTracking_ProcessTermination, 0x0cce922c, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
206#ifdef INITGUID
207#define Audit_DetailedTracking_ProcessTermination_defined
208#endif
209#endif
210
211#if !defined(INITGUID) || !defined(Audit_DetailedTracking_DpapiActivity_defined)
212DEFINE_GUID(Audit_DetailedTracking_DpapiActivity, 0x0cce922d, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
213#ifdef INITGUID
214#define Audit_DetailedTracking_DpapiActivity_defined
215#endif
216#endif
217
218#if !defined(INITGUID) || !defined(Audit_DetailedTracking_RpcCall_defined)
219DEFINE_GUID(Audit_DetailedTracking_RpcCall, 0x0cce922e, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
220#ifdef INITGUID
221#define Audit_DetailedTracking_RpcCall_defined
222#endif
223#endif
224
225#if !defined(INITGUID) || !defined(Audit_PolicyChange_AuditPolicy_defined)
226DEFINE_GUID(Audit_PolicyChange_AuditPolicy, 0x0cce922f, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
227#ifdef INITGUID
228#define Audit_PolicyChange_AuditPolicy_defined
229#endif
230#endif
231
232#if !defined(INITGUID) || !defined(Audit_PolicyChange_AuthenticationPolicy_defined)
233DEFINE_GUID(Audit_PolicyChange_AuthenticationPolicy, 0x0cce9230, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
234#ifdef INITGUID
235#define Audit_PolicyChange_AuthenticationPolicy_defined
236#endif
237#endif
238
239#if !defined(INITGUID) || !defined(Audit_PolicyChange_AuthorizationPolicy_defined)
240DEFINE_GUID(Audit_PolicyChange_AuthorizationPolicy, 0x0cce9231, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
241#ifdef INITGUID
242#define Audit_PolicyChange_AuthorizationPolicy_defined
243#endif
244#endif
245
246#if !defined(INITGUID) || !defined(Audit_PolicyChange_MpsscvRulePolicy_defined)
247DEFINE_GUID(Audit_PolicyChange_MpsscvRulePolicy, 0x0cce9232, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
248#ifdef INITGUID
249#define Audit_PolicyChange_MpsscvRulePolicy_defined
250#endif
251#endif
252
253#if !defined(INITGUID) || !defined(Audit_PolicyChange_WfpIPSecPolicy_defined)
254DEFINE_GUID(Audit_PolicyChange_WfpIPSecPolicy, 0x0cce9233, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
255#ifdef INITGUID
256#define Audit_PolicyChange_WfpIPSecPolicy_defined
257#endif
258#endif
259
260#if !defined(INITGUID) || !defined(Audit_PolicyChange_Others_defined)
261DEFINE_GUID(Audit_PolicyChange_Others, 0x0cce9234, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
262#ifdef INITGUID
263#define Audit_PolicyChange_Others_defined
264#endif
265#endif
266
267#if !defined(INITGUID) || !defined(Audit_AccountManagement_UserAccount_defined)
268DEFINE_GUID(Audit_AccountManagement_UserAccount, 0x0cce9235, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
269#ifdef INITGUID
270#define Audit_AccountManagement_UserAccount_defined
271#endif
272#endif
273
274#if !defined(INITGUID) || !defined(Audit_AccountManagement_ComputerAccount_defined)
275DEFINE_GUID(Audit_AccountManagement_ComputerAccount, 0x0cce9236, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
276#ifdef INITGUID
277#define Audit_AccountManagement_ComputerAccount_defined
278#endif
279#endif
280
281#if !defined(INITGUID) || !defined(Audit_AccountManagement_SecurityGroup_defined)
282DEFINE_GUID(Audit_AccountManagement_SecurityGroup, 0x0cce9237, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
283#ifdef INITGUID
284#define Audit_AccountManagement_SecurityGroup_defined
285#endif
286#endif
287
288#if !defined(INITGUID) || !defined(Audit_AccountManagement_DistributionGroup_defined)
289DEFINE_GUID(Audit_AccountManagement_DistributionGroup, 0x0cce9238, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
290#ifdef INITGUID
291#define Audit_AccountManagement_DistributionGroup_defined
292#endif
293#endif
294
295#if !defined(INITGUID) || !defined(Audit_AccountManagement_ApplicationGroup_defined)
296DEFINE_GUID(Audit_AccountManagement_ApplicationGroup, 0x0cce9239, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
297#ifdef INITGUID
298#define Audit_AccountManagement_ApplicationGroup_defined
299#endif
300#endif
301
302#if !defined(INITGUID) || !defined(Audit_AccountManagement_Others_defined)
303DEFINE_GUID(Audit_AccountManagement_Others, 0x0cce923a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
304#ifdef INITGUID
305#define Audit_AccountManagement_Others_defined
306#endif
307#endif
308
309#if !defined(INITGUID) || !defined(Audit_DSAccess_DSAccess_defined)
310DEFINE_GUID(Audit_DSAccess_DSAccess, 0x0cce923b, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
311#ifdef INITGUID
312#define Audit_DSAccess_DSAccess_defined
313#endif
314#endif
315
316#if !defined(INITGUID) || !defined(Audit_DsAccess_AdAuditChanges_defined)
317DEFINE_GUID(Audit_DsAccess_AdAuditChanges, 0x0cce923c, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
318#ifdef INITGUID
319#define Audit_DsAccess_AdAuditChanges_defined
320#endif
321#endif
322
323#if !defined(INITGUID) || !defined(Audit_Ds_Replication_defined)
324DEFINE_GUID(Audit_Ds_Replication, 0x0cce923d, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
325#ifdef INITGUID
326#define Audit_Ds_Replication_defined
327#endif
328#endif
329
330#if !defined(INITGUID) || !defined(Audit_Ds_DetailedReplication_defined)
331DEFINE_GUID(Audit_Ds_DetailedReplication, 0x0cce923e, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
332#ifdef INITGUID
333#define Audit_Ds_DetailedReplication_defined
334#endif
335#endif
336
337#if !defined(INITGUID) || !defined(Audit_AccountLogon_CredentialValidation_defined)
338DEFINE_GUID(Audit_AccountLogon_CredentialValidation, 0x0cce923f, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
339#ifdef INITGUID
340#define Audit_AccountLogon_CredentialValidation_defined
341#endif
342#endif
343
344#if !defined(INITGUID) || !defined(Audit_AccountLogon_Kerberos_defined)
345DEFINE_GUID(Audit_AccountLogon_Kerberos, 0x0cce9240, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
346#ifdef INITGUID
347#define Audit_AccountLogon_Kerberos_defined
348#endif
349#endif
350
351#if !defined(INITGUID) || !defined(Audit_AccountLogon_Others_defined)
352DEFINE_GUID(Audit_AccountLogon_Others, 0x0cce9241, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
353#ifdef INITGUID
354#define Audit_AccountLogon_Others_defined
355#endif
356#endif
357
358#if !defined(INITGUID) || !defined(Audit_AccountLogon_KerbCredentialValidation_defined)
359DEFINE_GUID(Audit_AccountLogon_KerbCredentialValidation, 0x0cce9242, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
360#ifdef INITGUID
361#define Audit_AccountLogon_KerbCredentialValidation_defined
362#endif
363#endif
364
365#if !defined(INITGUID) || !defined(Audit_Logon_NPS_defined)
366DEFINE_GUID(Audit_Logon_NPS, 0x0cce9243, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
367#ifdef INITGUID
368#define Audit_Logon_NPS_defined
369#endif
370#endif
371
372#if !defined(INITGUID) || !defined(Audit_ObjectAccess_DetailedFileShare_defined)
373DEFINE_GUID(Audit_ObjectAccess_DetailedFileShare, 0x0cce9244, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
374#ifdef INITGUID
375#define Audit_ObjectAccess_DetailedFileShare_defined
376#endif
377#endif
378
379#if !defined(INITGUID) || !defined(Audit_ObjectAccess_RemovableStorage_defined)
380DEFINE_GUID(Audit_ObjectAccess_RemovableStorage, 0x0cce9245, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
381#ifdef INITGUID
382#define Audit_ObjectAccess_RemovableStorage_defined
383#endif
384#endif
385
386#if !defined(INITGUID) || !defined(Audit_ObjectAccess_CbacStaging_defined)
387DEFINE_GUID(Audit_ObjectAccess_CbacStaging, 0x0cce9246, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
388#ifdef INITGUID
389#define Audit_ObjectAccess_CbacStaging_defined
390#endif
391#endif
392
393#if !defined(INITGUID) || !defined(Audit_Logon_Claims_defined)
394DEFINE_GUID(Audit_Logon_Claims, 0x0cce9247, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
395#ifdef INITGUID
396#define Audit_Logon_Claims_defined
397#endif
398#endif
399
400#if !defined(INITGUID) || !defined(Audit_DetailedTracking_PnpActivity_defined)
401DEFINE_GUID(Audit_DetailedTracking_PnpActivity, 0x0cce9248, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
402#ifdef INITGUID
403#define Audit_DetailedTracking_PnpActivity_defined
404#endif
405#endif
406
407#if !defined(INITGUID) || !defined(Audit_Logon_Groups_defined)
408DEFINE_GUID(Audit_Logon_Groups, 0x0cce9249, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
409#ifdef INITGUID
410#define Audit_Logon_Groups_defined
411#endif
412#endif
413
414#if !defined(INITGUID) || !defined(Audit_DetailedTracking_TokenRightAdjusted_defined)
415DEFINE_GUID(Audit_DetailedTracking_TokenRightAdjusted, 0x0cce924a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
416#ifdef INITGUID
417#define Audit_DetailedTracking_TokenRightAdjusted_defined
418#endif
419#endif
420
421#if !defined(INITGUID) || !defined(Audit_System_defined)
422DEFINE_GUID(Audit_System, 0x69979848, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
423#ifdef INITGUID
424#define Audit_System_defined
425#endif
426#endif
427
428#if !defined(INITGUID) || !defined(Audit_Logon_defined)
429DEFINE_GUID(Audit_Logon, 0x69979849, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
430#ifdef INITGUID
431#define Audit_Logon_defined
432#endif
433#endif
434
435#if !defined(INITGUID) || !defined(Audit_ObjectAccess_defined)
436DEFINE_GUID(Audit_ObjectAccess, 0x6997984a, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
437#ifdef INITGUID
438#define Audit_ObjectAccess_defined
439#endif
440#endif
441
442#if !defined(INITGUID) || !defined(Audit_PrivilegeUse_defined)
443DEFINE_GUID(Audit_PrivilegeUse, 0x6997984b, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
444#ifdef INITGUID
445#define Audit_PrivilegeUse_defined
446#endif
447#endif
448
449#if !defined(INITGUID) || !defined(Audit_DetailedTracking_defined)
450DEFINE_GUID(Audit_DetailedTracking, 0x6997984c, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
451#ifdef INITGUID
452#define Audit_DetailedTracking_defined
453#endif
454#endif
455
456#if !defined(INITGUID) || !defined(Audit_PolicyChange_defined)
457DEFINE_GUID(Audit_PolicyChange, 0x6997984d, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
458#ifdef INITGUID
459#define Audit_PolicyChange_defined
460#endif
461#endif
462
463#if !defined(INITGUID) || !defined(Audit_AccountManagement_defined)
464DEFINE_GUID(Audit_AccountManagement, 0x6997984e, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
465#ifdef INITGUID
466#define Audit_AccountManagement_defined
467#endif
468#endif
469
470#if !defined(INITGUID) || !defined(Audit_DirectoryServiceAccess_defined)
471DEFINE_GUID(Audit_DirectoryServiceAccess, 0x6997984f, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
472#ifdef INITGUID
473#define Audit_DirectoryServiceAccess_defined
474#endif
475#endif
476
477#if !defined(INITGUID) || !defined(Audit_AccountLogon_defined)
478DEFINE_GUID(Audit_AccountLogon, 0x69979850, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30);
479#ifdef INITGUID
480#define Audit_AccountLogon_defined
481#endif
482#endif
483#endif
484
6485#ifndef _NTSECAPI_
7486#define _NTSECAPI_
8487
......@@ -414,9 +893,19 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
414893 typedef PVOID LSA_HANDLE,*PLSA_HANDLE;
415894
416895 typedef enum _TRUSTED_INFORMATION_CLASS {
417 TrustedDomainNameInformation = 1,TrustedControllersInformation,TrustedPosixOffsetInformation,TrustedPasswordInformation,
418 TrustedDomainInformationBasic,TrustedDomainInformationEx,TrustedDomainAuthInformation,TrustedDomainFullInformation,
419 TrustedDomainAuthInformationInternal,TrustedDomainFullInformationInternal,TrustedDomainInformationEx2Internal,TrustedDomainFullInformation2Internal
896 TrustedDomainNameInformation = 1,
897 TrustedControllersInformation,
898 TrustedPosixOffsetInformation,
899 TrustedPasswordInformation,
900 TrustedDomainInformationBasic,
901 TrustedDomainInformationEx,
902 TrustedDomainAuthInformation,
903 TrustedDomainFullInformation,
904 TrustedDomainAuthInformationInternal,
905 TrustedDomainFullInformationInternal,
906 TrustedDomainInformationEx2Internal,
907 TrustedDomainFullInformation2Internal,
908 TrustedDomainSupportedEncryptionTypes
420909 } TRUSTED_INFORMATION_CLASS,*PTRUSTED_INFORMATION_CLASS;
421910
422911 typedef struct _TRUSTED_DOMAIN_NAME_INFO {
......@@ -456,7 +945,20 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
456945#define TRUST_ATTRIBUTE_CROSS_ORGANIZATION 0x00000010
457946#define TRUST_ATTRIBUTE_WITHIN_FOREST 0x00000020
458947#define TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL 0x00000040
948
949#if _WIN32_WINNT >= 0x0600
459950#define TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION 0x00000080
951#define TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS 0x00000100
952#endif
953
954#if _WIN32_WINNT >= 0x0602
955#define TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION 0x00000200
956#define TRUST_ATTRIBUTE_PIM_TRUST 0x00000400
957#endif
958
959#if _WIN32_WINNT >= 0x0603
960#define TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION 0x00000800
961#endif
460962
461963#define TRUST_ATTRIBUTES_VALID 0xFF03FFFF
462964#define TRUST_ATTRIBUTES_USER 0xFF000000
......@@ -514,6 +1016,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
5141016 TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
5151017 } TRUSTED_DOMAIN_FULL_INFORMATION2,*PTRUSTED_DOMAIN_FULL_INFORMATION2;
5161018
1019 typedef struct _TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
1020 ULONG SupportedEncryptionTypes;
1021 } TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES,*PTRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES;
1022
5171023 typedef enum {
5181024 ForestTrustTopLevelName,ForestTrustTopLevelNameEx,ForestTrustDomainInfo,ForestTrustRecordTypeLast = ForestTrustDomainInfo
5191025 } LSA_FOREST_TRUST_RECORD_TYPE;
......@@ -592,7 +1098,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
5921098 ULONG FailedAttemptCountSinceLastSuccessfulLogon;
5931099 } LSA_LAST_INTER_LOGON_INFO,*PLSA_LAST_INTER_LOGON_INFO;
5941100 #endif
595
1101
5961102 typedef struct _SECURITY_LOGON_SESSION_DATA {
5971103 ULONG Size;
5981104 LUID LogonId;
......@@ -634,6 +1140,52 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
6341140 NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE PolicyHandle,ULONG Count,PLSA_UNICODE_STRING Names,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_SID *Sids);
6351141 NTSTATUS NTAPI LsaLookupNames2(LSA_HANDLE PolicyHandle,ULONG Flags,ULONG Count,PLSA_UNICODE_STRING Names,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_SID2 *Sids);
6361142 NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE PolicyHandle,ULONG Count,PSID *Sids,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_NAME *Names);
1143 NTSTATUS NTAPI LsaLookupSids2(LSA_HANDLE PolicyHandle,ULONG LookupOptions,ULONG Count,PSID *Sids,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_NAME *Names);
1144 NTSTATUS NTAPI LsaSetCAPs(PLSA_UNICODE_STRING CAPDNs,ULONG CAPDNCount,ULONG Flags);
1145 NTSTATUS NTAPI LsaGetAppliedCAPIDs(PLSA_UNICODE_STRING SystemName,PSID **CAPIDs,PULONG CAPIDCount);
1146
1147 #define MAXIMUM_CAPES_PER_CAP 0x7f
1148
1149 #define CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG 0x00000001
1150 #define CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG 0x00000100
1151 #define CENTRAL_ACCESS_POLICY_STAGED_FLAG 0x00010000
1152 #define STAGING_FLAG(Effective) ((Effective & 0xf) << 8)
1153
1154 #define CENTRAL_ACCESS_POLICY_VALID_FLAG_MASK (CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG | \
1155 CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG | \
1156 CENTRAL_ACCESS_POLICY_STAGED_FLAG)
1157
1158 #define LSASETCAPS_RELOAD_FLAG 0x00000001
1159 #define LSASETCAPS_VALID_FLAG_MASK LSASETCAPS_RELOAD_FLAG
1160
1161 typedef struct _CENTRAL_ACCESS_POLICY_ENTRY {
1162 LSA_UNICODE_STRING Name;
1163 LSA_UNICODE_STRING Description;
1164 LSA_UNICODE_STRING ChangeId;
1165 ULONG LengthAppliesTo;
1166 PUCHAR AppliesTo;
1167 ULONG LengthSD;
1168 PSECURITY_DESCRIPTOR SD;
1169 ULONG LengthStagedSD;
1170 PSECURITY_DESCRIPTOR StagedSD;
1171 ULONG Flags;
1172 } CENTRAL_ACCESS_POLICY_ENTRY, *PCENTRAL_ACCESS_POLICY_ENTRY;
1173
1174 typedef const CENTRAL_ACCESS_POLICY_ENTRY *PCCENTRAL_ACCESS_POLICY_ENTRY;
1175
1176 typedef struct _CENTRAL_ACCESS_POLICY {
1177 PSID CAPID;
1178 LSA_UNICODE_STRING Name;
1179 LSA_UNICODE_STRING Description;
1180 LSA_UNICODE_STRING ChangeId;
1181 ULONG Flags;
1182 ULONG CAPECount;
1183 PCENTRAL_ACCESS_POLICY_ENTRY *CAPEs;
1184 } CENTRAL_ACCESS_POLICY, *PCENTRAL_ACCESS_POLICY;
1185
1186 typedef const CENTRAL_ACCESS_POLICY *PCCENTRAL_ACCESS_POLICY;
1187
1188 NTSTATUS NTAPI LsaQueryCAPs(PSID *CAPIDs,ULONG CAPIDCount,PCENTRAL_ACCESS_POLICY *CAPs,PULONG CAPCount);
6371189
6381190#define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")
6391191#define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")
......@@ -674,7 +1226,11 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
6741226#endif
6751227
6761228 enum NEGOTIATE_MESSAGES {
677 NegEnumPackagePrefixes = 0,NegGetCallerName = 1,NegCallPackageMax
1229 NegEnumPackagePrefixes = 0,
1230 NegGetCallerName = 1,
1231 NegTransferCredentials = 2,
1232 NegMsgReserved1 = 3,
1233 NegCallPackageMax
6781234 };
6791235
6801236#define NEGOTIATE_MAX_PREFIX 32
......@@ -733,6 +1289,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
7331289#define DOMAIN_PASSWORD_STORE_CLEARTEXT __MSABI_LONG(0x00000010)
7341290#define DOMAIN_REFUSE_PASSWORD_CHANGE __MSABI_LONG(0x00000020)
7351291
1292#if _WIN32_WINNT >= 0x0502
1293#define DOMAIN_NO_LM_OWF_CHANGE __MSABI_LONG(0x00000040)
1294#endif
1295
7361296#ifndef _PASSWORD_NOTIFICATION_DEFINED
7371297#define _PASSWORD_NOTIFICATION_DEFINED
7381298 typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING UserName,ULONG RelativeId,PUNICODE_STRING NewPassword);
......@@ -755,7 +1315,15 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
7551315#define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
7561316
7571317 typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {
758 MsV1_0InteractiveLogon = 2,MsV1_0Lm20Logon,MsV1_0NetworkLogon,MsV1_0SubAuthLogon,MsV1_0WorkstationUnlockLogon = 7
1318 MsV1_0InteractiveLogon = 2,
1319 MsV1_0Lm20Logon,
1320 MsV1_0NetworkLogon,
1321 MsV1_0SubAuthLogon,
1322 MsV1_0WorkstationUnlockLogon = 7,
1323 MsV1_0S4ULogon = 12,
1324 MsV1_0VirtualLogon = 82,
1325 MsV1_0NoElevationLogon,
1326 MsV1_0LuidLogon
7591327 } MSV1_0_LOGON_SUBMIT_TYPE,*PMSV1_0_LOGON_SUBMIT_TYPE;
7601328
7611329 typedef enum _MSV1_0_PROFILE_BUFFER_TYPE {
......@@ -811,6 +1379,15 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8111379#define MSV1_0_SUBAUTHENTICATION_DLL_EX 0x00100000
8121380#define MSV1_0_ALLOW_MSVCHAPV2 0x00010000
8131381
1382#if _WIN32_WINNT >= 0x0600
1383#define MSV1_0_S4U2SELF 0x00020000
1384#define MSV1_0_CHECK_LOGONHOURS_FOR_S4U 0x00040000
1385#endif
1386
1387#if _WIN32_WINNT >= 0x0602
1388#define MSV1_0_INTERNET_DOMAIN 0x00080000
1389#endif
1390
8141391#define MSV1_0_SUBAUTHENTICATION_DLL 0xFF000000
8151392#define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 24
8161393#define MSV1_0_MNS_LOGON 0x01000000
......@@ -841,6 +1418,19 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8411418 ULONG SubAuthPackageId;
8421419 } MSV1_0_SUBAUTH_LOGON,*PMSV1_0_SUBAUTH_LOGON;
8431420
1421#if _WIN32_WINNT >= 0x0600
1422
1423#define MSV1_0_S4U_LOGON_FLAG_CHECK_LOGONHOURS 0x2
1424
1425 typedef struct _MSV1_0_S4U_LOGON {
1426 MSV1_0_LOGON_SUBMIT_TYPE MessageType;
1427 ULONG Flags;
1428 UNICODE_STRING UserPrincipalName;
1429 UNICODE_STRING DomainName;
1430 } MSV1_0_S4U_LOGON, *PMSV1_0_S4U_LOGON;
1431
1432#endif
1433
8441434#define LOGON_GUEST 0x01
8451435#define LOGON_NOENCRYPTION 0x02
8461436#define LOGON_CACHED_ACCOUNT 0x04
......@@ -851,6 +1441,21 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8511441#define LOGON_NTLMV2_ENABLED 0x100
8521442#define LOGON_RESOURCE_GROUPS 0x200
8531443#define LOGON_PROFILE_PATH_RETURNED 0x400
1444#define LOGON_NT_V2 0x800
1445#define LOGON_LM_V2 0x1000
1446#define LOGON_NTLM_V2 0x2000
1447
1448#if _WIN32_WINNT >= 0x0600
1449#define LOGON_OPTIMIZED 0x4000
1450#define LOGON_WINLOGON 0x8000
1451#define LOGON_PKINIT 0x10000
1452#define LOGON_NO_OPTIMIZED 0x20000
1453#endif
1454
1455#if _WIN32_WINNT >= 0x0602
1456#define LOGON_NO_ELEVATION 0x40000
1457#define LOGON_MANAGED_SERVICE 0x80000
1458#endif
8541459
8551460#define MSV1_0_SUBAUTHENTICATION_FLAGS 0xFF000000
8561461
......@@ -869,9 +1474,34 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8691474 } MSV1_0_LM20_LOGON_PROFILE,*PMSV1_0_LM20_LOGON_PROFILE;
8701475
8711476#define MSV1_0_OWF_PASSWORD_LENGTH 16
1477#define MSV1_0_SHA_PASSWORD_LENGTH 20
1478#define MSV1_0_CREDENTIAL_KEY_LENGTH 20
8721479#define MSV1_0_CRED_LM_PRESENT 0x1
8731480#define MSV1_0_CRED_NT_PRESENT 0x2
1481#define MSV1_0_CRED_REMOVED 0x4
1482#define MSV1_0_CRED_CREDKEY_PRESENT 0x8
1483#define MSV1_0_CRED_SHA_PRESENT 0x10
1484
8741485#define MSV1_0_CRED_VERSION 0
1486#define MSV1_0_CRED_VERSION_V2 2
1487#define MSV1_0_CRED_VERSION_V3 4
1488#define MSV1_0_CRED_VERSION_IUM 0xffff0001
1489#define MSV1_0_CRED_VERSION_REMOTE 0xffff0002
1490#define MSV1_0_CRED_VERSION_ARSO 0xffff0003
1491#define MSV1_0_CRED_VERSION_RESERVED_1 0xfffffffe
1492#define MSV1_0_CRED_VERSION_INVALID 0xffffffff
1493
1494 typedef enum _MSV1_0_CREDENTIAL_KEY_TYPE {
1495 InvalidCredKey,
1496 DeprecatedIUMCredKey,
1497 DomainUserCredKey,
1498 LocalUserCredKey,
1499 ExternallySuppliedCredKey
1500 } MSV1_0_CREDENTIAL_KEY_TYPE;
1501
1502 typedef struct _MSV1_0_CREDENTIAL_KEY {
1503 UCHAR Data[MSV1_0_CREDENTIAL_KEY_LENGTH];
1504 } MSV1_0_CREDENTIAL_KEY, *PMSV1_0_CREDENTIAL_KEY;
8751505
8761506 typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {
8771507 ULONG Version;
......@@ -880,6 +1510,40 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8801510 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
8811511 } MSV1_0_SUPPLEMENTAL_CREDENTIAL,*PMSV1_0_SUPPLEMENTAL_CREDENTIAL;
8821512
1513 typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
1514 ULONG Version;
1515 ULONG Flags;
1516 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
1517 MSV1_0_CREDENTIAL_KEY CredentialKey;
1518 } MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2, *PMSV1_0_SUPPLEMENTAL_CREDENTIAL_V2;
1519
1520 typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
1521 ULONG Version;
1522 ULONG Flags;
1523 MSV1_0_CREDENTIAL_KEY_TYPE CredentialKeyType;
1524 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
1525 MSV1_0_CREDENTIAL_KEY CredentialKey;
1526 UCHAR ShaPassword[MSV1_0_SHA_PASSWORD_LENGTH];
1527 } MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3, *PMSV1_0_SUPPLEMENTAL_CREDENTIAL_V3;
1528
1529 typedef struct _MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
1530 ULONG Version;
1531 ULONG EncryptedCredsSize;
1532 UCHAR EncryptedCreds[1];
1533 } MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL, *PMSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL;
1534
1535#define MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL_SIZE(Creds) \
1536 (FIELD_OFFSET(MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL, EncryptedCreds) + (Creds)->EncryptedCredsSize)
1537
1538 typedef struct _MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
1539 ULONG Version;
1540 ULONG Flags;
1541 MSV1_0_CREDENTIAL_KEY CredentialKey;
1542 MSV1_0_CREDENTIAL_KEY_TYPE CredentialKeyType;
1543 ULONG EncryptedCredsSize;
1544 UCHAR EncryptedCreds[1];
1545 } MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL, *PMSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL;
1546
8831547#define MSV1_0_NTLM3_RESPONSE_LENGTH 16
8841548#define MSV1_0_NTLM3_OWF_LENGTH 16
8851549
......@@ -888,6 +1552,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8881552
8891553#define MSV1_0_AV_FLAG_FORCE_GUEST 0x00000001
8901554
1555#if _WIN32_WINNT >= 0x0600
1556#define MSV1_0_AV_FLAG_MIC_HANDSHAKE_MESSAGES 0x00000002
1557#endif
1558
1559#if _WIN32_WINNT >= 0x0601
1560#define MSV1_0_AV_FLAG_UNVERIFIED_TARGET 0x00000004
1561#endif
1562
8911563 typedef struct _MSV1_0_NTLM3_RESPONSE {
8921564 UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];
8931565 UCHAR RespType;
......@@ -903,6 +1575,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
9031575#define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE) - MSV1_0_NTLM3_RESPONSE_LENGTH)
9041576#define MSV1_0_NTLM3_MIN_NT_RESPONSE_LENGTH RTL_SIZEOF_THROUGH_FIELD(MSV1_0_NTLM3_RESPONSE,AvPairsOff)
9051577
1578/* MsvAvSingleHost present in MS-NLMP specifications but not in WinSDK */
9061579 typedef enum {
9071580 MsvAvEOL,
9081581 MsvAvNbComputerName,
......@@ -915,6 +1588,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
9151588#if _WIN32_WINNT >= 0x0600
9161589 ,MsvAvTimestamp
9171590 ,MsvAvRestrictions
1591 ,MsvAvSingleHost = MsvAvRestrictions
9181592 ,MsvAvTargetName
9191593 ,MsvAvChannelBindings
9201594#endif
......@@ -924,13 +1598,44 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
9241598 typedef struct _MSV1_0_AV_PAIR {
9251599 USHORT AvId;
9261600 USHORT AvLen;
927
9281601 } MSV1_0_AV_PAIR,*PMSV1_0_AV_PAIR;
9291602
9301603 typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
931 MsV1_0Lm20ChallengeRequest = 0,MsV1_0Lm20GetChallengeResponse,MsV1_0EnumerateUsers,MsV1_0GetUserInfo,MsV1_0ReLogonUsers,MsV1_0ChangePassword,
932 MsV1_0ChangeCachedPassword,MsV1_0GenericPassthrough,MsV1_0CacheLogon,MsV1_0SubAuth,MsV1_0DeriveCredential,MsV1_0CacheLookup,
933 MsV1_0SetProcessOption
1604 MsV1_0Lm20ChallengeRequest = 0,
1605 MsV1_0Lm20GetChallengeResponse,
1606 MsV1_0EnumerateUsers,
1607 MsV1_0GetUserInfo,
1608 MsV1_0ReLogonUsers,
1609 MsV1_0ChangePassword,
1610 MsV1_0ChangeCachedPassword,
1611 MsV1_0GenericPassthrough,
1612 MsV1_0CacheLogon,
1613 MsV1_0SubAuth,
1614 MsV1_0DeriveCredential,
1615 MsV1_0CacheLookup,
1616#if _WIN32_WINNT >= 0x0501
1617 MsV1_0SetProcessOption,
1618#endif
1619#if _WIN32_WINNT >= 0x0600
1620 MsV1_0ConfigLocalAliases,
1621 MsV1_0ClearCachedCredentials,
1622#endif
1623#if _WIN32_WINNT >= 0x0601
1624 MsV1_0LookupToken,
1625#endif
1626#if _WIN32_WINNT >= 0x0602
1627 MsV1_0ValidateAuth,
1628 MsV1_0CacheLookupEx,
1629 MsV1_0GetCredentialKey,
1630 MsV1_0SetThreadOption,
1631#endif
1632#if _WIN32_WINNT >= 0x0A00
1633 MsV1_0DecryptDpapiMasterKey,
1634 MsV1_0GetStrongCredentialKey,
1635 MsV1_0TransferCred,
1636 MsV1_0ProvisionTbal,
1637 MsV1_0DeleteTbalSecrets
1638#endif
9341639 } MSV1_0_PROTOCOL_MESSAGE_TYPE,*PMSV1_0_PROTOCOL_MESSAGE_TYPE;
9351640
9361641 typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {
......@@ -986,6 +1691,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
9861691#define RTL_ENCRYPT_MEMORY_SIZE 8
9871692#define RTL_ENCRYPT_OPTION_CROSS_PROCESS 0x01
9881693#define RTL_ENCRYPT_OPTION_SAME_LOGON 0x02
1694#define RTL_ENCRYPT_OPTION_FOR_SYSTEM 0x04
9891695
9901696 NTSTATUS WINAPI RtlEncryptMemory(PVOID Memory,ULONG MemorySize,ULONG OptionFlags);
9911697 NTSTATUS WINAPI RtlDecryptMemory(PVOID Memory,ULONG MemorySize,ULONG OptionFlags);
......@@ -997,6 +1703,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
9971703#define KERB_ETYPE_DES_CBC_CRC 1
9981704#define KERB_ETYPE_DES_CBC_MD4 2
9991705#define KERB_ETYPE_DES_CBC_MD5 3
1706#define KERB_ETYPE_AES128_CTS_HMAC_SHA1_96 17
1707#define KERB_ETYPE_AES256_CTS_HMAC_SHA1_96 18
10001708
10011709#define KERB_ETYPE_RC4_MD4 -128
10021710#define KERB_ETYPE_RC4_PLAIN2 -129
......@@ -1009,6 +1717,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
10091717#define KERB_ETYPE_RC4_PLAIN_OLD_EXP -136
10101718#define KERB_ETYPE_RC4_PLAIN -140
10111719#define KERB_ETYPE_RC4_PLAIN_EXP -141
1720#define KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN -148
1721#define KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN -149
10121722
10131723#define KERB_ETYPE_DSA_SHA1_CMS 9
10141724#define KERB_ETYPE_RSA_MD5_CMS 10
......@@ -1040,6 +1750,9 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
10401750#define KERB_CHECKSUM_KRB_DES_MAC_K 5
10411751#define KERB_CHECKSUM_MD5 7
10421752#define KERB_CHECKSUM_MD5_DES 8
1753#define KERB_CHECKSUM_SHA1_NEW 14
1754#define KERB_CHECKSUM_HMAC_SHA1_96_AES128 15
1755#define KERB_CHECKSUM_HMAC_SHA1_96_AES256 16
10431756
10441757#define KERB_CHECKSUM_LM -130
10451758#define KERB_CHECKSUM_SHA1 -131
......@@ -1050,6 +1763,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
10501763#define KERB_CHECKSUM_RC4_MD5 -136
10511764#define KERB_CHECKSUM_MD5_HMAC -137
10521765#define KERB_CHECKSUM_HMAC_MD5 -138
1766#define KERB_CHECKSUM_HMAC_SHA1_96_AES128_Ki -150
1767#define KERB_CHECKSUM_HMAC_SHA1_96_AES256_Ki -151
10531768
10541769#define AUTH_REQ_ALLOW_FORWARDABLE 0x00000001
10551770#define AUTH_REQ_ALLOW_PROXIABLE 0x00000002
......@@ -1080,6 +1795,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
10801795#define KERB_TICKET_FLAGS_hw_authent 0x00100000
10811796#define KERB_TICKET_FLAGS_ok_as_delegate 0x00040000
10821797#define KERB_TICKET_FLAGS_name_canonicalize 0x00010000
1798#if _WIN32_WINNT == 0x0501
1799#define KERB_TICKET_FLAGS_cname_in_pa_data 0x00040000
1800#endif
1801#define KERB_TICKET_FLAGS_enc_pa_rep 0x00010000
10831802#define KERB_TICKET_FLAGS_reserved1 0x00000001
10841803
10851804#define KRB_NT_UNKNOWN 0
......@@ -1091,12 +1810,21 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
10911810#define KRB_NT_SRV_XHST 4
10921811#define KRB_NT_UID 5
10931812#define KRB_NT_ENTERPRISE_PRINCIPAL 10
1813#define KRB_NT_WELLKNOWN 11
1814#define KRB_NT_MS_BRANCH_ID -133
10941815#define KRB_NT_ENT_PRINCIPAL_AND_ID -130
10951816#define KRB_NT_MS_PRINCIPAL -128
10961817#define KRB_NT_MS_PRINCIPAL_AND_ID -129
10971818
10981819#define KERB_IS_MS_PRINCIPAL(_x_) (((_x_) <= KRB_NT_MS_PRINCIPAL) || ((_x_) >= KRB_NT_ENTERPRISE_PRINCIPAL))
10991820
1821#if _WIN32_WINNT >= 0x0600
1822#define KRB_NT_X500_PRINCIPAL 6
1823#endif
1824
1825#define KRB_WELLKNOWN_STRING L"WELLKNOWN"
1826#define KRB_ANONYMOUS_STRING L"ANONYMOUS"
1827
11001828#ifndef MICROSOFT_KERBEROS_NAME_A
11011829
11021830#define MICROSOFT_KERBEROS_NAME_A "Kerberos"
......@@ -1111,12 +1839,22 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
11111839#define KERB_WRAP_NO_ENCRYPT 0x80000001
11121840
11131841 typedef enum _KERB_LOGON_SUBMIT_TYPE {
1114 KerbInteractiveLogon = 2,KerbSmartCardLogon = 6,KerbWorkstationUnlockLogon = 7,KerbSmartCardUnlockLogon = 8,KerbProxyLogon = 9,
1115 KerbTicketLogon = 10,KerbTicketUnlockLogon = 11,KerbS4ULogon = 12
1842 KerbInteractiveLogon = 2,
1843 KerbSmartCardLogon = 6,
1844 KerbWorkstationUnlockLogon = 7,
1845 KerbSmartCardUnlockLogon = 8,
1846 KerbProxyLogon = 9,
1847 KerbTicketLogon = 10,
1848 KerbTicketUnlockLogon = 11,
1849 KerbS4ULogon = 12,
11161850#if (_WIN32_WINNT >= 0x0600)
1117 ,KerbCertificateLogon = 13,
1118 KerbCertificateS4ULogon = 14,
1119 KerbCertificateUnlockLogon = 15
1851 KerbCertificateLogon = 13,
1852 KerbCertificateS4ULogon = 14,
1853 KerbCertificateUnlockLogon = 15,
1854#endif
1855#if (_WIN32_WINNT >= 0x0602)
1856 KerbNoElevationLogon = 83,
1857 KerbLuidLogon = 84
11201858#endif
11211859 } KERB_LOGON_SUBMIT_TYPE,*PKERB_LOGON_SUBMIT_TYPE;
11221860
......@@ -1154,12 +1892,18 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
11541892 } KERB_TICKET_LOGON,*PKERB_TICKET_LOGON;
11551893
11561894#define KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET 0x1
1895#define KERB_LOGON_FLAG_REDIRECTED 0x2
11571896
11581897 typedef struct _KERB_TICKET_UNLOCK_LOGON {
11591898 KERB_TICKET_LOGON Logon;
11601899 LUID LogonId;
11611900 } KERB_TICKET_UNLOCK_LOGON,*PKERB_TICKET_UNLOCK_LOGON;
11621901
1902#if _WIN32_WINNT >= 0x0600
1903#define KERB_S4U_LOGON_FLAG_CHECK_LOGONHOURS 0x2
1904#define KERB_S4U_LOGON_FLAG_IDENTIFY 0x8
1905#endif
1906
11631907 typedef struct _KERB_S4U_LOGON {
11641908 KERB_LOGON_SUBMIT_TYPE MessageType;
11651909 ULONG Flags;
......@@ -1202,17 +1946,63 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
12021946 PUCHAR Value;
12031947 } KERB_CRYPTO_KEY,*PKERB_CRYPTO_KEY;
12041948
1949 typedef struct KERB_CRYPTO_KEY32 {
1950 LONG KeyType;
1951 ULONG Length;
1952 ULONG Offset;
1953 } KERB_CRYPTO_KEY32,*PKERB_CRYPTO_KEY32;
1954
12051955 typedef struct _KERB_TICKET_PROFILE {
12061956 KERB_INTERACTIVE_PROFILE Profile;
12071957 KERB_CRYPTO_KEY SessionKey;
12081958 } KERB_TICKET_PROFILE,*PKERB_TICKET_PROFILE;
12091959
12101960 typedef enum _KERB_PROTOCOL_MESSAGE_TYPE {
1211 KerbDebugRequestMessage = 0,KerbQueryTicketCacheMessage,KerbChangeMachinePasswordMessage,KerbVerifyPacMessage,KerbRetrieveTicketMessage,
1212 KerbUpdateAddressesMessage,KerbPurgeTicketCacheMessage,KerbChangePasswordMessage,KerbRetrieveEncodedTicketMessage,KerbDecryptDataMessage,
1213 KerbAddBindingCacheEntryMessage,KerbSetPasswordMessage,KerbSetPasswordExMessage,KerbVerifyCredentialsMessage,KerbQueryTicketCacheExMessage,
1214 KerbPurgeTicketCacheExMessage,KerbRefreshSmartcardCredentialsMessage,KerbAddExtraCredentialsMessage,KerbQuerySupplementalCredentialsMessage,
1215 KerbTransferCredentialsMessage,KerbQueryTicketCacheEx2Message
1961 KerbDebugRequestMessage = 0,
1962 KerbQueryTicketCacheMessage,
1963 KerbChangeMachinePasswordMessage,
1964 KerbVerifyPacMessage,
1965 KerbRetrieveTicketMessage,
1966 KerbUpdateAddressesMessage,
1967 KerbPurgeTicketCacheMessage,
1968 KerbChangePasswordMessage,
1969 KerbRetrieveEncodedTicketMessage,
1970 KerbDecryptDataMessage,
1971 KerbAddBindingCacheEntryMessage,
1972 KerbSetPasswordMessage,
1973 KerbSetPasswordExMessage,
1974#if _WIN32_WINNT >= 0x0501
1975 KerbVerifyCredentialsMessage,
1976 KerbQueryTicketCacheExMessage,
1977 KerbPurgeTicketCacheExMessage,
1978#endif
1979#if _WIN32_WINNT >= 0x0502
1980 KerbRefreshSmartcardCredentialsMessage,
1981 KerbAddExtraCredentialsMessage,
1982 KerbQuerySupplementalCredentialsMessage,
1983#endif
1984#if _WIN32_WINNT >= 0x0600
1985 KerbTransferCredentialsMessage,
1986 KerbQueryTicketCacheEx2Message,
1987 KerbSubmitTicketMessage,
1988 KerbAddExtraCredentialsExMessage,
1989#endif
1990#if _WIN32_WINNT >= 0x0602
1991 KerbQueryKdcProxyCacheMessage,
1992 KerbPurgeKdcProxyCacheMessage,
1993 KerbQueryTicketCacheEx3Message,
1994 KerbCleanupMachinePkinitCredsMessage,
1995 KerbAddBindingCacheEntryExMessage,
1996 KerbQueryBindingCacheMessage,
1997 KerbPurgeBindingCacheMessage,
1998 KerbPinKdcMessage,
1999 KerbUnpinAllKdcsMessage,
2000 KerbQueryDomainExtendedPoliciesMessage,
2001 KerbQueryS4U2ProxyCacheMessage,
2002#endif
2003#if _WIN32_WINNT >= 0x0A00
2004 KerbRetrieveKeyTabMessage
2005#endif
12162006 } KERB_PROTOCOL_MESSAGE_TYPE,*PKERB_PROTOCOL_MESSAGE_TYPE;
12172007
12182008 typedef struct _KERB_QUERY_TKT_CACHE_REQUEST {
......@@ -1255,6 +2045,24 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
12552045 ULONG SessionKeyType;
12562046 } KERB_TICKET_CACHE_INFO_EX2,*PKERB_TICKET_CACHE_INFO_EX2;
12572047
2048#if _WIN32_WINNT >= 0x0602
2049 typedef struct _KERB_TICKET_CACHE_INFO_EX3 {
2050 UNICODE_STRING ClientName;
2051 UNICODE_STRING ClientRealm;
2052 UNICODE_STRING ServerName;
2053 UNICODE_STRING ServerRealm;
2054 LARGE_INTEGER StartTime;
2055 LARGE_INTEGER EndTime;
2056 LARGE_INTEGER RenewTime;
2057 LONG EncryptionType;
2058 ULONG TicketFlags;
2059 ULONG SessionKeyType;
2060 ULONG BranchId;
2061 ULONG CacheFlags;
2062 UNICODE_STRING KdcCalled;
2063 } KERB_TICKET_CACHE_INFO_EX3, *PKERB_TICKET_CACHE_INFO_EX3;
2064#endif
2065
12582066 typedef struct _KERB_QUERY_TKT_CACHE_RESPONSE {
12592067 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
12602068 ULONG CountOfTickets;
......@@ -1273,6 +2081,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
12732081 KERB_TICKET_CACHE_INFO_EX2 Tickets[ANYSIZE_ARRAY];
12742082 } KERB_QUERY_TKT_CACHE_EX2_RESPONSE,*PKERB_QUERY_TKT_CACHE_EX2_RESPONSE;
12752083
2084#if _WIN32_WINNT >= 0x0602
2085 typedef struct _KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
2086 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2087 ULONG CountOfTickets;
2088 KERB_TICKET_CACHE_INFO_EX3 Tickets[ANYSIZE_ARRAY];
2089 } KERB_QUERY_TKT_CACHE_EX3_RESPONSE, *PKERB_QUERY_TKT_CACHE_EX3_RESPONSE;
2090#endif
2091
12762092#ifndef __SECHANDLE_DEFINED__
12772093 typedef struct _SecHandle {
12782094 ULONG_PTR dwLower;
......@@ -1290,7 +2106,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
12902106#define KERB_RETRIEVE_TICKET_USE_CREDHANDLE 0x4
12912107#define KERB_RETRIEVE_TICKET_AS_KERB_CRED 0x8
12922108#define KERB_RETRIEVE_TICKET_WITH_SEC_CRED 0x10
2109
2110#if _WIN32_WINNT >= 0x0600
12932111#define KERB_RETRIEVE_TICKET_CACHE_TICKET 0x20
2112#endif
2113
2114#if _WIN32_WINNT >= 0x0601
2115#define KERB_RETRIEVE_TICKET_MAX_LIFETIME 0x40
2116#endif
12942117
12952118#define KERB_ETYPE_DEFAULT 0x0
12962119
......@@ -1366,6 +2189,105 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
13662189 KERB_TICKET_CACHE_INFO_EX TicketTemplate;
13672190 } KERB_PURGE_TKT_CACHE_EX_REQUEST,*PKERB_PURGE_TKT_CACHE_EX_REQUEST;
13682191
2192 typedef struct _KERB_SUBMIT_TKT_REQUEST {
2193 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2194 LUID LogonId;
2195 ULONG Flags;
2196 KERB_CRYPTO_KEY32 Key;
2197 ULONG KerbCredSize;
2198 ULONG KerbCredOffset;
2199 } KERB_SUBMIT_TKT_REQUEST, *PKERB_SUBMIT_TKT_REQUEST;
2200
2201#if _WIN32_WINNT >= 0x0602
2202
2203 typedef struct _KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
2204 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2205 ULONG Flags;
2206 LUID LogonId;
2207 } KERB_QUERY_KDC_PROXY_CACHE_REQUEST, *PKERB_QUERY_KDC_PROXY_CACHE_REQUEST;
2208
2209 typedef struct _KDC_PROXY_CACHE_ENTRY_DATA {
2210 ULONG64 SinceLastUsed;
2211 UNICODE_STRING DomainName;
2212 UNICODE_STRING ProxyServerName;
2213 UNICODE_STRING ProxyServerVdir;
2214 USHORT ProxyServerPort;
2215 LUID LogonId;
2216 UNICODE_STRING CredUserName;
2217 UNICODE_STRING CredDomainName;
2218 BOOLEAN GlobalCache;
2219 } KDC_PROXY_CACHE_ENTRY_DATA, *PKDC_PROXY_CACHE_ENTRY_DATA;
2220
2221 typedef struct _KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
2222 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2223 ULONG CountOfEntries;
2224 PKDC_PROXY_CACHE_ENTRY_DATA Entries;
2225 } KERB_QUERY_KDC_PROXY_CACHE_RESPONSE, *PKERB_QUERY_KDC_PROXY_CACHE_RESPONSE;
2226
2227 typedef struct _KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
2228 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2229 ULONG Flags;
2230 LUID LogonId;
2231 } KERB_PURGE_KDC_PROXY_CACHE_REQUEST, *PKERB_PURGE_KDC_PROXY_CACHE_REQUEST;
2232
2233 typedef struct _KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
2234 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2235 ULONG CountOfPurged;
2236 } KERB_PURGE_KDC_PROXY_CACHE_RESPONSE, *PKERB_PURGE_KDC_PROXY_CACHE_RESPONSE;
2237
2238#define KERB_S4U2PROXY_CACHE_ENTRY_INFO_FLAG_NEGATIVE 0x1
2239
2240 typedef struct _KERB_S4U2PROXY_CACHE_ENTRY_INFO {
2241 UNICODE_STRING ServerName;
2242 ULONG Flags;
2243 NTSTATUS LastStatus;
2244 LARGE_INTEGER Expiry;
2245 } KERB_S4U2PROXY_CACHE_ENTRY_INFO, *PKERB_S4U2PROXY_CACHE_ENTRY_INFO;
2246
2247#define KERB_S4U2PROXY_CRED_FLAG_NEGATIVE 0x1
2248
2249 typedef struct _KERB_S4U2PROXY_CRED {
2250 UNICODE_STRING UserName;
2251 UNICODE_STRING DomainName;
2252 ULONG Flags;
2253 NTSTATUS LastStatus;
2254 LARGE_INTEGER Expiry;
2255 ULONG CountOfEntries;
2256 PKERB_S4U2PROXY_CACHE_ENTRY_INFO Entries;
2257 } KERB_S4U2PROXY_CRED, *PKERB_S4U2PROXY_CRED;
2258
2259 typedef struct _KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
2260 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2261 ULONG Flags;
2262 LUID LogonId;
2263 } KERB_QUERY_S4U2PROXY_CACHE_REQUEST, *PKERB_QUERY_S4U2PROXY_CACHE_REQUEST;
2264
2265 typedef struct _KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
2266 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2267 ULONG CountOfCreds;
2268 PKERB_S4U2PROXY_CRED Creds;
2269 } KERB_QUERY_S4U2PROXY_CACHE_RESPONSE, *PKERB_QUERY_S4U2PROXY_CACHE_RESPONSE;
2270
2271#endif
2272
2273#if _WIN32_WINNT >= 0x0A00
2274
2275 typedef struct _KERB_RETRIEVE_KEY_TAB_REQUEST {
2276 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2277 ULONG Flags;
2278 UNICODE_STRING UserName;
2279 UNICODE_STRING DomainName;
2280 UNICODE_STRING Password;
2281 } KERB_RETRIEVE_KEY_TAB_REQUEST, *PKERB_RETRIEVE_KEY_TAB_REQUEST;
2282
2283 typedef struct _KERB_RETRIEVE_KEY_TAB_RESPONSE {
2284 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2285 ULONG KeyTabLength;
2286 PUCHAR KeyTab;
2287 } KERB_RETRIEVE_KEY_TAB_RESPONSE, *PKERB_RETRIEVE_KEY_TAB_RESPONSE;
2288
2289#endif
2290
13692291 typedef struct _KERB_CHANGEPASSWORD_REQUEST {
13702292 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
13712293 UNICODE_STRING DomainName;
......@@ -1453,6 +2375,16 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
14532375#define KERB_REQUEST_REPLACE_CREDENTIAL 2
14542376#define KERB_REQUEST_REMOVE_CREDENTIAL 4
14552377
2378#if _WIN32_WINNT >= 0x0600
2379
2380 typedef struct _KERB_ADD_CREDENTIALS_REQUEST_EX {
2381 KERB_ADD_CREDENTIALS_REQUEST Credentials;
2382 ULONG PrincipalNameCount;
2383 UNICODE_STRING PrincipalNames[1];
2384 } KERB_ADD_CREDENTIALS_REQUEST_EX, *PKERB_ADD_CREDENTIALS_REQUEST_EX;
2385
2386#endif
2387
14562388 typedef struct _KERB_TRANSFER_CRED_REQUEST {
14572389 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
14582390 LUID OriginLogonId;
......@@ -1460,7 +2392,79 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
14602392 ULONG Flags;
14612393 } KERB_TRANSFER_CRED_REQUEST,*PKERB_TRANSFER_CRED_REQUEST;
14622394
1463#if (_WIN32_WINNT >= 0x0600)
2395#define KERB_TRANSFER_CRED_WITH_TICKETS 1
2396#define KERB_TRANSFER_CRED_CLEANUP_CREDENTIALS 2
2397
2398#if _WIN32_WINNT >= 0x0602
2399
2400 typedef struct _KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
2401 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2402 LUID LogonId;
2403 } KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST, *PKERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST;
2404
2405 typedef struct _KERB_BINDING_CACHE_ENTRY_DATA {
2406 ULONG64 DiscoveryTime;
2407 UNICODE_STRING RealmName;
2408 UNICODE_STRING KdcAddress;
2409 ULONG AddressType;
2410 ULONG Flags;
2411 ULONG DcFlags;
2412 ULONG CacheFlags;
2413 UNICODE_STRING KdcName;
2414 } KERB_BINDING_CACHE_ENTRY_DATA, *PKERB_BINDING_CACHE_ENTRY_DATA;
2415
2416 typedef struct _KERB_QUERY_BINDING_CACHE_RESPONSE {
2417 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2418 ULONG CountOfEntries;
2419 PKERB_BINDING_CACHE_ENTRY_DATA Entries;
2420 } KERB_QUERY_BINDING_CACHE_RESPONSE, *PKERB_QUERY_BINDING_CACHE_RESPONSE;
2421
2422 typedef struct _KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
2423 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2424 UNICODE_STRING RealmName;
2425 UNICODE_STRING KdcAddress;
2426 ULONG AddressType;
2427 ULONG DcFlags;
2428 } KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST, *PKERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST;
2429
2430 typedef struct _KERB_QUERY_BINDING_CACHE_REQUEST {
2431 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2432 } KERB_QUERY_BINDING_CACHE_REQUEST, *PKERB_QUERY_BINDING_CACHE_REQUEST;
2433
2434 typedef struct _KERB_PURGE_BINDING_CACHE_REQUEST {
2435 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2436 } KERB_PURGE_BINDING_CACHE_REQUEST, *PKERB_PURGE_BINDING_CACHE_REQUEST;
2437
2438 typedef struct _KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
2439 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2440 ULONG Flags;
2441 UNICODE_STRING DomainName;
2442 } KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST, *PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST;
2443
2444#define KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE_FLAG_DAC_DISABLED 1
2445
2446 typedef struct _KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
2447 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
2448 ULONG Flags;
2449 ULONG ExtendedPolicies;
2450 ULONG DsFlags;
2451 } KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE, *PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE;
2452
2453 typedef enum _KERB_CERTIFICATE_INFO_TYPE {
2454 CertHashInfo = 1,
2455 } KERB_CERTIFICATE_INFO_TYPE, *PKERB_CERTIFICATE_INFO_TYPE;
2456
2457 typedef struct _KERB_CERTIFICATE_HASHINFO {
2458 USHORT StoreNameLength;
2459 USHORT HashLength;
2460 } KERB_CERTIFICATE_HASHINFO, *PKERB_CERTIFICATE_HASHINFO;
2461
2462 typedef struct _KERB_CERTIFICATE_INFO {
2463 ULONG CertInfoSize;
2464 ULONG InfoType;
2465 } KERB_CERTIFICATE_INFO, *PKERB_CERTIFICATE_INFO;
2466
2467#endif
14642468
14652469#define PER_USER_POLICY_UNCHANGED 0x00
14662470#define PER_USER_AUDIT_SUCCESS_INCLUDE 0x01
......@@ -1478,11 +2482,36 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
14782482 } AUDIT_POLICY_INFORMATION, *PAUDIT_POLICY_INFORMATION;
14792483 typedef const PAUDIT_POLICY_INFORMATION PCAUDIT_POLICY_INFORMATION, LPCAUDIT_POLICY_INFORMATION;
14802484
2485#define AUDIT_SET_SYSTEM_POLICY 0x0001
2486#define AUDIT_QUERY_SYSTEM_POLICY 0x0002
2487#define AUDIT_SET_USER_POLICY 0x0004
2488#define AUDIT_QUERY_USER_POLICY 0x0008
2489#define AUDIT_ENUMERATE_USERS 0x0010
2490#define AUDIT_SET_MISC_POLICY 0x0020
2491#define AUDIT_QUERY_MISC_POLICY 0x0040
2492
2493#define AUDIT_GENERIC_ALL (STANDARD_RIGHTS_REQUIRED | AUDIT_SET_SYSTEM_POLICY | AUDIT_QUERY_SYSTEM_POLICY | \
2494 AUDIT_SET_USER_POLICY | AUDIT_QUERY_USER_POLICY | AUDIT_ENUMERATE_USERS | \
2495 AUDIT_SET_MISC_POLICY | AUDIT_QUERY_MISC_POLICY)
2496
2497#define AUDIT_GENERIC_READ (STANDARD_RIGHTS_READ | AUDIT_QUERY_SYSTEM_POLICY | AUDIT_QUERY_USER_POLICY | \
2498 AUDIT_ENUMERATE_USERS | AUDIT_QUERY_MISC_POLICY)
2499
2500#define AUDIT_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | AUDIT_SET_USER_POLICY | AUDIT_SET_MISC_POLICY | \
2501 AUDIT_SET_SYSTEM_POLICY)
2502
2503#define AUDIT_GENERIC_EXECUTE STANDARD_RIGHTS_EXECUTE
2504
14812505 typedef struct _POLICY_AUDIT_SID_ARRAY {
14822506 ULONG UsersCount;
14832507 PSID *UserSidArray;
14842508 } POLICY_AUDIT_SID_ARRAY, *PPOLICY_AUDIT_SID_ARRAY;
14852509
2510#if _WIN32_WINNT >= 0x0600
2511
2512#define KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES 0x1
2513#define KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO 0x2
2514
14862515 typedef struct _KERB_CERTIFICATE_LOGON {
14872516 KERB_LOGON_SUBMIT_TYPE MessageType;
14882517 UNICODE_STRING DomainName;
......@@ -1498,6 +2527,20 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
14982527 LUID LogonId;
14992528 } KERB_CERTIFICATE_UNLOCK_LOGON, *PKERB_CERTIFICATE_UNLOCK_LOGON;
15002529
2530#define KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_DUPLICATES 0x1
2531#define KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_LOGONHOURS 0x2
2532#define KERB_CERTIFICATE_S4U_LOGON_FLAG_FAIL_IF_NT_AUTH_POLICY_REQUIRED 0x4
2533#define KERB_CERTIFICATE_S4U_LOGON_FLAG_IDENTIFY 0x8
2534
2535 typedef struct _KERB_CERTIFICATE_S4U_LOGON {
2536 KERB_LOGON_SUBMIT_TYPE MessageType;
2537 ULONG Flags;
2538 UNICODE_STRING UserPrincipalName;
2539 UNICODE_STRING DomainName;
2540 ULONG CertificateLength;
2541 PUCHAR Certificate;
2542 } KERB_CERTIFICATE_S4U_LOGON, *PKERB_CERTIFICATE_S4U_LOGON;
2543
15012544 typedef struct _KERB_SMARTCARD_CSP_INFO {
15022545 DWORD dwCspInfoLen;
15032546 DWORD MessageType;
......@@ -1514,6 +2557,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
15142557 TCHAR bBuffer;
15152558 } KERB_SMARTCARD_CSP_INFO, *PKERB_SMARTCARD_CSP_INFO;
15162559
2560#endif
2561
15172562 BOOLEAN WINAPI AuditComputeEffectivePolicyBySid(
15182563 const PSID pSid,
15192564 const GUID *pSubCategoryGuids,
......@@ -1615,7 +2660,65 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
16152660 PSECURITY_DESCRIPTOR pSecurityDescriptor
16162661 );
16172662
1618#endif /*(_WIN32_WINNT >= 0x0600)*/
2663 BOOLEAN NTAPI AuditSetGlobalSaclW(
2664 PCWSTR ObjectTypeName,
2665 PACL Acl
2666 );
2667
2668 BOOLEAN NTAPI AuditSetGlobalSaclA(
2669 PCSTR ObjectTypeName,
2670 PACL Acl
2671 );
2672
2673#define AuditSetGlobalSacl __MINGW_NAME_AW(AuditSetGlobalSacl)
2674
2675 BOOLEAN NTAPI AuditQueryGlobalSaclW(
2676 PCWSTR ObjectTypeName,
2677 PACL *Acl
2678 );
2679
2680 BOOLEAN NTAPI AuditQueryGlobalSaclA(
2681 PCSTR ObjectTypeName,
2682 PACL *Acl
2683 );
2684
2685#define AuditQueryGlobalSacl __MINGW_NAME_AW(AuditQueryGlobalSacl)
2686
2687#if _WIN32_WINNT >= 0x0601
2688
2689#define PKU2U_PACKAGE_NAME_A "pku2u"
2690#define PKU2U_PACKAGE_NAME L"pku2u"
2691#define PKU2U_PACKAGE_NAME_W PKU2U_PACKAGE_NAME
2692
2693 typedef struct _PKU2U_CERT_BLOB {
2694 ULONG CertOffset;
2695 USHORT CertLength;
2696 } PKU2U_CERT_BLOB, *PPKU2U_CERT_BLOB;
2697
2698#define PKU2U_CREDUI_CONTEXT_VERSION 0x4154414454524543
2699
2700 typedef struct _PKU2U_CREDUI_CONTEXT {
2701 ULONG64 Version;
2702 USHORT cbHeaderLength;
2703 ULONG cbStructureLength;
2704 USHORT CertArrayCount;
2705 ULONG CertArrayOffset;
2706 } PKU2U_CREDUI_CONTEXT, *PPKU2U_CREDUI_CONTEXT;
2707
2708 typedef enum _PKU2U_LOGON_SUBMIT_TYPE {
2709 Pku2uCertificateS4ULogon = 14,
2710 } PKU2U_LOGON_SUBMIT_TYPE, *PPKU2U_LOGON_SUBMIT_TYPE;
2711
2712 typedef struct _PKU2U_CERTIFICATE_S4U_LOGON {
2713 PKU2U_LOGON_SUBMIT_TYPE MessageType;
2714 ULONG Flags;
2715 UNICODE_STRING UserPrincipalName;
2716 UNICODE_STRING DomainName;
2717 ULONG CertificateLength;
2718 PUCHAR Certificate;
2719 } PKU2U_CERTIFICATE_S4U_LOGON, *PPKU2U_CERTIFICATE_S4U_LOGON;
2720
2721#endif
16192722
16202723#ifdef __cplusplus
16212724}
lib/libc/include/any-windows-any/ntstatus.h+1
......@@ -1002,6 +1002,7 @@
10021002#define STATUS_SYSTEM_DEVICE_NOT_FOUND ((NTSTATUS)0xC0000452)
10031003#define STATUS_RESTART_BOOT_APPLICATION ((NTSTATUS)0xC0000453)
10041004#define STATUS_INSUFFICIENT_NVRAM_RESOURCES ((NTSTATUS)0xC0000454)
1005#define STATUS_CASE_DIFFERING_NAMES_IN_DIR ((NTSTATUS)0xC00004B3)
10051006#define STATUS_INVALID_TASK_NAME ((NTSTATUS)0xC0000500)
10061007#define STATUS_INVALID_TASK_INDEX ((NTSTATUS)0xC0000501)
10071008#define STATUS_THREAD_ALREADY_IN_TASK ((NTSTATUS)0xC0000502)
lib/libc/include/any-windows-any/nvme.h created+2835
......@@ -0,0 +1,2835 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef NVME_INCLUDED
8#define NVME_INCLUDED
9
10#include <winapifamily.h>
11
12#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
13
14typedef enum {
15 NVME_AMS_ROUND_ROBIN = 0,
16 NVME_AMS_WEIGHTED_ROUND_ROBIN_URGENT = 1
17} NVME_AMS_OPTION;
18
19typedef union {
20 __C89_NAMELESS struct {
21 ULONGLONG MQES : 16;
22 ULONGLONG CQR : 1;
23 ULONGLONG AMS_WeightedRoundRobinWithUrgent : 1;
24 ULONGLONG AMS_VendorSpecific : 1;
25 ULONGLONG Reserved0 : 5;
26 ULONGLONG TO : 8;
27 ULONGLONG DSTRD : 4;
28 ULONGLONG NSSRS : 1;
29 ULONGLONG CSS_NVM : 1;
30 ULONGLONG CSS_Reserved0 : 1;
31 ULONGLONG CSS_Reserved1 : 1;
32 ULONGLONG CSS_Reserved2 : 1;
33 ULONGLONG CSS_Reserved3 : 1;
34 ULONGLONG CSS_Reserved4 : 1;
35 ULONGLONG CSS_MultipleIo : 1;
36 ULONGLONG CSS_AdminOnly : 1;
37 ULONGLONG Reserved2 : 3;
38 ULONGLONG MPSMIN : 4;
39 ULONGLONG MPSMAX : 4;
40 ULONGLONG Reserved3 : 8;
41 };
42 ULONGLONG AsUlonglong;
43} NVME_CONTROLLER_CAPABILITIES, *PNVME_CONTROLLER_CAPABILITIES;
44
45typedef union {
46 __C89_NAMELESS struct {
47 ULONG TER : 8;
48 ULONG MNR : 8;
49 ULONG MJR : 16;
50 };
51 ULONG AsUlong;
52} NVME_VERSION, *PNVME_VERSION;
53
54typedef enum {
55 NVME_CC_SHN_NO_NOTIFICATION = 0,
56 NVME_CC_SHN_NORMAL_SHUTDOWN = 1,
57 NVME_CC_SHN_ABRUPT_SHUTDOWN = 2
58} NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS;
59
60typedef enum {
61 NVME_CSS_NVM_COMMAND_SET = 0,
62 NVME_CSS_ALL_SUPPORTED_IO_COMMAND_SET = 6,
63 NVME_CSS_ADMIN_COMMAND_SET_ONLY = 7
64} NVME_CSS_COMMAND_SETS;
65
66typedef union {
67 __C89_NAMELESS struct {
68 ULONG EN : 1;
69 ULONG Reserved0 : 3;
70 ULONG CSS : 3;
71 ULONG MPS : 4;
72 ULONG AMS : 3;
73 ULONG SHN : 2;
74 ULONG IOSQES : 4;
75 ULONG IOCQES : 4;
76 ULONG Reserved1 : 8;
77 };
78 ULONG AsUlong;
79} NVME_CONTROLLER_CONFIGURATION, *PNVME_CONTROLLER_CONFIGURATION;
80
81typedef enum {
82 NVME_CSTS_SHST_NO_SHUTDOWN = 0,
83 NVME_CSTS_SHST_SHUTDOWN_IN_PROCESS = 1,
84 NVME_CSTS_SHST_SHUTDOWN_COMPLETED = 2
85} NVME_CSTS_SHST_SHUTDOWN_STATUS;
86
87typedef union {
88 __C89_NAMELESS struct {
89 ULONG RDY : 1;
90 ULONG CFS : 1;
91 ULONG SHST : 2;
92 ULONG NSSRO : 1;
93 ULONG PP : 1;
94 ULONG Reserved0 : 26;
95 };
96 ULONG AsUlong;
97} NVME_CONTROLLER_STATUS, *PNVME_CONTROLLER_STATUS;
98
99typedef struct _NVME_NVM_SUBSYSTEM_RESET {
100 ULONG NSSRC;
101} NVME_NVM_SUBSYSTEM_RESET, *PNVME_NVM_SUBSYSTEM_RESET;
102
103typedef union {
104 __C89_NAMELESS struct {
105 ULONG ASQS : 12;
106 ULONG Reserved0 : 4;
107 ULONG ACQS : 12;
108 ULONG Reserved1 : 4;
109 };
110 ULONG AsUlong;
111} NVME_ADMIN_QUEUE_ATTRIBUTES, *PNVME_ADMIN_QUEUE_ATTRIBUTES;
112
113typedef union {
114 __C89_NAMELESS struct {
115 ULONGLONG Reserved0 : 12;
116 ULONGLONG ASQB : 52;
117 };
118 ULONGLONG AsUlonglong;
119} NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS, *PNVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS;
120
121typedef union {
122 __C89_NAMELESS struct {
123 ULONGLONG Reserved0 : 12;
124 ULONGLONG ACQB : 52;
125 };
126 ULONGLONG AsUlonglong;
127} NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS, *PNVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS;
128
129typedef union {
130 __C89_NAMELESS struct {
131 ULONG BIR : 3;
132 ULONG Reserved : 9;
133 ULONG OFST : 20;
134 };
135 ULONG AsUlong;
136} NVME_CONTROLLER_MEMORY_BUFFER_LOCATION, *PNVME_CONTROLLER_MEMORY_BUFFER_LOCATION;
137
138typedef enum {
139 NVME_CMBSZ_SIZE_UNITS_4KB = 0,
140 NVME_CMBSZ_SIZE_UNITS_64KB = 1,
141 NVME_CMBSZ_SIZE_UNITS_1MB = 2,
142 NVME_CMBSZ_SIZE_UNITS_16MB = 3,
143 NVME_CMBSZ_SIZE_UNITS_256MB = 4,
144 NVME_CMBSZ_SIZE_UNITS_4GB = 5,
145 NVME_CMBSZ_SIZE_UNITS_64GB = 6
146} NVME_CMBSZ_SIZE_UNITS;
147
148typedef union {
149 __C89_NAMELESS struct {
150 ULONG SQS : 1;
151 ULONG CQS : 1;
152 ULONG LISTS : 1;
153 ULONG RDS : 1;
154 ULONG WDS : 1;
155 ULONG Reserved : 3;
156 ULONG SZU : 4;
157 ULONG SZ : 20;
158 };
159 ULONG AsUlong;
160} NVME_CONTROLLER_MEMORY_BUFFER_SIZE, *PNVME_CONTROLLER_MEMORY_BUFFER_SIZE;
161
162typedef union {
163 __C89_NAMELESS struct {
164 ULONG SQT : 16;
165 ULONG Reserved0 : 16;
166 };
167 ULONG AsUlong;
168} NVME_SUBMISSION_QUEUE_TAIL_DOORBELL, *PNVME_SUBMISSION_QUEUE_TAIL_DOORBELL;
169
170typedef union {
171 __C89_NAMELESS struct {
172 ULONG CQH : 16;
173 ULONG Reserved0 : 16;
174 };
175 ULONG AsUlong;
176} NVME_COMPLETION_QUEUE_HEAD_DOORBELL, *PNVME_COMPLETION_QUEUE_HEAD_DOORBELL;
177
178typedef struct {
179 NVME_CONTROLLER_CAPABILITIES CAP;
180 NVME_VERSION VS;
181 ULONG INTMS;
182 ULONG INTMC;
183 NVME_CONTROLLER_CONFIGURATION CC;
184 ULONG Reserved0;
185 NVME_CONTROLLER_STATUS CSTS;
186 NVME_NVM_SUBSYSTEM_RESET NSSR;
187 NVME_ADMIN_QUEUE_ATTRIBUTES AQA;
188 NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS ASQ;
189 NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS ACQ;
190 NVME_CONTROLLER_MEMORY_BUFFER_LOCATION CMBLOC;
191 NVME_CONTROLLER_MEMORY_BUFFER_SIZE CMBSZ;
192 ULONG Reserved2[944];
193 ULONG Reserved3[64];
194 ULONG Doorbells[0];
195} NVME_CONTROLLER_REGISTERS, *PNVME_CONTROLLER_REGISTERS;
196
197typedef union {
198 __C89_NAMELESS struct {
199 USHORT P : 1;
200 USHORT SC : 8;
201 USHORT SCT : 3;
202 USHORT Reserved : 2;
203 USHORT M : 1;
204 USHORT DNR : 1;
205 };
206 USHORT AsUshort;
207} NVME_COMMAND_STATUS, *PNVME_COMMAND_STATUS;
208
209typedef struct {
210 ULONG DW0;
211 ULONG DW1;
212 union {
213 __C89_NAMELESS struct {
214 USHORT SQHD;
215 USHORT SQID;
216 };
217 ULONG AsUlong;
218 } DW2;
219 union {
220 __C89_NAMELESS struct {
221 USHORT CID;
222 NVME_COMMAND_STATUS Status;
223 };
224 ULONG AsUlong;
225 } DW3;
226} NVME_COMPLETION_ENTRY, *PNVME_COMPLETION_ENTRY;
227
228typedef enum {
229 NVME_ASYNC_EVENT_TYPE_ERROR_STATUS = 0,
230 NVME_ASYNC_EVENT_TYPE_HEALTH_STATUS = 1,
231 NVME_ASYNC_EVENT_TYPE_NOTICE = 2,
232 NVME_ASYNC_EVENT_TYPE_IO_COMMAND_SET_STATUS = 6,
233 NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC = 7
234} NVME_ASYNC_EVENT_TYPES;
235
236typedef enum {
237 NVME_ASYNC_ERROR_INVALID_SUBMISSION_QUEUE = 0,
238 NVME_ASYNC_ERROR_INVALID_DOORBELL_WRITE_VALUE = 1,
239 NVME_ASYNC_ERROR_DIAG_FAILURE = 2,
240 NVME_ASYNC_ERROR_PERSISTENT_INTERNAL_DEVICE_ERROR = 3,
241 NVME_ASYNC_ERROR_TRANSIENT_INTERNAL_DEVICE_ERROR = 4,
242 NVME_ASYNC_ERROR_FIRMWARE_IMAGE_LOAD_ERROR = 5
243} NVME_ASYNC_EVENT_ERROR_STATUS_CODES;
244
245typedef enum {
246 NVME_ASYNC_HEALTH_NVM_SUBSYSTEM_RELIABILITY = 0,
247 NVME_ASYNC_HEALTH_TEMPERATURE_THRESHOLD = 1,
248 NVME_ASYNC_HEALTH_SPARE_BELOW_THRESHOLD = 2
249} NVME_ASYNC_EVENT_HEALTH_STATUS_CODES;
250
251typedef enum {
252 NVME_ASYNC_NOTICE_NAMESPACE_ATTRIBUTE_CHANGED = 0,
253 NVME_ASYNC_NOTICE_FIRMWARE_ACTIVATION_STARTING = 1,
254 NVME_ASYNC_NOTICE_TELEMETRY_LOG_CHANGED = 2,
255 NVME_ASYNC_NOTICE_ASYMMETRIC_ACCESS_CHANGE = 3,
256 NVME_ASYNC_NOTICE_PREDICTABLE_LATENCY_EVENT_AGGREGATE_LOG_CHANGE = 4,
257 NVME_ASYNC_NOTICE_LBA_STATUS_INFORMATION_ALERT = 5,
258 NVME_ASYNC_NOTICE_ENDURANCE_GROUP_EVENT_AGGREGATE_LOG_CHANGE = 6,
259 NVME_ASYNC_NOTICE_ZONE_DESCRIPTOR_CHANGED = 0xEF
260} NVME_ASYNC_EVENT_NOTICE_CODES;
261
262typedef enum {
263 NVME_ASYNC_IO_CMD_SET_RESERVATION_LOG_PAGE_AVAILABLE = 0,
264 NVME_ASYNC_IO_CMD_SANITIZE_OPERATION_COMPLETED = 1,
265 NVME_ASYNC_IO_CMD_SANITIZE_OPERATION_COMPLETED_WITH_UNEXPECTED_DEALLOCATION = 2
266} NVME_ASYNC_EVENT_IO_COMMAND_SET_STATUS_CODES;
267
268typedef struct {
269 ULONG AsyncEventType : 3;
270 ULONG Reserved0 : 5;
271 ULONG AsyncEventInfo : 8;
272 ULONG LogPage : 8;
273 ULONG Reserved1 : 8;
274} NVME_COMPLETION_DW0_ASYNC_EVENT_REQUEST, *PNVME_COMPLETION_DW0_ASYNC_EVENT_REQUEST;
275
276typedef enum {
277 NVME_STATUS_TYPE_GENERIC_COMMAND = 0,
278 NVME_STATUS_TYPE_COMMAND_SPECIFIC = 1,
279 NVME_STATUS_TYPE_MEDIA_ERROR = 2,
280 NVME_STATUS_TYPE_VENDOR_SPECIFIC = 7
281} NVME_STATUS_TYPES;
282
283typedef enum {
284 NVME_STATUS_SUCCESS_COMPLETION = 0x00,
285 NVME_STATUS_INVALID_COMMAND_OPCODE = 0x01,
286 NVME_STATUS_INVALID_FIELD_IN_COMMAND = 0x02,
287 NVME_STATUS_COMMAND_ID_CONFLICT = 0x03,
288 NVME_STATUS_DATA_TRANSFER_ERROR = 0x04,
289 NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATION = 0x05,
290 NVME_STATUS_INTERNAL_DEVICE_ERROR = 0x06,
291 NVME_STATUS_COMMAND_ABORT_REQUESTED = 0x07,
292 NVME_STATUS_COMMAND_ABORTED_DUE_TO_SQ_DELETION = 0x08,
293 NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_FUSED_COMMAND = 0x09,
294 NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMAND = 0x0A,
295 NVME_STATUS_INVALID_NAMESPACE_OR_FORMAT = 0x0B,
296 NVME_STATUS_COMMAND_SEQUENCE_ERROR = 0x0C,
297 NVME_STATUS_INVALID_SGL_LAST_SEGMENT_DESCR = 0x0D,
298 NVME_STATUS_INVALID_NUMBER_OF_SGL_DESCR = 0x0E,
299 NVME_STATUS_DATA_SGL_LENGTH_INVALID = 0x0F,
300 NVME_STATUS_METADATA_SGL_LENGTH_INVALID = 0x10,
301 NVME_STATUS_SGL_DESCR_TYPE_INVALID = 0x11,
302 NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER = 0x12,
303 NVME_STATUS_PRP_OFFSET_INVALID = 0x13,
304 NVME_STATUS_ATOMIC_WRITE_UNIT_EXCEEDED = 0x14,
305 NVME_STATUS_OPERATION_DENIED = 0x15,
306 NVME_STATUS_SGL_OFFSET_INVALID = 0x16,
307 NVME_STATUS_RESERVED = 0x17,
308 NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMAT = 0x18,
309 NVME_STATUS_KEEP_ALIVE_TIMEOUT_EXPIRED = 0x19,
310 NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALID = 0x1A,
311 NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORT = 0x1B,
312 NVME_STATUS_SANITIZE_FAILED = 0x1C,
313 NVME_STATUS_SANITIZE_IN_PROGRESS = 0x1D,
314 NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALID = 0x1E,
315 NVME_STATUS_DIRECTIVE_TYPE_INVALID = 0x70,
316 NVME_STATUS_DIRECTIVE_ID_INVALID = 0x71,
317 NVME_STATUS_NVM_LBA_OUT_OF_RANGE = 0x80,
318 NVME_STATUS_NVM_CAPACITY_EXCEEDED = 0x81,
319 NVME_STATUS_NVM_NAMESPACE_NOT_READY = 0x82,
320 NVME_STATUS_NVM_RESERVATION_CONFLICT = 0x83,
321 NVME_STATUS_FORMAT_IN_PROGRESS = 0x84
322} NVME_STATUS_GENERIC_COMMAND_CODES;
323
324typedef enum {
325 NVME_STATUS_COMPLETION_QUEUE_INVALID = 0x00,
326 NVME_STATUS_INVALID_QUEUE_IDENTIFIER = 0x01,
327 NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED = 0x02,
328 NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED = 0x03,
329 NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED = 0x05,
330 NVME_STATUS_INVALID_FIRMWARE_SLOT = 0x06,
331 NVME_STATUS_INVALID_FIRMWARE_IMAGE = 0x07,
332 NVME_STATUS_INVALID_INTERRUPT_VECTOR = 0x08,
333 NVME_STATUS_INVALID_LOG_PAGE = 0x09,
334 NVME_STATUS_INVALID_FORMAT = 0x0A,
335 NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET = 0x0B,
336 NVME_STATUS_INVALID_QUEUE_DELETION = 0x0C,
337 NVME_STATUS_FEATURE_ID_NOT_SAVEABLE = 0x0D,
338 NVME_STATUS_FEATURE_NOT_CHANGEABLE = 0x0E,
339 NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC = 0x0F,
340 NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET = 0x10,
341 NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET = 0x11,
342 NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION = 0x12,
343 NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED = 0x13,
344 NVME_STATUS_OVERLAPPING_RANGE = 0x14,
345 NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY = 0x15,
346 NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE = 0x16,
347 NVME_STATUS_NAMESPACE_ALREADY_ATTACHED = 0x18,
348 NVME_STATUS_NAMESPACE_IS_PRIVATE = 0x19,
349 NVME_STATUS_NAMESPACE_NOT_ATTACHED = 0x1A,
350 NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED = 0x1B,
351 NVME_STATUS_CONTROLLER_LIST_INVALID = 0x1C,
352 NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS = 0x1D,
353 NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED = 0x1E,
354 NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER = 0x1F,
355 NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE = 0x20,
356 NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES = 0x21,
357 NVME_STATUS_INVALID_RESOURCE_IDENTIFIER = 0x22,
358 NVME_STATUS_SANITIZE_PROHIBITED_ON_PERSISTENT_MEMORY = 0x23,
359 NVME_STATUS_INVALID_ANA_GROUP_IDENTIFIER = 0x24,
360 NVME_STATUS_ANA_ATTACH_FAILED = 0x25,
361 NVME_IO_COMMAND_SET_NOT_SUPPORTED = 0x29,
362 NVME_IO_COMMAND_SET_NOT_ENABLED = 0x2A,
363 NVME_IO_COMMAND_SET_COMBINATION_REJECTED = 0x2B,
364 NVME_IO_COMMAND_SET_INVALID = 0x2C,
365 NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED = 0x7F,
366 NVME_STATUS_ZONE_INVALID_FORMAT = 0x7F,
367 NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES = 0x80,
368 NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION = 0x81,
369 NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE = 0x82,
370 NVME_STATUS_NVM_COMMAND_SIZE_LIMIT_EXCEEDED = 0x83,
371 NVME_STATUS_ZONE_BOUNDARY_ERROR = 0xB8,
372 NVME_STATUS_ZONE_FULL = 0xB9,
373 NVME_STATUS_ZONE_READ_ONLY = 0xBA,
374 NVME_STATUS_ZONE_OFFLINE = 0xBB,
375 NVME_STATUS_ZONE_INVALID_WRITE = 0xBC,
376 NVME_STATUS_ZONE_TOO_MANY_ACTIVE = 0xBD,
377 NVME_STATUS_ZONE_TOO_MANY_OPEN = 0xBE,
378 NVME_STATUS_ZONE_INVALID_STATE_TRANSITION = 0xBF
379} NVME_STATUS_COMMAND_SPECIFIC_CODES;
380
381typedef enum {
382 NVME_STATUS_NVM_WRITE_FAULT = 0x80,
383 NVME_STATUS_NVM_UNRECOVERED_READ_ERROR = 0x81,
384 NVME_STATUS_NVM_END_TO_END_GUARD_CHECK_ERROR = 0x82,
385 NVME_STATUS_NVM_END_TO_END_APPLICATION_TAG_CHECK_ERROR = 0x83,
386 NVME_STATUS_NVM_END_TO_END_REFERENCE_TAG_CHECK_ERROR = 0x84,
387 NVME_STATUS_NVM_COMPARE_FAILURE = 0x85,
388 NVME_STATUS_NVM_ACCESS_DENIED = 0x86,
389 NVME_STATUS_NVM_DEALLOCATED_OR_UNWRITTEN_LOGICAL_BLOCK = 0x87
390} NVME_STATUS_MEDIA_ERROR_CODES;
391
392typedef enum {
393 NVME_ADMIN_COMMAND_DELETE_IO_SQ = 0x00,
394 NVME_ADMIN_COMMAND_CREATE_IO_SQ = 0x01,
395 NVME_ADMIN_COMMAND_GET_LOG_PAGE = 0x02,
396 NVME_ADMIN_COMMAND_DELETE_IO_CQ = 0x04,
397 NVME_ADMIN_COMMAND_CREATE_IO_CQ = 0x05,
398 NVME_ADMIN_COMMAND_IDENTIFY = 0x06,
399 NVME_ADMIN_COMMAND_ABORT = 0x08,
400 NVME_ADMIN_COMMAND_SET_FEATURES = 0x09,
401 NVME_ADMIN_COMMAND_GET_FEATURES = 0x0A,
402 NVME_ADMIN_COMMAND_ASYNC_EVENT_REQUEST = 0x0C,
403 NVME_ADMIN_COMMAND_NAMESPACE_MANAGEMENT = 0x0D,
404 NVME_ADMIN_COMMAND_FIRMWARE_ACTIVATE = 0x10,
405 NVME_ADMIN_COMMAND_FIRMWARE_COMMIT = 0x10,
406 NVME_ADMIN_COMMAND_FIRMWARE_IMAGE_DOWNLOAD = 0x11,
407 NVME_ADMIN_COMMAND_DEVICE_SELF_TEST = 0x14,
408 NVME_ADMIN_COMMAND_NAMESPACE_ATTACHMENT = 0x15,
409 NVME_ADMIN_COMMAND_DIRECTIVE_SEND = 0x19,
410 NVME_ADMIN_COMMAND_DIRECTIVE_RECEIVE = 0x1A,
411 NVME_ADMIN_COMMAND_VIRTUALIZATION_MANAGEMENT = 0x1C,
412 NVME_ADMIN_COMMAND_NVME_MI_SEND = 0x1D,
413 NVME_ADMIN_COMMAND_NVME_MI_RECEIVE = 0x1E,
414 NVME_ADMIN_COMMAND_DOORBELL_BUFFER_CONFIG = 0x7C,
415 NVME_ADMIN_COMMAND_FORMAT_NVM = 0x80,
416 NVME_ADMIN_COMMAND_SECURITY_SEND = 0x81,
417 NVME_ADMIN_COMMAND_SECURITY_RECEIVE = 0x82,
418 NVME_ADMIN_COMMAND_SANITIZE = 0x84,
419 NVME_ADMIN_COMMAND_GET_LBA_STATUS = 0x86
420} NVME_ADMIN_COMMANDS;
421
422typedef enum {
423 NVME_FEATURE_ARBITRATION = 0x01,
424 NVME_FEATURE_POWER_MANAGEMENT = 0x02,
425 NVME_FEATURE_LBA_RANGE_TYPE = 0x03,
426 NVME_FEATURE_TEMPERATURE_THRESHOLD = 0x04,
427 NVME_FEATURE_ERROR_RECOVERY = 0x05,
428 NVME_FEATURE_VOLATILE_WRITE_CACHE = 0x06,
429 NVME_FEATURE_NUMBER_OF_QUEUES = 0x07,
430 NVME_FEATURE_INTERRUPT_COALESCING = 0x08,
431 NVME_FEATURE_INTERRUPT_VECTOR_CONFIG = 0x09,
432 NVME_FEATURE_WRITE_ATOMICITY = 0x0A,
433 NVME_FEATURE_ASYNC_EVENT_CONFIG = 0x0B,
434 NVME_FEATURE_AUTONOMOUS_POWER_STATE_TRANSITION = 0x0C,
435 NVME_FEATURE_HOST_MEMORY_BUFFER = 0x0D,
436 NVME_FEATURE_TIMESTAMP = 0x0E,
437 NVME_FEATURE_KEEP_ALIVE = 0x0F,
438 NVME_FEATURE_HOST_CONTROLLED_THERMAL_MANAGEMENT = 0x10,
439 NVME_FEATURE_NONOPERATIONAL_POWER_STATE = 0x11,
440 NVME_FEATURE_READ_RECOVERY_LEVEL_CONFIG = 0x12,
441 NVME_FEATURE_PREDICTABLE_LATENCY_MODE_CONFIG = 0x13,
442 NVME_FEATURE_PREDICTABLE_LATENCY_MODE_WINDOW = 0x14,
443 NVME_FEATURE_LBA_STATUS_INFORMATION_REPORT_INTERVAL = 0x15,
444 NVME_FEATURE_HOST_BEHAVIOR_SUPPORT = 0x16,
445 NVME_FEATURE_SANITIZE_CONFIG = 0x17,
446 NVME_FEATURE_ENDURANCE_GROUP_EVENT_CONFIG = 0x18,
447 NVME_FEATURE_IO_COMMAND_SET_PROFILE = 0x19,
448 NVME_FEATURE_ENHANCED_CONTROLLER_METADATA = 0x7D,
449 NVME_FEATURE_CONTROLLER_METADATA = 0x7E,
450 NVME_FEATURE_NAMESPACE_METADATA = 0x7F,
451 NVME_FEATURE_NVM_SOFTWARE_PROGRESS_MARKER = 0x80,
452 NVME_FEATURE_NVM_HOST_IDENTIFIER = 0x81,
453 NVME_FEATURE_NVM_RESERVATION_NOTIFICATION_MASK = 0x82,
454 NVME_FEATURE_NVM_RESERVATION_PERSISTANCE = 0x83,
455 NVME_FEATURE_NVM_NAMESPACE_WRITE_PROTECTION_CONFIG = 0x84,
456 NVME_FEATURE_ERROR_INJECTION = 0xC0,
457 NVME_FEATURE_CLEAR_FW_UPDATE_HISTORY = 0xC1,
458 NVME_FEATURE_READONLY_WRITETHROUGH_MODE = 0xC2,
459 NVME_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS = 0xC3,
460 NVME_FEATURE_ENABLE_IEEE1667_SILO = 0xC4,
461 NVME_FEATURE_PLP_HEALTH_MONITOR = 0xC5
462} NVME_FEATURES;
463
464typedef union {
465 __C89_NAMELESS struct {
466 ULONG SQID : 8;
467 ULONG CID : 16;
468 };
469 ULONG AsUlong;
470} NVME_CDW10_ABORT, *PNVME_CDW10_ABORT;
471
472typedef enum {
473 NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE = 0x0,
474 NVME_IDENTIFY_CNS_CONTROLLER = 0x1,
475 NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES = 0x2,
476 NVME_IDENTIFY_CNS_DESCRIPTOR_NAMESPACE = 0x3,
477 NVME_IDENTIFY_CNS_NVM_SET = 0x4,
478 NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE_IO_COMMAND_SET = 0x5,
479 NVME_IDENTIFY_CNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET = 0x6,
480 NVME_IDENTIFY_CNS_ACTIVE_NAMESPACE_LIST_IO_COMMAND_SET = 0x7,
481 NVME_IDENTIFY_CNS_ALLOCATED_NAMESPACE_LIST = 0x10,
482 NVME_IDENTIFY_CNS_ALLOCATED_NAMESPACE = 0x11,
483 NVME_IDENTIFY_CNS_CONTROLLER_LIST_OF_NSID = 0x12,
484 NVME_IDENTIFY_CNS_CONTROLLER_LIST_OF_NVM_SUBSYSTEM = 0x13,
485 NVME_IDENTIFY_CNS_PRIMARY_CONTROLLER_CAPABILITIES = 0x14,
486 NVME_IDENTIFY_CNS_SECONDARY_CONTROLLER_LIST = 0x15,
487 NVME_IDENTIFY_CNS_NAMESPACE_GRANULARITY_LIST = 0x16,
488 NVME_IDENTIFY_CNS_UUID_LIST = 0x17,
489 NVME_IDENTIFY_CNS_DOMAIN_LIST = 0x18,
490 NVME_IDENTIFY_CNS_ENDURANCE_GROUP_LIST = 0x19,
491 NVME_IDENTIFY_CNS_ALLOCATED_NAMSPACE_LIST_IO_COMMAND_SET = 0x1A,
492 NVME_IDENTIFY_CNS_ALLOCATED_NAMESPACE_IO_COMMAND_SET = 0x1B,
493 NVME_IDENTIFY_CNS_IO_COMMAND_SET = 0x1C
494} NVME_IDENTIFY_CNS_CODES;
495
496typedef enum {
497 NVME_COMMAND_SET_NVM = 0x0,
498 NVME_COMMAND_SET_KEY_VALUE = 0x1,
499 NVME_COMMAND_SET_ZONED_NAMESPACE = 0x2
500} NVME_COMMAND_SET_IDENTIFIERS;
501
502typedef union {
503 __C89_NAMELESS struct {
504 ULONG CNS : 8;
505 ULONG Reserved : 8;
506 ULONG CNTID : 16;
507 };
508 ULONG AsUlong;
509} NVME_CDW10_IDENTIFY, *PNVME_CDW10_IDENTIFY;
510
511typedef union {
512 __C89_NAMELESS struct {
513 USHORT NVMSETID;
514 USHORT Reserved;
515 };
516 __C89_NAMELESS struct {
517 ULONG CNSID : 16;
518 ULONG Reserved2 : 8;
519 ULONG CSI : 8;
520 };
521 ULONG AsUlong;
522} NVME_CDW11_IDENTIFY, *PNVME_CDW11_IDENTIFY;
523
524typedef union {
525 __C89_NAMELESS struct {
526 USHORT MS;
527 UCHAR LBADS;
528 UCHAR RP : 2;
529 UCHAR Reserved0 : 6;
530 };
531 ULONG AsUlong;
532} NVME_LBA_FORMAT, *PNVME_LBA_FORMAT;
533
534typedef union {
535 __C89_NAMELESS struct {
536 UCHAR PersistThroughPowerLoss : 1;
537 UCHAR WriteExclusiveReservation : 1;
538 UCHAR ExclusiveAccessReservation : 1;
539 UCHAR WriteExclusiveRegistrantsOnlyReservation : 1;
540 UCHAR ExclusiveAccessRegistrantsOnlyReservation : 1;
541 UCHAR WriteExclusiveAllRegistrantsReservation : 1;
542 UCHAR ExclusiveAccessAllRegistrantsReservation : 1;
543 UCHAR Reserved : 1;
544 };
545 UCHAR AsUchar;
546} NVM_RESERVATION_CAPABILITIES, *PNVME_RESERVATION_CAPABILITIES;
547
548typedef struct {
549 ULONGLONG NSZE;
550 ULONGLONG NCAP;
551 ULONGLONG NUSE;
552 struct {
553 UCHAR ThinProvisioning : 1;
554 UCHAR NameSpaceAtomicWriteUnit : 1;
555 UCHAR DeallocatedOrUnwrittenError : 1;
556 UCHAR SkipReuseUI : 1;
557 UCHAR NameSpaceIoOptimization : 1;
558 UCHAR Reserved : 3;
559 } NSFEAT;
560 UCHAR NLBAF;
561 struct {
562 UCHAR LbaFormatIndex : 4;
563 UCHAR MetadataInExtendedDataLBA : 1;
564 UCHAR Reserved : 3;
565 } FLBAS;
566 struct {
567 UCHAR MetadataInExtendedDataLBA : 1;
568 UCHAR MetadataInSeparateBuffer : 1;
569 UCHAR Reserved : 6;
570 } MC;
571 struct {
572 UCHAR ProtectionInfoType1 : 1;
573 UCHAR ProtectionInfoType2 : 1;
574 UCHAR ProtectionInfoType3 : 1;
575 UCHAR InfoAtBeginningOfMetadata : 1;
576 UCHAR InfoAtEndOfMetadata : 1;
577 UCHAR Reserved : 3;
578 } DPC;
579 struct {
580 UCHAR ProtectionInfoTypeEnabled : 3;
581 UCHAR InfoAtBeginningOfMetadata : 1;
582 UCHAR Reserved : 4;
583 } DPS;
584 struct {
585 UCHAR SharedNameSpace : 1;
586 UCHAR Reserved : 7;
587 } NMIC;
588 NVM_RESERVATION_CAPABILITIES RESCAP;
589 struct {
590 UCHAR PercentageRemained : 7;
591 UCHAR Supported : 1;
592 } FPI;
593 struct {
594 UCHAR ReadBehavior : 3;
595 UCHAR WriteZeroes : 1;
596 UCHAR GuardFieldWithCRC : 1;
597 UCHAR Reserved : 3;
598 } DLFEAT;
599 USHORT NAWUN;
600 USHORT NAWUPF;
601 USHORT NACWU;
602 USHORT NABSN;
603 USHORT NABO;
604 USHORT NABSPF;
605 USHORT NOIOB;
606 UCHAR NVMCAP[16];
607 USHORT NPWG;
608 USHORT NPWA;
609 USHORT NPDG;
610 USHORT NPDA;
611 USHORT NOWS;
612 USHORT MSSRL;
613 ULONG MCL;
614 UCHAR MSRC;
615 UCHAR Reserved2[11];
616 ULONG ANAGRPID;
617 UCHAR Reserved3[3];
618 struct {
619 UCHAR WriteProtected : 1;
620 UCHAR Reserved : 7;
621 } NSATTR;
622 USHORT NVMSETID;
623 USHORT ENDGID;
624 UCHAR NGUID[16];
625 UCHAR EUI64[8];
626 NVME_LBA_FORMAT LBAF[16];
627 UCHAR Reserved4[192];
628 UCHAR VS[3712];
629} NVME_IDENTIFY_NAMESPACE_DATA, *PNVME_IDENTIFY_NAMESPACE_DATA;
630
631typedef struct {
632 USHORT MP;
633 UCHAR Reserved0;
634 UCHAR MPS : 1;
635 UCHAR NOPS : 1;
636 UCHAR Reserved1 : 6;
637 ULONG ENLAT;
638 ULONG EXLAT;
639 UCHAR RRT : 5;
640 UCHAR Reserved2 : 3;
641 UCHAR RRL : 5;
642 UCHAR Reserved3 : 3;
643 UCHAR RWT : 5;
644 UCHAR Reserved4 : 3;
645 UCHAR RWL : 5;
646 UCHAR Reserved5 : 3;
647 USHORT IDLP;
648 UCHAR Reserved6 : 6;
649 UCHAR IPS : 2;
650 UCHAR Reserved7;
651 USHORT ACTP;
652 UCHAR APW : 3;
653 UCHAR Reserved8 : 3;
654 UCHAR APS : 2;
655 UCHAR Reserved9[9];
656} NVME_POWER_STATE_DESC, *PNVME_POWER_STATE_DESC;
657
658typedef struct {
659 USHORT VID;
660 USHORT SSVID;
661 UCHAR SN[20];
662 UCHAR MN[40];
663 UCHAR FR[8];
664 UCHAR RAB;
665 UCHAR IEEE[3];
666 struct {
667 UCHAR MultiPCIePorts : 1;
668 UCHAR MultiControllers : 1;
669 UCHAR SRIOV : 1;
670 UCHAR Reserved : 5;
671 } CMIC;
672 UCHAR MDTS;
673 USHORT CNTLID;
674 ULONG VER;
675 ULONG RTD3R;
676 ULONG RTD3E;
677 struct {
678 ULONG Reserved0 : 8;
679 ULONG NamespaceAttributeChanged : 1;
680 ULONG FirmwareActivation : 1;
681 ULONG Reserved1 : 1;
682 ULONG AsymmetricAccessChanged : 1;
683 ULONG PredictableLatencyAggregateLogChanged : 1;
684 ULONG LbaStatusChanged : 1;
685 ULONG EnduranceGroupAggregateLogChanged : 1;
686 ULONG Reserved2 : 12;
687 ULONG ZoneInformation : 1;
688 ULONG Reserved3 : 4;
689 } OAES;
690 struct {
691 ULONG HostIdentifier128Bit : 1;
692 ULONG NOPSPMode : 1;
693 ULONG NVMSets : 1;
694 ULONG ReadRecoveryLevels : 1;
695 ULONG EnduranceGroups : 1;
696 ULONG PredictableLatencyMode : 1;
697 ULONG TBKAS : 1;
698 ULONG NamespaceGranularity : 1;
699 ULONG SQAssociations : 1;
700 ULONG UUIDList : 1;
701 ULONG Reserved0 : 22;
702 } CTRATT;
703 struct {
704 USHORT ReadRecoveryLevel0 : 1;
705 USHORT ReadRecoveryLevel1 : 1;
706 USHORT ReadRecoveryLevel2 : 1;
707 USHORT ReadRecoveryLevel3 : 1;
708 USHORT ReadRecoveryLevel4 : 1;
709 USHORT ReadRecoveryLevel5 : 1;
710 USHORT ReadRecoveryLevel6 : 1;
711 USHORT ReadRecoveryLevel7 : 1;
712 USHORT ReadRecoveryLevel8 : 1;
713 USHORT ReadRecoveryLevel9 : 1;
714 USHORT ReadRecoveryLevel10 : 1;
715 USHORT ReadRecoveryLevel11 : 1;
716 USHORT ReadRecoveryLevel12 : 1;
717 USHORT ReadRecoveryLevel13 : 1;
718 USHORT ReadRecoveryLevel14 : 1;
719 USHORT ReadRecoveryLevel15 : 1;
720 } RRLS;
721 UCHAR Reserved0[9];
722 UCHAR CNTRLTYPE;
723 UCHAR FGUID[16];
724 USHORT CRDT1;
725 USHORT CRDT2;
726 USHORT CRDT3;
727 UCHAR Reserved0_1[106];
728 UCHAR ReservedForManagement[16];
729 struct {
730 USHORT SecurityCommands : 1;
731 USHORT FormatNVM : 1;
732 USHORT FirmwareCommands : 1;
733 USHORT NamespaceCommands : 1;
734 USHORT DeviceSelfTest : 1;
735 USHORT Directives : 1;
736 USHORT NVMeMICommands : 1;
737 USHORT VirtualizationMgmt : 1;
738 USHORT DoorBellBufferConfig: 1;
739 USHORT GetLBAStatus : 1;
740 USHORT Reserved : 6;
741 } OACS;
742 UCHAR ACL;
743 UCHAR AERL;
744 struct {
745 UCHAR Slot1ReadOnly : 1;
746 UCHAR SlotCount : 3;
747 UCHAR ActivationWithoutReset : 1;
748 UCHAR Reserved : 3;
749 } FRMW;
750 struct {
751 UCHAR SmartPagePerNamespace : 1;
752 UCHAR CommandEffectsLog : 1;
753 UCHAR LogPageExtendedData : 1;
754 UCHAR TelemetrySupport : 1;
755 UCHAR PersistentEventLog : 1;
756 UCHAR Reserved0 : 1;
757 UCHAR TelemetryDataArea4 : 1;
758 UCHAR Reserved1 : 1;
759 } LPA;
760 UCHAR ELPE;
761 UCHAR NPSS;
762 struct {
763 UCHAR CommandFormatInSpec : 1;
764 UCHAR Reserved : 7;
765 } AVSCC;
766 struct {
767 UCHAR Supported : 1;
768 UCHAR Reserved : 7;
769 } APSTA;
770 USHORT WCTEMP;
771 USHORT CCTEMP;
772 USHORT MTFA;
773 ULONG HMPRE;
774 ULONG HMMIN;
775 UCHAR TNVMCAP[16];
776 UCHAR UNVMCAP[16];
777 struct {
778 ULONG RPMBUnitCount : 3;
779 ULONG AuthenticationMethod : 3;
780 ULONG Reserved0 : 10;
781 ULONG TotalSize : 8;
782 ULONG AccessSize : 8;
783 } RPMBS;
784 USHORT EDSTT;
785 UCHAR DSTO;
786 UCHAR FWUG;
787 USHORT KAS;
788 struct {
789 USHORT Supported : 1;
790 USHORT Reserved : 15;
791 } HCTMA;
792 USHORT MNTMT;
793 USHORT MXTMT;
794 struct {
795 ULONG CryptoErase : 1;
796 ULONG BlockErase : 1;
797 ULONG Overwrite : 1;
798 ULONG Reserved : 26;
799 ULONG NDI : 1;
800 ULONG NODMMAS : 2;
801 } SANICAP;
802 ULONG HMMINDS;
803 USHORT HMMAXD;
804 USHORT NSETIDMAX;
805 USHORT ENDGIDMAX;
806 UCHAR ANATT;
807 struct {
808 UCHAR OptimizedState : 1;
809 UCHAR NonOptimizedState : 1;
810 UCHAR InaccessibleState : 1;
811 UCHAR PersistentLossState : 1;
812 UCHAR ChangeState : 1;
813 UCHAR Reserved : 1;
814 UCHAR StaticANAGRPID : 1;
815 UCHAR SupportNonZeroANAGRPID : 1;
816 } ANACAP;
817 ULONG ANAGRPMAX;
818 ULONG NANAGRPID;
819 ULONG PELS;
820 UCHAR Reserved1[156];
821 struct {
822 UCHAR RequiredEntrySize : 4;
823 UCHAR MaxEntrySize : 4;
824 } SQES;
825 struct {
826 UCHAR RequiredEntrySize : 4;
827 UCHAR MaxEntrySize : 4;
828 } CQES;
829 USHORT MAXCMD;
830 ULONG NN;
831 struct {
832 USHORT Compare : 1;
833 USHORT WriteUncorrectable : 1;
834 USHORT DatasetManagement : 1;
835 USHORT WriteZeroes : 1;
836 USHORT FeatureField : 1;
837 USHORT Reservations : 1;
838 USHORT Timestamp : 1;
839 USHORT Verify : 1;
840 USHORT Reserved : 8;
841 } ONCS;
842 struct {
843 USHORT CompareAndWrite : 1;
844 USHORT Reserved : 15;
845 } FUSES;
846 struct {
847 UCHAR FormatApplyToAll : 1;
848 UCHAR SecureEraseApplyToAll : 1;
849 UCHAR CryptographicEraseSupported : 1;
850 UCHAR FormatSupportNSIDAllF : 1;
851 UCHAR Reserved : 4;
852 } FNA;
853 struct {
854 UCHAR Present : 1;
855 UCHAR FlushBehavior : 2;
856 UCHAR Reserved : 5;
857 } VWC;
858 USHORT AWUN;
859 USHORT AWUPF;
860 struct {
861 UCHAR CommandFormatInSpec : 1;
862 UCHAR Reserved : 7;
863 } NVSCC;
864 struct {
865 UCHAR WriteProtect : 1;
866 UCHAR UntilPowerCycle : 1;
867 UCHAR Permanent : 1;
868 UCHAR Reserved : 5;
869 } NWPC;
870 USHORT ACWU;
871 UCHAR Reserved4[2];
872 struct {
873 ULONG SGLSupported : 2;
874 ULONG KeyedSGLData : 1;
875 ULONG Reserved0 : 13;
876 ULONG BitBucketDescrSupported : 1;
877 ULONG ByteAlignedContiguousPhysicalBuffer : 1;
878 ULONG SGLLengthLargerThanDataLength : 1;
879 ULONG MPTRSGLDescriptor : 1;
880 ULONG AddressFieldSGLDataBlock: 1;
881 ULONG TransportSGLData : 1;
882 ULONG Reserved1 : 10;
883 } SGLS;
884 ULONG MNAN;
885 UCHAR Reserved6[224];
886 UCHAR SUBNQN[256];
887 UCHAR Reserved7[768];
888 UCHAR Reserved8[256];
889 NVME_POWER_STATE_DESC PDS[32];
890 UCHAR VS[1024];
891} NVME_IDENTIFY_CONTROLLER_DATA, *PNVME_IDENTIFY_CONTROLLER_DATA;
892
893typedef enum {
894 NVME_IDENTIFIER_TYPE_EUI64 = 0x1,
895 NVME_IDENTIFIER_TYPE_NGUID = 0x2,
896 NVME_IDENTIFIER_TYPE_UUID = 0x3,
897 NVME_IDENTIFIER_TYPE_CSI = 0x4
898} NVME_IDENTIFIER_TYPE;
899
900typedef enum {
901 NVME_IDENTIFIER_TYPE_EUI64_LENGTH = 0x8,
902 NVME_IDENTIFIER_TYPE_NGUID_LENGTH = 0x10,
903 NVME_IDENTIFIER_TYPE_UUID_LENGTH = 0x10,
904 NVME_IDENTIFIER_TYPE_CSI_LENGTH = 0x1
905} NVME_IDENTIFIER_TYPE_LENGTH;
906
907#define NVME_IDENTIFY_CNS_DESCRIPTOR_NAMESPACE_SIZE 0x1000
908
909typedef struct {
910 UCHAR NIDT;
911 UCHAR NIDL;
912 UCHAR Reserved[2];
913 UCHAR NID[ANYSIZE_ARRAY];
914} NVME_IDENTIFY_NAMESPACE_DESCRIPTOR, *PNVME_IDENTIFY_NAMESPACE_DESCRIPTOR;
915
916typedef struct {
917 USHORT Identifier;
918 USHORT ENDGID;
919 ULONG Reserved1;
920 ULONG Random4KBReadTypical;
921 ULONG OptimalWriteSize;
922 UCHAR TotalCapacity[16];
923 UCHAR UnallocatedCapacity[16];
924 UCHAR Reserved2[80];
925} NVME_SET_ATTRIBUTES_ENTRY, *PNVME_SET_ATTRIBUTES_ENTRY;
926
927typedef struct {
928 UCHAR IdentifierCount;
929 UCHAR Reserved[127];
930 NVME_SET_ATTRIBUTES_ENTRY Entry[ANYSIZE_ARRAY];
931} NVM_SET_LIST, *PNVM_SET_LIST;
932
933typedef struct {
934 ULONGLONG ZoneSize;
935 UCHAR ZDES;
936 UCHAR Reserved[7];
937} NVME_LBA_ZONE_FORMAT, *PNVME_LBA_ZONE_FORMAT;
938
939typedef struct {
940 struct {
941 USHORT VariableZoneCapacity : 1;
942 USHORT ZoneExcursions : 1;
943 USHORT Reserved : 14;
944 } ZOC;
945 struct {
946 USHORT ReadAcrossZoneBoundaries : 1;
947 USHORT Reserved : 15;
948 } OZCS;
949 ULONG MAR;
950 ULONG MOR;
951 ULONG RRL;
952 ULONG FRL;
953 UCHAR Reserved0[2796];
954 NVME_LBA_ZONE_FORMAT LBAEF[16];
955 UCHAR Reserved1[768];
956 UCHAR VS[256];
957} NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET, *PNVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET;
958
959typedef struct {
960 UCHAR VSL;
961 UCHAR WZSL;
962 UCHAR WUSL;
963 UCHAR DMRL;
964 ULONG DMRSL;
965 ULONGLONG DMSL;
966 UCHAR Reserved[4080];
967} NVME_IDENTIFY_NVM_SPECIFIC_CONTROLLER_IO_COMMAND_SET, *PNVME_IDENTIFY_NVM_SPECIFIC_CONTROLLER_IO_COMMAND_SET;
968
969typedef struct {
970 UCHAR ZASL;
971 UCHAR Reserved[4095];
972} NVME_IDENTIFY_ZNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET, *PNVME_IDENTIFY_ZNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET;
973
974typedef struct {
975 USHORT NumberOfIdentifiers;
976 USHORT ControllerID[2047];
977} NVME_CONTROLLER_LIST, *PNVME_CONTROLLER_LIST;
978
979typedef struct {
980 ULONGLONG IOCommandSetVector[512];
981} NVME_IDENTIFY_IO_COMMAND_SET, *PNVME_IDENTIFY_IO_COMMAND_SET;
982
983typedef enum {
984 NVME_LBA_RANGE_TYPE_RESERVED = 0,
985 NVME_LBA_RANGE_TYPE_FILESYSTEM = 1,
986 NVME_LBA_RANGE_TYPE_RAID = 2,
987 NVME_LBA_RANGE_TYPE_CACHE = 3,
988 NVME_LBA_RANGE_TYPE_PAGE_SWAP_FILE = 4
989} NVME_LBA_RANGE_TYPES;
990
991typedef struct {
992 UCHAR Type;
993 struct {
994 UCHAR MayOverwritten : 1;
995 UCHAR Hidden : 1;
996 UCHAR Reserved : 6;
997 } Attributes;
998 UCHAR Reserved0[14];
999 ULONGLONG SLBA;
1000 ULONGLONG NLB;
1001 UCHAR GUID[16];
1002 UCHAR Reserved1[16];
1003} NVME_LBA_RANGET_TYPE_ENTRY, *PNVME_LBA_RANGET_TYPE_ENTRY;
1004
1005typedef enum {
1006 NVME_LOG_PAGE_WCS_DEVICE_SMART_ATTRIBUTES = 0xC0,
1007 NVME_LOG_PAGE_WCS_DEVICE_ERROR_RECOVERY = 0xC1
1008} NVME_VENDOR_LOG_PAGES;
1009
1010#define GUID_WCS_DEVICE_SMART_ATTRIBUTESGuid { 0x2810AFC5, 0xBFEA, 0xA4F2, { 0x9C, 0x4F, 0x6F, 0x7C, 0xC9, 0x14, 0xD5, 0xAF} }
1011DEFINE_GUID(GUID_WCS_DEVICE_SMART_ATTRIBUTES, 0x2810AFC5, 0xBFEA, 0xA4F2, 0x9C, 0x4F, 0x6F, 0x7C, 0xC9, 0x14, 0xD5, 0xAF);
1012
1013#define GUID_WCS_DEVICE_ERROR_RECOVERYGuid { 0x2131D944, 0x30FE, 0xAE34, {0xAB, 0x4D, 0xFD, 0x3D, 0xBA, 0x83, 0x19, 0x5A} }
1014DEFINE_GUID(GUID_WCS_DEVICE_ERROR_RECOVERY, 0x2131D944, 0x30FE, 0xAE34, 0xAB, 0x4D, 0xFD, 0x3D, 0xBA, 0x83, 0x19, 0x5A);
1015
1016typedef enum {
1017 NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_RESERVED = 0,
1018 NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_DEVICE_PANIC = 1
1019} NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_CODES;
1020
1021typedef struct _NVME_WCS_DEVICE_RESET_ACTION {
1022 union {
1023 __C89_NAMELESS struct {
1024 UCHAR ControllerReset : 1;
1025 UCHAR NVMeSubsystemReset : 1;
1026 UCHAR PCIeFLR : 1;
1027 UCHAR PERST : 1;
1028 UCHAR PowerCycle : 1;
1029 UCHAR PCIeConventionalHotReset : 1;
1030 UCHAR Reserved : 2;
1031 };
1032 UCHAR AsUCHAR;
1033 };
1034} NVME_WCS_DEVICE_RESET_ACTION, *PNVME_WCS_DEVICE_RESET_ACTION;
1035
1036typedef struct _NVME_WCS_DEVICE_CAPABILITIES {
1037 union {
1038 __C89_NAMELESS struct {
1039 ULONG PanicAEN : 1;
1040 ULONG PanicCFS : 1;
1041 ULONG Reserved : 30;
1042 };
1043 ULONG AsULONG;
1044 };
1045} NVME_WCS_DEVICE_CAPABILITIES, *PNVME_WCS_DEVICE_CAPABILITIES;
1046
1047typedef enum _NVME_WCS_DEVICE_RECOVERY_ACTION {
1048 NVMeDeviceRecoveryNoAction = 0,
1049 NVMeDeviceRecoveryFormatNVM,
1050 NVMeDeviceRecoveryVendorSpecificCommand,
1051 NVMeDeviceRecoveryVendorAnalysis,
1052 NVMeDeviceRecoveryDeviceReplacement,
1053 NVMeDeviceRecoverySanitize,
1054 NVMeDeviceRecoveryMax = 15
1055} NVME_WCS_DEVICE_RECOVERY_ACTION, *PNVME_WCS_DEVICE_RECOVERY_ACTION;
1056
1057#pragma pack(push, 1)
1058
1059typedef struct _NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG {
1060 UCHAR VersionSpecificData[494];
1061 USHORT LogPageVersionNumber;
1062 GUID LogPageGUID;
1063} NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG, *PNVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG;
1064
1065C_ASSERT(sizeof(NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG) == 512);
1066
1067#define NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_VERSION_2 0x0002
1068
1069typedef struct _NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2 {
1070 UCHAR MediaUnitsWritten[16];
1071 UCHAR MediaUnitsRead[16];
1072 struct {
1073 UCHAR RawCount[6];
1074 UCHAR Normalized[2];
1075 } BadUserNANDBlockCount;
1076 struct {
1077 UCHAR RawCount[6];
1078 UCHAR Normalized[2];
1079 } BadSystemNANDBlockCount;
1080 ULONGLONG XORRecoveryCount;
1081 ULONGLONG UnrecoverableReadErrorCount;
1082 ULONGLONG SoftECCErrorCount;
1083 struct {
1084 ULONG DetectedCounts;
1085 ULONG CorrectedCounts;
1086 } EndToEndCorrectionCounts;
1087 UCHAR PercentageSystemDataUsed;
1088 UCHAR RefreshCount[7];
1089 struct {
1090 ULONG MaximumCount;
1091 ULONG MinimumCount;
1092 } UserDataEraseCounts;
1093 struct {
1094 UCHAR EventCount;
1095 UCHAR Status;
1096 } ThermalThrottling;
1097 UCHAR Reserved0[6];
1098 ULONGLONG PCIeCorrectableErrorCount;
1099 ULONG IncompleteShutdownCount;
1100 ULONG Reserved1;
1101 UCHAR PercentageFreeBlocks;
1102 UCHAR Reserved2[7];
1103 USHORT CapacitorHealth;
1104 UCHAR Reserved3[6];
1105 ULONGLONG UnalignedIOCount;
1106 ULONGLONG SecurityVersionNumber;
1107 ULONGLONG NUSE;
1108 UCHAR PLPStartCount[16];
1109 UCHAR EnduranceEstimate[16];
1110 UCHAR Reserved4[302];
1111 USHORT LogPageVersionNumber;
1112 GUID LogPageGUID;
1113} NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2, *PNVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2;
1114
1115C_ASSERT(sizeof(NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2) == sizeof(NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG));
1116
1117typedef struct _NVME_WCS_DEVICE_ERROR_RECOVERY_LOG {
1118 USHORT PanicResetWaitTime;
1119 NVME_WCS_DEVICE_RESET_ACTION PanicResetAction;
1120 UCHAR DriveRecoveryAction;
1121 ULONGLONG PanicId;
1122 NVME_WCS_DEVICE_CAPABILITIES DeviceCapabilities;
1123 UCHAR VendorSpecificRecoveryCode;
1124 UCHAR Reserved0[3];
1125 ULONG VendorSpecificCommandCDW12;
1126 ULONG VendorSpecificCommandCDW13;
1127 UCHAR Reserved1[466];
1128 USHORT LogPageVersionNumber;
1129 GUID LogPageGUID;
1130} NVME_WCS_DEVICE_ERROR_RECOVERY_LOG, *PNVME_WCS_DEVICE_ERROR_RECOVERY_LOG;
1131
1132C_ASSERT(sizeof(NVME_WCS_DEVICE_ERROR_RECOVERY_LOG) == 512);
1133
1134#pragma pack(pop)
1135
1136typedef union {
1137 __C89_NAMELESS struct {
1138 ULONG QID : 16;
1139 ULONG QSIZE : 16;
1140 };
1141 ULONG AsUlong;
1142} NVME_CDW10_CREATE_IO_QUEUE, *PNVME_CDW10_CREATE_IO_QUEUE;
1143
1144typedef union {
1145 __C89_NAMELESS struct {
1146 ULONG PC : 1;
1147 ULONG IEN : 1;
1148 ULONG Reserved0 : 14;
1149 ULONG IV : 16;
1150 };
1151 ULONG AsUlong;
1152} NVME_CDW11_CREATE_IO_CQ, *PNVME_CDW11_CREATE_IO_CQ;
1153
1154typedef enum {
1155 NVME_NVM_QUEUE_PRIORITY_URGENT = 0,
1156 NVME_NVM_QUEUE_PRIORITY_HIGH = 1,
1157 NVME_NVM_QUEUE_PRIORITY_MEDIUM = 2,
1158 NVME_NVM_QUEUE_PRIORITY_LOW = 3
1159} NVME_NVM_QUEUE_PRIORITIES;
1160
1161typedef union {
1162 __C89_NAMELESS struct {
1163 ULONG PC : 1;
1164 ULONG QPRIO : 2;
1165 ULONG Reserved0 : 13;
1166 ULONG CQID : 16;
1167 };
1168 ULONG AsUlong;
1169} NVME_CDW11_CREATE_IO_SQ, *PNVME_CDW11_CREATE_IO_SQ;
1170
1171typedef enum {
1172 NVME_FEATURE_VALUE_CURRENT = 0,
1173 NVME_FEATURE_VALUE_DEFAULT = 1,
1174 NVME_FEATURE_VALUE_SAVED = 2,
1175 NVME_FEATURE_VALUE_SUPPORTED_CAPABILITIES = 3
1176} NVME_FEATURE_VALUE_CODES;
1177
1178typedef union {
1179 __C89_NAMELESS struct {
1180 ULONG FID : 8;
1181 ULONG SEL : 3;
1182 ULONG Reserved0 : 21;
1183 };
1184 ULONG AsUlong;
1185} NVME_CDW10_GET_FEATURES, *PNVME_CDW10_GET_FEATURES;
1186
1187typedef union {
1188 __C89_NAMELESS struct {
1189 ULONG FID : 8;
1190 ULONG Reserved0 : 23;
1191 ULONG SV : 1;
1192 };
1193 ULONG AsUlong;
1194} NVME_CDW10_SET_FEATURES, *PNVME_CDW10_SET_FEATURES;
1195
1196typedef union {
1197 __C89_NAMELESS struct {
1198 ULONG NSQ : 16;
1199 ULONG NCQ : 16;
1200 };
1201 ULONG AsUlong;
1202} NVME_CDW11_FEATURE_NUMBER_OF_QUEUES, *PNVME_CDW11_FEATURE_NUMBER_OF_QUEUES;
1203
1204typedef union {
1205 __C89_NAMELESS struct {
1206 ULONG THR : 8;
1207 ULONG TIME : 8;
1208 ULONG Reserved0 : 16;
1209 };
1210 ULONG AsUlong;
1211} NVME_CDW11_FEATURE_INTERRUPT_COALESCING, *PNVME_CDW11_FEATURE_INTERRUPT_COALESCING;
1212
1213typedef union {
1214 __C89_NAMELESS struct {
1215 ULONG IV : 16;
1216 ULONG CD : 1;
1217 ULONG Reserved0 : 15;
1218 };
1219 ULONG AsUlong;
1220} NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG, *PNVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG;
1221
1222typedef union {
1223 __C89_NAMELESS struct {
1224 ULONG DN : 1;
1225 ULONG Reserved0 : 31;
1226 };
1227 ULONG AsUlong;
1228} NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL, *PNVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL;
1229
1230typedef union {
1231 __C89_NAMELESS struct {
1232 ULONG NOPPME : 1;
1233 ULONG Reserved0 : 31;
1234 };
1235 ULONG AsUlong;
1236} NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE, *PNVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE;
1237
1238typedef union {
1239 __C89_NAMELESS struct {
1240 ULONG NUM : 6;
1241 ULONG Reserved0 : 26;
1242 };
1243 ULONG AsUlong;
1244} NVME_CDW11_FEATURE_LBA_RANGE_TYPE, *PNVME_CDW11_FEATURE_LBA_RANGE_TYPE;
1245
1246typedef union {
1247 __C89_NAMELESS struct {
1248 ULONG AB : 3;
1249 ULONG Reserved0 : 5;
1250 ULONG LPW : 8;
1251 ULONG MPW : 8;
1252 ULONG HPW : 8;
1253 };
1254 ULONG AsUlong;
1255} NVME_CDW11_FEATURE_ARBITRATION, *PNVME_CDW11_FEATURE_ARBITRATION;
1256
1257typedef union {
1258 __C89_NAMELESS struct {
1259 ULONG WCE : 1;
1260 ULONG Reserved0 : 31;
1261 };
1262 ULONG AsUlong;
1263} NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE, *PNVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE;
1264
1265typedef union {
1266 __C89_NAMELESS struct {
1267 ULONG SAVE : 1;
1268 ULONG NSS : 1;
1269 ULONG MOD : 1;
1270 ULONG Reserved0 : 29;
1271 };
1272 ULONG AsUlong;
1273} NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY, *PNVME_CDW11_FEATURE_SUPPORTED_CAPABILITY;
1274
1275typedef union {
1276 __C89_NAMELESS struct {
1277 ULONG CriticalWarnings : 8;
1278 ULONG NsAttributeNotices : 1;
1279 ULONG FwActivationNotices : 1;
1280 ULONG TelemetryLogNotices : 1;
1281 ULONG ANAChangeNotices : 1;
1282 ULONG PredictableLogChangeNotices : 1;
1283 ULONG LBAStatusNotices : 1;
1284 ULONG EnduranceEventNotices : 1;
1285 ULONG Reserved0 : 12;
1286 ULONG ZoneDescriptorNotices : 1;
1287 ULONG Reserved1 : 4;
1288 };
1289 ULONG AsUlong;
1290} NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG, *PNVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG;
1291
1292typedef union {
1293 __C89_NAMELESS struct {
1294 ULONG PS : 5;
1295 ULONG Reserved0 : 27;
1296 };
1297 ULONG AsUlong;
1298} NVME_CDW11_FEATURE_POWER_MANAGEMENT, *PNVME_CDW11_FEATURE_POWER_MANAGEMENT;
1299
1300typedef union {
1301 __C89_NAMELESS struct {
1302 ULONG APSTE : 1;
1303 ULONG Reserved0 : 31;
1304 };
1305 ULONG AsUlong;
1306} NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION, *PNVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION;
1307
1308typedef struct {
1309 ULONG Reserved0 : 3;
1310 ULONG IdleTransitionPowerState : 5;
1311 ULONG IdleTimePriorToTransition : 24;
1312 ULONG Reserved1;
1313} NVME_AUTO_POWER_STATE_TRANSITION_ENTRY, *PNVME_AUTO_POWER_STATE_TRANSITION_ENTRY;
1314
1315typedef enum {
1316 NVME_TEMPERATURE_OVER_THRESHOLD = 0,
1317 NVME_TEMPERATURE_UNDER_THRESHOLD = 1
1318} NVME_TEMPERATURE_THRESHOLD_TYPES;
1319
1320typedef union {
1321 __C89_NAMELESS struct {
1322 ULONG TMPTH : 16;
1323 ULONG TMPSEL : 4;
1324 ULONG THSEL : 2;
1325 ULONG Reserved0 : 10;
1326 };
1327 ULONG AsUlong;
1328} NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD, *PNVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD;
1329
1330typedef union {
1331 __C89_NAMELESS struct {
1332 ULONG TLER : 16;
1333 ULONG DULBE : 1;
1334 ULONG Reserved0 : 15;
1335 };
1336 ULONG AsUlong;
1337} NVME_CDW11_FEATURE_ERROR_RECOVERY, *PNVME_CDW11_FEATURE_ERROR_RECOVERY;
1338
1339typedef union {
1340 __C89_NAMELESS struct {
1341 ULONG EHM : 1;
1342 ULONG MR : 1;
1343 ULONG Reserved : 30;
1344 };
1345 ULONG AsUlong;
1346} NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER, *PNVME_CDW11_FEATURE_HOST_MEMORY_BUFFER;
1347
1348typedef union {
1349 __C89_NAMELESS struct {
1350 ULONG HSIZE;
1351 };
1352 ULONG AsUlong;
1353} NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER, *PNVME_CDW12_FEATURE_HOST_MEMORY_BUFFER;
1354
1355typedef union {
1356 __C89_NAMELESS struct {
1357 ULONG Reserved : 4;
1358 ULONG HMDLLA : 28;
1359 };
1360 ULONG AsUlong;
1361} NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER, *PNVME_CDW13_FEATURE_HOST_MEMORY_BUFFER;
1362
1363typedef union {
1364 __C89_NAMELESS struct {
1365 ULONG HMDLUA;
1366 };
1367 ULONG AsUlong;
1368} NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER, *PNVME_CDW14_FEATURE_HOST_MEMORY_BUFFER;
1369
1370typedef union {
1371 __C89_NAMELESS struct {
1372 ULONG HMDLEC;
1373 };
1374 ULONG AsUlong;
1375} NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER, *PNVME_CDW15_FEATURE_HOST_MEMORY_BUFFER;
1376
1377typedef struct {
1378 ULONGLONG BADD;
1379 ULONG BSIZE;
1380 ULONG Reserved;
1381} NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY, *PNVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY;
1382
1383typedef union {
1384 __C89_NAMELESS struct {
1385 ULONG IOCSCI : 8;
1386 ULONG Reserved : 24;
1387 };
1388 ULONG AsUlong;
1389} NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE, *PNVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE;
1390
1391typedef union {
1392 __C89_NAMELESS struct {
1393 ULONG GDHM : 1;
1394 ULONG Reserved : 31;
1395 };
1396 ULONG AsUlong;
1397} NVME_CDW11_FEATURE_GET_HOST_METADATA, *PNVME_CDW11_FEATURE_GET_HOST_METADATA;
1398
1399typedef enum {
1400 NVME_HOST_METADATA_ADD_REPLACE_ENTRY = 0,
1401 NVME_HOST_METADATA_DELETE_ENTRY_MULTIPLE = 1,
1402 NVME_HOST_METADATA_ADD_ENTRY_MULTIPLE = 2
1403} NVME_HOST_METADATA_ELEMENT_ACTIONS;
1404
1405typedef union {
1406 __C89_NAMELESS struct {
1407 ULONG Reserved0 : 13;
1408 ULONG EA : 2;
1409 ULONG Reserved1 : 17;
1410 };
1411 ULONG AsUlong;
1412} NVME_CDW11_FEATURE_SET_HOST_METADATA, *PNVME_CDW11_FEATURE_SET_HOST_METADATA;
1413
1414typedef enum {
1415 NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_CONTROLLER_NAME = 0x1,
1416 NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_DRIVER_NAME = 0x2,
1417 NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_DRIVER_VERSION = 0x3,
1418 NVME_CONTROLLER_METADATA_PREBOOT_CONTROLLER_NAME = 0x4,
1419 NVME_CONTROLLER_METADATA_PREBOOT_DRIVER_NAME = 0x5,
1420 NVME_CONTROLLER_METADATA_PREBOOT_DRIVER_VERSION = 0x6,
1421 NVME_CONTROLLER_METADATA_SYSTEM_PROCESSOR_MODEL = 0x7,
1422 NVME_CONTROLLER_METADATA_CHIPSET_DRIVER_NAME = 0x8,
1423 NVME_CONTROLLER_METADATA_CHIPSET_DRIVER_VERSION = 0x9,
1424 NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_NAME_AND_BUILD = 0xA,
1425 NVME_CONTROLLER_METADATA_SYSTEM_PRODUCT_NAME = 0xB,
1426 NVME_CONTROLLER_METADATA_FIRMWARE_VERSION = 0xC,
1427 NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_DRIVER_FILENAME = 0xD,
1428 NVME_CONTROLLER_METADATA_DISPLAY_DRIVER_NAME = 0xE,
1429 NVME_CONTROLLER_METADATA_DISPLAY_DRIVER_VERSION = 0xF,
1430 NVME_CONTROLLER_METADATA_HOST_DETERMINED_FAILURE_RECORD = 0x10
1431} NVME_CONTROLLER_METADATA_ELEMENT_TYPES;
1432
1433typedef enum {
1434 NVME_NAMESPACE_METADATA_OPERATING_SYSTEM_NAMESPACE_NAME = 0x1,
1435 NVME_NAMESPACE_METADATA_PREBOOT_NAMESPACE_NAME = 0x2,
1436 NVME_NAMESPACE_METADATA_OPERATING_SYSTEM_NAMESPACE_NAME_QUALIFIER_1 = 0x3,
1437 NVME_NAMESPACE_METADATA_OPERATING_SYSTEM_NAMESPACE_NAME_QUALIFIER_2 = 0x4
1438} NVME_NAMESPACE_METADATA_ELEMENT_TYPES;
1439
1440typedef struct {
1441 ULONG ET : 6;
1442 ULONG Reserved0 : 2;
1443 ULONG ER : 4;
1444 ULONG Reserved1 : 4;
1445 ULONG ELEN : 16;
1446 UCHAR EVAL[ANYSIZE_ARRAY];
1447} NVME_HOST_METADATA_ELEMENT_DESCRIPTOR, *PNVME_HOST_METADATA_ELEMENT_DESCRIPTOR;
1448
1449typedef struct {
1450 UCHAR NumberOfMetadataElementDescriptors;
1451 UCHAR Reserved0;
1452 UCHAR MetadataElementDescriptors[4094];
1453} NVME_FEATURE_HOST_METADATA_DATA, *PNVME_FEATURE_HOST_METADATA_DATA;
1454
1455typedef union {
1456 __C89_NAMELESS struct {
1457 ULONG NUM : 7;
1458 ULONG Reserved0 : 25;
1459 };
1460 ULONG AsUlong;
1461} NVME_CDW11_FEATURE_ERROR_INJECTION, *PNVME_CDW11_FEATURE_ERROR_INJECTION;
1462
1463typedef NVME_CDW11_FEATURE_ERROR_INJECTION NVME_CDW0_FEATURE_ERROR_INJECTION, *PNVME_CDW0_FEATURE_ERROR_INJECTION;
1464
1465typedef struct {
1466 union {
1467 __C89_NAMELESS struct {
1468 UCHAR Enable : 1;
1469 UCHAR SingleInstance : 1;
1470 UCHAR Reserved0 : 6;
1471 };
1472 UCHAR AsUchar;
1473 } Flags;
1474 UCHAR Reserved1;
1475 USHORT ErrorInjectionType;
1476 UCHAR ErrorInjectionTypeSpecific[28];
1477} NVME_ERROR_INJECTION_ENTRY, *PNVME_ERROR_INJECTION_ENTRY;
1478
1479typedef enum {
1480 NVME_ERROR_INJECTION_TYPE_RESERVED0 = 0,
1481 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_CPU_CONTROLLER_HANG,
1482 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_NAND_HANG,
1483 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_PLP_DEFECT,
1484 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_LOGICAL_FW_ERROR,
1485 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_DRAM_CORRUPTION_CRITICAL,
1486 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_DRAM_CORRUPTION_NONCRITICAL,
1487 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_NAND_CORRUPTION,
1488 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_SRAM_CORRUPTION,
1489 NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_HW_MALFUNCTION,
1490 NVME_ERROR_INJECTION_TYPE_RESERVED1,
1491 NVME_ERROR_INJECTION_TYPE_MAX = 0xFFFF
1492} NVME_ERROR_INJECTION_TYPES;
1493
1494typedef union {
1495 __C89_NAMELESS struct {
1496 ULONG Reserved0 : 31;
1497 ULONG Clear : 1;
1498 };
1499 ULONG AsUlong;
1500} NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY, *PNVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY;
1501
1502typedef union {
1503 __C89_NAMELESS struct {
1504 ULONG Reserved0 : 30;
1505 ULONG EOLBehavior : 2;
1506 };
1507 ULONG AsUlong;
1508} NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE, *PNVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE;
1509
1510typedef union {
1511 __C89_NAMELESS struct {
1512 ULONG EOLBehavior : 3;
1513 ULONG Reserved0 : 29;
1514 };
1515 ULONG AsUlong;
1516} NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE, *PNVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE;
1517
1518typedef union {
1519 __C89_NAMELESS struct {
1520 ULONG Reserved0 : 31;
1521 ULONG Clear : 1;
1522 };
1523 ULONG AsUlong;
1524} NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS, *PNVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS;
1525
1526typedef union {
1527 __C89_NAMELESS struct {
1528 ULONG Reserved0 : 31;
1529 ULONG Enable : 1;
1530 };
1531 ULONG AsUlong;
1532} NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO, *PNVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO;
1533
1534typedef union {
1535 __C89_NAMELESS struct {
1536 ULONG Enabled : 3;
1537 ULONG Reserved0 : 29;
1538 };
1539 ULONG AsUlong;
1540} NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO, *PNVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO;
1541
1542#define NVME_MAX_HOST_IDENTIFIER_SIZE 16
1543#define NVME_HOST_IDENTIFIER_SIZE 8
1544#define NVME_EXTENDED_HOST_IDENTIFIER_SIZE 16
1545
1546typedef struct {
1547 ULONG EXHID : 1;
1548 ULONG Reserved : 31;
1549} NVME_CDW11_FEATURE_HOST_IDENTIFIER, *PNVME_CDW11_FEATURE_HOST_IDENTIFIER;
1550
1551typedef struct {
1552 UCHAR HOSTID[NVME_MAX_HOST_IDENTIFIER_SIZE];
1553} NVME_FEATURE_HOST_IDENTIFIER_DATA, *PNVME_FEATURE_HOST_IDENTIFIER_DATA;
1554
1555typedef struct {
1556 ULONG PTPL : 1;
1557 ULONG Reserved : 31;
1558} NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE, *PNVME_CDW11_FEATURE_RESERVATION_PERSISTENCE;
1559
1560typedef struct {
1561 ULONG Reserved : 1;
1562 ULONG REGPRE : 1;
1563 ULONG RESREL : 1;
1564 ULONG RESPRE : 1;
1565 ULONG Reserved1 : 28;
1566} NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK, *PNVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK;
1567
1568typedef union {
1569 NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
1570 NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
1571 NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
1572 NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
1573 NVME_CDW11_FEATURE_ARBITRATION Arbitration;
1574 NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
1575 NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
1576 NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
1577 NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
1578 NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
1579 NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
1580 NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
1581 NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
1582 NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
1583 NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
1584 NVME_CDW11_FEATURE_ERROR_INJECTION ErrorInjection;
1585 NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
1586 NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
1587 NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
1588 NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
1589 NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
1590 ULONG AsUlong;
1591} NVME_CDW11_FEATURES, *PNVME_CDW11_FEATURES;
1592
1593typedef union {
1594 NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
1595 ULONG AsUlong;
1596} NVME_CDW12_FEATURES, *PNVME_CDW12_FEATURES;
1597
1598typedef union {
1599 NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
1600 ULONG AsUlong;
1601} NVME_CDW13_FEATURES, *PNVME_CDW13_FEATURES;
1602
1603typedef union {
1604 NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
1605 ULONG AsUlong;
1606} NVME_CDW14_FEATURES, *PNVME_CDW14_FEATURES;
1607
1608typedef union {
1609 NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
1610 ULONG AsUlong;
1611} NVME_CDW15_FEATURES, *PNVME_CDW15_FEATURES;
1612
1613#define NVME_MAX_LOG_SIZE 0x1000
1614
1615typedef enum {
1616 NVME_LOG_PAGE_ERROR_INFO = 0x01,
1617 NVME_LOG_PAGE_HEALTH_INFO = 0x02,
1618 NVME_LOG_PAGE_FIRMWARE_SLOT_INFO = 0x03,
1619 NVME_LOG_PAGE_CHANGED_NAMESPACE_LIST = 0x04,
1620 NVME_LOG_PAGE_COMMAND_EFFECTS = 0x05,
1621 NVME_LOG_PAGE_DEVICE_SELF_TEST = 0x06,
1622 NVME_LOG_PAGE_TELEMETRY_HOST_INITIATED = 0x07,
1623 NVME_LOG_PAGE_TELEMETRY_CTLR_INITIATED = 0x08,
1624 NVME_LOG_PAGE_ENDURANCE_GROUP_INFORMATION = 0x09,
1625 NVME_LOG_PAGE_PREDICTABLE_LATENCY_NVM_SET = 0x0A,
1626 NVME_LOG_PAGE_PREDICTABLE_LATENCY_EVENT_AGGREGATE = 0x0B,
1627 NVME_LOG_PAGE_ASYMMETRIC_NAMESPACE_ACCESS = 0x0C,
1628 NVME_LOG_PAGE_PERSISTENT_EVENT_LOG = 0x0D,
1629 NVME_LOG_PAGE_LBA_STATUS_INFORMATION = 0x0E,
1630 NVME_LOG_PAGE_ENDURANCE_GROUP_EVENT_AGGREGATE = 0x0F,
1631 NVME_LOG_PAGE_RESERVATION_NOTIFICATION = 0x80,
1632 NVME_LOG_PAGE_SANITIZE_STATUS = 0x81,
1633 NVME_LOG_PAGE_CHANGED_ZONE_LIST = 0xBF
1634} NVME_LOG_PAGES;
1635
1636typedef union {
1637 __C89_NAMELESS struct {
1638 ULONG LID : 8;
1639 ULONG Reserved0 : 8;
1640 ULONG NUMD : 12;
1641 ULONG Reserved1 : 4;
1642 };
1643 ULONG AsUlong;
1644} NVME_CDW10_GET_LOG_PAGE, *PNVME_CDW10_GET_LOG_PAGE;
1645
1646typedef union {
1647 __C89_NAMELESS struct {
1648 ULONG LID : 8;
1649 ULONG LSP : 4;
1650 ULONG Reserved0 : 3;
1651 ULONG RAE : 1;
1652 ULONG NUMDL : 16;
1653 };
1654 ULONG AsUlong;
1655} NVME_CDW10_GET_LOG_PAGE_V13, *PNVME_CDW10_GET_LOG_PAGE_V13;
1656
1657typedef union {
1658 __C89_NAMELESS struct {
1659 ULONG NUMDU : 16;
1660 ULONG LogSpecificIdentifier : 16;
1661 };
1662 ULONG AsUlong;
1663} NVME_CDW11_GET_LOG_PAGE, *PNVME_CDW11_GET_LOG_PAGE;
1664
1665typedef struct {
1666 ULONG LPOL;
1667} NVME_CDW12_GET_LOG_PAGE, *PNVME_CDW12_GET_LOG_PAGE;
1668
1669typedef struct {
1670 ULONG LPOU;
1671} NVME_CDW13_GET_LOG_PAGE, *PNVME_CDW13_GET_LOG_PAGE;
1672
1673typedef union {
1674 __C89_NAMELESS struct {
1675 ULONG UUIDIndex : 7;
1676 ULONG Reserved : 17;
1677 ULONG CommandSetIdentifier : 8;
1678 };
1679 ULONG AsUlong;
1680} NVME_CDW14_GET_LOG_PAGE, *PNVME_CDW14_GET_LOG_PAGE;
1681
1682typedef struct {
1683 ULONGLONG ErrorCount;
1684 USHORT SQID;
1685 USHORT CMDID;
1686 NVME_COMMAND_STATUS Status;
1687 struct {
1688 USHORT Byte : 8;
1689 USHORT Bit : 3;
1690 USHORT Reserved : 5;
1691 } ParameterErrorLocation;
1692 ULONGLONG Lba;
1693 ULONG NameSpace;
1694 UCHAR VendorInfoAvailable;
1695 UCHAR Reserved0[3];
1696 ULONGLONG CommandSpecificInfo;
1697 UCHAR Reserved1[24];
1698} NVME_ERROR_INFO_LOG, *PNVME_ERROR_INFO_LOG;
1699
1700typedef struct {
1701 union {
1702 __C89_NAMELESS struct {
1703 UCHAR AvailableSpaceLow : 1;
1704 UCHAR TemperatureThreshold : 1;
1705 UCHAR ReliabilityDegraded : 1;
1706 UCHAR ReadOnly : 1;
1707 UCHAR VolatileMemoryBackupDeviceFailed : 1;
1708 UCHAR Reserved : 3;
1709 };
1710 UCHAR AsUchar;
1711 } CriticalWarning;
1712 UCHAR Temperature[2];
1713 UCHAR AvailableSpare;
1714 UCHAR AvailableSpareThreshold;
1715 UCHAR PercentageUsed;
1716 UCHAR Reserved0[26];
1717 UCHAR DataUnitRead[16];
1718 UCHAR DataUnitWritten[16];
1719 UCHAR HostReadCommands[16];
1720 UCHAR HostWrittenCommands[16];
1721 UCHAR ControllerBusyTime[16];
1722 UCHAR PowerCycle[16];
1723 UCHAR PowerOnHours[16];
1724 UCHAR UnsafeShutdowns[16];
1725 UCHAR MediaErrors[16];
1726 UCHAR ErrorInfoLogEntryCount[16];
1727 ULONG WarningCompositeTemperatureTime;
1728 ULONG CriticalCompositeTemperatureTime;
1729 USHORT TemperatureSensor1;
1730 USHORT TemperatureSensor2;
1731 USHORT TemperatureSensor3;
1732 USHORT TemperatureSensor4;
1733 USHORT TemperatureSensor5;
1734 USHORT TemperatureSensor6;
1735 USHORT TemperatureSensor7;
1736 USHORT TemperatureSensor8;
1737 UCHAR Reserved1[296];
1738} NVME_HEALTH_INFO_LOG, *PNVME_HEALTH_INFO_LOG;
1739
1740#define NVME_TELEMETRY_DATA_BLOCK_SIZE 0x200
1741
1742typedef struct _NVME_TELEMETRY_HOST_INITIATED_LOG {
1743 UCHAR LogIdentifier;
1744 UCHAR Reserved0[4];
1745 UCHAR OrganizationID[3];
1746 USHORT Area1LastBlock;
1747 USHORT Area2LastBlock;
1748 USHORT Area3LastBlock;
1749 UCHAR Reserved1[2];
1750 ULONG Area4LastBlock;
1751 UCHAR Reserved2[361];
1752 UCHAR HostInitiatedDataGenerationNumber;
1753 UCHAR ControllerInitiatedDataAvailable;
1754 UCHAR ControllerInitiatedDataGenerationNumber;
1755 UCHAR ReasonIdentifier[128];
1756} NVME_TELEMETRY_HOST_INITIATED_LOG, *PNVME_TELEMETRY_HOST_INITIATED_LOG;
1757
1758typedef struct _NVME_TELEMETRY_CONTROLLER_INITIATED_LOG {
1759 UCHAR LogIdentifier;
1760 UCHAR Reserved0[4];
1761 UCHAR OrganizationID[3];
1762 USHORT Area1LastBlock;
1763 USHORT Area2LastBlock;
1764 USHORT Area3LastBlock;
1765 UCHAR Reserved1[2];
1766 ULONG Area4LastBlock;
1767 UCHAR Reserved2[362];
1768 UCHAR ControllerInitiatedDataAvailable;
1769 UCHAR ControllerInitiatedDataGenerationNumber;
1770 UCHAR ReasonIdentifier[128];
1771} NVME_TELEMETRY_CONTROLLER_INITIATED_LOG, *PNVME_TELEMETRY_CONTROLLER_INITIATED_LOG;
1772
1773typedef struct {
1774 struct {
1775 UCHAR ActiveSlot : 3;
1776 UCHAR Reserved0 : 1;
1777 UCHAR PendingActivateSlot : 3;
1778 UCHAR Reserved1 : 1;
1779 } AFI;
1780 UCHAR Reserved0[7];
1781 ULONGLONG FRS[7];
1782 UCHAR Reserved1[448];
1783} NVME_FIRMWARE_SLOT_INFO_LOG, *PNVME_FIRMWARE_SLOT_INFO_LOG;
1784
1785typedef struct {
1786 ULONG NSID[1024];
1787} NVME_CHANGED_NAMESPACE_LIST_LOG, *PNVME_CHANGED_NAMESPACE_LIST_LOG;
1788
1789typedef struct {
1790 USHORT ZoneIdentifiersCount;
1791 UCHAR Reserved[6];
1792 ULONGLONG ZoneIdentifier[511];
1793} NVME_CHANGED_ZONE_LIST_LOG, *PNVME_CHANGED_ZONE_LIST_LOG;
1794
1795typedef enum {
1796 NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMIT_NONE = 0,
1797 NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMIT_SINGLE_PER_NAMESPACE = 1,
1798 NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMIT_SINGLE_PER_CONTROLLER = 2
1799} NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMITS;
1800
1801typedef union {
1802 __C89_NAMELESS struct {
1803 ULONG CSUPP : 1;
1804 ULONG LBCC : 1;
1805 ULONG NCC : 1;
1806 ULONG NIC : 1;
1807 ULONG CCC : 1;
1808 ULONG Reserved0 : 11;
1809 ULONG CSE : 3;
1810 ULONG Reserved1 : 13;
1811 };
1812 ULONG AsUlong;
1813} NVME_COMMAND_EFFECTS_DATA, *PNVME_COMMAND_EFFECTS_DATA;
1814
1815typedef struct {
1816 NVME_COMMAND_EFFECTS_DATA ACS[256];
1817 NVME_COMMAND_EFFECTS_DATA IOCS[256];
1818 UCHAR Reserved[2048];
1819} NVME_COMMAND_EFFECTS_LOG, *PNVME_COMMAND_EFFECTS_LOG;
1820
1821#pragma pack(push, 1)
1822typedef struct {
1823 struct {
1824 UCHAR Result : 4;
1825 UCHAR CodeValue : 4;
1826 } Status;
1827 UCHAR SegmentNumber;
1828 struct {
1829 UCHAR NSIDValid : 1;
1830 UCHAR FLBAValid : 1;
1831 UCHAR SCTValid : 1;
1832 UCHAR SCValid : 1;
1833 UCHAR Reserved : 4;
1834 } ValidDiagnostics;
1835 UCHAR Reserved;
1836 ULONGLONG POH;
1837 ULONG NSID;
1838 ULONGLONG FailingLBA;
1839 struct {
1840 UCHAR AdditionalInfo : 3;
1841 UCHAR Reserved : 5;
1842 } StatusCodeType;
1843 UCHAR StatusCode;
1844 USHORT VendorSpecific;
1845} NVME_DEVICE_SELF_TEST_RESULT_DATA, *PNVME_DEVICE_SELF_TEST_RESULT_DATA;
1846
1847typedef struct {
1848 struct {
1849 UCHAR Status : 4;
1850 UCHAR Reserved : 4;
1851 } CurrentOperation;
1852 struct {
1853 UCHAR CompletePercent : 7;
1854 UCHAR Reserved : 1;
1855 } CurrentCompletion;
1856 UCHAR Reserved[2];
1857 NVME_DEVICE_SELF_TEST_RESULT_DATA ResultData[20];
1858} NVME_DEVICE_SELF_TEST_LOG, *PNVME_DEVICE_SELF_TEST_LOG;
1859
1860typedef struct {
1861 ULONG Reserved0;
1862 UCHAR AvailableSpareThreshold;
1863 UCHAR PercentageUsed;
1864 UCHAR Reserved1[26];
1865 UCHAR EnduranceEstimate[16];
1866 UCHAR DataUnitsRead[16];
1867 UCHAR DataUnitsWritten[16];
1868 UCHAR MediaUnitsWritten[16];
1869 UCHAR Reserved2[416];
1870} NVME_ENDURANCE_GROUP_LOG, *PNVME_ENDURANCE_GROUP_LOG;
1871
1872typedef struct {
1873 UCHAR LogIdentifier;
1874 UCHAR Reserved0[3];
1875 ULONG TotalNumberOfEvents;
1876 ULONGLONG TotalLogLength;
1877 UCHAR LogRevision;
1878 UCHAR Reserved1;
1879 USHORT LogHeaderLength;
1880 ULONGLONG Timestamp;
1881 UCHAR PowerOnHours[16];
1882 ULONGLONG PowerCycleCount;
1883 USHORT PciVendorId;
1884 USHORT PciSubsystemVendorId;
1885 UCHAR SerialNumber[20];
1886 UCHAR ModelNumber[40];
1887 UCHAR NVMSubsystemNVMeQualifiedName[256];
1888 UCHAR Reserved[108];
1889 UCHAR SupportedEventsBitmap[32];
1890} NVME_PERSISTENT_EVENT_LOG_HEADER, *PNVME_PERSISTENT_EVENT_LOG_HEADER;
1891
1892typedef struct {
1893 UCHAR EventType;
1894 UCHAR EventTypeRevision;
1895 UCHAR EventHeaderLength;
1896 UCHAR Reserved0;
1897 USHORT ControllerIdentifier;
1898 ULONGLONG EventTimestamp;
1899 UCHAR Reserved1[6];
1900 USHORT VendorSpecificInformationLength;
1901 USHORT EventLength;
1902} NVME_PERSISTENT_EVENT_LOG_EVENT_HEADER, *PNVME_PERSISTENT_EVENT_LOG_EVENT_HEADER;
1903
1904typedef enum {
1905 NVME_PERSISTENT_EVENT_TYPE_RESERVED0 = 0x00,
1906 NVME_PERSISTENT_EVENT_TYPE_SMART_HEALTH_LOG_SNAPSHOT = 0x01,
1907 NVME_PERSISTENT_EVENT_TYPE_FIRMWARE_COMMIT = 0x02,
1908 NVME_PERSISTENT_EVENT_TYPE_TIMESTAMP_CHANGE = 0x03,
1909 NVME_PERSISTENT_EVENT_TYPE_POWER_ON_OR_RESET = 0x04,
1910 NVME_PERSISTENT_EVENT_TYPE_NVM_SUBSYSTEM_HARDWARE_ERROR = 0x05,
1911 NVME_PERSISTENT_EVENT_TYPE_CHANGE_NAMESPACE = 0x06,
1912 NVME_PERSISTENT_EVENT_TYPE_FORMAT_NVM_START = 0x07,
1913 NVME_PERSISTENT_EVENT_TYPE_FORMAT_NVM_COMPLETION = 0x08,
1914 NVME_PERSISTENT_EVENT_TYPE_SANITIZE_START = 0x09,
1915 NVME_PERSISTENT_EVENT_TYPE_SANITIZE_COMPLETION = 0x0A,
1916 NVME_PERSISTENT_EVENT_TYPE_SET_FEATURE = 0x0B,
1917 NVME_PERSISTENT_EVENT_TYPE_TELEMETRY_LOG_CREATED = 0x0C,
1918 NVME_PERSISTENT_EVENT_TYPE_THERMAL_EXCURSION = 0x0D,
1919 NVME_PERSISTENT_EVENT_TYPE_RESERVED1_BEGIN = 0x0E,
1920 NVME_PERSISTENT_EVENT_TYPE_RESERVED1_END = 0xDD,
1921 NVME_PERSISTENT_EVENT_TYPE_VENDOR_SPECIFIC_EVENT = 0xDE,
1922 NVME_PERSISTENT_EVENT_TYPE_TCG_DEFINED = 0xDF,
1923 NVME_PERSISTENT_EVENT_TYPE_RESERVED2_BEGIN = 0xE0,
1924 NVME_PERSISTENT_EVENT_TYPE_RESERVED2_END = 0xFF,
1925 NVME_PERSISTENT_EVENT_TYPE_MAX = 0xFF
1926} NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES;
1927
1928#pragma pack(pop)
1929
1930typedef enum {
1931 NVME_RESERVATION_NOTIFICATION_TYPE_EMPTY_LOG_PAGE = 0,
1932 NVME_RESERVATION_NOTIFICATION_TYPE_REGISTRATION_PREEMPTED = 1,
1933 NVME_RESERVATION_NOTIFICATION_TYPE_REGISTRATION_RELEASED = 2,
1934 NVME_RESERVATION_NOTIFICATION_TYPE_RESERVATION_PREEPMPTED = 3
1935} NVME_RESERVATION_NOTIFICATION_TYPES;
1936
1937typedef struct {
1938 ULONGLONG LogPageCount;
1939 UCHAR LogPageType;
1940 UCHAR AvailableLogPageCount;
1941 UCHAR Reserved0[2];
1942 ULONG NameSpaceId;
1943 UCHAR Reserved1[48];
1944} NVME_RESERVATION_NOTIFICATION_LOG, *PNVME_RESERVATION_NOTIFICATION_LOG;
1945
1946typedef enum {
1947 NVME_SANITIZE_OPERATION_NONE = 0,
1948 NVME_SANITIZE_OPERATION_SUCCEEDED = 1,
1949 NVME_SANITIZE_OPERATION_IN_PROGRESS = 2,
1950 NVME_SANITIZE_OPERATION_FAILED = 3,
1951 NVME_SANITIZE_OPERATION_SUCCEEDED_WITH_FORCED_DEALLOCATION = 4
1952} NVME_SANITIZE_OPERATION_STATUS, *PNVME_SANITIZE_OPERATION_STATUS;
1953
1954typedef struct {
1955 USHORT MostRecentSanitizeOperationStatus : 3;
1956 USHORT NumberCompletedPassesOfOverwrite : 4;
1957 USHORT GlobalDataErased : 1;
1958 USHORT Reserved : 8;
1959} NVME_SANITIZE_STATUS, *PNVME_SANITIZE_STATUS;
1960
1961typedef struct {
1962 USHORT SPROG;
1963 NVME_SANITIZE_STATUS SSTAT;
1964 ULONG SCDW10;
1965 ULONG EstimatedTimeForOverwrite;
1966 ULONG EstimatedTimeForBlockErase;
1967 ULONG EstimatedTimeForCryptoErase;
1968 ULONG EstimatedTimeForOverwriteWithNoDeallocateMediaModification;
1969 ULONG EstimatedTimeForBlockEraseWithNoDeallocateMediaModification;
1970 ULONG EstimatedTimeForCryptoEraseWithNoDeallocateMediaModification;
1971 UCHAR Reserved[480];
1972} NVME_SANITIZE_STATUS_LOG, *PNVME_SANITIZE_STATUS_LOG;
1973
1974typedef struct {
1975 ULONG NUMD;
1976} NVME_CDW10_FIRMWARE_DOWNLOAD, *PNVME_CDW10_FIRMWARE_DOWNLOAD;
1977
1978typedef struct {
1979 ULONG OFST;
1980} NVME_CDW11_FIRMWARE_DOWNLOAD, *PNVME_CDW11_FIRMWARE_DOWNLOAD;
1981
1982typedef enum {
1983 NVME_FIRMWARE_ACTIVATE_ACTION_DOWNLOAD_TO_SLOT = 0,
1984 NVME_FIRMWARE_ACTIVATE_ACTION_DOWNLOAD_TO_SLOT_AND_ACTIVATE = 1,
1985 NVME_FIRMWARE_ACTIVATE_ACTION_ACTIVATE = 2,
1986 NVME_FIRMWARE_ACTIVATE_ACTION_DOWNLOAD_TO_SLOT_AND_ACTIVATE_IMMEDIATE = 3
1987} NVME_FIRMWARE_ACTIVATE_ACTIONS;
1988
1989typedef union {
1990 __C89_NAMELESS struct {
1991 ULONG FS : 3;
1992 ULONG AA : 2;
1993 ULONG Reserved : 27;
1994 };
1995 ULONG AsUlong;
1996} NVME_CDW10_FIRMWARE_ACTIVATE, *PNVME_CDW10_FIRMWARE_ACTIVATE;
1997
1998typedef enum {
1999 NVME_PROTECTION_INFORMATION_NOT_ENABLED = 0,
2000 NVME_PROTECTION_INFORMATION_TYPE1 = 1,
2001 NVME_PROTECTION_INFORMATION_TYPE2 = 2,
2002 NVME_PROTECTION_INFORMATION_TYPE3 = 3
2003} NVME_PROTECTION_INFORMATION_TYPES;
2004
2005typedef enum {
2006 NVME_SECURE_ERASE_NONE = 0,
2007 NVME_SECURE_ERASE_USER_DATA = 1,
2008 NVME_SECURE_ERASE_CRYPTOGRAPHIC = 2
2009} NVME_SECURE_ERASE_SETTINGS;
2010
2011typedef union {
2012 __C89_NAMELESS struct {
2013 ULONG LBAF : 4;
2014 ULONG MS : 1;
2015 ULONG PI : 3;
2016 ULONG PIL : 1;
2017 ULONG SES : 3;
2018 ULONG ZF : 2;
2019 ULONG Reserved : 18;
2020 };
2021 ULONG AsUlong;
2022} NVME_CDW10_FORMAT_NVM, *PNVME_CDW10_FORMAT_NVM;
2023
2024typedef enum {
2025 NVME_MEDIA_ADDITIONALLY_MODIFIED_AFTER_SANITIZE_NOT_DEFINED = 0,
2026 NVME_MEDIA_NOT_ADDITIONALLY_MODIFIED_AFTER_SANITIZE = 1,
2027 NVME_MEDIA_ADDITIONALLY_MOFIDIED_AFTER_SANITIZE = 2
2028} NVME_NO_DEALLOCATE_MODIFIES_MEDIA_AFTER_SANITIZE, *PNVME_NO_DEALLOCATE_MODIFIES_MEDIA_AFTER_SANITIZE;
2029
2030typedef enum {
2031 NVME_SANITIZE_ACTION_RESERVED = 0,
2032 NVME_SANITIZE_ACTION_EXIT_FAILURE_MODE = 1,
2033 NVME_SANITIZE_ACTION_START_BLOCK_ERASE_SANITIZE = 2,
2034 NVME_SANITIZE_ACTION_START_OVERWRITE_SANITIZE = 3,
2035 NVME_SANITIZE_ACTION_START_CRYPTO_ERASE_SANITIZE = 4
2036} NVME_SANITIZE_ACTION, *PNVME_SANITIZE_ACTION;
2037
2038typedef union {
2039 __C89_NAMELESS struct {
2040 ULONG SANACT : 3;
2041 ULONG AUSE : 1;
2042 ULONG OWPASS : 4;
2043 ULONG OIPBP : 1;
2044 ULONG NDAS : 1;
2045 ULONG Reserved : 22;
2046 };
2047 ULONG AsUlong;
2048} NVME_CDW10_SANITIZE, *PNVME_CDW10_SANITIZE;
2049
2050typedef union {
2051 __C89_NAMELESS struct {
2052 ULONG OVRPAT;
2053 };
2054 ULONG AsUlong;
2055} NVME_CDW11_SANITIZE;
2056
2057typedef enum {
2058 NVME_RESERVATION_TYPE_RESERVED = 0,
2059 NVME_RESERVATION_TYPE_WRITE_EXCLUSIVE = 1,
2060 NVME_RESERVATION_TYPE_EXCLUSIVE_ACCESS = 2,
2061 NVME_RESERVATION_TYPE_WRITE_EXCLUSIVE_REGISTRANTS_ONLY = 3,
2062 NVME_RESERVATION_TYPE_EXCLUSIVE_ACCESS_REGISTRANTS_ONLY = 4,
2063 NVME_RESERVATION_TYPE_WRITE_EXCLUSIVE_ALL_REGISTRANTS = 5,
2064 NVME_RESERVATION_TYPE_EXCLUSIVE_ACCESS_ALL_REGISTRANTS = 6
2065} NVME_RESERVATION_TYPES;
2066
2067typedef enum {
2068 NVME_RESERVATION_ACQUIRE_ACTION_ACQUIRE = 0,
2069 NVME_RESERVATION_ACQUIRE_ACTION_PREEMPT = 1,
2070 NVME_RESERVATION_ACQUIRE_ACTION_PREEMPT_AND_ABORT = 2
2071} NVME_RESERVATION_ACQUIRE_ACTIONS;
2072
2073typedef struct {
2074 ULONG PTPL : 1;
2075 ULONG Reserved : 31;
2076} NVME_CDW0_RESERVATION_PERSISTENCE, *PNVME_CDW0_RESERVATION_PERSISTENCE;
2077
2078typedef union {
2079 __C89_NAMELESS struct {
2080 ULONG RACQA : 3;
2081 ULONG IEKEY : 1;
2082 ULONG Reserved : 4;
2083 ULONG RTYPE : 8;
2084 ULONG Reserved1 : 16;
2085 };
2086 ULONG AsUlong;
2087} NVME_CDW10_RESERVATION_ACQUIRE, *PNVME_CDW10_RESERVATION_ACQUIRE;
2088
2089typedef struct {
2090 ULONGLONG CRKEY;
2091 ULONGLONG PRKEY;
2092} NVME_RESERVATION_ACQUIRE_DATA_STRUCTURE, *PNVME_RESERVATION_ACQUIRE_DATA_STRUCTURE;
2093
2094typedef enum {
2095 NVME_RESERVATION_REGISTER_ACTION_REGISTER = 0,
2096 NVME_RESERVATION_REGISTER_ACTION_UNREGISTER = 1,
2097 NVME_RESERVATION_REGISTER_ACTION_REPLACE = 2
2098} NVME_RESERVATION_REGISTER_ACTIONS;
2099
2100typedef enum {
2101 NVME_RESERVATION_REGISTER_PTPL_STATE_NO_CHANGE = 0,
2102 NVME_RESERVATION_REGISTER_PTPL_STATE_RESERVED = 1,
2103 NVME_RESERVATION_REGISTER_PTPL_STATE_SET_TO_0 = 2,
2104 NVME_RESERVATION_REGISTER_PTPL_STATE_SET_TO_1 = 3
2105} NVME_RESERVATION_REGISTER_PTPL_STATE_CHANGES;
2106
2107typedef union {
2108 __C89_NAMELESS struct {
2109 ULONG RREGA : 3;
2110 ULONG IEKEY : 1;
2111 ULONG Reserved : 26;
2112 ULONG CPTPL : 2;
2113 };
2114 ULONG AsUlong;
2115} NVME_CDW10_RESERVATION_REGISTER, *PNVME_CDW10_RESERVATION_REGISTER;
2116
2117typedef struct {
2118 ULONGLONG CRKEY;
2119 ULONGLONG NRKEY;
2120} NVME_RESERVATION_REGISTER_DATA_STRUCTURE, *PNVME_RESERVATION_REGISTER_DATA_STRUCTURE;
2121
2122typedef enum {
2123 NVME_RESERVATION_RELEASE_ACTION_RELEASE = 0,
2124 NVME_RESERVATION_RELEASE_ACTION_CLEAR = 1
2125} NVME_RESERVATION_RELEASE_ACTIONS;
2126
2127typedef union {
2128 struct {
2129 ULONG RRELA : 3;
2130 ULONG IEKEY : 1;
2131 ULONG Reserved : 4;
2132 ULONG RTYPE : 8;
2133 ULONG Reserved1 : 16;
2134 };
2135 ULONG AsUlong;
2136} NVME_CDW10_RESERVATION_RELEASE, *PNVME_CDW10_RESERVATION_RELEASE;
2137
2138typedef struct {
2139 ULONGLONG CRKEY;
2140} NVME_RESERVATION_RELEASE_DATA_STRUCTURE, *PNVME_RESERVATION_RELEASE_DATA_STRUCTURE;
2141
2142typedef union {
2143 __C89_NAMELESS struct {
2144 ULONG NUMD;
2145 };
2146 ULONG AsUlong;
2147} NVME_CDW10_RESERVATION_REPORT, *PNVME_CDW10_RESERVATION_REPORT;
2148
2149typedef union {
2150 __C89_NAMELESS struct {
2151 ULONG EDS : 1;
2152 ULONG Reserved : 31;
2153 };
2154 ULONG AsUlong;
2155} NVME_CDW11_RESERVATION_REPORT, *PNVME_CDW11_RESERVATION_REPORT;
2156
2157#pragma pack(push, 1)
2158typedef struct {
2159 ULONG GEN;
2160 UCHAR RTYPE;
2161 USHORT REGCTL;
2162 UCHAR Reserved[2];
2163 UCHAR PTPLS;
2164 UCHAR Reserved1[14];
2165} NVME_RESERVATION_REPORT_STATUS_HEADER, *PNVME_RESERVATION_REPORT_STATUS_HEADER;
2166#pragma pack(pop)
2167
2168C_ASSERT(sizeof(NVME_RESERVATION_REPORT_STATUS_HEADER) == 24);
2169
2170typedef struct {
2171 USHORT CNTLID;
2172 struct {
2173 UCHAR HoldReservation : 1;
2174 UCHAR Reserved : 7;
2175 } RCSTS;
2176 UCHAR Reserved[5];
2177 UCHAR HOSTID[8];
2178 ULONGLONG RKEY;
2179} NVME_REGISTERED_CONTROLLER_DATA, *PNVME_REGISTERED_CONTROLLER_DATA;
2180
2181C_ASSERT(sizeof(NVME_REGISTERED_CONTROLLER_DATA) == 24);
2182
2183typedef struct {
2184 NVME_RESERVATION_REPORT_STATUS_HEADER Header;
2185 NVME_REGISTERED_CONTROLLER_DATA RegisteredControllersData[ANYSIZE_ARRAY];
2186} NVME_RESERVATION_REPORT_STATUS_DATA_STRUCTURE, *PNVME_RESERVATION_REPORT_STATUS_DATA_STRUCTURE;
2187
2188typedef struct {
2189 USHORT CNTLID;
2190 struct {
2191 UCHAR HoldReservation : 1;
2192 UCHAR Reserved : 7;
2193 } RCSTS;
2194 UCHAR Reserved[5];
2195 ULONGLONG RKEY;
2196 UCHAR HOSTID[16];
2197 UCHAR Reserved1[32];
2198} NVME_REGISTERED_CONTROLLER_EXTENDED_DATA, *PNVME_REGISTERED_CONTROLLER_EXTENDED_DATA;
2199
2200C_ASSERT(sizeof(NVME_REGISTERED_CONTROLLER_EXTENDED_DATA) == 64);
2201
2202typedef struct {
2203 NVME_RESERVATION_REPORT_STATUS_HEADER Header;
2204 UCHAR Reserved1[40];
2205 NVME_REGISTERED_CONTROLLER_EXTENDED_DATA RegisteredControllersExtendedData[ANYSIZE_ARRAY];
2206} NVME_RESERVATION_REPORT_STATUS_EXTENDED_DATA_STRUCTURE, *PNVME_RESERVATION_REPORT_STATUS_EXTENDED_DATA_STRUCTURE;
2207
2208typedef enum {
2209 NVME_DIRECTIVE_TYPE_IDENTIFY = 0x00,
2210 NVME_DIRECTIVE_TYPE_STREAMS = 0x01
2211} NVME_DIRECTIVE_TYPES;
2212
2213#define NVME_STREAMS_ID_MIN 1
2214#define NVME_STREAMS_ID_MAX 0xFFFF
2215
2216typedef struct {
2217 ULONG NUMD;
2218} NVME_CDW10_DIRECTIVE_RECEIVE, *PNVME_CDW10_DIRECTIVE_RECEIVE;
2219
2220typedef union {
2221 __C89_NAMELESS struct {
2222 ULONG DOPER : 8;
2223 ULONG DTYPE : 8;
2224 ULONG DSPEC : 16;
2225 };
2226 ULONG AsUlong;
2227} NVME_CDW11_DIRECTIVE_RECEIVE, *PNVME_CDW11_DIRECTIVE_RECEIVE;
2228
2229typedef struct {
2230 ULONG NUMD;
2231} NVME_CDW10_DIRECTIVE_SEND, *PNVME_CDW10_DIRECTIVE_SEND;
2232
2233typedef union {
2234 __C89_NAMELESS struct {
2235 ULONG DOPER : 8;
2236 ULONG DTYPE : 8;
2237 ULONG DSPEC : 16;
2238 };
2239 ULONG AsUlong;
2240} NVME_CDW11_DIRECTIVE_SEND, *PNVME_CDW11_DIRECTIVE_SEND;
2241
2242typedef enum {
2243 NVME_DIRECTIVE_RECEIVE_IDENTIFY_OPERATION_RETURN_PARAMETERS = 1
2244} NVME_DIRECTIVE_RECEIVE_IDENTIFY_OPERATIONS;
2245
2246typedef enum {
2247 NVME_DIRECTIVE_SEND_IDENTIFY_OPERATION_ENABLE_DIRECTIVE = 1
2248} NVME_DIRECTIVE_SEND_IDENTIFY_OPERATIONS;
2249
2250typedef struct {
2251 UCHAR Identify : 1;
2252 UCHAR Streams : 1;
2253 UCHAR Reserved0 : 6;
2254 UCHAR Reserved1[31];
2255} NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR, *PNVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR;
2256
2257typedef struct {
2258 NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR DirectivesSupported;
2259 NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR DirectivesEnabled;
2260} NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS, *PNVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS;
2261
2262typedef union {
2263 __C89_NAMELESS struct {
2264 ULONG ENDIR : 1;
2265 ULONG Reserved0 : 7;
2266 ULONG DTYPE : 8;
2267 ULONG Reserved1 : 16;
2268 };
2269 ULONG AsUlong;
2270} NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE, *PNVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE;
2271
2272typedef enum {
2273 NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATION_RETURN_PARAMETERS = 1,
2274 NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATION_GET_STATUS = 2,
2275 NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATION_ALLOCATE_RESOURCES = 3
2276} NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATIONS;
2277
2278typedef enum {
2279 NVME_DIRECTIVE_SEND_STREAMS_OPERATION_RELEASE_IDENTIFIER = 1,
2280 NVME_DIRECTIVE_SEND_STREAMS_OPERATION_RELEASE_RESOURCES = 2
2281} NVME_DIRECTIVE_SEND_STREAMS_OPERATIONS;
2282
2283typedef struct {
2284 USHORT MSL;
2285 USHORT NSSA;
2286 USHORT NSSO;
2287 UCHAR Reserved0[10];
2288 ULONG SWS;
2289 USHORT SGS;
2290 USHORT NSA;
2291 USHORT NSO;
2292 UCHAR Reserved1[6];
2293} NVME_DIRECTIVE_STREAMS_RETURN_PARAMETERS, *PNVME_DIRECTIVE_STREAMS_RETURN_PARAMETERS;
2294
2295#define NVME_STREAMS_GET_STATUS_MAX_IDS 65535
2296
2297typedef struct {
2298 USHORT OpenStreamCount;
2299 USHORT StreamIdentifiers[NVME_STREAMS_GET_STATUS_MAX_IDS];
2300} NVME_DIRECTIVE_STREAMS_GET_STATUS_DATA, *PNVME_DIRECTIVE_STREAMS_GET_STATUS_DATA;
2301
2302typedef union {
2303 __C89_NAMELESS struct {
2304 ULONG NSR : 16;
2305 ULONG Reserved : 16;
2306 };
2307 ULONG AsUlong;
2308} NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES, *PNVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES;
2309
2310typedef struct {
2311 __C89_NAMELESS struct {
2312 ULONG NSA : 16;
2313 ULONG Reserved : 16;
2314 };
2315 ULONG AsUlong;
2316} NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES, *PNVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES;
2317
2318typedef union {
2319 NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE EnableDirective;
2320 ULONG AsUlong;
2321} NVME_CDW12_DIRECTIVE_SEND;
2322
2323typedef union {
2324 NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES AllocateResources;
2325 ULONG AsUlong;
2326} NVME_CDW12_DIRECTIVE_RECEIVE;
2327
2328typedef union {
2329 __C89_NAMELESS struct {
2330 ULONG Reserved0 : 8;
2331 ULONG SPSP : 16;
2332 ULONG SECP : 8;
2333 };
2334 ULONG AsUlong;
2335} NVME_CDW10_SECURITY_SEND_RECEIVE, *PNVME_CDW10_SECURITY_SEND_RECEIVE;
2336
2337typedef struct {
2338 ULONG TL;
2339} NVME_CDW11_SECURITY_SEND, *PNVME_CDW11_SECURITY_SEND;
2340
2341typedef struct {
2342 ULONG AL;
2343} NVME_CDW11_SECURITY_RECEIVE, *PNVME_CDW11_SECURITY_RECEIVE;
2344
2345typedef enum {
2346 NVME_NVM_COMMAND_FLUSH = 0x00,
2347 NVME_NVM_COMMAND_WRITE = 0x01,
2348 NVME_NVM_COMMAND_READ = 0x02,
2349 NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 0x04,
2350 NVME_NVM_COMMAND_COMPARE = 0x05,
2351 NVME_NVM_COMMAND_WRITE_ZEROES = 0x08,
2352 NVME_NVM_COMMAND_DATASET_MANAGEMENT = 0x09,
2353 NVME_NVM_COMMAND_VERIFY = 0x0C,
2354 NVME_NVM_COMMAND_RESERVATION_REGISTER = 0x0D,
2355 NVME_NVM_COMMAND_RESERVATION_REPORT = 0x0E,
2356 NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 0x11,
2357 NVME_NVM_COMMAND_RESERVATION_RELEASE = 0x15,
2358 NVME_NVM_COMMAND_COPY = 0x19,
2359 NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 0x79,
2360 NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 0x7A,
2361 NVME_NVM_COMMAND_ZONE_APPEND = 0x7D
2362} NVME_NVM_COMMANDS;
2363
2364typedef union {
2365 __C89_NAMELESS struct {
2366 ULONG NLB : 16;
2367 ULONG Reserved0 : 4;
2368 ULONG DTYPE : 4;
2369 ULONG Reserved1 : 2;
2370 ULONG PRINFO : 4;
2371 ULONG FUA : 1;
2372 ULONG LR : 1;
2373 };
2374 ULONG AsUlong;
2375} NVME_CDW12_READ_WRITE, *PNVME_CDW12_READ_WRITE;
2376
2377typedef enum {
2378 NVME_ACCESS_FREQUENCY_NONE = 0,
2379 NVME_ACCESS_FREQUENCY_TYPICAL = 1,
2380 NVME_ACCESS_FREQUENCY_INFR_WRITE_INFR_READ = 2,
2381 NVME_ACCESS_FREQUENCY_INFR_WRITE_FR_READ = 3,
2382 NVME_ACCESS_FREQUENCY_FR_WRITE_INFR_READ = 4,
2383 NVME_ACCESS_FREQUENCY_FR_WRITE_FR_READ = 5,
2384 NVME_ACCESS_FREQUENCY_ONE_TIME_READ = 6,
2385 NVME_ACCESS_FREQUENCY_SPECULATIVE_READ = 7,
2386 NVME_ACCESS_FREQUENCY_WILL_BE_OVERWRITTEN = 8
2387} NVME_ACCESS_FREQUENCIES;
2388
2389typedef enum {
2390 NVME_ACCESS_LATENCY_NONE = 0,
2391 NVME_ACCESS_LATENCY_IDLE = 1,
2392 NVME_ACCESS_LATENCY_NORMAL = 2,
2393 NVME_ACCESS_LATENCY_LOW = 3
2394} NVME_ACCESS_LATENCIES;
2395
2396typedef union {
2397 __C89_NAMELESS struct {
2398 struct {
2399 UCHAR AccessFrequency : 4;
2400 UCHAR AccessLatency : 2;
2401 UCHAR SequentialRequest : 1;
2402 UCHAR Incompressible : 1;
2403 } DSM;
2404 UCHAR Reserved;
2405 USHORT DSPEC;
2406 };
2407 ULONG AsUlong;
2408} NVME_CDW13_READ_WRITE, *PNVME_CDW13_READ_WRITE;
2409
2410typedef union {
2411 __C89_NAMELESS struct {
2412 ULONG ELBAT : 16;
2413 ULONG ELBATM : 16;
2414 };
2415 ULONG AsUlong;
2416} NVME_CDW15_READ_WRITE, *PNVME_CDW15_READ_WRITE;
2417
2418typedef union {
2419 __C89_NAMELESS struct {
2420 ULONG AccessFrequency : 4;
2421 ULONG AccessLatency : 2;
2422 ULONG Reserved0 : 2;
2423 ULONG SequentialReadRange : 1;
2424 ULONG SequentialWriteRange : 1;
2425 ULONG WritePrepare : 1;
2426 ULONG Reserved1 : 13;
2427 ULONG CommandAccessSize : 8;
2428 };
2429 ULONG AsUlong;
2430} NVME_CONTEXT_ATTRIBUTES, *PNVME_CONTEXT_ATTRIBUTES;
2431
2432typedef struct {
2433 NVME_CONTEXT_ATTRIBUTES Attributes;
2434 ULONG LogicalBlockCount;
2435 ULONGLONG StartingLBA;
2436} NVME_LBA_RANGE, *PNVME_LBA_RANGE;
2437
2438typedef union {
2439 __C89_NAMELESS struct {
2440 ULONG NR : 8;
2441 ULONG Reserved : 24;
2442 };
2443 ULONG AsUlong;
2444} NVME_CDW10_DATASET_MANAGEMENT, *PNVME_CDW10_DATASET_MANAGEMENT;
2445
2446typedef union {
2447 __C89_NAMELESS struct {
2448 ULONG IDR : 1;
2449 ULONG IDW : 1;
2450 ULONG AD : 1;
2451 ULONG Reserved : 29;
2452 };
2453 ULONG AsUlong;
2454} NVME_CDW11_DATASET_MANAGEMENT, *PNVME_CDW11_DATASET_MANAGEMENT;
2455
2456typedef struct {
2457 __C89_NAMELESS struct {
2458 UCHAR ZT : 4;
2459 UCHAR Reserved1 : 4;
2460 };
2461 __C89_NAMELESS struct {
2462 UCHAR Reserved2 : 4;
2463 UCHAR ZS : 4;
2464 };
2465 struct {
2466 UCHAR ZFC : 1;
2467 UCHAR FZR : 1;
2468 UCHAR RZR : 1;
2469 UCHAR Reserved : 4;
2470 UCHAR ZDEV : 1;
2471 } ZA;
2472 UCHAR Reserved3[5];
2473 ULONGLONG ZCAP;
2474 ULONGLONG ZSLBA;
2475 ULONGLONG WritePointer;
2476 UCHAR Reserved4[32];
2477} NVME_ZONE_DESCRIPTOR, *PNVME_ZONE_DESCRIPTOR;
2478
2479typedef enum {
2480 NVME_STATE_ZSE = 0x1,
2481 NVME_STATE_ZSIO = 0x2,
2482 NVME_STATE_ZSEO = 0x3,
2483 NVME_STATE_ZSC = 0x4,
2484 NVME_STATE_ZSRO = 0xD,
2485 NVME_STATE_ZSF = 0xE,
2486 NVME_STATE_ZSO = 0xF
2487} ZONE_STATE;
2488
2489typedef enum {
2490 NVME_ZONE_SEND_CLOSE = 1,
2491 NVME_ZONE_SEND_FINISH = 2,
2492 NVME_ZONE_SEND_OPEN = 3,
2493 NVME_ZONE_SEND_RESET = 4,
2494 NVME_ZONE_SEND_OFFLINE = 5,
2495 NVME_ZONE_SEND_SET_ZONE_DESCRIPTOR = 0x10
2496} NVME_ZONE_SEND_ACTION;
2497
2498typedef struct {
2499 ULONGLONG SLBA;
2500} NVME_CDW10_ZONE_MANAGEMENT_SEND, *PNVME_CDW10_ZONE_MANAGEMENT_SEND;
2501
2502typedef union {
2503 __C89_NAMELESS struct {
2504 ULONG ZSA : 8;
2505 ULONG SelectAll : 1;
2506 ULONG Reserved : 23;
2507 };
2508 ULONG AsUlong;
2509} NVME_CDW13_ZONE_MANAGEMENT_SEND, *PNVME_CDW13_ZONE_MANAGEMENT_SEND;
2510
2511typedef struct {
2512 ULONGLONG ZoneCount;
2513 ULONGLONG Reserved[7];
2514 NVME_ZONE_DESCRIPTOR ZoneDescriptor[ANYSIZE_ARRAY];
2515} NVME_REPORT_ZONE_INFO, *PNVME_REPORT_ZONE_INFO;
2516
2517typedef struct{
2518 UCHAR ZoneDescriptorExtensionInfo[64];
2519} NVME_ZONE_DESCRIPTOR_EXTENSION, *PNVME_ZONE_DESCRIPTOR_EXTENSION;
2520
2521typedef struct {
2522 NVME_ZONE_DESCRIPTOR ZoneDescriptor;
2523 NVME_ZONE_DESCRIPTOR_EXTENSION ZoneDescriptorExtension[ANYSIZE_ARRAY];
2524} NVME_ZONE_EXTENDED_REPORT_ZONE_DESC, *PNVME_ZONE_EXTENDED_REPORT_ZONE_DESC;
2525
2526typedef struct {
2527 ULONGLONG ZoneCount;
2528 ULONGLONG Reserved[7];
2529 NVME_ZONE_EXTENDED_REPORT_ZONE_DESC Desc[ANYSIZE_ARRAY];
2530} NVME_EXTENDED_REPORT_ZONE_INFO, *PNVME_EXTENDED_REPORT_ZONE_INFO;
2531
2532typedef enum {
2533 NVME_ZONE_RECEIVE_REPORT_ZONES = 0,
2534 NVME_ZONE_RECEIVE_EXTENDED_REPORT_ZONES = 1
2535} NVME_ZONE_RECEIVE_ACTION;
2536
2537typedef enum {
2538 NVME_ZRA_ALL_ZONES = 0,
2539 NVME_ZRA_EMPTY_STATE_ZONES = 1,
2540 NVME_ZRA_IO_STATE_ZONES = 2,
2541 NVME_ZRA_EO_STATE_ZONES = 3,
2542 NVME_ZRA_CLOSED_STATE_ZONES = 4,
2543 NVME_ZRA_FULL_STATE_ZONES = 5,
2544 NVME_ZRA_RO_STATE_ZONES = 6,
2545 NVME_ZRA_OFFLINE_STATE_ZONES = 7
2546} NVME_ZONE_RECEIVE_ACTION_SPECIFIC;
2547
2548typedef struct {
2549 ULONGLONG SLBA;
2550} NVME_CDW10_ZONE_MANAGEMENT_RECEIVE, *PNVME_CDW10_ZONE_MANAGEMENT_RECEIVE;
2551
2552typedef union {
2553 __C89_NAMELESS struct {
2554 ULONG ZRA : 8;
2555 ULONG ZRASpecific : 8;
2556 ULONG Partial : 1;
2557 ULONG Reserved : 15;
2558 };
2559 ULONG AsUlong;
2560} NVME_CDW13_ZONE_MANAGEMENT_RECEIVE, *PNVME_CDW13_ZONE_MANAGEMENT_RECEIVE;
2561
2562typedef struct {
2563 ULONGLONG SLBA;
2564} NVME_CDW10_ZONE_APPEND, *PNVME_CDW10_ZONE_APPEND;
2565
2566typedef union {
2567 __C89_NAMELESS struct {
2568 ULONG NLB : 16;
2569 ULONG Reserved : 9;
2570 ULONG PIREMAP : 1;
2571 ULONG PRINFO : 4;
2572 ULONG FUA : 1;
2573 ULONG LR : 1;
2574 };
2575 ULONG AsUlong;
2576} NVME_CDW12_ZONE_APPEND, *PNVME_CDW12_ZONE_APPEND;
2577
2578typedef union {
2579 __C89_NAMELESS struct {
2580 ULONG LBAT : 16;
2581 ULONG LBATM : 16;
2582 };
2583 ULONG AsUlong;
2584} NVME_CDW15_ZONE_APPEND, *PNVME_CDW15_ZONE_APPEND;
2585
2586typedef union {
2587 __C89_NAMELESS struct {
2588 ULONG OPC : 8;
2589 ULONG FUSE : 2;
2590 ULONG Reserved0 : 5;
2591 ULONG PSDT : 1;
2592 ULONG CID : 16;
2593 };
2594 ULONG AsUlong;
2595} NVME_COMMAND_DWORD0, *PNVME_COMMAND_DWORD0;
2596
2597typedef enum {
2598 NVME_FUSED_OPERATION_NORMAL = 0,
2599 NVME_FUSED_OPERATION_FIRST_CMD = 1,
2600 NVME_FUSED_OPERATION_SECOND_CMD = 2
2601} NVME_FUSED_OPERATION_CODES;
2602
2603typedef union {
2604 __C89_NAMELESS struct {
2605 ULONGLONG Reserved0 : 2;
2606 ULONGLONG PBAO : 62;
2607 };
2608 ULONGLONG AsUlonglong;
2609} NVME_PRP_ENTRY, *PNVME_PRP_ENTRY;
2610
2611#define NVME_NAMESPACE_ALL 0xFFFFFFFF
2612
2613typedef struct {
2614 NVME_COMMAND_DWORD0 CDW0;
2615 ULONG NSID;
2616 ULONG Reserved0[2];
2617 ULONGLONG MPTR;
2618 ULONGLONG PRP1;
2619 ULONGLONG PRP2;
2620 union {
2621 struct {
2622 ULONG CDW10;
2623 ULONG CDW11;
2624 ULONG CDW12;
2625 ULONG CDW13;
2626 ULONG CDW14;
2627 ULONG CDW15;
2628 } GENERAL;
2629 struct {
2630 NVME_CDW10_IDENTIFY CDW10;
2631 NVME_CDW11_IDENTIFY CDW11;
2632 ULONG CDW12;
2633 ULONG CDW13;
2634 ULONG CDW14;
2635 ULONG CDW15;
2636 } IDENTIFY;
2637 struct {
2638 NVME_CDW10_ABORT CDW10;
2639 ULONG CDW11;
2640 ULONG CDW12;
2641 ULONG CDW13;
2642 ULONG CDW14;
2643 ULONG CDW15;
2644 } ABORT;
2645 struct {
2646 NVME_CDW10_GET_FEATURES CDW10;
2647 NVME_CDW11_FEATURES CDW11;
2648 ULONG CDW12;
2649 ULONG CDW13;
2650 ULONG CDW14;
2651 ULONG CDW15;
2652 } GETFEATURES;
2653 struct {
2654 NVME_CDW10_SET_FEATURES CDW10;
2655 NVME_CDW11_FEATURES CDW11;
2656 NVME_CDW12_FEATURES CDW12;
2657 NVME_CDW13_FEATURES CDW13;
2658 NVME_CDW14_FEATURES CDW14;
2659 NVME_CDW15_FEATURES CDW15;
2660 } SETFEATURES;
2661 struct {
2662 union {
2663 NVME_CDW10_GET_LOG_PAGE CDW10;
2664 NVME_CDW10_GET_LOG_PAGE_V13 CDW10_V13;
2665 };
2666 NVME_CDW11_GET_LOG_PAGE CDW11;
2667 NVME_CDW12_GET_LOG_PAGE CDW12;
2668 NVME_CDW13_GET_LOG_PAGE CDW13;
2669 NVME_CDW14_GET_LOG_PAGE CDW14;
2670 ULONG CDW15;
2671 } GETLOGPAGE;
2672 struct {
2673 NVME_CDW10_CREATE_IO_QUEUE CDW10;
2674 NVME_CDW11_CREATE_IO_CQ CDW11;
2675 ULONG CDW12;
2676 ULONG CDW13;
2677 ULONG CDW14;
2678 ULONG CDW15;
2679 } CREATEIOCQ;
2680 struct {
2681 NVME_CDW10_CREATE_IO_QUEUE CDW10;
2682 NVME_CDW11_CREATE_IO_SQ CDW11;
2683 ULONG CDW12;
2684 ULONG CDW13;
2685 ULONG CDW14;
2686 ULONG CDW15;
2687 } CREATEIOSQ;
2688 struct {
2689 NVME_CDW10_DATASET_MANAGEMENT CDW10;
2690 NVME_CDW11_DATASET_MANAGEMENT CDW11;
2691 ULONG CDW12;
2692 ULONG CDW13;
2693 ULONG CDW14;
2694 ULONG CDW15;
2695 } DATASETMANAGEMENT;
2696 struct {
2697 NVME_CDW10_SECURITY_SEND_RECEIVE CDW10;
2698 NVME_CDW11_SECURITY_SEND CDW11;
2699 ULONG CDW12;
2700 ULONG CDW13;
2701 ULONG CDW14;
2702 ULONG CDW15;
2703 } SECURITYSEND;
2704 struct {
2705 NVME_CDW10_SECURITY_SEND_RECEIVE CDW10;
2706 NVME_CDW11_SECURITY_RECEIVE CDW11;
2707 ULONG CDW12;
2708 ULONG CDW13;
2709 ULONG CDW14;
2710 ULONG CDW15;
2711 } SECURITYRECEIVE;
2712 struct {
2713 NVME_CDW10_FIRMWARE_DOWNLOAD CDW10;
2714 NVME_CDW11_FIRMWARE_DOWNLOAD CDW11;
2715 ULONG CDW12;
2716 ULONG CDW13;
2717 ULONG CDW14;
2718 ULONG CDW15;
2719 } FIRMWAREDOWNLOAD;
2720 struct {
2721 NVME_CDW10_FIRMWARE_ACTIVATE CDW10;
2722 ULONG CDW11;
2723 ULONG CDW12;
2724 ULONG CDW13;
2725 ULONG CDW14;
2726 ULONG CDW15;
2727 } FIRMWAREACTIVATE;
2728 struct {
2729 NVME_CDW10_FORMAT_NVM CDW10;
2730 ULONG CDW11;
2731 ULONG CDW12;
2732 ULONG CDW13;
2733 ULONG CDW14;
2734 ULONG CDW15;
2735 } FORMATNVM;
2736 struct {
2737 NVME_CDW10_DIRECTIVE_RECEIVE CDW10;
2738 NVME_CDW11_DIRECTIVE_RECEIVE CDW11;
2739 NVME_CDW12_DIRECTIVE_RECEIVE CDW12;
2740 ULONG CDW13;
2741 ULONG CDW14;
2742 ULONG CDW15;
2743 } DIRECTIVERECEIVE;
2744 struct {
2745 NVME_CDW10_DIRECTIVE_SEND CDW10;
2746 NVME_CDW11_DIRECTIVE_SEND CDW11;
2747 NVME_CDW12_DIRECTIVE_SEND CDW12;
2748 ULONG CDW13;
2749 ULONG CDW14;
2750 ULONG CDW15;
2751 } DIRECTIVESEND;
2752 struct {
2753 NVME_CDW10_SANITIZE CDW10;
2754 NVME_CDW11_SANITIZE CDW11;
2755 ULONG CDW12;
2756 ULONG CDW13;
2757 ULONG CDW14;
2758 ULONG CDW15;
2759 } SANITIZE;
2760 struct {
2761 ULONG LBALOW;
2762 ULONG LBAHIGH;
2763 NVME_CDW12_READ_WRITE CDW12;
2764 NVME_CDW13_READ_WRITE CDW13;
2765 ULONG CDW14;
2766 NVME_CDW15_READ_WRITE CDW15;
2767 } READWRITE;
2768 struct {
2769 NVME_CDW10_RESERVATION_ACQUIRE CDW10;
2770 ULONG CDW11;
2771 ULONG CDW12;
2772 ULONG CDW13;
2773 ULONG CDW14;
2774 ULONG CDW15;
2775 } RESERVATIONACQUIRE;
2776 struct {
2777 NVME_CDW10_RESERVATION_REGISTER CDW10;
2778 ULONG CDW11;
2779 ULONG CDW12;
2780 ULONG CDW13;
2781 ULONG CDW14;
2782 ULONG CDW15;
2783 } RESERVATIONREGISTER;
2784 struct {
2785 NVME_CDW10_RESERVATION_RELEASE CDW10;
2786 ULONG CDW11;
2787 ULONG CDW12;
2788 ULONG CDW13;
2789 ULONG CDW14;
2790 ULONG CDW15;
2791 } RESERVATIONRELEASE;
2792 struct {
2793 NVME_CDW10_RESERVATION_REPORT CDW10;
2794 NVME_CDW11_RESERVATION_REPORT CDW11;
2795 ULONG CDW12;
2796 ULONG CDW13;
2797 ULONG CDW14;
2798 ULONG CDW15;
2799 } RESERVATIONREPORT;
2800 struct {
2801 NVME_CDW10_ZONE_MANAGEMENT_SEND CDW1011;
2802 ULONG CDW12;
2803 NVME_CDW13_ZONE_MANAGEMENT_SEND CDW13;
2804 ULONG CDW14;
2805 ULONG CDW15;
2806 } ZONEMANAGEMENTSEND;
2807 struct {
2808 NVME_CDW10_ZONE_MANAGEMENT_RECEIVE CDW1011;
2809 ULONG DWORDCOUNT;
2810 NVME_CDW13_ZONE_MANAGEMENT_RECEIVE CDW13;
2811 ULONG CDW14;
2812 ULONG CDW15;
2813 } ZONEMANAGEMENTRECEIVE;
2814 struct {
2815 NVME_CDW10_ZONE_APPEND CDW1011;
2816 NVME_CDW12_ZONE_APPEND CDW12;
2817 ULONG CDW13;
2818 ULONG ILBRT;
2819 NVME_CDW15_ZONE_APPEND CDW15;
2820 } ZONEAPPEND;
2821 } u;
2822} NVME_COMMAND, *PNVME_COMMAND;
2823
2824C_ASSERT(sizeof(NVME_COMMAND) == 64);
2825
2826typedef struct {
2827 CHAR PCIVendorID[4];
2828 CHAR ModelNumber[40];
2829 CHAR NamespaceID[4];
2830 CHAR SerialNumber[20];
2831} NVME_SCSI_NAME_STRING, *PNVME_SCSI_NAME_STRING;
2832
2833#endif /* WINAPI_PARTITION_DESKTOP */
2834
2835#endif /* NVME_INCLUDED */
lib/libc/include/any-windows-any/oaidl.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/oaidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/oaidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/objectarray.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/objectarray.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/objectarray.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/objidl.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/objidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/objidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/objidlbase.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/objidlbase.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/objidlbase.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ocidl.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/ocidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/ocidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/oleacc.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/oleacc.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/oleacc.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/oleidl.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/oleidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/oleidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/optary.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/optary.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/optary.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/pchannel.h+15-1
......@@ -3,10 +3,18 @@
33 * This file is part of the mingw-w64 runtime package.
44 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
55 */
6
67#ifndef _H_PCHANNEL
78#define _H_PCHANNEL
89
10#include <winapifamily.h>
11
12#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
13
14#if NTDDI_VERSION >= NTDDI_XP
15
916#define CHANNEL_CHUNK_LENGTH 1600
17#define CHANNEL_BUFFER_SIZE 65535
1018
1119#define CHANNEL_PDU_LENGTH (CHANNEL_CHUNK_LENGTH + sizeof(CHANNEL_PDU_HEADER))
1220
......@@ -29,6 +37,7 @@
2937#define CHANNEL_OPTION_COMPRESS_RDP 0x00800000
3038#define CHANNEL_OPTION_COMPRESS 0x00400000
3139#define CHANNEL_OPTION_SHOW_PROTOCOL 0x00200000
40#define CHANNEL_OPTION_REMOTE_CONTROL_PERSISTENT 0x00100000
3241
3342#define CHANNEL_MAX_COUNT 30
3443#define CHANNEL_NAME_LEN 7
......@@ -42,4 +51,9 @@ typedef struct tagCHANNEL_PDU_HEADER {
4251 UINT32 length;
4352 UINT32 flags;
4453} CHANNEL_PDU_HEADER,*PCHANNEL_PDU_HEADER;
45#endif
54
55#endif /* (NTDDI_VERSION >= NTDDI_XP) */
56
57#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
58
59#endif /* _H_PCHANNEL */
lib/libc/include/any-windows-any/portabledevicetypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/portabledevicetypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/portabledevicetypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/processthreadsapi.h+97
......@@ -99,8 +99,92 @@ extern "C" {
9999 DWORD dwProcessId;
100100 DWORD dwThreadId;
101101 } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
102
103 typedef enum _PROCESS_INFORMATION_CLASS {
104 ProcessMemoryPriority,
105 ProcessMemoryExhaustionInfo,
106 ProcessAppMemoryInfo,
107 ProcessInPrivateInfo,
108 ProcessPowerThrottling,
109 ProcessReservedValue1,
110 ProcessTelemetryCoverageInfo,
111 ProcessProtectionLevelInfo,
112 ProcessLeapSecondInfo,
113 ProcessMachineTypeInfo,
114 ProcessInformationClassMax
115 } PROCESS_INFORMATION_CLASS;
116
117 typedef struct _APP_MEMORY_INFORMATION {
118 ULONG64 AvailableCommit;
119 ULONG64 PrivateCommitUsage;
120 ULONG64 PeakPrivateCommitUsage;
121 ULONG64 TotalCommitUsage;
122 } APP_MEMORY_INFORMATION, *PAPP_MEMORY_INFORMATION;
123
124 typedef enum _MACHINE_ATTRIBUTES {
125 UserEnabled = 0x00000001,
126 KernelEnabled = 0x00000002,
127 Wow64Container = 0x00000004
128 } MACHINE_ATTRIBUTES;
129#ifndef __WIDL__
130DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES);
131#endif
132
133 typedef struct _PROCESS_MACHINE_INFORMATION {
134 USHORT ProcessMachine;
135 USHORT Res0;
136 MACHINE_ATTRIBUTES MachineAttributes;
137 } PROCESS_MACHINE_INFORMATION;
138
139#define PME_CURRENT_VERSION 1
140
141 typedef enum _PROCESS_MEMORY_EXHAUSTION_TYPE {
142 PMETypeFailFastOnCommitFailure,
143 PMETypeMax
144 } PROCESS_MEMORY_EXHAUSTION_TYPE, *PPROCESS_MEMORY_EXHAUSTION_TYPE;
145
146#define PME_FAILFAST_ON_COMMIT_FAIL_DISABLE 0x0
147#define PME_FAILFAST_ON_COMMIT_FAIL_ENABLE 0x1
148
149 typedef struct _PROCESS_MEMORY_EXHAUSTION_INFO {
150 USHORT Version;
151 USHORT Reserved;
152 PROCESS_MEMORY_EXHAUSTION_TYPE Type;
153 ULONG_PTR Value;
154 } PROCESS_MEMORY_EXHAUSTION_INFO, *PPROCESS_MEMORY_EXHAUSTION_INFO;
155
156#define PROCESS_POWER_THROTTLING_CURRENT_VERSION 1
157
158#define PROCESS_POWER_THROTTLING_EXECUTION_SPEED 0x1
159#define PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION 0x4
160
161#define PROCESS_POWER_THROTTLING_VALID_FLAGS (PROCESS_POWER_THROTTLING_EXECUTION_SPEED | PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION)
162
163 typedef struct _PROCESS_POWER_THROTTLING_STATE {
164 ULONG Version;
165 ULONG ControlMask;
166 ULONG StateMask;
167 } PROCESS_POWER_THROTTLING_STATE, *PPROCESS_POWER_THROTTLING_STATE;
168
169 typedef struct PROCESS_PROTECTION_LEVEL_INFORMATION {
170 DWORD ProtectionLevel;
171 } PROCESS_PROTECTION_LEVEL_INFORMATION;
172
173#define PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND 0x1
174#define PROCESS_LEAP_SECOND_INFO_VALID_FLAGS PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND
175
176 typedef struct _PROCESS_LEAP_SECOND_INFO {
177 ULONG Flags;
178 ULONG Reserved;
179 } PROCESS_LEAP_SECOND_INFO, *PPROCESS_LEAP_SECOND_INFO;
180
181#if _WIN32_WINNT >= 0x0602
182 WINBASEAPI WINBOOL WINAPI GetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize);
183 WINBASEAPI WINBOOL WINAPI SetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize);
102184#endif
103185
186#endif /* WINAPI_PARTITION_APP */
187
104188#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
105189
106190 typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
......@@ -210,6 +294,19 @@ extern "C" {
210294#if _WIN32_WINNT >= 0x0601
211295 WINBASEAPI WINBOOL WINAPI SetThreadIdealProcessorEx (HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor, PPROCESSOR_NUMBER lpPreviousIdealProcessor);
212296#endif
297#if NTDDI_VERSION >= NTDDI_WIN10_VB
298 WINBASEAPI WINBOOL WINAPI SetProcessDynamicEHContinuationTargets (HANDLE Process, USHORT NumberOfTargets, PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets);
299#endif
300#if NTDDI_VERSION >= NTDDI_WIN10_MN
301 typedef enum _QUEUE_USER_APC_FLAGS {
302 QUEUE_USER_APC_FLAGS_NONE = 0x0,
303 QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC = 0x1
304 } QUEUE_USER_APC_FLAGS;
305 WINBASEAPI WINBOOL WINAPI QueueUserAPC2 (PAPCFUNC ApcRoutine, HANDLE Thread, ULONG_PTR Data, QUEUE_USER_APC_FLAGS Flags);
306#endif
307#if NTDDI_VERSION >= NTDDI_WIN10_FE
308 WINBASEAPI WINBOOL WINAPI SetProcessDynamicEnforcedCetCompatibleRanges (HANDLE Process, USHORT NumberOfRanges, PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE Ranges);
309#endif
213310
214311#endif
215312
lib/libc/include/any-windows-any/proofofpossessioncookieinfo.h created+173
......@@ -0,0 +1,173 @@
1/*** Autogenerated by WIDL 7.0 from include/proofofpossessioncookieinfo.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __proofofpossessioncookieinfo_h__
17#define __proofofpossessioncookieinfo_h__
18
19/* Forward declarations */
20
21#ifndef __IProofOfPossessionCookieInfoManager_FWD_DEFINED__
22#define __IProofOfPossessionCookieInfoManager_FWD_DEFINED__
23typedef interface IProofOfPossessionCookieInfoManager IProofOfPossessionCookieInfoManager;
24#ifdef __cplusplus
25interface IProofOfPossessionCookieInfoManager;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __ProofOfPossessionCookieInfoManager_FWD_DEFINED__
30#define __ProofOfPossessionCookieInfoManager_FWD_DEFINED__
31#ifdef __cplusplus
32typedef class ProofOfPossessionCookieInfoManager ProofOfPossessionCookieInfoManager;
33#else
34typedef struct ProofOfPossessionCookieInfoManager ProofOfPossessionCookieInfoManager;
35#endif /* defined __cplusplus */
36#endif /* defined __ProofOfPossessionCookieInfoManager_FWD_DEFINED__ */
37
38/* Headers for imported files */
39
40#include <oaidl.h>
41#include <ocidl.h>
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
47typedef struct ProofOfPossessionCookieInfo {
48 LPWSTR name;
49 LPWSTR data;
50 DWORD flags;
51 LPWSTR p3pHeader;
52} ProofOfPossessionCookieInfo;
53static inline void FreeProofOfPossessionCookieInfoArray(ProofOfPossessionCookieInfo *cookie_info, DWORD count)
54{
55 unsigned int i;
56 for (i = 0; i < count; i++)
57 {
58 CoTaskMemFree(cookie_info[i].name);
59 CoTaskMemFree(cookie_info[i].data);
60 CoTaskMemFree(cookie_info[i].p3pHeader);
61 }
62 CoTaskMemFree(cookie_info);
63}
64/*****************************************************************************
65 * IProofOfPossessionCookieInfoManager interface
66 */
67#ifndef __IProofOfPossessionCookieInfoManager_INTERFACE_DEFINED__
68#define __IProofOfPossessionCookieInfoManager_INTERFACE_DEFINED__
69
70DEFINE_GUID(IID_IProofOfPossessionCookieInfoManager, 0xcdaece56, 0x4edf, 0x43df, 0xb1,0x13, 0x88,0xe4,0x55,0x6f,0xa1,0xbb);
71#if defined(__cplusplus) && !defined(CINTERFACE)
72MIDL_INTERFACE("cdaece56-4edf-43df-b113-88e4556fa1bb")
73IProofOfPossessionCookieInfoManager : public IUnknown
74{
75 virtual HRESULT STDMETHODCALLTYPE GetCookieInfoForUri(
76 LPCWSTR uri,
77 DWORD *cookieInfoCount,
78 ProofOfPossessionCookieInfo **cookieInfo) = 0;
79
80};
81#ifdef __CRT_UUID_DECL
82__CRT_UUID_DECL(IProofOfPossessionCookieInfoManager, 0xcdaece56, 0x4edf, 0x43df, 0xb1,0x13, 0x88,0xe4,0x55,0x6f,0xa1,0xbb)
83#endif
84#else
85typedef struct IProofOfPossessionCookieInfoManagerVtbl {
86 BEGIN_INTERFACE
87
88 /*** IUnknown methods ***/
89 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
90 IProofOfPossessionCookieInfoManager *This,
91 REFIID riid,
92 void **ppvObject);
93
94 ULONG (STDMETHODCALLTYPE *AddRef)(
95 IProofOfPossessionCookieInfoManager *This);
96
97 ULONG (STDMETHODCALLTYPE *Release)(
98 IProofOfPossessionCookieInfoManager *This);
99
100 /*** IProofOfPossessionCookieInfoManager methods ***/
101 HRESULT (STDMETHODCALLTYPE *GetCookieInfoForUri)(
102 IProofOfPossessionCookieInfoManager *This,
103 LPCWSTR uri,
104 DWORD *cookieInfoCount,
105 ProofOfPossessionCookieInfo **cookieInfo);
106
107 END_INTERFACE
108} IProofOfPossessionCookieInfoManagerVtbl;
109
110interface IProofOfPossessionCookieInfoManager {
111 CONST_VTBL IProofOfPossessionCookieInfoManagerVtbl* lpVtbl;
112};
113
114#ifdef COBJMACROS
115#ifndef WIDL_C_INLINE_WRAPPERS
116/*** IUnknown methods ***/
117#define IProofOfPossessionCookieInfoManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
118#define IProofOfPossessionCookieInfoManager_AddRef(This) (This)->lpVtbl->AddRef(This)
119#define IProofOfPossessionCookieInfoManager_Release(This) (This)->lpVtbl->Release(This)
120/*** IProofOfPossessionCookieInfoManager methods ***/
121#define IProofOfPossessionCookieInfoManager_GetCookieInfoForUri(This,uri,cookieInfoCount,cookieInfo) (This)->lpVtbl->GetCookieInfoForUri(This,uri,cookieInfoCount,cookieInfo)
122#else
123/*** IUnknown methods ***/
124static FORCEINLINE HRESULT IProofOfPossessionCookieInfoManager_QueryInterface(IProofOfPossessionCookieInfoManager* This,REFIID riid,void **ppvObject) {
125 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
126}
127static FORCEINLINE ULONG IProofOfPossessionCookieInfoManager_AddRef(IProofOfPossessionCookieInfoManager* This) {
128 return This->lpVtbl->AddRef(This);
129}
130static FORCEINLINE ULONG IProofOfPossessionCookieInfoManager_Release(IProofOfPossessionCookieInfoManager* This) {
131 return This->lpVtbl->Release(This);
132}
133/*** IProofOfPossessionCookieInfoManager methods ***/
134static FORCEINLINE HRESULT IProofOfPossessionCookieInfoManager_GetCookieInfoForUri(IProofOfPossessionCookieInfoManager* This,LPCWSTR uri,DWORD *cookieInfoCount,ProofOfPossessionCookieInfo **cookieInfo) {
135 return This->lpVtbl->GetCookieInfoForUri(This,uri,cookieInfoCount,cookieInfo);
136}
137#endif
138#endif
139
140#endif
141
142
143#endif /* __IProofOfPossessionCookieInfoManager_INTERFACE_DEFINED__ */
144
145#ifndef __ProofOfPossessionCookieInfoManagerLib_LIBRARY_DEFINED__
146#define __ProofOfPossessionCookieInfoManagerLib_LIBRARY_DEFINED__
147
148DEFINE_GUID(LIBID_ProofOfPossessionCookieInfoManagerLib, 0x7681a019, 0x8f51, 0x4594, 0x95,0x07, 0xf2,0x70,0x40,0xf7,0x1f,0x01);
149
150/*****************************************************************************
151 * ProofOfPossessionCookieInfoManager coclass
152 */
153
154DEFINE_GUID(CLSID_ProofOfPossessionCookieInfoManager, 0xa9927f85, 0xa304, 0x4390, 0x8b,0x23, 0xa7,0x5f,0x1c,0x66,0x86,0x00);
155
156#ifdef __cplusplus
157class DECLSPEC_UUID("a9927f85-a304-4390-8b23-a75f1c668600") ProofOfPossessionCookieInfoManager;
158#ifdef __CRT_UUID_DECL
159__CRT_UUID_DECL(ProofOfPossessionCookieInfoManager, 0xa9927f85, 0xa304, 0x4390, 0x8b,0x23, 0xa7,0x5f,0x1c,0x66,0x86,0x00)
160#endif
161#endif
162
163#endif /* __ProofOfPossessionCookieInfoManagerLib_LIBRARY_DEFINED__ */
164/* Begin additional prototypes for all interfaces */
165
166
167/* End additional prototypes */
168
169#ifdef __cplusplus
170}
171#endif
172
173#endif /* __proofofpossessioncookieinfo_h__ */
lib/libc/include/any-windows-any/propidl.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/propidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/propidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/propsys.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/propsys.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/propsys.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/propvarutil.h+95-9
......@@ -22,9 +22,13 @@
2222#include <shtypes.h>
2323#include <shlwapi.h>
2424
25#if !defined (_NTDEF_) && !defined (_NTSTATUS_PSDK)
26#define _NTSTATUS_PSDK
27typedef LONG NTSTATUS, *PNTSTATUS;
25#ifndef WINE_NTSTATUS_DECLARED
26#define WINE_NTSTATUS_DECLARED
27typedef LONG NTSTATUS;
28#endif
29
30#ifdef __cplusplus
31extern "C" {
2832#endif
2933
3034enum tagPROPVAR_CHANGE_FLAGS
......@@ -69,26 +73,42 @@ HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT p
6973HRESULT WINAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar);
7074HRESULT WINAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar);
7175HRESULT WINAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar);
76HRESULT WINAPI InitPropVariantFromCLSID(REFCLSID clsid, PROPVARIANT *ppropvar);
7277HRESULT WINAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar);
7378HRESULT WINAPI PropVariantToGUID(const PROPVARIANT *ppropvar, GUID *guid);
7479HRESULT WINAPI VariantToGUID(const VARIANT *pvar, GUID *guid);
7580INT WINAPI PropVariantCompareEx(REFPROPVARIANT propvar1, REFPROPVARIANT propvar2,
7681 PROPVAR_COMPARE_UNIT uint, PROPVAR_COMPARE_FLAGS flags);
82HRESULT WINAPI InitPropVariantFromFileTime(const FILETIME *pftIn, PROPVARIANT *ppropvar);
7783
84HRESULT WINAPI PropVariantToDouble(REFPROPVARIANT propvarIn, double *ret);
7885HRESULT WINAPI PropVariantToInt16(REFPROPVARIANT propvarIn, SHORT *ret);
7986HRESULT WINAPI PropVariantToInt32(REFPROPVARIANT propvarIn, LONG *ret);
8087HRESULT WINAPI PropVariantToInt64(REFPROPVARIANT propvarIn, LONGLONG *ret);
8188HRESULT WINAPI PropVariantToUInt16(REFPROPVARIANT propvarIn, USHORT *ret);
8289HRESULT WINAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret);
8390HRESULT WINAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret);
91HRESULT WINAPI PropVariantToBoolean(REFPROPVARIANT propvarIn, WINBOOL *ret);
92HRESULT WINAPI PropVariantToBuffer(REFPROPVARIANT propvarIn, void *ret, UINT cb);
93HRESULT WINAPI PropVariantToString(REFPROPVARIANT propvarIn, PWSTR ret, UINT cch);
94PCWSTR WINAPI PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault);
8495
8596HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret);
8697
8798#ifdef __cplusplus
8899
89100HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar);
90HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar);
101HRESULT InitPropVariantFromInt16(SHORT nVal, PROPVARIANT *ppropvar);
102HRESULT InitPropVariantFromUInt16(USHORT uiVal, PROPVARIANT *ppropvar);
103HRESULT InitPropVariantFromInt32(LONG lVal, PROPVARIANT *ppropvar);
104HRESULT InitPropVariantFromUInt32(ULONG ulVal, PROPVARIANT *ppropvar);
91105HRESULT InitPropVariantFromInt64(LONGLONG llVal, PROPVARIANT *ppropvar);
106HRESULT InitPropVariantFromUInt64(ULONGLONG ullVal, PROPVARIANT *ppropvar);
107HRESULT InitPropVariantFromDouble(DOUBLE dblVal, PROPVARIANT *ppropvar);
108HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar);
109HRESULT InitPropVariantFromGUIDAsBuffer(REFGUID guid, PROPVARIANT *ppropvar);
110WINBOOL IsPropVariantVector(REFPROPVARIANT propvar);
111WINBOOL IsPropVariantString(REFPROPVARIANT propvar);
92112
93113#ifndef NO_PROPVAR_INLINES
94114
......@@ -99,6 +119,55 @@ inline HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar)
99119 return S_OK;
100120}
101121
122inline HRESULT InitPropVariantFromInt16(SHORT nVal, PROPVARIANT *ppropvar)
123{
124 ppropvar->vt = VT_I2;
125 ppropvar->iVal = nVal;
126 return S_OK;
127}
128
129inline HRESULT InitPropVariantFromUInt16(USHORT uiVal, PROPVARIANT *ppropvar)
130{
131 ppropvar->vt = VT_UI2;
132 ppropvar->uiVal = uiVal;
133 return S_OK;
134}
135
136inline HRESULT InitPropVariantFromInt32(LONG lVal, PROPVARIANT *ppropvar)
137{
138 ppropvar->vt = VT_I4;
139 ppropvar->lVal = lVal;
140 return S_OK;
141}
142
143inline HRESULT InitPropVariantFromUInt32(ULONG ulVal, PROPVARIANT *ppropvar)
144{
145 ppropvar->vt = VT_UI4;
146 ppropvar->ulVal = ulVal;
147 return S_OK;
148}
149
150inline HRESULT InitPropVariantFromInt64(LONGLONG llVal, PROPVARIANT *ppropvar)
151{
152 ppropvar->vt = VT_I8;
153 ppropvar->hVal.QuadPart = llVal;
154 return S_OK;
155}
156
157inline HRESULT InitPropVariantFromUInt64(ULONGLONG ullVal, PROPVARIANT *ppropvar)
158{
159 ppropvar->vt = VT_UI8;
160 ppropvar->uhVal.QuadPart = ullVal;
161 return S_OK;
162}
163
164inline HRESULT InitPropVariantFromDouble(DOUBLE dblVal, PROPVARIANT *ppropvar)
165{
166 ppropvar->vt = VT_R8;
167 ppropvar->dblVal = dblVal;
168 return S_OK;
169}
170
102171inline HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar)
103172{
104173 HRESULT hres;
......@@ -112,14 +181,31 @@ inline HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar)
112181 return hres;
113182}
114183
115inline HRESULT InitPropVariantFromInt64(LONGLONG llVal, PROPVARIANT *ppropvar)
184inline HRESULT InitPropVariantFromGUIDAsBuffer(REFGUID guid, PROPVARIANT *ppropvar)
116185{
117 ppropvar->vt = VT_I8;
118 ppropvar->hVal.QuadPart = llVal;
119 return S_OK;
186#ifdef __cplusplus
187 return InitPropVariantFromBuffer(&guid, sizeof(GUID), ppropvar);
188#else
189 return InitPropVariantFromBuffer(guid, sizeof(GUID), ppropvar);
190#endif
120191}
121192
122#endif
193inline WINBOOL IsPropVariantVector(REFPROPVARIANT propvar)
194{
195 return (propvar.vt & (VT_ARRAY | VT_VECTOR));
196}
197
198inline WINBOOL IsPropVariantString(REFPROPVARIANT propvar)
199{
200 return (PropVariantToStringWithDefault(propvar, NULL) != NULL);
201}
202
203#endif /* NO_PROPVAR_INLINES */
204#endif /* __cplusplus */
205
206
207#ifdef __cplusplus
208}
123209#endif
124210
125211#endif /* __WINE_PROPVARUTIL_H */
lib/libc/include/any-windows-any/psdk_inc/_dbg_common.h+94-3
......@@ -192,7 +192,12 @@ extern "C" {
192192 DWORD64 KiUserExceptionDispatcher;
193193 DWORD64 StackBase;
194194 DWORD64 StackLimit;
195 DWORD64 Reserved[5];
195 DWORD BuildVersion;
196 DWORD RetpolineStubFunctionTableSize;
197 DWORD64 RetpolineStubFunctionTable;
198 DWORD RetpolineStubOffset;
199 DWORD RetpolineStubSize;
200 DWORD64 Reserved0[2];
196201 } KDHELP64,*PKDHELP64;
197202
198203#ifdef _IMAGEHLP64
......@@ -242,6 +247,25 @@ extern "C" {
242247 KDHELP64 KdHelp;
243248 } STACKFRAME64,*LPSTACKFRAME64;
244249
250#define INLINE_FRAME_CONTEXT_INIT 0
251#define INLINE_FRAME_CONTEXT_IGNORE 0xFFFFFFFF
252
253 typedef struct _tagSTACKFRAME_EX {
254 ADDRESS64 AddrPC;
255 ADDRESS64 AddrReturn;
256 ADDRESS64 AddrFrame;
257 ADDRESS64 AddrStack;
258 ADDRESS64 AddrBStore;
259 PVOID FuncTableEntry;
260 DWORD64 Params[4];
261 WINBOOL Far;
262 WINBOOL Virtual;
263 DWORD64 Reserved[3];
264 KDHELP64 KdHelp;
265 DWORD StackFrameSize;
266 DWORD InlineFrameContext;
267 } STACKFRAME_EX,*LPSTACKFRAME_EX;
268
245269#ifdef _IMAGEHLP64
246270#define STACKFRAME STACKFRAME64
247271#define LPSTACKFRAME LPSTACKFRAME64
......@@ -336,6 +360,18 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);
336360#define SYMFLAG_VIRTUAL 0x00001000
337361#define SYMFLAG_THUNK 0x00002000
338362#define SYMFLAG_TLSREL 0x00004000
363#define SYMFLAG_SLOT 0x00008000
364#define SYMFLAG_ILREL 0x00010000
365#define SYMFLAG_METADATA 0x00020000
366#define SYMFLAG_CLR_TOKEN 0x00040000
367#define SYMFLAG_NULL 0x00080000
368#define SYMFLAG_FUNC_NO_RETURN 0x00100000
369#define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
370#define SYMFLAG_PUBLIC_CODE 0x00400000
371#define SYMFLAG_REGREL_ALIASINDIR 0x00800000
372#define SYMFLAG_FIXUP_ARM64X 0x01000000
373#define SYMFLAG_GLOBAL 0x02000000
374#define SYMFLAG_RESET 0x80000000
339375
340376 typedef enum {
341377 SymNone = 0,
......@@ -411,8 +447,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);
411447 WINBOOL TypeInfo;
412448 WINBOOL SourceIndexed;
413449 WINBOOL Publics;
450 DWORD MachineType;
451 DWORD Reserved;
414452 } IMAGEHLP_MODULE64,*PIMAGEHLP_MODULE64;
415453
454 typedef struct _IMAGEHLP_MODULE64_EX {
455 IMAGEHLP_MODULE64 Module;
456 DWORD RegionFlags;
457 } IMAGEHLP_MODULE64_EX,*PIMAGEHLP_MODULE64_EX;
458
416459 typedef struct _IMAGEHLP_MODULE64W {
417460 DWORD SizeOfStruct;
418461 DWORD64 BaseOfImage;
......@@ -437,8 +480,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);
437480 WINBOOL TypeInfo;
438481 WINBOOL SourceIndexed;
439482 WINBOOL Publics;
483 DWORD MachineType;
484 DWORD Reserved;
440485 } IMAGEHLP_MODULEW64,*PIMAGEHLP_MODULEW64;
441486
487 typedef struct _IMAGEHLP_MODULEW64_EX {
488 IMAGEHLP_MODULEW64 Module;
489 DWORD RegionFlags;
490 } IMAGEHLP_MODULEW64_EX,*PIMAGEHLP_MODULEW64_EX;
491
442492#ifdef _IMAGEHLP64
443493#define IMAGEHLP_MODULE IMAGEHLP_MODULE64
444494#define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64
......@@ -1137,6 +1187,11 @@ typedef struct _SYMSRV_INDEX_INFOW {
11371187 ThreadInfoListStream = 17,
11381188 HandleOperationListStream = 18,
11391189 TokenStream = 19,
1190 JavaScriptDataStream = 20,
1191 SystemMemoryInfoStream = 21,
1192 ProcessVmCountersStream = 22,
1193 IptTraceStream = 23,
1194 ThreadNamesStream = 24,
11401195 ceStreamNull = 0x8000,
11411196 ceStreamSystemInfo = 0x8001,
11421197 ceStreamException = 0x8002,
......@@ -1283,6 +1338,25 @@ typedef struct _SYMSRV_INDEX_INFOW {
12831338 WINBOOL ClientPointers;
12841339 } MINIDUMP_EXCEPTION_INFORMATION64,*PMINIDUMP_EXCEPTION_INFORMATION64;
12851340
1341 typedef enum _MINIDUMP_HANDLE_OBJECT_INFORMATION_TYPE {
1342 MiniHandleObjectInformationNone,
1343 MiniThreadInformation1,
1344 MiniMutantInformation1,
1345 MiniMutantInformation2,
1346 MiniProcessInformation1,
1347 MiniProcessInformation2,
1348 MiniEventInformation1,
1349 MiniSectionInformation1,
1350 MiniSemaphoreInformation1,
1351 MiniHandleObjectInformationTypeMax
1352 } MINIDUMP_HANDLE_OBJECT_INFORMATION_TYPE;
1353
1354 typedef struct _MINIDUMP_HANDLE_OBJECT_INFORMATION {
1355 RVA NextInfoRva;
1356 ULONG32 InfoType;
1357 ULONG32 SizeOfInfo;
1358 } MINIDUMP_HANDLE_OBJECT_INFORMATION;
1359
12861360 typedef struct _MINIDUMP_HANDLE_DESCRIPTOR {
12871361 ULONG64 Handle;
12881362 RVA TypeNameRva;
......@@ -1376,12 +1450,20 @@ typedef struct _SYMSRV_INDEX_INFOW {
13761450 IoWriteAllCallback,
13771451 IoFinishCallback,
13781452 ReadMemoryFailureCallback,
1379 SecondaryFlagsCallback
1453 SecondaryFlagsCallback,
1454 IsProcessSnapshotCallback,
1455 VmStartCallback,
1456 VmQueryCallback,
1457 VmPreReadCallback,
1458 VmPostReadCallback
13801459 } MINIDUMP_CALLBACK_TYPE;
13811460
13821461 typedef struct _MINIDUMP_THREAD_CALLBACK {
13831462 ULONG ThreadId;
13841463 HANDLE ThreadHandle;
1464#if defined(__aarch64__)
1465 ULONG Pad;
1466#endif
13851467 CONTEXT Context;
13861468 ULONG SizeOfContext;
13871469 ULONG64 StackBase;
......@@ -1391,6 +1473,9 @@ typedef struct _SYMSRV_INDEX_INFOW {
13911473 typedef struct _MINIDUMP_THREAD_EX_CALLBACK {
13921474 ULONG ThreadId;
13931475 HANDLE ThreadHandle;
1476#if defined(__aarch64__)
1477 ULONG Pad;
1478#endif
13941479 CONTEXT Context;
13951480 ULONG SizeOfContext;
13961481 ULONG64 StackBase;
......@@ -1531,7 +1616,13 @@ typedef struct _MINIDUMP_MEMORY_INFO_LIST {
15311616 MiniDumpWithFullAuxiliaryState = 0x00008000,
15321617 MiniDumpWithPrivateWriteCopyMemory = 0x00010000,
15331618 MiniDumpIgnoreInaccessibleMemory = 0x00020000,
1534 MiniDumpWithTokenInformation = 0x00040000
1619 MiniDumpWithTokenInformation = 0x00040000,
1620 MiniDumpWithModuleHeaders = 0x00080000,
1621 MiniDumpFilterTriage = 0x00100000,
1622 MiniDumpWithAvxXStateContext = 0x00200000,
1623 MiniDumpWithIptTrace = 0x00400000,
1624 MiniDumpScanInaccessiblePartialPages = 0x00800000,
1625 MiniDumpValidTypeFlags = 0x00ffffff
15351626 } MINIDUMP_TYPE;
15361627
15371628#define MINIDUMP_THREAD_INFO_ERROR_THREAD 0x00000001
lib/libc/include/any-windows-any/psdk_inc/_ip_mreq1.h+9
......@@ -4,9 +4,18 @@
44 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
55 */
66
7/*
8 * Shared data types between winsock and winsock2
9 */
10
711#ifndef _MINGW_IP_MREQ1_H
812#define _MINGW_IP_MREQ1_H
913
1014#include <inaddr.h>
1115
16typedef struct ip_mreq {
17 struct in_addr imr_multiaddr;
18 struct in_addr imr_interface;
19} IP_MREQ, *PIP_MREQ;
20
1221#endif /* _MINGW_IP_MREQ1_H */
lib/libc/include/any-windows-any/psdk_inc/intrin-impl.h+119
......@@ -1424,6 +1424,123 @@ unsigned char _BitScanReverse64(unsigned __LONG32 *Index, unsigned __int64 Mask)
14241424#endif /* __INTRINSIC_PROLOG */
14251425
14261426#endif /* defined(__aarch64__) || define(_ARM64_) */
1427
1428#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
1429
1430#if __INTRINSIC_PROLOG(_bittest)
1431unsigned char _bittest(const __LONG32 *__a, __LONG32 __b);
1432#if !__has_builtin(_bittest)
1433__INTRINSICS_USEINLINE
1434unsigned char _bittest(const __LONG32 *__a, __LONG32 __b)
1435{
1436 return (*__a >> __b) & 1;
1437}
1438#endif
1439#define __INTRINSIC_DEFINED__bittest
1440#endif /* __INTRINSIC_PROLOG */
1441
1442#if __INTRINSIC_PROLOG(_bittestandset)
1443unsigned char _bittestandset(__LONG32 *__a, __LONG32 __b);
1444#if !__has_builtin(_bittestandset)
1445__INTRINSICS_USEINLINE
1446unsigned char _bittestandset(__LONG32 *__a, __LONG32 __b)
1447{
1448 unsigned char __v = (*__a >> __b) & 1;
1449 *__a |= 1UL << __b;
1450 return __v;
1451}
1452#endif
1453#define __INTRINSIC_DEFINED__bittestandset
1454#endif /* __INTRINSIC_PROLOG */
1455
1456#if __INTRINSIC_PROLOG(_bittestandreset)
1457unsigned char _bittestandreset(__LONG32 *__a, __LONG32 __b);
1458#if !__has_builtin(_bittestandreset)
1459__INTRINSICS_USEINLINE
1460unsigned char _bittestandreset(__LONG32 *__a, __LONG32 __b)
1461{
1462 unsigned char __v = (*__a >> __b) & 1;
1463 *__a &= ~(1UL << __b);
1464 return __v;
1465}
1466#endif
1467#define __INTRINSIC_DEFINED__bittestandreset
1468#endif /* __INTRINSIC_PROLOG */
1469
1470#if __INTRINSIC_PROLOG(_bittestandcomplement)
1471unsigned char _bittestandcomplement(__LONG32 *a, __LONG32 b);
1472#if !__has_builtin(_bittestandcomplement)
1473__INTRINSICS_USEINLINE
1474unsigned char _bittestandcomplement(__LONG32 *__a, __LONG32 __b)
1475{
1476 unsigned char __v = (*__a >> __b) & 1;
1477 *__a ^= 1UL << __b;
1478 return __v;
1479}
1480#endif
1481#define __INTRINSIC_DEFINED__bittestandcomplement
1482#endif /* __INTRINSIC_PROLOG */
1483
1484#endif /* defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) */
1485
1486#if defined(__aarch64__) || defined(_ARM64_)
1487
1488#if __INTRINSIC_PROLOG(_bittest64)
1489unsigned char _bittest64(const __int64 *__a, __int64 __b);
1490#if !__has_builtin(_bittest64)
1491__INTRINSICS_USEINLINE
1492unsigned char _bittest64(const __int64 *__a, __int64 __b)
1493{
1494 return (*__a >> __b) & 1;
1495}
1496#endif
1497#define __INTRINSIC_DEFINED__bittest64
1498#endif /* __INTRINSIC_PROLOG */
1499
1500#if __INTRINSIC_PROLOG(_bittestandset64)
1501unsigned char _bittestandset64(__int64 *__a, __int64 __b);
1502#if !__has_builtin(_bittestandset64)
1503__INTRINSICS_USEINLINE
1504unsigned char _bittestandset64(__int64 *__a, __int64 __b)
1505{
1506 unsigned char __v = (*__a >> __b) & 1;
1507 *__a |= 1ULL << __b;
1508 return __v;
1509}
1510#endif
1511#define __INTRINSIC_DEFINED__bittestandset64
1512#endif /* __INTRINSIC_PROLOG */
1513
1514#if __INTRINSIC_PROLOG(_bittestandreset64)
1515unsigned char _bittestandreset64(__int64 *__a, __int64 __b);
1516#if !__has_builtin(_bittestandreset64)
1517__INTRINSICS_USEINLINE
1518unsigned char _bittestandreset64(__int64 *__a, __int64 __b)
1519{
1520 unsigned char __v = (*__a >> __b) & 1;
1521 *__a &= ~(1ULL << __b);
1522 return __v;
1523}
1524#endif
1525#define __INTRINSIC_DEFINED__bittestandreset64
1526#endif /* __INTRINSIC_PROLOG */
1527
1528#if __INTRINSIC_PROLOG(_bittestandcomplement64)
1529unsigned char _bittestandcomplement64(__int64 *a, __int64 b);
1530#if !__has_builtin(_bittestandcomplement64)
1531__INTRINSICS_USEINLINE
1532unsigned char _bittestandcomplement64(__int64 *__a, __int64 __b)
1533{
1534 unsigned char __v = (*__a >> __b) & 1;
1535 *__a ^= 1ULL << __b;
1536 return __v;
1537}
1538#endif
1539#define __INTRINSIC_DEFINED__bittestandcomplement64
1540#endif /* __INTRINSIC_PROLOG */
1541
1542#endif /* defined(__aarch64__) || define(_ARM64_) */
1543
14271544/* ***************************************************** */
14281545
14291546#if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
......@@ -1906,6 +2023,7 @@ void __cpuid(int CPUInfo[4], int InfoType) {
19062023#define __INTRINSIC_DEFINED___cpuid
19072024#endif /* __INTRINSIC_PROLOG */
19082025
2026#if (!defined(__GNUC__) || __GNUC__ < 11)
19092027#if __INTRINSIC_PROLOG(__cpuidex)
19102028void __cpuidex(int CPUInfo[4], int, int);
19112029#if !__has_builtin(__cpuidex)
......@@ -1919,6 +2037,7 @@ void __cpuidex(int CPUInfo[4], int function_id, int subfunction_id) {
19192037#endif
19202038#define __INTRINSIC_DEFINED___cpuidex
19212039#endif /* __INTRINSIC_PROLOG */
2040#endif /* __GNUC__ < 11 */
19222041
19232042#if __INTRINSIC_PROLOG(__readmsr)
19242043__MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32);
lib/libc/include/any-windows-any/qedit.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/qedit.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/qedit.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/qnetwork.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/qnetwork.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/qnetwork.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/rdpencomapi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/rdpencomapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/rdpencomapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/regbag.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/regbag.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/regbag.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/relogger.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/relogger.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/relogger.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/rtworkq.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/rtworkq.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/rtworkq.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sal.h+4
......@@ -295,6 +295,10 @@
295295#define _Deref_out_range_(low, hi)
296296#define _Deref_inout_range_(low, hi)
297297#define _Struct_size_bytes_(size)
298#define _Deref_out_
299#define _Deref_out_opt_
300#define _Deref_opt_out_
301#define _Deref_opt_out_opt_
298302
299303/* Function annotations */
300304#define _Called_from_function_class_(name)
lib/libc/include/any-windows-any/sapi51.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/sapi51.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/sapi51.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sapi53.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/sapi53.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/sapi53.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sapi54.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/sapi54.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/sapi54.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sdkddkver.h+2-1
......@@ -144,8 +144,9 @@
144144#define NTDDI_WIN10_VB 0x0A000008
145145#define NTDDI_WIN10_MN 0x0A000009
146146#define NTDDI_WIN10_FE 0x0A00000A
147#define NTDDI_WIN10_CO 0x0A00000B
147148
148#define WDK_NTDDI_VERSION NTDDI_WIN10_FE
149#define WDK_NTDDI_VERSION NTDDI_WIN10_CO
149150
150151/* Version Fields in NTDDI_VERSION */
151152#define OSVERSION_MASK 0xFFFF0000U
lib/libc/include/any-windows-any/sensorsapi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/sensorsapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/sensorsapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/servprov.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/servprov.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/servprov.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/setjmp.h+5-3
......@@ -128,7 +128,9 @@ extern "C" {
128128 __MINGW_EXTENSION unsigned __int64 R14;
129129 __MINGW_EXTENSION unsigned __int64 R15;
130130 __MINGW_EXTENSION unsigned __int64 Rip;
131 __MINGW_EXTENSION unsigned __int64 Spare;
131 unsigned long MxCsr;
132 unsigned short FpCsr;
133 unsigned short Spare;
132134 SETJMP_FLOAT128 Xmm6;
133135 SETJMP_FLOAT128 Xmm7;
134136 SETJMP_FLOAT128 Xmm8;
......@@ -231,7 +233,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void);
231233# elif defined(__SEH__)
232234# if defined(__aarch64__) || defined(_ARM64_)
233235# define setjmp(BUF) _setjmp((BUF), __builtin_sponentry())
234# elif (__MINGW_GCC_VERSION < 40702)
236# elif (__MINGW_GCC_VERSION < 40702) && !defined(__clang__)
235237# define setjmp(BUF) _setjmp((BUF), mingw_getsp())
236238# else
237239# define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))
......@@ -244,7 +246,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void);
244246# else
245247# undef setjmp
246248# ifdef __SEH__
247# if (__MINGW_GCC_VERSION < 40702)
249# if (__MINGW_GCC_VERSION < 40702) && !defined(__clang__)
248250# define setjmp(BUF) _setjmpex((BUF), mingw_getsp())
249251# define setjmpex(BUF) _setjmpex((BUF), mingw_getsp())
250252# else
lib/libc/include/any-windows-any/shldisp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/shldisp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/shldisp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/shobjidl.h+139-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/shobjidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/shobjidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -1562,6 +1562,14 @@ interface IDesktopGadget;
15621562#endif /* __cplusplus */
15631563#endif
15641564
1565#ifndef __IVirtualDesktopManager_FWD_DEFINED__
1566#define __IVirtualDesktopManager_FWD_DEFINED__
1567typedef interface IVirtualDesktopManager IVirtualDesktopManager;
1568#ifdef __cplusplus
1569interface IVirtualDesktopManager;
1570#endif /* __cplusplus */
1571#endif
1572
15651573#ifndef __IDesktopWallpaper_FWD_DEFINED__
15661574#define __IDesktopWallpaper_FWD_DEFINED__
15671575typedef interface IDesktopWallpaper IDesktopWallpaper;
......@@ -2246,6 +2254,15 @@ typedef struct ExecuteFolder ExecuteFolder;
22462254#endif /* defined __cplusplus */
22472255#endif /* defined __ExecuteFolder_FWD_DEFINED__ */
22482256
2257#ifndef __VirtualDesktopManager_FWD_DEFINED__
2258#define __VirtualDesktopManager_FWD_DEFINED__
2259#ifdef __cplusplus
2260typedef class VirtualDesktopManager VirtualDesktopManager;
2261#else
2262typedef struct VirtualDesktopManager VirtualDesktopManager;
2263#endif /* defined __cplusplus */
2264#endif /* defined __VirtualDesktopManager_FWD_DEFINED__ */
2265
22492266#ifndef __IAssocHandlerInvoker_FWD_DEFINED__
22502267#define __IAssocHandlerInvoker_FWD_DEFINED__
22512268typedef interface IAssocHandlerInvoker IAssocHandlerInvoker;
......@@ -30555,6 +30572,114 @@ static FORCEINLINE HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR
3055530572#endif /* __IDesktopGadget_INTERFACE_DEFINED__ */
3055630573
3055730574
30575#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD)
30576/*****************************************************************************
30577 * IVirtualDesktopManager interface
30578 */
30579#ifndef __IVirtualDesktopManager_INTERFACE_DEFINED__
30580#define __IVirtualDesktopManager_INTERFACE_DEFINED__
30581
30582DEFINE_GUID(IID_IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b);
30583#if defined(__cplusplus) && !defined(CINTERFACE)
30584MIDL_INTERFACE("a5cd92ff-29be-454c-8d04-d82879fb3f1b")
30585IVirtualDesktopManager : public IUnknown
30586{
30587 virtual HRESULT STDMETHODCALLTYPE IsWindowOnCurrentVirtualDesktop(
30588 HWND topLevelWindow,
30589 WINBOOL *onCurrentDesktop) = 0;
30590
30591 virtual HRESULT STDMETHODCALLTYPE GetWindowDesktopId(
30592 HWND topLevelWindow,
30593 GUID *desktopId) = 0;
30594
30595 virtual HRESULT STDMETHODCALLTYPE MoveWindowToDesktop(
30596 HWND topLevelWindow,
30597 REFGUID desktopId) = 0;
30598
30599};
30600#ifdef __CRT_UUID_DECL
30601__CRT_UUID_DECL(IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b)
30602#endif
30603#else
30604typedef struct IVirtualDesktopManagerVtbl {
30605 BEGIN_INTERFACE
30606
30607 /*** IUnknown methods ***/
30608 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30609 IVirtualDesktopManager *This,
30610 REFIID riid,
30611 void **ppvObject);
30612
30613 ULONG (STDMETHODCALLTYPE *AddRef)(
30614 IVirtualDesktopManager *This);
30615
30616 ULONG (STDMETHODCALLTYPE *Release)(
30617 IVirtualDesktopManager *This);
30618
30619 /*** IVirtualDesktopManager methods ***/
30620 HRESULT (STDMETHODCALLTYPE *IsWindowOnCurrentVirtualDesktop)(
30621 IVirtualDesktopManager *This,
30622 HWND topLevelWindow,
30623 WINBOOL *onCurrentDesktop);
30624
30625 HRESULT (STDMETHODCALLTYPE *GetWindowDesktopId)(
30626 IVirtualDesktopManager *This,
30627 HWND topLevelWindow,
30628 GUID *desktopId);
30629
30630 HRESULT (STDMETHODCALLTYPE *MoveWindowToDesktop)(
30631 IVirtualDesktopManager *This,
30632 HWND topLevelWindow,
30633 REFGUID desktopId);
30634
30635 END_INTERFACE
30636} IVirtualDesktopManagerVtbl;
30637
30638interface IVirtualDesktopManager {
30639 CONST_VTBL IVirtualDesktopManagerVtbl* lpVtbl;
30640};
30641
30642#ifdef COBJMACROS
30643#ifndef WIDL_C_INLINE_WRAPPERS
30644/*** IUnknown methods ***/
30645#define IVirtualDesktopManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30646#define IVirtualDesktopManager_AddRef(This) (This)->lpVtbl->AddRef(This)
30647#define IVirtualDesktopManager_Release(This) (This)->lpVtbl->Release(This)
30648/*** IVirtualDesktopManager methods ***/
30649#define IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop) (This)->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop)
30650#define IVirtualDesktopManager_GetWindowDesktopId(This,topLevelWindow,desktopId) (This)->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId)
30651#define IVirtualDesktopManager_MoveWindowToDesktop(This,topLevelWindow,desktopId) (This)->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId)
30652#else
30653/*** IUnknown methods ***/
30654static FORCEINLINE HRESULT IVirtualDesktopManager_QueryInterface(IVirtualDesktopManager* This,REFIID riid,void **ppvObject) {
30655 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30656}
30657static FORCEINLINE ULONG IVirtualDesktopManager_AddRef(IVirtualDesktopManager* This) {
30658 return This->lpVtbl->AddRef(This);
30659}
30660static FORCEINLINE ULONG IVirtualDesktopManager_Release(IVirtualDesktopManager* This) {
30661 return This->lpVtbl->Release(This);
30662}
30663/*** IVirtualDesktopManager methods ***/
30664static FORCEINLINE HRESULT IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,WINBOOL *onCurrentDesktop) {
30665 return This->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop);
30666}
30667static FORCEINLINE HRESULT IVirtualDesktopManager_GetWindowDesktopId(IVirtualDesktopManager* This,HWND topLevelWindow,GUID *desktopId) {
30668 return This->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId);
30669}
30670static FORCEINLINE HRESULT IVirtualDesktopManager_MoveWindowToDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,REFGUID desktopId) {
30671 return This->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId);
30672}
30673#endif
30674#endif
30675
30676#endif
30677
30678
30679#endif /* __IVirtualDesktopManager_INTERFACE_DEFINED__ */
30680
30681#endif
30682
3055830683#if NTDDI_VERSION >= NTDDI_WIN8
3055930684/*****************************************************************************
3056030685 * IDesktopWallpaper interface
......@@ -32797,6 +32922,19 @@ __CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,
3279732922#endif
3279832923#endif
3279932924
32925/*****************************************************************************
32926 * VirtualDesktopManager coclass
32927 */
32928
32929DEFINE_GUID(CLSID_VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a);
32930
32931#ifdef __cplusplus
32932class DECLSPEC_UUID("aa509086-5ca9-4c25-8f95-589d3c07b48a") VirtualDesktopManager;
32933#ifdef __CRT_UUID_DECL
32934__CRT_UUID_DECL(VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a)
32935#endif
32936#endif
32937
3280032938#endif /* __ShellObjects_LIBRARY_DEFINED__ */
3280132939
3280232940#if NTDDI_VERSION >= NTDDI_VISTA
lib/libc/include/any-windows-any/shtypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/shtypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/shtypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/spatialaudioclient.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/spatialaudioclient.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/spatialaudioclient.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/spellcheck.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/spellcheck.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/spellcheck.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/stdio.h+17-3
......@@ -720,6 +720,8 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li
720720 int __cdecl setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size);
721721#ifdef _UCRT
722722 __mingw_ovr
723 __MINGW_ATTRIB_PURE
724 __attribute__((__format__ (__MINGW_PRINTF_FORMAT, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
723725 int __cdecl _scprintf(const char * __restrict__ _Format,...)
724726 {
725727 __builtin_va_list __ap;
......@@ -730,6 +732,7 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li
730732 return __ret;
731733 }
732734 __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN
735 __attribute__((__format__ (__MINGW_SCANF_FORMAT, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
733736 int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...)
734737 {
735738 __builtin_va_list __ap;
......@@ -740,9 +743,15 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li
740743 return __ret;
741744 }
742745#else
746 __MINGW_ATTRIB_PURE
747 __attribute__((__format__ (ms_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
743748 _CRTIMP int __cdecl _scprintf(const char * __restrict__ _Format,...);
749 __attribute__((__format__ (ms_scanf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
744750 _CRTIMP int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
745751#endif
752 __MINGW_ATTRIB_PURE
753 __attribute__((__format__ (ms_printf, 1, 0))) __MINGW_ATTRIB_NONNULL(1)
754 _CRTIMP int __cdecl _vscprintf(const char * __restrict__ _Format,va_list _ArgList);
746755 FILE *__cdecl tmpfile(void) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
747756 char *__cdecl tmpnam(char *_Buffer);
748757 int __cdecl ungetc(int _Ch,FILE *_File);
......@@ -844,6 +853,8 @@ char * tmpnam(char * __dst)
844853#if __MINGW_FORTIFY_LEVEL > 0
845854 __mingw_bos_ptr_chk_warn(__stream, __n, 1);
846855#endif
856 if (__builtin_constant_p(__n) && __n == 0)
857 return _vscprintf(__format, __local_argv);
847858 return __ms_vsnprintf (__stream, __n, __format, __local_argv);
848859 }
849860
......@@ -858,6 +869,8 @@ __attribute__((__format__ (ms_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
858869int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, ...)
859870{
860871 __mingw_bos_ptr_chk_warn(__stream, __n, 1);
872 if (__builtin_constant_p(__n) && __n == 0)
873 return _scprintf(__format, __builtin_va_arg_pack());
861874 return __ms_snprintf(__stream, __n, __format, __builtin_va_arg_pack());
862875}
863876
......@@ -869,7 +882,10 @@ int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict_
869882{
870883 int __retval;
871884 __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
872 __retval = __ms_vsnprintf (__stream, __n, __format, __local_argv);
885 if (__builtin_constant_p(__n) && __n == 0)
886 __retval = _vscprintf(__format, __local_argv);
887 else
888 __retval = __ms_vsnprintf (__stream, __n, __format, __local_argv);
873889 __builtin_va_end( __local_argv );
874890 return __retval;
875891}
......@@ -921,8 +937,6 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format,
921937#endif /* _UCRT */
922938#endif /* __USE_MINGW_ANSI_STDIO */
923939
924 _CRTIMP int __cdecl _vscprintf(const char * __restrict__ _Format,va_list _ArgList);
925
926940 _CRTIMP int __cdecl _set_printf_count_output(int _Value);
927941 _CRTIMP int __cdecl _get_printf_count_output(void);
928942
lib/libc/include/any-windows-any/strmif.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/strmif.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/strmif.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/structuredquerycondition.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/structuredquerycondition.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/structuredquerycondition.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sys/timeb.h+10
......@@ -86,6 +86,16 @@ extern "C" {
8686#define _ftime _ftime32
8787#endif
8888
89struct _timespec32 {
90 __time32_t tv_sec;
91 long tv_nsec;
92};
93
94struct _timespec64 {
95 __time64_t tv_sec;
96 long tv_nsec;
97};
98
8999#ifndef _TIMESPEC_DEFINED
90100#define _TIMESPEC_DEFINED
91101struct timespec {
lib/libc/include/any-windows-any/taskschd.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/taskschd.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/taskschd.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/textstor.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/textstor.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/textstor.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/thumbcache.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/thumbcache.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/thumbcache.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/time.h+19-3
......@@ -21,6 +21,9 @@
2121#endif /* _SECIMP */
2222#endif /* defined(_CRTBLD) || defined(__LIBMSVCRT__) */
2323
24/* Adding timespec definition. */
25#include <sys/timeb.h>
26
2427#pragma pack(push,_CRT_PACKING)
2528
2629#ifdef __cplusplus
......@@ -109,6 +112,10 @@ extern "C" {
109112
110113#define CLOCKS_PER_SEC 1000
111114
115#ifdef _UCRT
116#define TIME_UTC 1
117#endif
118
112119#ifdef _UCRT
113120 _CRTIMP int *__cdecl __daylight(void);
114121 _CRTIMP long *__cdecl __dstbias(void);
......@@ -146,6 +153,9 @@ extern "C" {
146153 _CRTIMP char *__cdecl _strtime(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
147154 _SECIMP errno_t __cdecl _strtime_s (char *_Buf ,size_t _SizeInBytes);
148155 _CRTIMP __time32_t __cdecl _time32(__time32_t *_Time);
156#ifdef _UCRT
157 _CRTIMP int __cdecl _timespec32_get(struct _timespec32 *_Ts, int _Base);
158#endif
149159 _CRTIMP __time32_t __cdecl _mktime32(struct tm *_Tm);
150160 _CRTIMP __time32_t __cdecl _mkgmtime32(struct tm *_Tm);
151161
......@@ -169,6 +179,9 @@ extern "C" {
169179 _CRTIMP __time64_t __cdecl _mktime64(struct tm *_Tm);
170180 _CRTIMP __time64_t __cdecl _mkgmtime64(struct tm *_Tm);
171181 _CRTIMP __time64_t __cdecl _time64(__time64_t *_Time);
182#ifdef _UCRT
183 _CRTIMP int __cdecl _timespec64_get(struct _timespec64 *_Ts, int _Base);
184#endif
172185 unsigned __cdecl _getsystime(struct tm *_Tm);
173186 unsigned __cdecl _setsystime(struct tm *_Tm,unsigned _MilliSec);
174187
......@@ -217,6 +230,9 @@ extern "C" {
217230
218231#ifdef _USE_32BIT_TIME_T
219232static __inline time_t __CRTDECL time(time_t *_Time) { return _time32(_Time); }
233#ifdef _UCRT
234static __inline int __CRTDECL timespec_get(struct timespec* _Ts, int _Base) { return _timespec32_get((struct _timespec32*)_Ts, _Base); }
235#endif
220236static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime32(_Time1,_Time2); }
221237static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime32(_Time); }
222238static __inline errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime32_s(_Tm,_Time); }
......@@ -228,6 +244,9 @@ static __inline time_t __CRTDECL mktime(struct tm *_Tm) { return _mktime32(_Tm);
228244static __inline time_t __CRTDECL _mkgmtime(struct tm *_Tm) { return _mkgmtime32(_Tm); }
229245#else
230246static __inline time_t __CRTDECL time(time_t *_Time) { return _time64(_Time); }
247#ifdef _UCRT
248static __inline int __CRTDECL timespec_get(struct timespec* _Ts, int _Base) { return _timespec64_get((struct _timespec64*)_Ts, _Base); }
249#endif
231250static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); }
232251static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime64(_Time); }
233252static __inline errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime64_s(_Tm,_Time); }
......@@ -296,9 +315,6 @@ __forceinline char *__CRTDECL asctime_r(const struct tm *_Tm, char * _Str) {
296315}
297316#endif
298317
299/* Adding timespec definition. */
300#include <sys/timeb.h>
301
302318/* POSIX 2008 says clock_gettime and timespec are defined in time.h header,
303319 but other systems - like Linux, Solaris, etc - tend to declare such
304320 recent extensions only if the following guards are met. */
lib/libc/include/any-windows-any/timeapi.h created+12
......@@ -0,0 +1,12 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_TIMEAPI
7#define _INC_TIMEAPI
8
9/* timeBeginPeriod and al are defined in mmsystem.h */
10#include <mmsystem.h>
11
12#endif
lib/libc/include/any-windows-any/tlbref.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/tlbref.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/tlbref.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/tlogstg.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/tlogstg.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/tlogstg.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/tpcshrd.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/tpcshrd.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/tpcshrd.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/tsvirtualchannels.h created+1060
......@@ -0,0 +1,1060 @@
1/*** Autogenerated by WIDL 7.0 from include/tsvirtualchannels.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __tsvirtualchannels_h__
17#define __tsvirtualchannels_h__
18
19/* Forward declarations */
20
21#ifndef __IWTSPlugin_FWD_DEFINED__
22#define __IWTSPlugin_FWD_DEFINED__
23typedef interface IWTSPlugin IWTSPlugin;
24#ifdef __cplusplus
25interface IWTSPlugin;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IWTSListener_FWD_DEFINED__
30#define __IWTSListener_FWD_DEFINED__
31typedef interface IWTSListener IWTSListener;
32#ifdef __cplusplus
33interface IWTSListener;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IWTSListenerCallback_FWD_DEFINED__
38#define __IWTSListenerCallback_FWD_DEFINED__
39typedef interface IWTSListenerCallback IWTSListenerCallback;
40#ifdef __cplusplus
41interface IWTSListenerCallback;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IWTSVirtualChannelCallback_FWD_DEFINED__
46#define __IWTSVirtualChannelCallback_FWD_DEFINED__
47typedef interface IWTSVirtualChannelCallback IWTSVirtualChannelCallback;
48#ifdef __cplusplus
49interface IWTSVirtualChannelCallback;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IWTSVirtualChannelManager_FWD_DEFINED__
54#define __IWTSVirtualChannelManager_FWD_DEFINED__
55typedef interface IWTSVirtualChannelManager IWTSVirtualChannelManager;
56#ifdef __cplusplus
57interface IWTSVirtualChannelManager;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IWTSVirtualChannel_FWD_DEFINED__
62#define __IWTSVirtualChannel_FWD_DEFINED__
63typedef interface IWTSVirtualChannel IWTSVirtualChannel;
64#ifdef __cplusplus
65interface IWTSVirtualChannel;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IWTSPluginServiceProvider_FWD_DEFINED__
70#define __IWTSPluginServiceProvider_FWD_DEFINED__
71typedef interface IWTSPluginServiceProvider IWTSPluginServiceProvider;
72#ifdef __cplusplus
73interface IWTSPluginServiceProvider;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IWTSBitmapRenderer_FWD_DEFINED__
78#define __IWTSBitmapRenderer_FWD_DEFINED__
79typedef interface IWTSBitmapRenderer IWTSBitmapRenderer;
80#ifdef __cplusplus
81interface IWTSBitmapRenderer;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IWTSBitmapRendererCallback_FWD_DEFINED__
86#define __IWTSBitmapRendererCallback_FWD_DEFINED__
87typedef interface IWTSBitmapRendererCallback IWTSBitmapRendererCallback;
88#ifdef __cplusplus
89interface IWTSBitmapRendererCallback;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IWTSBitmapRenderService_FWD_DEFINED__
94#define __IWTSBitmapRenderService_FWD_DEFINED__
95typedef interface IWTSBitmapRenderService IWTSBitmapRenderService;
96#ifdef __cplusplus
97interface IWTSBitmapRenderService;
98#endif /* __cplusplus */
99#endif
100
101/* Headers for imported files */
102
103#include <unknwn.h>
104#include <oaidl.h>
105
106#ifdef __cplusplus
107extern "C" {
108#endif
109
110#include <winapifamily.h>
111#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
112#ifndef __IWTSPlugin_FWD_DEFINED__
113#define __IWTSPlugin_FWD_DEFINED__
114typedef interface IWTSPlugin IWTSPlugin;
115#ifdef __cplusplus
116interface IWTSPlugin;
117#endif /* __cplusplus */
118#endif
119
120#ifndef __IWTSListener_FWD_DEFINED__
121#define __IWTSListener_FWD_DEFINED__
122typedef interface IWTSListener IWTSListener;
123#ifdef __cplusplus
124interface IWTSListener;
125#endif /* __cplusplus */
126#endif
127
128#ifndef __IWTSListenerCallback_FWD_DEFINED__
129#define __IWTSListenerCallback_FWD_DEFINED__
130typedef interface IWTSListenerCallback IWTSListenerCallback;
131#ifdef __cplusplus
132interface IWTSListenerCallback;
133#endif /* __cplusplus */
134#endif
135
136#ifndef __IWTSVirtualChannelCallback_FWD_DEFINED__
137#define __IWTSVirtualChannelCallback_FWD_DEFINED__
138typedef interface IWTSVirtualChannelCallback IWTSVirtualChannelCallback;
139#ifdef __cplusplus
140interface IWTSVirtualChannelCallback;
141#endif /* __cplusplus */
142#endif
143
144#ifndef __IWTSVirtualChannelManager_FWD_DEFINED__
145#define __IWTSVirtualChannelManager_FWD_DEFINED__
146typedef interface IWTSVirtualChannelManager IWTSVirtualChannelManager;
147#ifdef __cplusplus
148interface IWTSVirtualChannelManager;
149#endif /* __cplusplus */
150#endif
151
152#ifndef __IWTSVirtualChannel_FWD_DEFINED__
153#define __IWTSVirtualChannel_FWD_DEFINED__
154typedef interface IWTSVirtualChannel IWTSVirtualChannel;
155#ifdef __cplusplus
156interface IWTSVirtualChannel;
157#endif /* __cplusplus */
158#endif
159
160#define WTS_PROPERTY_DEFAULT_CONFIG L"DefaultConfig"
161#define E_MAPPEDRENDERER_SHUTDOWN HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
162#define E_DUPLICATE_WINDOW_HINT HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)
163/*****************************************************************************
164 * IWTSPlugin interface
165 */
166#ifndef __IWTSPlugin_INTERFACE_DEFINED__
167#define __IWTSPlugin_INTERFACE_DEFINED__
168
169DEFINE_GUID(IID_IWTSPlugin, 0xa1230201, 0x1439, 0x4e62, 0xa4,0x14, 0x19,0x0d,0x0a,0xc3,0xd4,0x0e);
170#if defined(__cplusplus) && !defined(CINTERFACE)
171MIDL_INTERFACE("a1230201-1439-4e62-a414-190d0ac3d40e")
172IWTSPlugin : public IUnknown
173{
174 virtual HRESULT STDMETHODCALLTYPE Initialize(
175 IWTSVirtualChannelManager *pChannelMgr) = 0;
176
177 virtual HRESULT STDMETHODCALLTYPE Connected(
178 ) = 0;
179
180 virtual HRESULT STDMETHODCALLTYPE Disconnected(
181 DWORD dwDisconnectCode) = 0;
182
183 virtual HRESULT STDMETHODCALLTYPE Terminated(
184 ) = 0;
185
186};
187#ifdef __CRT_UUID_DECL
188__CRT_UUID_DECL(IWTSPlugin, 0xa1230201, 0x1439, 0x4e62, 0xa4,0x14, 0x19,0x0d,0x0a,0xc3,0xd4,0x0e)
189#endif
190#else
191typedef struct IWTSPluginVtbl {
192 BEGIN_INTERFACE
193
194 /*** IUnknown methods ***/
195 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
196 IWTSPlugin *This,
197 REFIID riid,
198 void **ppvObject);
199
200 ULONG (STDMETHODCALLTYPE *AddRef)(
201 IWTSPlugin *This);
202
203 ULONG (STDMETHODCALLTYPE *Release)(
204 IWTSPlugin *This);
205
206 /*** IWTSPlugin methods ***/
207 HRESULT (STDMETHODCALLTYPE *Initialize)(
208 IWTSPlugin *This,
209 IWTSVirtualChannelManager *pChannelMgr);
210
211 HRESULT (STDMETHODCALLTYPE *Connected)(
212 IWTSPlugin *This);
213
214 HRESULT (STDMETHODCALLTYPE *Disconnected)(
215 IWTSPlugin *This,
216 DWORD dwDisconnectCode);
217
218 HRESULT (STDMETHODCALLTYPE *Terminated)(
219 IWTSPlugin *This);
220
221 END_INTERFACE
222} IWTSPluginVtbl;
223
224interface IWTSPlugin {
225 CONST_VTBL IWTSPluginVtbl* lpVtbl;
226};
227
228#ifdef COBJMACROS
229#ifndef WIDL_C_INLINE_WRAPPERS
230/*** IUnknown methods ***/
231#define IWTSPlugin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
232#define IWTSPlugin_AddRef(This) (This)->lpVtbl->AddRef(This)
233#define IWTSPlugin_Release(This) (This)->lpVtbl->Release(This)
234/*** IWTSPlugin methods ***/
235#define IWTSPlugin_Initialize(This,pChannelMgr) (This)->lpVtbl->Initialize(This,pChannelMgr)
236#define IWTSPlugin_Connected(This) (This)->lpVtbl->Connected(This)
237#define IWTSPlugin_Disconnected(This,dwDisconnectCode) (This)->lpVtbl->Disconnected(This,dwDisconnectCode)
238#define IWTSPlugin_Terminated(This) (This)->lpVtbl->Terminated(This)
239#else
240/*** IUnknown methods ***/
241static FORCEINLINE HRESULT IWTSPlugin_QueryInterface(IWTSPlugin* This,REFIID riid,void **ppvObject) {
242 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
243}
244static FORCEINLINE ULONG IWTSPlugin_AddRef(IWTSPlugin* This) {
245 return This->lpVtbl->AddRef(This);
246}
247static FORCEINLINE ULONG IWTSPlugin_Release(IWTSPlugin* This) {
248 return This->lpVtbl->Release(This);
249}
250/*** IWTSPlugin methods ***/
251static FORCEINLINE HRESULT IWTSPlugin_Initialize(IWTSPlugin* This,IWTSVirtualChannelManager *pChannelMgr) {
252 return This->lpVtbl->Initialize(This,pChannelMgr);
253}
254static FORCEINLINE HRESULT IWTSPlugin_Connected(IWTSPlugin* This) {
255 return This->lpVtbl->Connected(This);
256}
257static FORCEINLINE HRESULT IWTSPlugin_Disconnected(IWTSPlugin* This,DWORD dwDisconnectCode) {
258 return This->lpVtbl->Disconnected(This,dwDisconnectCode);
259}
260static FORCEINLINE HRESULT IWTSPlugin_Terminated(IWTSPlugin* This) {
261 return This->lpVtbl->Terminated(This);
262}
263#endif
264#endif
265
266#endif
267
268
269#endif /* __IWTSPlugin_INTERFACE_DEFINED__ */
270
271/*****************************************************************************
272 * IWTSListener interface
273 */
274#ifndef __IWTSListener_INTERFACE_DEFINED__
275#define __IWTSListener_INTERFACE_DEFINED__
276
277DEFINE_GUID(IID_IWTSListener, 0xa1230206, 0x9a39, 0x4d58, 0x86,0x74, 0xcd,0xb4,0xdf,0xf4,0xe7,0x3b);
278#if defined(__cplusplus) && !defined(CINTERFACE)
279MIDL_INTERFACE("a1230206-9a39-4d58-8674-cdb4dff4e73b")
280IWTSListener : public IUnknown
281{
282 virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
283 IPropertyBag **ppPropertyBag) = 0;
284
285};
286#ifdef __CRT_UUID_DECL
287__CRT_UUID_DECL(IWTSListener, 0xa1230206, 0x9a39, 0x4d58, 0x86,0x74, 0xcd,0xb4,0xdf,0xf4,0xe7,0x3b)
288#endif
289#else
290typedef struct IWTSListenerVtbl {
291 BEGIN_INTERFACE
292
293 /*** IUnknown methods ***/
294 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
295 IWTSListener *This,
296 REFIID riid,
297 void **ppvObject);
298
299 ULONG (STDMETHODCALLTYPE *AddRef)(
300 IWTSListener *This);
301
302 ULONG (STDMETHODCALLTYPE *Release)(
303 IWTSListener *This);
304
305 /*** IWTSListener methods ***/
306 HRESULT (STDMETHODCALLTYPE *GetConfiguration)(
307 IWTSListener *This,
308 IPropertyBag **ppPropertyBag);
309
310 END_INTERFACE
311} IWTSListenerVtbl;
312
313interface IWTSListener {
314 CONST_VTBL IWTSListenerVtbl* lpVtbl;
315};
316
317#ifdef COBJMACROS
318#ifndef WIDL_C_INLINE_WRAPPERS
319/*** IUnknown methods ***/
320#define IWTSListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
321#define IWTSListener_AddRef(This) (This)->lpVtbl->AddRef(This)
322#define IWTSListener_Release(This) (This)->lpVtbl->Release(This)
323/*** IWTSListener methods ***/
324#define IWTSListener_GetConfiguration(This,ppPropertyBag) (This)->lpVtbl->GetConfiguration(This,ppPropertyBag)
325#else
326/*** IUnknown methods ***/
327static FORCEINLINE HRESULT IWTSListener_QueryInterface(IWTSListener* This,REFIID riid,void **ppvObject) {
328 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
329}
330static FORCEINLINE ULONG IWTSListener_AddRef(IWTSListener* This) {
331 return This->lpVtbl->AddRef(This);
332}
333static FORCEINLINE ULONG IWTSListener_Release(IWTSListener* This) {
334 return This->lpVtbl->Release(This);
335}
336/*** IWTSListener methods ***/
337static FORCEINLINE HRESULT IWTSListener_GetConfiguration(IWTSListener* This,IPropertyBag **ppPropertyBag) {
338 return This->lpVtbl->GetConfiguration(This,ppPropertyBag);
339}
340#endif
341#endif
342
343#endif
344
345
346#endif /* __IWTSListener_INTERFACE_DEFINED__ */
347
348/*****************************************************************************
349 * IWTSListenerCallback interface
350 */
351#ifndef __IWTSListenerCallback_INTERFACE_DEFINED__
352#define __IWTSListenerCallback_INTERFACE_DEFINED__
353
354DEFINE_GUID(IID_IWTSListenerCallback, 0xa1230203, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
355#if defined(__cplusplus) && !defined(CINTERFACE)
356MIDL_INTERFACE("a1230203-d6a7-11d8-b9fd-000bdbd1f198")
357IWTSListenerCallback : public IUnknown
358{
359 virtual HRESULT STDMETHODCALLTYPE OnNewChannelConnection(
360 IWTSVirtualChannel *pChannel,
361 BSTR data,
362 WINBOOL *pbAccept,
363 IWTSVirtualChannelCallback **ppCallback) = 0;
364
365};
366#ifdef __CRT_UUID_DECL
367__CRT_UUID_DECL(IWTSListenerCallback, 0xa1230203, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
368#endif
369#else
370typedef struct IWTSListenerCallbackVtbl {
371 BEGIN_INTERFACE
372
373 /*** IUnknown methods ***/
374 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
375 IWTSListenerCallback *This,
376 REFIID riid,
377 void **ppvObject);
378
379 ULONG (STDMETHODCALLTYPE *AddRef)(
380 IWTSListenerCallback *This);
381
382 ULONG (STDMETHODCALLTYPE *Release)(
383 IWTSListenerCallback *This);
384
385 /*** IWTSListenerCallback methods ***/
386 HRESULT (STDMETHODCALLTYPE *OnNewChannelConnection)(
387 IWTSListenerCallback *This,
388 IWTSVirtualChannel *pChannel,
389 BSTR data,
390 WINBOOL *pbAccept,
391 IWTSVirtualChannelCallback **ppCallback);
392
393 END_INTERFACE
394} IWTSListenerCallbackVtbl;
395
396interface IWTSListenerCallback {
397 CONST_VTBL IWTSListenerCallbackVtbl* lpVtbl;
398};
399
400#ifdef COBJMACROS
401#ifndef WIDL_C_INLINE_WRAPPERS
402/*** IUnknown methods ***/
403#define IWTSListenerCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
404#define IWTSListenerCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
405#define IWTSListenerCallback_Release(This) (This)->lpVtbl->Release(This)
406/*** IWTSListenerCallback methods ***/
407#define IWTSListenerCallback_OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback) (This)->lpVtbl->OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback)
408#else
409/*** IUnknown methods ***/
410static FORCEINLINE HRESULT IWTSListenerCallback_QueryInterface(IWTSListenerCallback* This,REFIID riid,void **ppvObject) {
411 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
412}
413static FORCEINLINE ULONG IWTSListenerCallback_AddRef(IWTSListenerCallback* This) {
414 return This->lpVtbl->AddRef(This);
415}
416static FORCEINLINE ULONG IWTSListenerCallback_Release(IWTSListenerCallback* This) {
417 return This->lpVtbl->Release(This);
418}
419/*** IWTSListenerCallback methods ***/
420static FORCEINLINE HRESULT IWTSListenerCallback_OnNewChannelConnection(IWTSListenerCallback* This,IWTSVirtualChannel *pChannel,BSTR data,WINBOOL *pbAccept,IWTSVirtualChannelCallback **ppCallback) {
421 return This->lpVtbl->OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback);
422}
423#endif
424#endif
425
426#endif
427
428
429#endif /* __IWTSListenerCallback_INTERFACE_DEFINED__ */
430
431/*****************************************************************************
432 * IWTSVirtualChannelCallback interface
433 */
434#ifndef __IWTSVirtualChannelCallback_INTERFACE_DEFINED__
435#define __IWTSVirtualChannelCallback_INTERFACE_DEFINED__
436
437DEFINE_GUID(IID_IWTSVirtualChannelCallback, 0xa1230204, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
438#if defined(__cplusplus) && !defined(CINTERFACE)
439MIDL_INTERFACE("a1230204-d6a7-11d8-b9fd-000bdbd1f198")
440IWTSVirtualChannelCallback : public IUnknown
441{
442 virtual HRESULT STDMETHODCALLTYPE OnDataReceived(
443 ULONG cbSize,
444 BYTE *pBuffer) = 0;
445
446 virtual HRESULT STDMETHODCALLTYPE OnClose(
447 ) = 0;
448
449};
450#ifdef __CRT_UUID_DECL
451__CRT_UUID_DECL(IWTSVirtualChannelCallback, 0xa1230204, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
452#endif
453#else
454typedef struct IWTSVirtualChannelCallbackVtbl {
455 BEGIN_INTERFACE
456
457 /*** IUnknown methods ***/
458 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
459 IWTSVirtualChannelCallback *This,
460 REFIID riid,
461 void **ppvObject);
462
463 ULONG (STDMETHODCALLTYPE *AddRef)(
464 IWTSVirtualChannelCallback *This);
465
466 ULONG (STDMETHODCALLTYPE *Release)(
467 IWTSVirtualChannelCallback *This);
468
469 /*** IWTSVirtualChannelCallback methods ***/
470 HRESULT (STDMETHODCALLTYPE *OnDataReceived)(
471 IWTSVirtualChannelCallback *This,
472 ULONG cbSize,
473 BYTE *pBuffer);
474
475 HRESULT (STDMETHODCALLTYPE *OnClose)(
476 IWTSVirtualChannelCallback *This);
477
478 END_INTERFACE
479} IWTSVirtualChannelCallbackVtbl;
480
481interface IWTSVirtualChannelCallback {
482 CONST_VTBL IWTSVirtualChannelCallbackVtbl* lpVtbl;
483};
484
485#ifdef COBJMACROS
486#ifndef WIDL_C_INLINE_WRAPPERS
487/*** IUnknown methods ***/
488#define IWTSVirtualChannelCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
489#define IWTSVirtualChannelCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
490#define IWTSVirtualChannelCallback_Release(This) (This)->lpVtbl->Release(This)
491/*** IWTSVirtualChannelCallback methods ***/
492#define IWTSVirtualChannelCallback_OnDataReceived(This,cbSize,pBuffer) (This)->lpVtbl->OnDataReceived(This,cbSize,pBuffer)
493#define IWTSVirtualChannelCallback_OnClose(This) (This)->lpVtbl->OnClose(This)
494#else
495/*** IUnknown methods ***/
496static FORCEINLINE HRESULT IWTSVirtualChannelCallback_QueryInterface(IWTSVirtualChannelCallback* This,REFIID riid,void **ppvObject) {
497 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
498}
499static FORCEINLINE ULONG IWTSVirtualChannelCallback_AddRef(IWTSVirtualChannelCallback* This) {
500 return This->lpVtbl->AddRef(This);
501}
502static FORCEINLINE ULONG IWTSVirtualChannelCallback_Release(IWTSVirtualChannelCallback* This) {
503 return This->lpVtbl->Release(This);
504}
505/*** IWTSVirtualChannelCallback methods ***/
506static FORCEINLINE HRESULT IWTSVirtualChannelCallback_OnDataReceived(IWTSVirtualChannelCallback* This,ULONG cbSize,BYTE *pBuffer) {
507 return This->lpVtbl->OnDataReceived(This,cbSize,pBuffer);
508}
509static FORCEINLINE HRESULT IWTSVirtualChannelCallback_OnClose(IWTSVirtualChannelCallback* This) {
510 return This->lpVtbl->OnClose(This);
511}
512#endif
513#endif
514
515#endif
516
517
518#endif /* __IWTSVirtualChannelCallback_INTERFACE_DEFINED__ */
519
520#define TS_VC_LISTENER_STATIC_CHANNEL 0x00000001
521/*****************************************************************************
522 * IWTSVirtualChannelManager interface
523 */
524#ifndef __IWTSVirtualChannelManager_INTERFACE_DEFINED__
525#define __IWTSVirtualChannelManager_INTERFACE_DEFINED__
526
527DEFINE_GUID(IID_IWTSVirtualChannelManager, 0xa1230205, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
528#if defined(__cplusplus) && !defined(CINTERFACE)
529MIDL_INTERFACE("a1230205-d6a7-11d8-b9fd-000bdbd1f198")
530IWTSVirtualChannelManager : public IUnknown
531{
532 virtual HRESULT STDMETHODCALLTYPE CreateListener(
533 const char *pszChannelName,
534 ULONG uFlags,
535 IWTSListenerCallback *pListenerCallback,
536 IWTSListener **ppListener) = 0;
537
538};
539#ifdef __CRT_UUID_DECL
540__CRT_UUID_DECL(IWTSVirtualChannelManager, 0xa1230205, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
541#endif
542#else
543typedef struct IWTSVirtualChannelManagerVtbl {
544 BEGIN_INTERFACE
545
546 /*** IUnknown methods ***/
547 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
548 IWTSVirtualChannelManager *This,
549 REFIID riid,
550 void **ppvObject);
551
552 ULONG (STDMETHODCALLTYPE *AddRef)(
553 IWTSVirtualChannelManager *This);
554
555 ULONG (STDMETHODCALLTYPE *Release)(
556 IWTSVirtualChannelManager *This);
557
558 /*** IWTSVirtualChannelManager methods ***/
559 HRESULT (STDMETHODCALLTYPE *CreateListener)(
560 IWTSVirtualChannelManager *This,
561 const char *pszChannelName,
562 ULONG uFlags,
563 IWTSListenerCallback *pListenerCallback,
564 IWTSListener **ppListener);
565
566 END_INTERFACE
567} IWTSVirtualChannelManagerVtbl;
568
569interface IWTSVirtualChannelManager {
570 CONST_VTBL IWTSVirtualChannelManagerVtbl* lpVtbl;
571};
572
573#ifdef COBJMACROS
574#ifndef WIDL_C_INLINE_WRAPPERS
575/*** IUnknown methods ***/
576#define IWTSVirtualChannelManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
577#define IWTSVirtualChannelManager_AddRef(This) (This)->lpVtbl->AddRef(This)
578#define IWTSVirtualChannelManager_Release(This) (This)->lpVtbl->Release(This)
579/*** IWTSVirtualChannelManager methods ***/
580#define IWTSVirtualChannelManager_CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener) (This)->lpVtbl->CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener)
581#else
582/*** IUnknown methods ***/
583static FORCEINLINE HRESULT IWTSVirtualChannelManager_QueryInterface(IWTSVirtualChannelManager* This,REFIID riid,void **ppvObject) {
584 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
585}
586static FORCEINLINE ULONG IWTSVirtualChannelManager_AddRef(IWTSVirtualChannelManager* This) {
587 return This->lpVtbl->AddRef(This);
588}
589static FORCEINLINE ULONG IWTSVirtualChannelManager_Release(IWTSVirtualChannelManager* This) {
590 return This->lpVtbl->Release(This);
591}
592/*** IWTSVirtualChannelManager methods ***/
593static FORCEINLINE HRESULT IWTSVirtualChannelManager_CreateListener(IWTSVirtualChannelManager* This,const char *pszChannelName,ULONG uFlags,IWTSListenerCallback *pListenerCallback,IWTSListener **ppListener) {
594 return This->lpVtbl->CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener);
595}
596#endif
597#endif
598
599#endif
600
601
602#endif /* __IWTSVirtualChannelManager_INTERFACE_DEFINED__ */
603
604/*****************************************************************************
605 * IWTSVirtualChannel interface
606 */
607#ifndef __IWTSVirtualChannel_INTERFACE_DEFINED__
608#define __IWTSVirtualChannel_INTERFACE_DEFINED__
609
610DEFINE_GUID(IID_IWTSVirtualChannel, 0xa1230207, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
611#if defined(__cplusplus) && !defined(CINTERFACE)
612MIDL_INTERFACE("a1230207-d6a7-11d8-b9fd-000bdbd1f198")
613IWTSVirtualChannel : public IUnknown
614{
615 virtual HRESULT STDMETHODCALLTYPE Write(
616 ULONG cbSize,
617 BYTE *pBuffer,
618 IUnknown *pReserved) = 0;
619
620 virtual HRESULT STDMETHODCALLTYPE Close(
621 ) = 0;
622
623};
624#ifdef __CRT_UUID_DECL
625__CRT_UUID_DECL(IWTSVirtualChannel, 0xa1230207, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
626#endif
627#else
628typedef struct IWTSVirtualChannelVtbl {
629 BEGIN_INTERFACE
630
631 /*** IUnknown methods ***/
632 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
633 IWTSVirtualChannel *This,
634 REFIID riid,
635 void **ppvObject);
636
637 ULONG (STDMETHODCALLTYPE *AddRef)(
638 IWTSVirtualChannel *This);
639
640 ULONG (STDMETHODCALLTYPE *Release)(
641 IWTSVirtualChannel *This);
642
643 /*** IWTSVirtualChannel methods ***/
644 HRESULT (STDMETHODCALLTYPE *Write)(
645 IWTSVirtualChannel *This,
646 ULONG cbSize,
647 BYTE *pBuffer,
648 IUnknown *pReserved);
649
650 HRESULT (STDMETHODCALLTYPE *Close)(
651 IWTSVirtualChannel *This);
652
653 END_INTERFACE
654} IWTSVirtualChannelVtbl;
655
656interface IWTSVirtualChannel {
657 CONST_VTBL IWTSVirtualChannelVtbl* lpVtbl;
658};
659
660#ifdef COBJMACROS
661#ifndef WIDL_C_INLINE_WRAPPERS
662/*** IUnknown methods ***/
663#define IWTSVirtualChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
664#define IWTSVirtualChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
665#define IWTSVirtualChannel_Release(This) (This)->lpVtbl->Release(This)
666/*** IWTSVirtualChannel methods ***/
667#define IWTSVirtualChannel_Write(This,cbSize,pBuffer,pReserved) (This)->lpVtbl->Write(This,cbSize,pBuffer,pReserved)
668#define IWTSVirtualChannel_Close(This) (This)->lpVtbl->Close(This)
669#else
670/*** IUnknown methods ***/
671static FORCEINLINE HRESULT IWTSVirtualChannel_QueryInterface(IWTSVirtualChannel* This,REFIID riid,void **ppvObject) {
672 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
673}
674static FORCEINLINE ULONG IWTSVirtualChannel_AddRef(IWTSVirtualChannel* This) {
675 return This->lpVtbl->AddRef(This);
676}
677static FORCEINLINE ULONG IWTSVirtualChannel_Release(IWTSVirtualChannel* This) {
678 return This->lpVtbl->Release(This);
679}
680/*** IWTSVirtualChannel methods ***/
681static FORCEINLINE HRESULT IWTSVirtualChannel_Write(IWTSVirtualChannel* This,ULONG cbSize,BYTE *pBuffer,IUnknown *pReserved) {
682 return This->lpVtbl->Write(This,cbSize,pBuffer,pReserved);
683}
684static FORCEINLINE HRESULT IWTSVirtualChannel_Close(IWTSVirtualChannel* This) {
685 return This->lpVtbl->Close(This);
686}
687#endif
688#endif
689
690#endif
691
692
693#endif /* __IWTSVirtualChannel_INTERFACE_DEFINED__ */
694
695EXTERN_GUID( RDCLIENT_BITMAP_RENDER_SERVICE, 0xe4cc08cb, 0x942e, 0x4b19, 0x85, 0x4, 0xbd, 0x5a, 0x89, 0xa7, 0x47, 0xf5);
696/*****************************************************************************
697 * IWTSPluginServiceProvider interface
698 */
699#ifndef __IWTSPluginServiceProvider_INTERFACE_DEFINED__
700#define __IWTSPluginServiceProvider_INTERFACE_DEFINED__
701
702DEFINE_GUID(IID_IWTSPluginServiceProvider, 0xd3e07363, 0x087c, 0x476c, 0x86,0xa7, 0xdb,0xb1,0x5f,0x46,0xdd,0xb4);
703#if defined(__cplusplus) && !defined(CINTERFACE)
704MIDL_INTERFACE("d3e07363-087c-476c-86a7-dbb15f46ddb4")
705IWTSPluginServiceProvider : public IUnknown
706{
707 virtual HRESULT STDMETHODCALLTYPE GetService(
708 GUID ServiceId,
709 IUnknown **ppunkObject) = 0;
710
711};
712#ifdef __CRT_UUID_DECL
713__CRT_UUID_DECL(IWTSPluginServiceProvider, 0xd3e07363, 0x087c, 0x476c, 0x86,0xa7, 0xdb,0xb1,0x5f,0x46,0xdd,0xb4)
714#endif
715#else
716typedef struct IWTSPluginServiceProviderVtbl {
717 BEGIN_INTERFACE
718
719 /*** IUnknown methods ***/
720 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
721 IWTSPluginServiceProvider *This,
722 REFIID riid,
723 void **ppvObject);
724
725 ULONG (STDMETHODCALLTYPE *AddRef)(
726 IWTSPluginServiceProvider *This);
727
728 ULONG (STDMETHODCALLTYPE *Release)(
729 IWTSPluginServiceProvider *This);
730
731 /*** IWTSPluginServiceProvider methods ***/
732 HRESULT (STDMETHODCALLTYPE *GetService)(
733 IWTSPluginServiceProvider *This,
734 GUID ServiceId,
735 IUnknown **ppunkObject);
736
737 END_INTERFACE
738} IWTSPluginServiceProviderVtbl;
739
740interface IWTSPluginServiceProvider {
741 CONST_VTBL IWTSPluginServiceProviderVtbl* lpVtbl;
742};
743
744#ifdef COBJMACROS
745#ifndef WIDL_C_INLINE_WRAPPERS
746/*** IUnknown methods ***/
747#define IWTSPluginServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
748#define IWTSPluginServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
749#define IWTSPluginServiceProvider_Release(This) (This)->lpVtbl->Release(This)
750/*** IWTSPluginServiceProvider methods ***/
751#define IWTSPluginServiceProvider_GetService(This,ServiceId,ppunkObject) (This)->lpVtbl->GetService(This,ServiceId,ppunkObject)
752#else
753/*** IUnknown methods ***/
754static FORCEINLINE HRESULT IWTSPluginServiceProvider_QueryInterface(IWTSPluginServiceProvider* This,REFIID riid,void **ppvObject) {
755 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
756}
757static FORCEINLINE ULONG IWTSPluginServiceProvider_AddRef(IWTSPluginServiceProvider* This) {
758 return This->lpVtbl->AddRef(This);
759}
760static FORCEINLINE ULONG IWTSPluginServiceProvider_Release(IWTSPluginServiceProvider* This) {
761 return This->lpVtbl->Release(This);
762}
763/*** IWTSPluginServiceProvider methods ***/
764static FORCEINLINE HRESULT IWTSPluginServiceProvider_GetService(IWTSPluginServiceProvider* This,GUID ServiceId,IUnknown **ppunkObject) {
765 return This->lpVtbl->GetService(This,ServiceId,ppunkObject);
766}
767#endif
768#endif
769
770#endif
771
772
773#endif /* __IWTSPluginServiceProvider_INTERFACE_DEFINED__ */
774
775typedef struct __BITMAP_RENDERER_STATISTICS {
776 DWORD dwFramesDelivered;
777 DWORD dwFramesDropped;
778} BITMAP_RENDERER_STATISTICS;
779typedef struct __BITMAP_RENDERER_STATISTICS *PBITMAP_RENDERER_STATISTICS;
780/*****************************************************************************
781 * IWTSBitmapRenderer interface
782 */
783#ifndef __IWTSBitmapRenderer_INTERFACE_DEFINED__
784#define __IWTSBitmapRenderer_INTERFACE_DEFINED__
785
786DEFINE_GUID(IID_IWTSBitmapRenderer, 0x5b7acc97, 0xf3c9, 0x46f7, 0x8c,0x5b, 0xfa,0x68,0x5d,0x34,0x41,0xb1);
787#if defined(__cplusplus) && !defined(CINTERFACE)
788MIDL_INTERFACE("5b7acc97-f3c9-46f7-8c5b-fa685d3441b1")
789IWTSBitmapRenderer : public IUnknown
790{
791 virtual HRESULT STDMETHODCALLTYPE Render(
792 GUID imageFormat,
793 DWORD dwWidth,
794 DWORD dwHeight,
795 LONG cbStride,
796 DWORD cbImageBuffer,
797 BYTE *pImageBuffer) = 0;
798
799 virtual HRESULT STDMETHODCALLTYPE GetRendererStatistics(
800 BITMAP_RENDERER_STATISTICS *pStatistics) = 0;
801
802 virtual HRESULT STDMETHODCALLTYPE RemoveMapping(
803 ) = 0;
804
805};
806#ifdef __CRT_UUID_DECL
807__CRT_UUID_DECL(IWTSBitmapRenderer, 0x5b7acc97, 0xf3c9, 0x46f7, 0x8c,0x5b, 0xfa,0x68,0x5d,0x34,0x41,0xb1)
808#endif
809#else
810typedef struct IWTSBitmapRendererVtbl {
811 BEGIN_INTERFACE
812
813 /*** IUnknown methods ***/
814 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
815 IWTSBitmapRenderer *This,
816 REFIID riid,
817 void **ppvObject);
818
819 ULONG (STDMETHODCALLTYPE *AddRef)(
820 IWTSBitmapRenderer *This);
821
822 ULONG (STDMETHODCALLTYPE *Release)(
823 IWTSBitmapRenderer *This);
824
825 /*** IWTSBitmapRenderer methods ***/
826 HRESULT (STDMETHODCALLTYPE *Render)(
827 IWTSBitmapRenderer *This,
828 GUID imageFormat,
829 DWORD dwWidth,
830 DWORD dwHeight,
831 LONG cbStride,
832 DWORD cbImageBuffer,
833 BYTE *pImageBuffer);
834
835 HRESULT (STDMETHODCALLTYPE *GetRendererStatistics)(
836 IWTSBitmapRenderer *This,
837 BITMAP_RENDERER_STATISTICS *pStatistics);
838
839 HRESULT (STDMETHODCALLTYPE *RemoveMapping)(
840 IWTSBitmapRenderer *This);
841
842 END_INTERFACE
843} IWTSBitmapRendererVtbl;
844
845interface IWTSBitmapRenderer {
846 CONST_VTBL IWTSBitmapRendererVtbl* lpVtbl;
847};
848
849#ifdef COBJMACROS
850#ifndef WIDL_C_INLINE_WRAPPERS
851/*** IUnknown methods ***/
852#define IWTSBitmapRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
853#define IWTSBitmapRenderer_AddRef(This) (This)->lpVtbl->AddRef(This)
854#define IWTSBitmapRenderer_Release(This) (This)->lpVtbl->Release(This)
855/*** IWTSBitmapRenderer methods ***/
856#define IWTSBitmapRenderer_Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer) (This)->lpVtbl->Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer)
857#define IWTSBitmapRenderer_GetRendererStatistics(This,pStatistics) (This)->lpVtbl->GetRendererStatistics(This,pStatistics)
858#define IWTSBitmapRenderer_RemoveMapping(This) (This)->lpVtbl->RemoveMapping(This)
859#else
860/*** IUnknown methods ***/
861static FORCEINLINE HRESULT IWTSBitmapRenderer_QueryInterface(IWTSBitmapRenderer* This,REFIID riid,void **ppvObject) {
862 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
863}
864static FORCEINLINE ULONG IWTSBitmapRenderer_AddRef(IWTSBitmapRenderer* This) {
865 return This->lpVtbl->AddRef(This);
866}
867static FORCEINLINE ULONG IWTSBitmapRenderer_Release(IWTSBitmapRenderer* This) {
868 return This->lpVtbl->Release(This);
869}
870/*** IWTSBitmapRenderer methods ***/
871static FORCEINLINE HRESULT IWTSBitmapRenderer_Render(IWTSBitmapRenderer* This,GUID imageFormat,DWORD dwWidth,DWORD dwHeight,LONG cbStride,DWORD cbImageBuffer,BYTE *pImageBuffer) {
872 return This->lpVtbl->Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer);
873}
874static FORCEINLINE HRESULT IWTSBitmapRenderer_GetRendererStatistics(IWTSBitmapRenderer* This,BITMAP_RENDERER_STATISTICS *pStatistics) {
875 return This->lpVtbl->GetRendererStatistics(This,pStatistics);
876}
877static FORCEINLINE HRESULT IWTSBitmapRenderer_RemoveMapping(IWTSBitmapRenderer* This) {
878 return This->lpVtbl->RemoveMapping(This);
879}
880#endif
881#endif
882
883#endif
884
885
886#endif /* __IWTSBitmapRenderer_INTERFACE_DEFINED__ */
887
888/*****************************************************************************
889 * IWTSBitmapRendererCallback interface
890 */
891#ifndef __IWTSBitmapRendererCallback_INTERFACE_DEFINED__
892#define __IWTSBitmapRendererCallback_INTERFACE_DEFINED__
893
894DEFINE_GUID(IID_IWTSBitmapRendererCallback, 0xd782928e, 0xfe4e, 0x4e77, 0xae,0x90, 0x9c,0xd0,0xb3,0xe3,0xb3,0x53);
895#if defined(__cplusplus) && !defined(CINTERFACE)
896MIDL_INTERFACE("d782928e-fe4e-4e77-ae90-9cd0b3e3b353")
897IWTSBitmapRendererCallback : public IUnknown
898{
899 virtual HRESULT STDMETHODCALLTYPE OnTargetSizeChanged(
900 RECT rcNewSize) = 0;
901
902};
903#ifdef __CRT_UUID_DECL
904__CRT_UUID_DECL(IWTSBitmapRendererCallback, 0xd782928e, 0xfe4e, 0x4e77, 0xae,0x90, 0x9c,0xd0,0xb3,0xe3,0xb3,0x53)
905#endif
906#else
907typedef struct IWTSBitmapRendererCallbackVtbl {
908 BEGIN_INTERFACE
909
910 /*** IUnknown methods ***/
911 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
912 IWTSBitmapRendererCallback *This,
913 REFIID riid,
914 void **ppvObject);
915
916 ULONG (STDMETHODCALLTYPE *AddRef)(
917 IWTSBitmapRendererCallback *This);
918
919 ULONG (STDMETHODCALLTYPE *Release)(
920 IWTSBitmapRendererCallback *This);
921
922 /*** IWTSBitmapRendererCallback methods ***/
923 HRESULT (STDMETHODCALLTYPE *OnTargetSizeChanged)(
924 IWTSBitmapRendererCallback *This,
925 RECT rcNewSize);
926
927 END_INTERFACE
928} IWTSBitmapRendererCallbackVtbl;
929
930interface IWTSBitmapRendererCallback {
931 CONST_VTBL IWTSBitmapRendererCallbackVtbl* lpVtbl;
932};
933
934#ifdef COBJMACROS
935#ifndef WIDL_C_INLINE_WRAPPERS
936/*** IUnknown methods ***/
937#define IWTSBitmapRendererCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
938#define IWTSBitmapRendererCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
939#define IWTSBitmapRendererCallback_Release(This) (This)->lpVtbl->Release(This)
940/*** IWTSBitmapRendererCallback methods ***/
941#define IWTSBitmapRendererCallback_OnTargetSizeChanged(This,rcNewSize) (This)->lpVtbl->OnTargetSizeChanged(This,rcNewSize)
942#else
943/*** IUnknown methods ***/
944static FORCEINLINE HRESULT IWTSBitmapRendererCallback_QueryInterface(IWTSBitmapRendererCallback* This,REFIID riid,void **ppvObject) {
945 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
946}
947static FORCEINLINE ULONG IWTSBitmapRendererCallback_AddRef(IWTSBitmapRendererCallback* This) {
948 return This->lpVtbl->AddRef(This);
949}
950static FORCEINLINE ULONG IWTSBitmapRendererCallback_Release(IWTSBitmapRendererCallback* This) {
951 return This->lpVtbl->Release(This);
952}
953/*** IWTSBitmapRendererCallback methods ***/
954static FORCEINLINE HRESULT IWTSBitmapRendererCallback_OnTargetSizeChanged(IWTSBitmapRendererCallback* This,RECT rcNewSize) {
955 return This->lpVtbl->OnTargetSizeChanged(This,rcNewSize);
956}
957#endif
958#endif
959
960#endif
961
962
963#endif /* __IWTSBitmapRendererCallback_INTERFACE_DEFINED__ */
964
965/*****************************************************************************
966 * IWTSBitmapRenderService interface
967 */
968#ifndef __IWTSBitmapRenderService_INTERFACE_DEFINED__
969#define __IWTSBitmapRenderService_INTERFACE_DEFINED__
970
971DEFINE_GUID(IID_IWTSBitmapRenderService, 0xea326091, 0x05fe, 0x40c1, 0xb4,0x9c, 0x3d,0x2e,0xf4,0x62,0x6a,0x0e);
972#if defined(__cplusplus) && !defined(CINTERFACE)
973MIDL_INTERFACE("ea326091-05fe-40c1-b49c-3d2ef4626a0e")
974IWTSBitmapRenderService : public IUnknown
975{
976 virtual HRESULT STDMETHODCALLTYPE GetMappedRenderer(
977 UINT64 mappingId,
978 IWTSBitmapRendererCallback *pMappedRendererCallback,
979 IWTSBitmapRenderer **ppMappedRenderer) = 0;
980
981};
982#ifdef __CRT_UUID_DECL
983__CRT_UUID_DECL(IWTSBitmapRenderService, 0xea326091, 0x05fe, 0x40c1, 0xb4,0x9c, 0x3d,0x2e,0xf4,0x62,0x6a,0x0e)
984#endif
985#else
986typedef struct IWTSBitmapRenderServiceVtbl {
987 BEGIN_INTERFACE
988
989 /*** IUnknown methods ***/
990 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
991 IWTSBitmapRenderService *This,
992 REFIID riid,
993 void **ppvObject);
994
995 ULONG (STDMETHODCALLTYPE *AddRef)(
996 IWTSBitmapRenderService *This);
997
998 ULONG (STDMETHODCALLTYPE *Release)(
999 IWTSBitmapRenderService *This);
1000
1001 /*** IWTSBitmapRenderService methods ***/
1002 HRESULT (STDMETHODCALLTYPE *GetMappedRenderer)(
1003 IWTSBitmapRenderService *This,
1004 UINT64 mappingId,
1005 IWTSBitmapRendererCallback *pMappedRendererCallback,
1006 IWTSBitmapRenderer **ppMappedRenderer);
1007
1008 END_INTERFACE
1009} IWTSBitmapRenderServiceVtbl;
1010
1011interface IWTSBitmapRenderService {
1012 CONST_VTBL IWTSBitmapRenderServiceVtbl* lpVtbl;
1013};
1014
1015#ifdef COBJMACROS
1016#ifndef WIDL_C_INLINE_WRAPPERS
1017/*** IUnknown methods ***/
1018#define IWTSBitmapRenderService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1019#define IWTSBitmapRenderService_AddRef(This) (This)->lpVtbl->AddRef(This)
1020#define IWTSBitmapRenderService_Release(This) (This)->lpVtbl->Release(This)
1021/*** IWTSBitmapRenderService methods ***/
1022#define IWTSBitmapRenderService_GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer) (This)->lpVtbl->GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer)
1023#else
1024/*** IUnknown methods ***/
1025static FORCEINLINE HRESULT IWTSBitmapRenderService_QueryInterface(IWTSBitmapRenderService* This,REFIID riid,void **ppvObject) {
1026 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1027}
1028static FORCEINLINE ULONG IWTSBitmapRenderService_AddRef(IWTSBitmapRenderService* This) {
1029 return This->lpVtbl->AddRef(This);
1030}
1031static FORCEINLINE ULONG IWTSBitmapRenderService_Release(IWTSBitmapRenderService* This) {
1032 return This->lpVtbl->Release(This);
1033}
1034/*** IWTSBitmapRenderService methods ***/
1035static FORCEINLINE HRESULT IWTSBitmapRenderService_GetMappedRenderer(IWTSBitmapRenderService* This,UINT64 mappingId,IWTSBitmapRendererCallback *pMappedRendererCallback,IWTSBitmapRenderer **ppMappedRenderer) {
1036 return This->lpVtbl->GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer);
1037}
1038#endif
1039#endif
1040
1041#endif
1042
1043
1044#endif /* __IWTSBitmapRenderService_INTERFACE_DEFINED__ */
1045
1046#endif /* WINAPI_PARTITION_DESKTOP */
1047/* Begin additional prototypes for all interfaces */
1048
1049ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
1050unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
1051unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1052void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
1053
1054/* End additional prototypes */
1055
1056#ifdef __cplusplus
1057}
1058#endif
1059
1060#endif /* __tsvirtualchannels_h__ */
lib/libc/include/any-windows-any/tuner.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/tuner.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/tuner.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/uianimation.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/uianimation.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/uianimation.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/uiautomationclient.h+197-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/uiautomationclient.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/uiautomationclient.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -31,6 +31,74 @@ extern "C" {
3131
3232DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc4,0x77,0xac,0xb2,0xf8,0x97);
3333
34#define UIA_InvokePatternId (10000)
35
36#define UIA_SelectionPatternId (10001)
37
38#define UIA_ValuePatternId (10002)
39
40#define UIA_RangeValuePatternId (10003)
41
42#define UIA_ScrollPatternId (10004)
43
44#define UIA_ExpandCollapsePatternId (10005)
45
46#define UIA_GridPatternId (10006)
47
48#define UIA_GridItemPatternId (10007)
49
50#define UIA_MultipleViewPatternId (10008)
51
52#define UIA_WindowPatternId (10009)
53
54#define UIA_SelectionItemPatternId (10010)
55
56#define UIA_DockPatternId (10011)
57
58#define UIA_TablePatternId (10012)
59
60#define UIA_TableItemPatternId (10013)
61
62#define UIA_TextPatternId (10014)
63
64#define UIA_TogglePatternId (10015)
65
66#define UIA_TransformPatternId (10016)
67
68#define UIA_ScrollItemPatternId (10017)
69
70#define UIA_LegacyIAccessiblePatternId (10018)
71
72#define UIA_ItemContainerPatternId (10019)
73
74#define UIA_VirtualizedItemPatternId (10020)
75
76#define UIA_SynchronizedInputPatternId (10021)
77
78#define UIA_ObjectModelPatternId (10022)
79
80#define UIA_AnnotationPatternId (10023)
81
82#define UIA_TextPattern2Id (10024)
83
84#define UIA_StylesPatternId (10025)
85
86#define UIA_SpreadsheetPatternId (10026)
87
88#define UIA_SpreadsheetItemPatternId (10027)
89
90#define UIA_TransformPattern2Id (10028)
91
92#define UIA_TextChildPatternId (10029)
93
94#define UIA_DragPatternId (10030)
95
96#define UIA_DropTargetPatternId (10031)
97
98#define UIA_TextEditPatternId (10032)
99
100#define UIA_CustomNavigationPatternId (10033)
101
34102#define UIA_RuntimeIdPropertyId (30000)
35103
36104#define UIA_BoundingRectanglePropertyId (30001)
......@@ -253,6 +321,134 @@ DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc
253321
254322#define UIA_IsSynchronizedInputPatternAvailablePropertyId (30110)
255323
324#define UIA_OptimizeForVisualContentPropertyId (30111)
325
326#define UIA_IsObjectModelPatternAvailablePropertyId (30112)
327
328#define UIA_AnnotationAnnotationTypeIdPropertyId (30113)
329
330#define UIA_AnnotationAnnotationTypeNamePropertyId (30114)
331
332#define UIA_AnnotationAuthorPropertyId (30115)
333
334#define UIA_AnnotationDateTimePropertyId (30116)
335
336#define UIA_AnnotationTargetPropertyId (30117)
337
338#define UIA_IsAnnotationPatternAvailablePropertyId (30118)
339
340#define UIA_IsTextPattern2AvailablePropertyId (30119)
341
342#define UIA_StylesStyleIdPropertyId (30120)
343
344#define UIA_StylesStyleNamePropertyId (30121)
345
346#define UIA_StylesFillColorPropertyId (30122)
347
348#define UIA_StylesFillPatternStylePropertyId (30123)
349
350#define UIA_StylesShapePropertyId (30124)
351
352#define UIA_StylesFillPatternColorPropertyId (30125)
353
354#define UIA_StylesExtendedPropertiesPropertyId (30126)
355
356#define UIA_IsStylesPatternAvailablePropertyId (30127)
357
358#define UIA_IsSpreadsheetPatternAvailablePropertyId (30128)
359
360#define UIA_SpreadsheetItemFormulaPropertyId (30129)
361
362#define UIA_SpreadsheetItemAnnotationObjectsPropertyId (30130)
363
364#define UIA_SpreadsheetItemAnnotationTypesPropertyId (30131)
365
366#define UIA_IsSpreadsheetItemPatternAvailablePropertyId (30132)
367
368#define UIA_Transform2CanZoomPropertyId (30133)
369
370#define UIA_IsTransformPattern2AvailablePropertyId (30134)
371
372#define UIA_LiveSettingPropertyId (30135)
373
374#define UIA_IsTextChildPatternAvailablePropertyId (30136)
375
376#define UIA_IsDragPatternAvailablePropertyId (30137)
377
378#define UIA_DragIsGrabbedPropertyId (30138)
379
380#define UIA_DragDropEffectPropertyId (30139)
381
382#define UIA_DragDropEffectsPropertyId (30140)
383
384#define UIA_IsDropTargetPatternAvailablePropertyId (30141)
385
386#define UIA_DropTargetDropTargetEffectPropertyId (30142)
387
388#define UIA_DropTargetDropTargetEffectsPropertyId (30143)
389
390#define UIA_DragGrabbedItemsPropertyId (30144)
391
392#define UIA_Transform2ZoomLevelPropertyId (30145)
393
394#define UIA_Transform2ZoomMinimumPropertyId (30146)
395
396#define UIA_Transform2ZoomMaximumPropertyId (30147)
397
398#define UIA_FlowsFromPropertyId (30148)
399
400#define UIA_IsTextEditPatternAvailablePropertyId (30149)
401
402#define UIA_IsPeripheralPropertyId (30150)
403
404#define UIA_IsCustomNavigationPatternAvailablePropertyId (30151)
405
406#define UIA_PositionInSetPropertyId (30152)
407
408#define UIA_SizeOfSetPropertyId (30153)
409
410#define UIA_LevelPropertyId (30154)
411
412#define UIA_AnnotationTypesPropertyId (30155)
413
414#define UIA_AnnotationObjectsPropertyId (30156)
415
416#define UIA_LandmarkTypePropertyId (30157)
417
418#define UIA_LocalizedLandmarkTypePropertyId (30158)
419
420#define UIA_FullDescriptionPropertyId (30159)
421
422#define UIA_FillColorPropertyId (30160)
423
424#define UIA_OutlineColorPropertyId (30161)
425
426#define UIA_FillTypePropertyId (30162)
427
428#define UIA_VisualEffectsPropertyId (30163)
429
430#define UIA_OutlineThicknessPropertyId (30164)
431
432#define UIA_CenterPointPropertyId (30165)
433
434#define UIA_RotationPropertyId (30166)
435
436#define UIA_SizePropertyId (30167)
437
438#define UIA_IsSelectionPattern2AvailablePropertyId (30168)
439
440#define UIA_Selection2FirstSelectedItemPropertyId (30169)
441
442#define UIA_Selection2LastSelectedItemPropertyId (30170)
443
444#define UIA_Selection2CurrentSelectedItemPropertyId (30171)
445
446#define UIA_Selection2ItemCountPropertyId (30172)
447
448#define UIA_HeadingLevelPropertyId (30173)
449
450#define UIA_IsDialogPropertyId (30174)
451
256452#endif /* __UIAutomationClient_LIBRARY_DEFINED__ */
257453/* Begin additional prototypes for all interfaces */
258454
lib/libc/include/any-windows-any/uiautomationcore.h+267-2
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/uiautomationcore.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/uiautomationcore.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -34,6 +34,22 @@ interface IAccessibleEx;
3434#endif /* __cplusplus */
3535#endif
3636
37#ifndef __IRawElementProviderFragment_FWD_DEFINED__
38#define __IRawElementProviderFragment_FWD_DEFINED__
39typedef interface IRawElementProviderFragment IRawElementProviderFragment;
40#ifdef __cplusplus
41interface IRawElementProviderFragment;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__
46#define __IRawElementProviderFragmentRoot_FWD_DEFINED__
47typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot;
48#ifdef __cplusplus
49interface IRawElementProviderFragmentRoot;
50#endif /* __cplusplus */
51#endif
52
3753/* Headers for imported files */
3854
3955#include <oaidl.h>
......@@ -43,19 +59,35 @@ interface IAccessibleEx;
4359extern "C" {
4460#endif
4561
62enum NavigateDirection {
63 NavigateDirection_Parent = 0x0,
64 NavigateDirection_NextSibling = 0x1,
65 NavigateDirection_PreviousSibling = 0x2,
66 NavigateDirection_FirstChild = 0x3,
67 NavigateDirection_LastChild = 0x4
68};
4669enum ProviderOptions {
4770 ProviderOptions_ClientSideProvider = 0x1,
4871 ProviderOptions_ServerSideProvider = 0x2,
4972 ProviderOptions_NonClientAreaProvider = 0x4,
5073 ProviderOptions_OverrideProvider = 0x8,
5174 ProviderOptions_ProviderOwnsSetFocus = 0x10,
52 ProviderOptions_UseComThreading = 0x20
75 ProviderOptions_UseComThreading = 0x20,
76 ProviderOptions_RefuseNonClientSupport = 0x40,
77 ProviderOptions_HasNativeIAccessible = 0x80,
78 ProviderOptions_UseClientCoordinates = 0x100
5379};
5480typedef int PROPERTYID;
5581typedef int PATTERNID;
5682typedef int EVENTID;
5783typedef int TEXTATTRIBUTEID;
5884typedef int CONTROLTYPEID;
85struct UiaRect {
86 double left;
87 double top;
88 double width;
89 double height;
90};
5991#ifndef __UIA_LIBRARY_DEFINED__
6092#define __UIA_LIBRARY_DEFINED__
6193
......@@ -291,6 +323,239 @@ static FORCEINLINE HRESULT IAccessibleEx_ConvertReturnedElement(IAccessibleEx* T
291323
292324#endif /* __IAccessibleEx_INTERFACE_DEFINED__ */
293325
326#ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__
327#define __IRawElementProviderFragmentRoot_FWD_DEFINED__
328typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot;
329#ifdef __cplusplus
330interface IRawElementProviderFragmentRoot;
331#endif /* __cplusplus */
332#endif
333
334/*****************************************************************************
335 * IRawElementProviderFragment interface
336 */
337#ifndef __IRawElementProviderFragment_INTERFACE_DEFINED__
338#define __IRawElementProviderFragment_INTERFACE_DEFINED__
339
340DEFINE_GUID(IID_IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87);
341#if defined(__cplusplus) && !defined(CINTERFACE)
342MIDL_INTERFACE("f7063da8-8359-439c-9297-bbc5299a7d87")
343IRawElementProviderFragment : public IUnknown
344{
345 virtual HRESULT STDMETHODCALLTYPE Navigate(
346 enum NavigateDirection direction,
347 IRawElementProviderFragment **pRetVal) = 0;
348
349 virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(
350 SAFEARRAY **pRetVal) = 0;
351
352 virtual HRESULT STDMETHODCALLTYPE get_BoundingRectangle(
353 struct UiaRect *pRetVal) = 0;
354
355 virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots(
356 SAFEARRAY **pRetVal) = 0;
357
358 virtual HRESULT STDMETHODCALLTYPE SetFocus(
359 ) = 0;
360
361 virtual HRESULT STDMETHODCALLTYPE get_FragmentRoot(
362 IRawElementProviderFragmentRoot **pRetVal) = 0;
363
364};
365#ifdef __CRT_UUID_DECL
366__CRT_UUID_DECL(IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87)
367#endif
368#else
369typedef struct IRawElementProviderFragmentVtbl {
370 BEGIN_INTERFACE
371
372 /*** IUnknown methods ***/
373 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
374 IRawElementProviderFragment *This,
375 REFIID riid,
376 void **ppvObject);
377
378 ULONG (STDMETHODCALLTYPE *AddRef)(
379 IRawElementProviderFragment *This);
380
381 ULONG (STDMETHODCALLTYPE *Release)(
382 IRawElementProviderFragment *This);
383
384 /*** IRawElementProviderFragment methods ***/
385 HRESULT (STDMETHODCALLTYPE *Navigate)(
386 IRawElementProviderFragment *This,
387 enum NavigateDirection direction,
388 IRawElementProviderFragment **pRetVal);
389
390 HRESULT (STDMETHODCALLTYPE *GetRuntimeId)(
391 IRawElementProviderFragment *This,
392 SAFEARRAY **pRetVal);
393
394 HRESULT (STDMETHODCALLTYPE *get_BoundingRectangle)(
395 IRawElementProviderFragment *This,
396 struct UiaRect *pRetVal);
397
398 HRESULT (STDMETHODCALLTYPE *GetEmbeddedFragmentRoots)(
399 IRawElementProviderFragment *This,
400 SAFEARRAY **pRetVal);
401
402 HRESULT (STDMETHODCALLTYPE *SetFocus)(
403 IRawElementProviderFragment *This);
404
405 HRESULT (STDMETHODCALLTYPE *get_FragmentRoot)(
406 IRawElementProviderFragment *This,
407 IRawElementProviderFragmentRoot **pRetVal);
408
409 END_INTERFACE
410} IRawElementProviderFragmentVtbl;
411
412interface IRawElementProviderFragment {
413 CONST_VTBL IRawElementProviderFragmentVtbl* lpVtbl;
414};
415
416#ifdef COBJMACROS
417#ifndef WIDL_C_INLINE_WRAPPERS
418/*** IUnknown methods ***/
419#define IRawElementProviderFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
420#define IRawElementProviderFragment_AddRef(This) (This)->lpVtbl->AddRef(This)
421#define IRawElementProviderFragment_Release(This) (This)->lpVtbl->Release(This)
422/*** IRawElementProviderFragment methods ***/
423#define IRawElementProviderFragment_Navigate(This,direction,pRetVal) (This)->lpVtbl->Navigate(This,direction,pRetVal)
424#define IRawElementProviderFragment_GetRuntimeId(This,pRetVal) (This)->lpVtbl->GetRuntimeId(This,pRetVal)
425#define IRawElementProviderFragment_get_BoundingRectangle(This,pRetVal) (This)->lpVtbl->get_BoundingRectangle(This,pRetVal)
426#define IRawElementProviderFragment_GetEmbeddedFragmentRoots(This,pRetVal) (This)->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal)
427#define IRawElementProviderFragment_SetFocus(This) (This)->lpVtbl->SetFocus(This)
428#define IRawElementProviderFragment_get_FragmentRoot(This,pRetVal) (This)->lpVtbl->get_FragmentRoot(This,pRetVal)
429#else
430/*** IUnknown methods ***/
431static FORCEINLINE HRESULT IRawElementProviderFragment_QueryInterface(IRawElementProviderFragment* This,REFIID riid,void **ppvObject) {
432 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
433}
434static FORCEINLINE ULONG IRawElementProviderFragment_AddRef(IRawElementProviderFragment* This) {
435 return This->lpVtbl->AddRef(This);
436}
437static FORCEINLINE ULONG IRawElementProviderFragment_Release(IRawElementProviderFragment* This) {
438 return This->lpVtbl->Release(This);
439}
440/*** IRawElementProviderFragment methods ***/
441static FORCEINLINE HRESULT IRawElementProviderFragment_Navigate(IRawElementProviderFragment* This,enum NavigateDirection direction,IRawElementProviderFragment **pRetVal) {
442 return This->lpVtbl->Navigate(This,direction,pRetVal);
443}
444static FORCEINLINE HRESULT IRawElementProviderFragment_GetRuntimeId(IRawElementProviderFragment* This,SAFEARRAY **pRetVal) {
445 return This->lpVtbl->GetRuntimeId(This,pRetVal);
446}
447static FORCEINLINE HRESULT IRawElementProviderFragment_get_BoundingRectangle(IRawElementProviderFragment* This,struct UiaRect *pRetVal) {
448 return This->lpVtbl->get_BoundingRectangle(This,pRetVal);
449}
450static FORCEINLINE HRESULT IRawElementProviderFragment_GetEmbeddedFragmentRoots(IRawElementProviderFragment* This,SAFEARRAY **pRetVal) {
451 return This->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal);
452}
453static FORCEINLINE HRESULT IRawElementProviderFragment_SetFocus(IRawElementProviderFragment* This) {
454 return This->lpVtbl->SetFocus(This);
455}
456static FORCEINLINE HRESULT IRawElementProviderFragment_get_FragmentRoot(IRawElementProviderFragment* This,IRawElementProviderFragmentRoot **pRetVal) {
457 return This->lpVtbl->get_FragmentRoot(This,pRetVal);
458}
459#endif
460#endif
461
462#endif
463
464
465#endif /* __IRawElementProviderFragment_INTERFACE_DEFINED__ */
466
467/*****************************************************************************
468 * IRawElementProviderFragmentRoot interface
469 */
470#ifndef __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__
471#define __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__
472
473DEFINE_GUID(IID_IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58);
474#if defined(__cplusplus) && !defined(CINTERFACE)
475MIDL_INTERFACE("620ce2a5-ab8f-40a9-86cb-de3c75599b58")
476IRawElementProviderFragmentRoot : public IUnknown
477{
478 virtual HRESULT STDMETHODCALLTYPE ElementProviderFromPoint(
479 double x,
480 double y,
481 IRawElementProviderFragment **pRetVal) = 0;
482
483 virtual HRESULT STDMETHODCALLTYPE GetFocus(
484 IRawElementProviderFragment **pRetVal) = 0;
485
486};
487#ifdef __CRT_UUID_DECL
488__CRT_UUID_DECL(IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58)
489#endif
490#else
491typedef struct IRawElementProviderFragmentRootVtbl {
492 BEGIN_INTERFACE
493
494 /*** IUnknown methods ***/
495 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
496 IRawElementProviderFragmentRoot *This,
497 REFIID riid,
498 void **ppvObject);
499
500 ULONG (STDMETHODCALLTYPE *AddRef)(
501 IRawElementProviderFragmentRoot *This);
502
503 ULONG (STDMETHODCALLTYPE *Release)(
504 IRawElementProviderFragmentRoot *This);
505
506 /*** IRawElementProviderFragmentRoot methods ***/
507 HRESULT (STDMETHODCALLTYPE *ElementProviderFromPoint)(
508 IRawElementProviderFragmentRoot *This,
509 double x,
510 double y,
511 IRawElementProviderFragment **pRetVal);
512
513 HRESULT (STDMETHODCALLTYPE *GetFocus)(
514 IRawElementProviderFragmentRoot *This,
515 IRawElementProviderFragment **pRetVal);
516
517 END_INTERFACE
518} IRawElementProviderFragmentRootVtbl;
519
520interface IRawElementProviderFragmentRoot {
521 CONST_VTBL IRawElementProviderFragmentRootVtbl* lpVtbl;
522};
523
524#ifdef COBJMACROS
525#ifndef WIDL_C_INLINE_WRAPPERS
526/*** IUnknown methods ***/
527#define IRawElementProviderFragmentRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
528#define IRawElementProviderFragmentRoot_AddRef(This) (This)->lpVtbl->AddRef(This)
529#define IRawElementProviderFragmentRoot_Release(This) (This)->lpVtbl->Release(This)
530/*** IRawElementProviderFragmentRoot methods ***/
531#define IRawElementProviderFragmentRoot_ElementProviderFromPoint(This,x,y,pRetVal) (This)->lpVtbl->ElementProviderFromPoint(This,x,y,pRetVal)
532#define IRawElementProviderFragmentRoot_GetFocus(This,pRetVal) (This)->lpVtbl->GetFocus(This,pRetVal)
533#else
534/*** IUnknown methods ***/
535static FORCEINLINE HRESULT IRawElementProviderFragmentRoot_QueryInterface(IRawElementProviderFragmentRoot* This,REFIID riid,void **ppvObject) {
536 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
537}
538static FORCEINLINE ULONG IRawElementProviderFragmentRoot_AddRef(IRawElementProviderFragmentRoot* This) {
539 return This->lpVtbl->AddRef(This);
540}
541static FORCEINLINE ULONG IRawElementProviderFragmentRoot_Release(IRawElementProviderFragmentRoot* This) {
542 return This->lpVtbl->Release(This);
543}
544/*** IRawElementProviderFragmentRoot methods ***/
545static FORCEINLINE HRESULT IRawElementProviderFragmentRoot_ElementProviderFromPoint(IRawElementProviderFragmentRoot* This,double x,double y,IRawElementProviderFragment **pRetVal) {
546 return This->lpVtbl->ElementProviderFromPoint(This,x,y,pRetVal);
547}
548static FORCEINLINE HRESULT IRawElementProviderFragmentRoot_GetFocus(IRawElementProviderFragmentRoot* This,IRawElementProviderFragment **pRetVal) {
549 return This->lpVtbl->GetFocus(This,pRetVal);
550}
551#endif
552#endif
553
554#endif
555
556
557#endif /* __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ */
558
294559#endif /* __UIA_LIBRARY_DEFINED__ */
295560/* Begin additional prototypes for all interfaces */
296561
lib/libc/include/any-windows-any/uiautomationcoreapi.h+1
......@@ -66,6 +66,7 @@ HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value);
6666int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid);
6767WINBOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj);
6868HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id);
69HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT old, VARIANT new);
6970void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback);
7071LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov);
7172WINBOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj);
lib/libc/include/any-windows-any/uiviewsettingsinterop.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/uiviewsettingsinterop.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/uiviewsettingsinterop.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/unknwn.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/unknwn.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/unknwn.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/unknwnbase.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/unknwnbase.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/unknwnbase.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/urlhist.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/urlhist.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/urlhist.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/urlmon.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/urlmon.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/urlmon.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/vdslun.h+120-26
......@@ -1,32 +1,126 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VDSLUN
7#define _INC_VDSLUN
1/*** Autogenerated by WIDL 7.0 from include/vdslun.idl - Do not edit ***/
82
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __vdslun_h__
17#define __vdslun_h__
18
19/* Forward declarations */
20
21/* Headers for imported files */
22
23#include <oaidl.h>
24#include <ocidl.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30#include <winapifamily.h>
31#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
32typedef enum _VDS_STORAGE_IDENTIFIER_CODE_SET {
33 VDSStorageIdCodeSetReserved = 0,
34 VDSStorageIdCodeSetBinary = 1,
35 VDSStorageIdCodeSetAscii = 2,
36 VDSStorageIdCodeSetUtf8 = 3
37} VDS_STORAGE_IDENTIFIER_CODE_SET;
38typedef enum _VDS_STORAGE_IDENTIFIER_TYPE {
39 VDSStorageIdTypeVendorSpecific = 0,
40 VDSStorageIdTypeVendorId = 1,
41 VDSStorageIdTypeEUI64 = 2,
42 VDSStorageIdTypeFCPHName = 3,
43 VDSStorageIdTypePortRelative = 4,
44 VDSStorageIdTypeTargetPortGroup = 5,
45 VDSStorageIdTypeLogicalUnitGroup = 6,
46 VDSStorageIdTypeMD5LogicalUnitIdentifier = 7,
47 VDSStorageIdTypeScsiNameString = 8
48} VDS_STORAGE_IDENTIFIER_TYPE;
49typedef enum _VDS_STORAGE_BUS_TYPE {
50 VDSBusTypeUnknown = 0x0,
51 VDSBusTypeScsi = 0x1,
52 VDSBusTypeAtapi = 0x2,
53 VDSBusTypeAta = 0x3,
54 VDSBusType1394 = 0x4,
55 VDSBusTypeSsa = 0x5,
56 VDSBusTypeFibre = 0x6,
57 VDSBusTypeUsb = 0x7,
58 VDSBusTypeRAID = 0x8,
59 VDSBusTypeiScsi = 0x9,
60 VDSBusTypeSas = 0xa,
61 VDSBusTypeSata = 0xb,
62 VDSBusTypeSd = 0xc,
63 VDSBusTypeMmc = 0xd,
64 VDSBusTypeMax = 0xe,
65 VDSBusTypeVirtual = 0xe,
66 VDSBusTypeFileBackedVirtual = 0xf,
67 VDSBusTypeSpaces = 0x10,
68 VDSBusTypeNVMe = 0x11,
69 VDSBusTypeScm = 0x12,
70 VDSBusTypeUfs = 0x13,
71 VDSBusTypeMaxReserved = 0x7f
72} VDS_STORAGE_BUS_TYPE;
73typedef struct _VDS_STORAGE_IDENTIFIER {
74 VDS_STORAGE_IDENTIFIER_CODE_SET m_CodeSet;
75 VDS_STORAGE_IDENTIFIER_TYPE m_Type;
76 ULONG m_cbIdentifier;
77 BYTE *m_rgbIdentifier;
78} VDS_STORAGE_IDENTIFIER;
79typedef struct _VDS_STORAGE_DEVICE_ID_DESCRIPTOR {
80 ULONG m_version;
81 ULONG m_cIdentifiers;
82 VDS_STORAGE_IDENTIFIER *m_rgIdentifiers;
83} VDS_STORAGE_DEVICE_ID_DESCRIPTOR;
84typedef enum _VDS_INTERCONNECT_ADDRESS_TYPE {
85 VDS_IA_UNKNOWN = 0,
86 VDS_IA_FCFS = 1,
87 VDS_IA_FCPH = 2,
88 VDS_IA_FCPH3 = 3,
89 VDS_IA_MAC = 4,
90 VDS_IA_SCSI = 5
91} VDS_INTERCONNECT_ADDRESS_TYPE;
992typedef struct _VDS_INTERCONNECT {
10 VDS_INTERCONNECT_ADDRESS_TYPE m_addressType;
11 ULONG m_cbPort; BYTE* m_pbPort;
12 ULONG m_cbAddress;
13 BYTE *m_pbAddress;
93 VDS_INTERCONNECT_ADDRESS_TYPE m_addressType;
94 ULONG m_cbPort;
95 BYTE *m_pbPort;
96 ULONG m_cbAddress;
97 BYTE *m_pbAddress;
1498} VDS_INTERCONNECT;
15
1699typedef struct _VDS_LUN_INFORMATION {
17 ULONG m_version;
18 BYTE m_DeviceType;
19 BYTE m_DeviceTypeModifier;
20 WINBOOL m_bCommandQueueing;
21 VDS_STORAGE_BUS_TYPE m_BusType;
22 char* m_szVendorId;
23 char* m_szProductId;
24 char* m_szProductRevision;
25 char* m_szSerialNumber;
26 GUID m_diskSignature;
27 VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor;
28 ULONG m_cInterconnects;
29 VDS_INTERCONNECT *m_rgInterconnects;
100 ULONG m_version;
101 BYTE m_DeviceType;
102 BYTE m_DeviceTypeModifier;
103 WINBOOL m_bCommandQueueing;
104 VDS_STORAGE_BUS_TYPE m_BusType;
105 char *m_szVendorId;
106 char *m_szProductId;
107 char *m_szProductRevision;
108 char *m_szSerialNumber;
109 GUID m_diskSignature;
110 VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor;
111 ULONG m_cInterconnects;
112 VDS_INTERCONNECT *m_rgInterconnects;
30113} VDS_LUN_INFORMATION;
114#define VER_VDS_LUN_INFORMATION (1)
115
116#endif /* WINAPI_PARTITION_DESKTOP */
117/* Begin additional prototypes for all interfaces */
118
119
120/* End additional prototypes */
121
122#ifdef __cplusplus
123}
124#endif
31125
32#endif /*_INC_VDSLUN*/
126#endif /* __vdslun_h__ */
lib/libc/include/any-windows-any/vmr9.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/vmr9.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/vmr9.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/vsadmin.h+334-29
......@@ -1,45 +1,350 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VSADMIN
7#define _INC_VSADMIN
1/*** Autogenerated by WIDL 7.0 from include/vsadmin.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
815
16#ifndef __vsadmin_h__
17#define __vsadmin_h__
18
19/* Forward declarations */
20
21#ifndef __IVssAdmin_FWD_DEFINED__
22#define __IVssAdmin_FWD_DEFINED__
23typedef interface IVssAdmin IVssAdmin;
24#ifdef __cplusplus
25interface IVssAdmin;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IVssAdminEx_FWD_DEFINED__
30#define __IVssAdminEx_FWD_DEFINED__
31typedef interface IVssAdminEx IVssAdminEx;
32#ifdef __cplusplus
33interface IVssAdminEx;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __VSSCoordinator_FWD_DEFINED__
38#define __VSSCoordinator_FWD_DEFINED__
39#ifdef __cplusplus
40typedef class VSSCoordinator VSSCoordinator;
41#else
42typedef struct VSSCoordinator VSSCoordinator;
43#endif /* defined __cplusplus */
44#endif /* defined __VSSCoordinator_FWD_DEFINED__ */
45
46/* Headers for imported files */
47
48#include <oaidl.h>
49#include <ocidl.h>
950#include <vss.h>
10#if (_WIN32_WINNT >= 0x600)
11#undef INTERFACE
12#define INTERFACE IVssAdmin
13#ifdef __GNUC__
14#warning COM interfaces layout in this header has not been verified.
15#warning COM interfaces with incorrect layout may not work at all.
16__MINGW_BROKEN_INTERFACE(INTERFACE)
17#endif
18DECLARE_INTERFACE_(IVssAdmin,IUnknown)
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
56#include <winapifamily.h>
57#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
58/*****************************************************************************
59 * IVssAdmin interface
60 */
61#ifndef __IVssAdmin_INTERFACE_DEFINED__
62#define __IVssAdmin_INTERFACE_DEFINED__
63
64DEFINE_GUID(IID_IVssAdmin, 0x77ed5996, 0x2f63, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3);
65#if defined(__cplusplus) && !defined(CINTERFACE)
66MIDL_INTERFACE("77ed5996-2f63-11d3-8a39-00c04f72d8e3")
67IVssAdmin : public IUnknown
1968{
69 virtual HRESULT STDMETHODCALLTYPE RegisterProvider(
70 VSS_ID pProviderId,
71 CLSID ClassId,
72 VSS_PWSZ pwszProviderName,
73 VSS_PROVIDER_TYPE eProviderType,
74 VSS_PWSZ pwszProviderVersion,
75 VSS_ID ProviderVersionId) = 0;
76
77 virtual HRESULT STDMETHODCALLTYPE UnregisterProvider(
78 VSS_ID ProviderId) = 0;
79
80 virtual HRESULT STDMETHODCALLTYPE QueryProviders(
81 IVssEnumObject **ppEnum) = 0;
82
83 virtual HRESULT STDMETHODCALLTYPE AbortAllSnapshotsInProgress(
84 ) = 0;
85
86};
87#ifdef __CRT_UUID_DECL
88__CRT_UUID_DECL(IVssAdmin, 0x77ed5996, 0x2f63, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3)
89#endif
90#else
91typedef struct IVssAdminVtbl {
2092 BEGIN_INTERFACE
2193
22 /* IUnknown methods */
23 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
24 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
25 STDMETHOD_(ULONG, Release)(THIS) PURE;
94 /*** IUnknown methods ***/
95 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
96 IVssAdmin *This,
97 REFIID riid,
98 void **ppvObject);
99
100 ULONG (STDMETHODCALLTYPE *AddRef)(
101 IVssAdmin *This);
102
103 ULONG (STDMETHODCALLTYPE *Release)(
104 IVssAdmin *This);
26105
27 /* IVssAdmin methods */
28 STDMETHOD_(HRESULT,RegisterProvider)(THIS_ VSS_ID pProviderId,CLSID ClassId,VSS_PWSZ pwszProviderName,VSS_PROVIDER_TYPE eProviderType,VSS_PWSZ pwszProviderVersion,VSS_ID ProviderVersionId) PURE;
29 STDMETHOD_(HRESULT,UnregisterProvider)(THIS_ VSS_ID ProviderId) PURE;
30 STDMETHOD_(HRESULT,QueryProviders)(THIS_ IVssEnumObject **ppEnum) PURE;
31 STDMETHOD_(HRESULT,AbortAllSnapshotsInProgress)(THIS) PURE;
106 /*** IVssAdmin methods ***/
107 HRESULT (STDMETHODCALLTYPE *RegisterProvider)(
108 IVssAdmin *This,
109 VSS_ID pProviderId,
110 CLSID ClassId,
111 VSS_PWSZ pwszProviderName,
112 VSS_PROVIDER_TYPE eProviderType,
113 VSS_PWSZ pwszProviderVersion,
114 VSS_ID ProviderVersionId);
115
116 HRESULT (STDMETHODCALLTYPE *UnregisterProvider)(
117 IVssAdmin *This,
118 VSS_ID ProviderId);
119
120 HRESULT (STDMETHODCALLTYPE *QueryProviders)(
121 IVssAdmin *This,
122 IVssEnumObject **ppEnum);
123
124 HRESULT (STDMETHODCALLTYPE *AbortAllSnapshotsInProgress)(
125 IVssAdmin *This);
32126
33127 END_INTERFACE
128} IVssAdminVtbl;
129
130interface IVssAdmin {
131 CONST_VTBL IVssAdminVtbl* lpVtbl;
34132};
133
35134#ifdef COBJMACROS
135#ifndef WIDL_C_INLINE_WRAPPERS
136/*** IUnknown methods ***/
36137#define IVssAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
37138#define IVssAdmin_AddRef(This) (This)->lpVtbl->AddRef(This)
38139#define IVssAdmin_Release(This) (This)->lpVtbl->Release(This)
140/*** IVssAdmin methods ***/
39141#define IVssAdmin_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) (This)->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId)
40142#define IVssAdmin_UnregisterProvider(This,ProviderId) (This)->lpVtbl->UnregisterProvider(This,ProviderId)
41143#define IVssAdmin_QueryProviders(This,ppEnum) (This)->lpVtbl->QueryProviders(This,ppEnum)
42#define IVssAdmin_AbortAllSnapshotsInProgress() (This)->lpVtbl->AbortAllSnapshotsInProgress(This)
43#endif /*COBJMACROS*/
44#endif /*(_WIN32_WINNT >= 0x600)*/
45#endif /*_INC_VSWRITER*/
144#define IVssAdmin_AbortAllSnapshotsInProgress(This) (This)->lpVtbl->AbortAllSnapshotsInProgress(This)
145#else
146/*** IUnknown methods ***/
147static FORCEINLINE HRESULT IVssAdmin_QueryInterface(IVssAdmin* This,REFIID riid,void **ppvObject) {
148 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
149}
150static FORCEINLINE ULONG IVssAdmin_AddRef(IVssAdmin* This) {
151 return This->lpVtbl->AddRef(This);
152}
153static FORCEINLINE ULONG IVssAdmin_Release(IVssAdmin* This) {
154 return This->lpVtbl->Release(This);
155}
156/*** IVssAdmin methods ***/
157static FORCEINLINE HRESULT IVssAdmin_RegisterProvider(IVssAdmin* This,VSS_ID pProviderId,CLSID ClassId,VSS_PWSZ pwszProviderName,VSS_PROVIDER_TYPE eProviderType,VSS_PWSZ pwszProviderVersion,VSS_ID ProviderVersionId) {
158 return This->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId);
159}
160static FORCEINLINE HRESULT IVssAdmin_UnregisterProvider(IVssAdmin* This,VSS_ID ProviderId) {
161 return This->lpVtbl->UnregisterProvider(This,ProviderId);
162}
163static FORCEINLINE HRESULT IVssAdmin_QueryProviders(IVssAdmin* This,IVssEnumObject **ppEnum) {
164 return This->lpVtbl->QueryProviders(This,ppEnum);
165}
166static FORCEINLINE HRESULT IVssAdmin_AbortAllSnapshotsInProgress(IVssAdmin* This) {
167 return This->lpVtbl->AbortAllSnapshotsInProgress(This);
168}
169#endif
170#endif
171
172#endif
173
174
175#endif /* __IVssAdmin_INTERFACE_DEFINED__ */
176
177/*****************************************************************************
178 * IVssAdminEx interface
179 */
180#ifndef __IVssAdminEx_INTERFACE_DEFINED__
181#define __IVssAdminEx_INTERFACE_DEFINED__
182
183DEFINE_GUID(IID_IVssAdminEx, 0x7858a9f8, 0xb1fa, 0x41a6, 0x96,0x4f, 0xb9,0xb3,0x6b,0x8c,0xd8,0xd8);
184#if defined(__cplusplus) && !defined(CINTERFACE)
185MIDL_INTERFACE("7858a9f8-b1fa-41a6-964f-b9b36b8cd8d8")
186IVssAdminEx : public IVssAdmin
187{
188 virtual HRESULT STDMETHODCALLTYPE GetProviderCapability(
189 VSS_ID pProviderId,
190 ULONGLONG *pllOriginalCapabilityMask) = 0;
191
192 virtual HRESULT STDMETHODCALLTYPE GetProviderContext(
193 VSS_ID ProviderId,
194 LONG *plContext) = 0;
195
196 virtual HRESULT STDMETHODCALLTYPE SetProviderContext(
197 VSS_ID ProviderId,
198 LONG lContext) = 0;
199
200};
201#ifdef __CRT_UUID_DECL
202__CRT_UUID_DECL(IVssAdminEx, 0x7858a9f8, 0xb1fa, 0x41a6, 0x96,0x4f, 0xb9,0xb3,0x6b,0x8c,0xd8,0xd8)
203#endif
204#else
205typedef struct IVssAdminExVtbl {
206 BEGIN_INTERFACE
207
208 /*** IUnknown methods ***/
209 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
210 IVssAdminEx *This,
211 REFIID riid,
212 void **ppvObject);
213
214 ULONG (STDMETHODCALLTYPE *AddRef)(
215 IVssAdminEx *This);
216
217 ULONG (STDMETHODCALLTYPE *Release)(
218 IVssAdminEx *This);
219
220 /*** IVssAdmin methods ***/
221 HRESULT (STDMETHODCALLTYPE *RegisterProvider)(
222 IVssAdminEx *This,
223 VSS_ID pProviderId,
224 CLSID ClassId,
225 VSS_PWSZ pwszProviderName,
226 VSS_PROVIDER_TYPE eProviderType,
227 VSS_PWSZ pwszProviderVersion,
228 VSS_ID ProviderVersionId);
229
230 HRESULT (STDMETHODCALLTYPE *UnregisterProvider)(
231 IVssAdminEx *This,
232 VSS_ID ProviderId);
233
234 HRESULT (STDMETHODCALLTYPE *QueryProviders)(
235 IVssAdminEx *This,
236 IVssEnumObject **ppEnum);
237
238 HRESULT (STDMETHODCALLTYPE *AbortAllSnapshotsInProgress)(
239 IVssAdminEx *This);
240
241 /*** IVssAdminEx methods ***/
242 HRESULT (STDMETHODCALLTYPE *GetProviderCapability)(
243 IVssAdminEx *This,
244 VSS_ID pProviderId,
245 ULONGLONG *pllOriginalCapabilityMask);
246
247 HRESULT (STDMETHODCALLTYPE *GetProviderContext)(
248 IVssAdminEx *This,
249 VSS_ID ProviderId,
250 LONG *plContext);
251
252 HRESULT (STDMETHODCALLTYPE *SetProviderContext)(
253 IVssAdminEx *This,
254 VSS_ID ProviderId,
255 LONG lContext);
256
257 END_INTERFACE
258} IVssAdminExVtbl;
259
260interface IVssAdminEx {
261 CONST_VTBL IVssAdminExVtbl* lpVtbl;
262};
263
264#ifdef COBJMACROS
265#ifndef WIDL_C_INLINE_WRAPPERS
266/*** IUnknown methods ***/
267#define IVssAdminEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
268#define IVssAdminEx_AddRef(This) (This)->lpVtbl->AddRef(This)
269#define IVssAdminEx_Release(This) (This)->lpVtbl->Release(This)
270/*** IVssAdmin methods ***/
271#define IVssAdminEx_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) (This)->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId)
272#define IVssAdminEx_UnregisterProvider(This,ProviderId) (This)->lpVtbl->UnregisterProvider(This,ProviderId)
273#define IVssAdminEx_QueryProviders(This,ppEnum) (This)->lpVtbl->QueryProviders(This,ppEnum)
274#define IVssAdminEx_AbortAllSnapshotsInProgress(This) (This)->lpVtbl->AbortAllSnapshotsInProgress(This)
275/*** IVssAdminEx methods ***/
276#define IVssAdminEx_GetProviderCapability(This,pProviderId,pllOriginalCapabilityMask) (This)->lpVtbl->GetProviderCapability(This,pProviderId,pllOriginalCapabilityMask)
277#define IVssAdminEx_GetProviderContext(This,ProviderId,plContext) (This)->lpVtbl->GetProviderContext(This,ProviderId,plContext)
278#define IVssAdminEx_SetProviderContext(This,ProviderId,lContext) (This)->lpVtbl->SetProviderContext(This,ProviderId,lContext)
279#else
280/*** IUnknown methods ***/
281static FORCEINLINE HRESULT IVssAdminEx_QueryInterface(IVssAdminEx* This,REFIID riid,void **ppvObject) {
282 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
283}
284static FORCEINLINE ULONG IVssAdminEx_AddRef(IVssAdminEx* This) {
285 return This->lpVtbl->AddRef(This);
286}
287static FORCEINLINE ULONG IVssAdminEx_Release(IVssAdminEx* This) {
288 return This->lpVtbl->Release(This);
289}
290/*** IVssAdmin methods ***/
291static FORCEINLINE HRESULT IVssAdminEx_RegisterProvider(IVssAdminEx* This,VSS_ID pProviderId,CLSID ClassId,VSS_PWSZ pwszProviderName,VSS_PROVIDER_TYPE eProviderType,VSS_PWSZ pwszProviderVersion,VSS_ID ProviderVersionId) {
292 return This->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId);
293}
294static FORCEINLINE HRESULT IVssAdminEx_UnregisterProvider(IVssAdminEx* This,VSS_ID ProviderId) {
295 return This->lpVtbl->UnregisterProvider(This,ProviderId);
296}
297static FORCEINLINE HRESULT IVssAdminEx_QueryProviders(IVssAdminEx* This,IVssEnumObject **ppEnum) {
298 return This->lpVtbl->QueryProviders(This,ppEnum);
299}
300static FORCEINLINE HRESULT IVssAdminEx_AbortAllSnapshotsInProgress(IVssAdminEx* This) {
301 return This->lpVtbl->AbortAllSnapshotsInProgress(This);
302}
303/*** IVssAdminEx methods ***/
304static FORCEINLINE HRESULT IVssAdminEx_GetProviderCapability(IVssAdminEx* This,VSS_ID pProviderId,ULONGLONG *pllOriginalCapabilityMask) {
305 return This->lpVtbl->GetProviderCapability(This,pProviderId,pllOriginalCapabilityMask);
306}
307static FORCEINLINE HRESULT IVssAdminEx_GetProviderContext(IVssAdminEx* This,VSS_ID ProviderId,LONG *plContext) {
308 return This->lpVtbl->GetProviderContext(This,ProviderId,plContext);
309}
310static FORCEINLINE HRESULT IVssAdminEx_SetProviderContext(IVssAdminEx* This,VSS_ID ProviderId,LONG lContext) {
311 return This->lpVtbl->SetProviderContext(This,ProviderId,lContext);
312}
313#endif
314#endif
315
316#endif
317
318
319#endif /* __IVssAdminEx_INTERFACE_DEFINED__ */
320
321#ifndef __VSSAdmin_LIBRARY_DEFINED__
322#define __VSSAdmin_LIBRARY_DEFINED__
323
324DEFINE_GUID(LIBID_VSSAdmin, 0x9148a774, 0x0304, 0x4243, 0xb2,0x69, 0xa3,0x39,0xaa,0x96,0xd2,0x64);
325
326/*****************************************************************************
327 * VSSCoordinator coclass
328 */
329
330DEFINE_GUID(CLSID_VSSCoordinator, 0xe579ab5f, 0x1cc4, 0x44b4, 0xbe,0xd9, 0xde,0x09,0x91,0xff,0x06,0x23);
331
332#ifdef __cplusplus
333class DECLSPEC_UUID("e579ab5f-1cc4-44b4-bed9-de0991ff0623") VSSCoordinator;
334#ifdef __CRT_UUID_DECL
335__CRT_UUID_DECL(VSSCoordinator, 0xe579ab5f, 0x1cc4, 0x44b4, 0xbe,0xd9, 0xde,0x09,0x91,0xff,0x06,0x23)
336#endif
337#endif
338
339#endif /* __VSSAdmin_LIBRARY_DEFINED__ */
340#endif /* WINAPI_PARTITION_DESKTOP */
341/* Begin additional prototypes for all interfaces */
342
343
344/* End additional prototypes */
345
346#ifdef __cplusplus
347}
348#endif
349
350#endif /* __vsadmin_h__ */
lib/libc/include/any-windows-any/vsanimation.h created+242
......@@ -0,0 +1,242 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef __VSANIMATION_H__
8#define __VSANIMATION_H__
9
10#ifndef VSCLASS_ANIMATIONS
11#define VSCLASS_ANIMATIONS L"ANIMATIONS"
12#endif
13
14enum ANIMATIONSPARTS {
15 TAS_EXPAND = 1,
16 TAS_COLLAPSE = 2,
17 TAS_REPOSITION = 3,
18 TAS_FADEIN = 4,
19 TAS_FADEOUT = 5,
20 TAS_ADDTOLIST = 6,
21 TAS_DELETEFROMLIST = 7,
22 TAS_ADDTOGRID = 8,
23 TAS_DELETEFROMGRID = 9,
24 TAS_ADDTOSEARCHGRID = 10,
25 TAS_DELETEFROMSEARCHGRID = 11,
26 TAS_ADDTOSEARCHLIST = 12,
27 TAS_DELETEFROMSEARCHLIST = 13,
28 TAS_SHOWEDGEUI = 14,
29 TAS_SHOWPANEL = 15,
30 TAS_HIDEEDGEUI = 16,
31 TAS_HIDEPANEL = 17,
32 TAS_SHOWPOPUP = 18,
33 TAS_HIDEPOPUP = 19,
34 TAS_POINTERDOWN = 20,
35 TAS_POINTERUP = 21,
36 TAS_DRAGSOURCESTART = 22,
37 TAS_DRAGSOURCEEND = 23,
38 TAS_TRANSITIONCONTENT = 24,
39 TAS_REVEAL = 25,
40 TAS_HIDE = 26,
41 TAS_DRAGBETWEENENTER = 27,
42 TAS_DRAGBETWEENLEAVE = 28,
43 TAS_SWIPESELECT = 29,
44 TAS_SWIPEDESELECT = 30,
45 TAS_SWIPEREVEAL = 31,
46 TAS_ENTERPAGE = 32,
47 TAS_TRANSITIONPAGE = 33,
48 TAS_CROSSFADE = 34,
49 TAS_PEEK = 35,
50 TAS_UPDATEBADGE = 36
51};
52
53enum EXPANDSTATES {
54 TA_EXPAND_AFFECTED = 1,
55 TA_EXPAND_REVEALED = 2
56};
57
58enum COLLAPSESTATES {
59 TA_COLLAPSE_HIDDEN = 1,
60 TA_COLLAPSE_AFFECTED = 2
61};
62
63enum REPOSITIONSTATES {
64 TA_REPOSITION_TARGET = 1
65};
66
67enum FADEINSTATES {
68 TA_FADEIN_SHOWN = 1
69};
70
71enum FADEOUTSTATES {
72 TA_FADEOUT_HIDDEN = 1
73};
74
75enum ADDTOGRIDSTATES {
76 TA_ADDTOGRID_ADDED = 1,
77 TA_ADDTOGRID_AFFECTED = 2,
78 TA_ADDTOGRID_ROWOUT = 3,
79 TA_ADDTOGRID_ROWIN = 4
80};
81
82enum DELETEFROMGRIDSTATES {
83 TA_DELETEFROMGRID_DELETED = 1,
84 TA_DELETEFROMGRID_REMAINING = 2,
85 TA_DELETEFROMGRID_ROWOUT = 3,
86 TA_DELETEFROMGRID_ROWIN = 4
87};
88
89enum ADDTOLISTSTATES {
90 TA_ADDTOLIST_ADDED = 1,
91 TA_ADDTOLIST_AFFECTED = 2
92};
93
94enum DELETEFROMLISTSTATES {
95 TA_DELETEFROMLIST_DELETED = 1,
96 TA_DELETEFROMLIST_REMAINING = 2
97};
98
99enum ADDTOSEARCHGRIDSTATES {
100 TA_ADDTOSEARCHGRID_ADDED = 1,
101 TA_ADDTOSEARCHGRID_AFFECTED = 2,
102 TA_ADDTOSEARCHGRID_ROWOUT = 3,
103 TA_ADDTOSEARCHGRID_ROWIN = 4
104};
105
106enum DELETEFROMSEARCHGRIDSTATES {
107 TA_DELETEFROMSEARCHGRID_DELETED = 1,
108 TA_DELETEFROMSEARCHGRID_REMAINING = 2,
109 TA_DELETEFROMSEARCHGRID_ROWOUT = 3,
110 TA_DELETEFROMSEARCHGRID_ROWIN = 4
111};
112
113enum ADDTOSEARCHLISTSTATES {
114 TA_ADDTOSEARCHLIST_ADDED = 1,
115 TA_ADDTOSEARCHLIST_AFFECTED = 2
116};
117
118enum DELETEFROMSEARCHLISTSTATES {
119 TA_DELETEFROMSEARCHLIST_DELETED = 1,
120 TA_DELETEFROMSEARCHLIST_REMAINING = 2
121};
122
123enum SHOWEDGEUISTATES {
124 TA_SHOWEDGEUI_TARGET = 1
125};
126
127enum HIDEEDGEUISTATES {
128 TA_HIDEEDGEUI_TARGET = 1
129};
130
131enum SHOWPANELSTATES {
132 TA_SHOWPANEL_TARGET = 1
133};
134
135enum HIDEPANELSTATES {
136 TA_HIDEPANEL_TARGET = 1
137};
138
139enum SHOWPOPUPSTATES {
140 TA_SHOWPOPUP_TARGET = 1
141};
142
143enum HIDEPOPUPSTATES {
144 TA_HIDEPOPUP_TARGET = 1
145};
146
147enum POINTERDOWNSTATES {
148 TA_POINTERDOWN_TARGET = 1
149};
150
151enum POINTERUPSTATES {
152 TA_POINTERUP_TARGET = 1
153};
154
155enum DRAGSOURCESTARTSTATES {
156 TA_DRAGSOURCESTART_DRAGSOURCE = 1,
157 TA_DRAGSOURCESTART_AFFECTED = 2
158};
159
160enum DRAGSOURCEENDSTATES {
161 TA_DRAGSOURCEEND_DRAGSOURCE = 1,
162 TA_DRAGSOURCEEND_AFFECTED = 2
163};
164
165enum TRANSITIONCONTENTSTATES {
166 TA_TRANSITIONCONTENT_INCOMING = 1,
167 TA_TRANSITIONCONTENT_OUTGOING = 2
168};
169
170enum REVEALSTATES {
171 TA_REVEAL_BACKGROUND = 1,
172 TA_REVEAL_CONTENT = 2,
173 TA_REVEAL_OUTLINE = 3,
174 TA_REVEAL_TAPPED = 4
175};
176
177enum HIDESTATES {
178 TA_HIDE_BACKGROUND = 1,
179 TA_HIDE_CONTENT = 2,
180 TA_HIDE_OUTLINE = 3,
181 TA_HIDE_TAPPED = 4
182};
183
184enum DRAGBETWEENENTERSTATES {
185 TA_DRAGBETWEENENTER_AFFECTED = 1
186};
187
188enum DRAGBETWEENLEAVESTATES {
189 TA_DRAGBETWEENLEAVE_AFFECTED = 1
190};
191
192enum SWIPESELECTSTATES {
193 TA_SWIPESELECT_SELECTED = 1,
194 TA_SWIPESELECT_SELECTION = 2
195};
196
197enum SWIPEDESELECTSTATES {
198 TA_SWIPEDESELECT_DESELECTED = 1,
199 TA_SWIPEDESELECT_SELECTION = 2
200};
201
202enum SWIPEREVEALSTATES {
203 TA_SWIPEREVEAL_TARGET = 1
204};
205
206enum ENTERPAGESTATES {
207 TA_ENTERPAGE_TARGET = 1
208};
209
210enum TRANSITIONPAGESTATES {
211 TA_TRANSITIONPAGE_INCOMING = 1,
212 TA_TRANSITIONPAGE_OUTGOING = 2
213};
214
215enum CROSSFADESTATES {
216 TA_CROSSFADE_INCOMING = 1,
217 TA_CROSSFADE_OUTGOING = 2
218};
219
220enum PEEKSTATES {
221 TA_PEEK_TARGET = 1
222};
223
224enum UPDATEBADGESTATES {
225 TA_UPDATEBADGE_INCOMING = 1,
226 TA_UPDATEBADGE_OUTGOING = 2
227};
228
229#ifndef VSCLASS_TIMINGFUNCTION
230#define VSCLASS_TIMINGFUNCTION L"TIMINGFUNCTION"
231#endif
232
233enum TIMINGFUNCTIONPARTS {
234 TATF_LINEAR = 1,
235 TATF_EASEIN = 2,
236 TATF_EASEOUT = 3,
237 TATF_FASTIN = 4,
238 TATF_EXPONENTIAL = 5,
239 TATF_FASTINFORTYSEVENPERCENT = 6
240};
241
242#endif /* __VSANIMATION_H__ */
lib/libc/include/any-windows-any/vsbackup.h+4385-699
......@@ -1,756 +1,4442 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VSBACKUP
7#define _INC_VSBACKUP
1/*** Autogenerated by WIDL 7.0 from include/vsbackup.idl - Do not edit ***/
82
9#include <vss.h>
10#include <vswriter.h>
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __vsbackup_h__
17#define __vsbackup_h__
1118
19/* Forward declarations */
20
21#ifndef __IVssWMComponent_FWD_DEFINED__
22#define __IVssWMComponent_FWD_DEFINED__
23typedef interface IVssWMComponent IVssWMComponent;
1224#ifdef __cplusplus
13extern "C" {
25interface IVssWMComponent;
26#endif /* __cplusplus */
1427#endif
1528
16typedef struct VSS_COMPONENTINFO {
17 VSS_COMPONENT_TYPE type;
18 BSTR bstrLogicalPath;
19 BSTR bstrComponentName;
20 BSTR bstrCaption;
21 BYTE *pbIcon;
22 UINT cbIcon;
23 BOOLEAN bRestoreMetadata;
24 BOOLEAN bNotifyOnBackupComplete;
25 BOOLEAN bSelectable;
26 BOOLEAN bSelectableForRestore;
27 DWORD dwComponentFlags;
28 UINT cFileCount;
29 UINT cDatabases;
30 UINT cLogFiles;
31 UINT cDependencies;
32} VSS_COMPONENTINFO, *PVSSCOMPONENTINFO;
33
34HRESULT WINAPI CreateVssBackupComponentsInternal(
35 IVssBackupComponents **ppBackup
36);
37
38FORCEINLINE
39HRESULT WINAPI CreateVssBackupComponents(
40 IVssBackupComponents **ppBackup
41){return CreateVssBackupComponentsInternal(ppBackup);}
42
43HRESULT WINAPI CreateVssExamineWriterMetadataInternal(
44 BSTR bstrXML,
45 IVssExamineWriterMetadata **ppMetadata
46);
47
48FORCEINLINE
49HRESULT WINAPI CreateVssExamineWriterMetadata(
50 BSTR bstrXML,
51 IVssExamineWriterMetadata **ppMetadata
52){return CreateVssExamineWriterMetadataInternal(bstrXML,ppMetadata);}
53
54HRESULT WINAPI IsVolumeSnapshottedInternal(
55 VSS_PWSZ pwszVolumeName,
56 BOOLEAN *pbSnapshotsPresent,
57 LONG *plSnapshotCapability
58);
59
60FORCEINLINE
61HRESULT WINAPI IsVolumeSnapshotted(
62 VSS_PWSZ pwszVolumeName,
63 BOOLEAN *pbSnapshotsPresent,
64 LONG *plSnapshotCapability
65){return IsVolumeSnapshottedInternal(pwszVolumeName,pbSnapshotsPresent,plSnapshotCapability);}
66
67HRESULT WINAPI ShouldBlockRevertInternal(
68 LPCWSTR wszVolumeName,
69 BOOLEAN *pbBlock
70);
71
72FORCEINLINE
73HRESULT WINAPI ShouldBlockRevert(
74 LPCWSTR wszVolumeName,
75 BOOLEAN *pbBlock
76){return ShouldBlockRevertInternal(wszVolumeName,pbBlock);}
77
78void WINAPI VssFreeSnapshotPropertiesInternal(
79 VSS_SNAPSHOT_PROP *pProp
80);
81
82FORCEINLINE
83void WINAPI VssFreeSnapshotProperties(
84 VSS_SNAPSHOT_PROP *pProp
85){VssFreeSnapshotPropertiesInternal(pProp);}
86
87HRESULT WINAPI GetProviderMgmtInterfaceInternal(
88 VSS_ID ProviderId,
89 IID InterfaceId,
90 IUnknown** ppItf
91);
92
93FORCEINLINE
94HRESULT WINAPI GetProviderMgmtInterface(
95 VSS_ID ProviderId,
96 IID InterfaceId,
97 IUnknown** ppItf
98){return GetProviderMgmtInterfaceInternal(ProviderId,InterfaceId,ppItf);}
29#ifndef __IVssExamineWriterMetadata_FWD_DEFINED__
30#define __IVssExamineWriterMetadata_FWD_DEFINED__
31typedef interface IVssExamineWriterMetadata IVssExamineWriterMetadata;
32#ifdef __cplusplus
33interface IVssExamineWriterMetadata;
34#endif /* __cplusplus */
35#endif
9936
37#ifndef __IVssExamineWriterMetadataEx_FWD_DEFINED__
38#define __IVssExamineWriterMetadataEx_FWD_DEFINED__
39typedef interface IVssExamineWriterMetadataEx IVssExamineWriterMetadataEx;
10040#ifdef __cplusplus
101}
41interface IVssExamineWriterMetadataEx;
42#endif /* __cplusplus */
10243#endif
10344
104#undef INTERFACE
105#define INTERFACE IVssBackupComponents
106#ifdef __GNUC__
107#warning COM interfaces layout in this header has not been verified.
108#warning COM interfaces with incorrect layout may not work at all.
109__MINGW_BROKEN_INTERFACE(INTERFACE)
45#ifndef __IVssExamineWriterMetadataEx2_FWD_DEFINED__
46#define __IVssExamineWriterMetadataEx2_FWD_DEFINED__
47typedef interface IVssExamineWriterMetadataEx2 IVssExamineWriterMetadataEx2;
48#ifdef __cplusplus
49interface IVssExamineWriterMetadataEx2;
50#endif /* __cplusplus */
11051#endif
111DECLARE_INTERFACE_(IVssBackupComponents,IUnknown)
112{
113 BEGIN_INTERFACE
11452
115 /* IUnknown methods */
116 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
117 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
118 STDMETHOD_(ULONG, Release)(THIS) PURE;
119
120 /* IVssBackupComponents methods */
121 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;
122 STDMETHOD_(HRESULT,GetWriterComponents)(THIS_ UINT iWriter,IVssWriterComponentsExt **pWriterComponents) PURE;
123 STDMETHOD_(HRESULT,InitializeForBackup)(THIS_ BSTR bstrXML) PURE;
124 STDMETHOD_(HRESULT,SetBackupState)(THIS_ BOOLEAN bSelectComponents,BOOLEAN bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,BOOLEAN bPartialFileSupport) PURE;
125 STDMETHOD_(HRESULT,InitializeForRestore)(THIS_ BSTR bstrXML) PURE;
126 STDMETHOD_(HRESULT,SetRestoreState)(THIS_ VSS_RESTORE_TYPE restoreType) PURE;
127 STDMETHOD_(HRESULT,GatherWriterMetadata)(THIS_ IVssAsync **ppAsync) PURE;
128 STDMETHOD_(HRESULT,GetWriterMetadataCount)(THIS_ UINT *pcWriters) PURE;
129 STDMETHOD_(HRESULT,GetWriterMetadata)(THIS_ UINT iWriter,VSS_ID *pidWriterInstance,IVssExamineWriterMetadata **ppMetadata) PURE;
130 STDMETHOD_(HRESULT,FreeWriterMetadata)(THIS) PURE;
131 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) PURE;
132 STDMETHOD_(HRESULT,PrepareForBackup)(THIS_ IVssAsync **ppAsync) PURE;
133 STDMETHOD_(HRESULT,AbortBackup)(THIS) PURE;
134 STDMETHOD_(HRESULT,GatherWriterStatus)(THIS_ IVssAsync **ppAsync) PURE;
135 STDMETHOD_(HRESULT,GetWriterStatusCount)(THIS_ UINT *pcWriters) PURE;
136 STDMETHOD_(HRESULT,FreeWriterStatus)(THIS) PURE;
137 STDMETHOD_(HRESULT,GetWriterStatus)(THIS_ UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pState,HRESULT *pHrResultFailure) PURE;
138 STDMETHOD_(HRESULT,SetBackupSucceeded)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSucceeded) PURE;
139 STDMETHOD_(HRESULT,SetBackupOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) PURE;
140 STDMETHOD_(HRESULT,SetSelectedForRestore)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore) PURE;
141 STDMETHOD_(HRESULT,SetRestoreOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) PURE;
142 STDMETHOD_(HRESULT,SetAdditionalRestores)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bAdditionalResources) PURE;
143 STDMETHOD_(HRESULT,SetPreviousBackupStamp)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) PURE;
144 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
145 STDMETHOD_(HRESULT,BackupComplete)(THIS_ IVssAsync **ppAsync) PURE;
146 STDMETHOD_(HRESULT,AddAlternativeLocationMapping)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
147 STDMETHOD_(HRESULT,AddRestoreSubcomponent)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,BOOLEAN bRepair) PURE;
148 STDMETHOD_(HRESULT,SetFileRestoreStatus)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) PURE;
149 STDMETHOD_(HRESULT,AddNewTarget)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,BOOLEAN bRecursive,LPCWSTR wszAlternatePath) PURE;
150 STDMETHOD_(HRESULT,SetRangesFilePath)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) PURE;
151 STDMETHOD_(HRESULT,PreRestore)(THIS_ IVssAsync **ppAsync) PURE;
152 STDMETHOD_(HRESULT,PostRestore)(THIS_ IVssAsync **ppAsync) PURE;
153 STDMETHOD_(HRESULT,SetContext)(THIS_ LONG lContext) PURE;
154 STDMETHOD_(HRESULT,StartSnapshotSet)(THIS_ VSS_ID *pSnapshotSetId) PURE;
155 STDMETHOD_(HRESULT,AddToSnapshotSet)(THIS_ VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) PURE;
156 STDMETHOD_(HRESULT,DoSnapshotSet)(THIS_ IVssAsync **ppAsync) PURE;
157 STDMETHOD_(HRESULT,DeleteSnapshots)(THIS_ VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,BOOLEAN bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) PURE;
158 STDMETHOD_(HRESULT,ImportSnapshots)(THIS_ IVssAsync **ppAsync) PURE;
159 STDMETHOD_(HRESULT,BreakSnapshotSet)(THIS_ VSS_ID SnapshotSetId) PURE;
160 STDMETHOD_(HRESULT,GetSnapshotProperties)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) PURE;
161 STDMETHOD_(HRESULT,Query)(THIS_ VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) PURE;
162 STDMETHOD_(HRESULT,IsVolumeSupported)(THIS_ VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,BOOLEAN *pbSupportedByThisProvider) PURE;
163 STDMETHOD_(HRESULT,DisableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
164 STDMETHOD_(HRESULT,EnableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
165 STDMETHOD_(HRESULT,DisableWriterInstances)(THIS_ const VSS_ID *rgWriterInstanceId,UINT cInstanceId) PURE;
166 STDMETHOD_(HRESULT,ExposeSnapshot)(THIS_ VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) PURE;
167 STDMETHOD_(HRESULT,RevertToSnapshot)(THIS_ VSS_ID SnapshotId,BOOLEAN bForceDismount) PURE;
168 STDMETHOD_(HRESULT,QueryRevertStatus)(THIS_ VSS_PWSZ pwszVolume,IVssAsync **ppAsync) PURE;
53#ifndef __IVssWriterComponentsExt_FWD_DEFINED__
54#define __IVssWriterComponentsExt_FWD_DEFINED__
55typedef interface IVssWriterComponentsExt IVssWriterComponentsExt;
56#ifdef __cplusplus
57interface IVssWriterComponentsExt;
58#endif /* __cplusplus */
59#endif
16960
170 END_INTERFACE
171};
172#ifdef COBJMACROS
173#define IVssBackupComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
174#define IVssBackupComponents_AddRef(This) (This)->lpVtbl->AddRef(This)
175#define IVssBackupComponents_Release(This) (This)->lpVtbl->Release(This)
176#define IVssBackupComponents_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
177#define IVssBackupComponents_GetWriterComponents(This,iWriter,pWriterComponents) (This)->lpVtbl->GetWriterComponents(This,iWriter,pWriterComponents)
178#define IVssBackupComponents_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
179#define IVssBackupComponents_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
180#define IVssBackupComponents_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
181#define IVssBackupComponents_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
182#define IVssBackupComponents_GatherWriterMetadata(This,ppAsync) (This)->lpVtbl->GatherWriterMetadata(This,ppAsync)
183#define IVssBackupComponents_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
184#define IVssBackupComponents_GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata)
185#define IVssBackupComponents_FreeWriterMetadata() (This)->lpVtbl->FreeWriterMetadata(This)
186#define IVssBackupComponents_AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName)
187#define IVssBackupComponents_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
188#define IVssBackupComponents_AbortBackup() (This)->lpVtbl->AbortBackup(This)
189#define IVssBackupComponents_GatherWriterStatus(This,ppAsync) (This)->lpVtbl->GatherWriterStatus(This,ppAsync)
190#define IVssBackupComponents_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
191#define IVssBackupComponents_FreeWriterStatus() (This)->lpVtbl->FreeWriterStatus(This)
192#define IVssBackupComponents_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pState,pHrResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pState,pHrResultFailure)
193#define IVssBackupComponents_SetBackupSucceeded(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName,bSucceeded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName,bSucceeded)
194#define IVssBackupComponents_SetBackupOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszBackupOptions)
195#define IVssBackupComponents_SetSelectedForRestore(This,writerId,componentType,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,componentType,wszLogicalPath,wszComponentName,bSelectedForRestore)
196#define IVssBackupComponents_SetRestoreOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszRestoreOptions)
197#define IVssBackupComponents_SetAdditionalRestores(This,writerId,componentType,wszLogicalPath,wszComponentName,bAdditionalResources) (This)->lpVtbl->SetAdditionalRestores(This,writerId,componentType,wszLogicalPath,wszComponentName,bAdditionalResources)
198#define IVssBackupComponents_SetPreviousBackupStamp(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
199#define IVssBackupComponents_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
200#define IVssBackupComponents_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
201#define IVssBackupComponents_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
202#define IVssBackupComponents_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
203#define IVssBackupComponents_SetFileRestoreStatus(This,writerId,componentType,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,componentType,wszLogicalPath,wszComponentName,status)
204#define IVssBackupComponents_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
205#define IVssBackupComponents_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
206#define IVssBackupComponents_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
207#define IVssBackupComponents_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
208#define IVssBackupComponents_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
209#define IVssBackupComponents_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
210#define IVssBackupComponents_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
211#define IVssBackupComponents_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
212#define IVssBackupComponents_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
213#define IVssBackupComponents_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
214#define IVssBackupComponents_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
215#define IVssBackupComponents_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
216#define IVssBackupComponents_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
217#define IVssBackupComponents_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
218#define IVssBackupComponents_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
219#define IVssBackupComponents_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
220#define IVssBackupComponents_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
221#define IVssBackupComponents_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
222#define IVssBackupComponents_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
223#define IVssBackupComponents_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
224#endif /*COBJMACROS*/
61#ifndef __IVssBackupComponents_FWD_DEFINED__
62#define __IVssBackupComponents_FWD_DEFINED__
63typedef interface IVssBackupComponents IVssBackupComponents;
64#ifdef __cplusplus
65interface IVssBackupComponents;
66#endif /* __cplusplus */
67#endif
22568
226#if (_WIN32_WINNT >= 0x0600)
227#undef INTERFACE
228#define INTERFACE IVssBackupComponentsEx
229#ifdef __GNUC__
230#warning COM interfaces layout in this header has not been verified.
231#warning COM interfaces with incorrect layout may not work at all.
232__MINGW_BROKEN_INTERFACE(INTERFACE)
69#ifndef __IVssBackupComponentsEx_FWD_DEFINED__
70#define __IVssBackupComponentsEx_FWD_DEFINED__
71typedef interface IVssBackupComponentsEx IVssBackupComponentsEx;
72#ifdef __cplusplus
73interface IVssBackupComponentsEx;
74#endif /* __cplusplus */
23375#endif
234DECLARE_INTERFACE_(IVssBackupComponentsEx,IVssBackupComponents)
235{
236 BEGIN_INTERFACE
23776
238 /* IUnknown methods */
239 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
240 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
241 STDMETHOD_(ULONG, Release)(THIS) PURE;
242
243 /* IVssBackupComponents methods */
244 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;
245 STDMETHOD_(HRESULT,GetWriterComponents)(THIS_ UINT iWriter,IVssWriterComponentsExt **pWriterComponents) PURE;
246 STDMETHOD_(HRESULT,InitializeForBackup)(THIS_ BSTR bstrXML) PURE;
247 STDMETHOD_(HRESULT,SetBackupState)(THIS_ BOOLEAN bSelectComponents,BOOLEAN bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,BOOLEAN bPartialFileSupport) PURE;
248 STDMETHOD_(HRESULT,InitializeForRestore)(THIS_ BSTR bstrXML) PURE;
249 STDMETHOD_(HRESULT,SetRestoreState)(THIS_ VSS_RESTORE_TYPE restoreType) PURE;
250 STDMETHOD_(HRESULT,GatherWriterMetadata)(THIS_ IVssAsync **ppAsync) PURE;
251 STDMETHOD_(HRESULT,GetWriterMetadataCount)(THIS_ UINT *pcWriters) PURE;
252 STDMETHOD_(HRESULT,GetWriterMetadata)(THIS_ UINT iWriter,VSS_ID *pidWriterInstance,IVssExamineWriterMetadata **ppMetadata) PURE;
253 STDMETHOD_(HRESULT,FreeWriterMetadata)(THIS) PURE;
254 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) PURE;
255 STDMETHOD_(HRESULT,PrepareForBackup)(THIS_ IVssAsync **ppAsync) PURE;
256 STDMETHOD_(HRESULT,AbortBackup)(THIS) PURE;
257 STDMETHOD_(HRESULT,GatherWriterStatus)(THIS_ IVssAsync **ppAsync) PURE;
258 STDMETHOD_(HRESULT,GetWriterStatusCount)(THIS_ UINT *pcWriters) PURE;
259 STDMETHOD_(HRESULT,FreeWriterStatus)(THIS) PURE;
260 STDMETHOD_(HRESULT,GetWriterStatus)(THIS_ UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pState,HRESULT *pHrResultFailure) PURE;
261 STDMETHOD_(HRESULT,SetBackupSucceeded)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSucceeded) PURE;
262 STDMETHOD_(HRESULT,SetBackupOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) PURE;
263 STDMETHOD_(HRESULT,SetSelectedForRestore)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore) PURE;
264 STDMETHOD_(HRESULT,SetRestoreOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) PURE;
265 STDMETHOD_(HRESULT,SetAdditionalRestores)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bAdditionalResources) PURE;
266 STDMETHOD_(HRESULT,SetPreviousBackupStamp)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) PURE;
267 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
268 STDMETHOD_(HRESULT,BackupComplete)(THIS_ IVssAsync **ppAsync) PURE;
269 STDMETHOD_(HRESULT,AddAlternativeLocationMapping)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
270 STDMETHOD_(HRESULT,AddRestoreSubcomponent)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,BOOLEAN bRepair) PURE;
271 STDMETHOD_(HRESULT,SetFileRestoreStatus)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) PURE;
272 STDMETHOD_(HRESULT,AddNewTarget)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,BOOLEAN bRecursive,LPCWSTR wszAlternatePath) PURE;
273 STDMETHOD_(HRESULT,SetRangesFilePath)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) PURE;
274 STDMETHOD_(HRESULT,PreRestore)(THIS_ IVssAsync **ppAsync) PURE;
275 STDMETHOD_(HRESULT,PostRestore)(THIS_ IVssAsync **ppAsync) PURE;
276 STDMETHOD_(HRESULT,SetContext)(THIS_ LONG lContext) PURE;
277 STDMETHOD_(HRESULT,StartSnapshotSet)(THIS_ VSS_ID *pSnapshotSetId) PURE;
278 STDMETHOD_(HRESULT,AddToSnapshotSet)(THIS_ VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) PURE;
279 STDMETHOD_(HRESULT,DoSnapshotSet)(THIS_ IVssAsync **ppAsync) PURE;
280 STDMETHOD_(HRESULT,DeleteSnapshots)(THIS_ VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,BOOLEAN bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) PURE;
281 STDMETHOD_(HRESULT,ImportSnapshots)(THIS_ IVssAsync **ppAsync) PURE;
282 STDMETHOD_(HRESULT,BreakSnapshotSet)(THIS_ VSS_ID SnapshotSetId) PURE;
283 STDMETHOD_(HRESULT,GetSnapshotProperties)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) PURE;
284 STDMETHOD_(HRESULT,Query)(THIS_ VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) PURE;
285 STDMETHOD_(HRESULT,IsVolumeSupported)(THIS_ VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,BOOLEAN *pbSupportedByThisProvider) PURE;
286 STDMETHOD_(HRESULT,DisableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
287 STDMETHOD_(HRESULT,EnableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
288 STDMETHOD_(HRESULT,DisableWriterInstances)(THIS_ const VSS_ID *rgWriterInstanceId,UINT cInstanceId) PURE;
289 STDMETHOD_(HRESULT,ExposeSnapshot)(THIS_ VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) PURE;
290 STDMETHOD_(HRESULT,RevertToSnapshot)(THIS_ VSS_ID SnapshotId,BOOLEAN bForceDismount) PURE;
291 STDMETHOD_(HRESULT,QueryRevertStatus)(THIS_ VSS_PWSZ pwszVolume,IVssAsync **ppAsync) PURE;
292
293 /* IVssBackupComponentsEx methods */
294 STDMETHOD_(HRESULT,GetWriterMetadataEx)(THIS_ UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) PURE;
295 STDMETHOD_(HRESULT,SetSelectedForRestoreEx)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore,VSS_ID instanceId) PURE;
77#ifndef __IVssBackupComponentsEx2_FWD_DEFINED__
78#define __IVssBackupComponentsEx2_FWD_DEFINED__
79typedef interface IVssBackupComponentsEx2 IVssBackupComponentsEx2;
80#ifdef __cplusplus
81interface IVssBackupComponentsEx2;
82#endif /* __cplusplus */
83#endif
29684
297 END_INTERFACE
298};
299#ifdef COBJMACROS
300#define IVssBackupComponentsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
301#define IVssBackupComponentsEx_AddRef(This) (This)->lpVtbl->AddRef(This)
302#define IVssBackupComponentsEx_Release(This) (This)->lpVtbl->Release(This)
303#define IVssBackupComponentsEx_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
304#define IVssBackupComponentsEx_GetWriterComponents(This,iWriter,pWriterComponents) (This)->lpVtbl->GetWriterComponents(This,iWriter,pWriterComponents)
305#define IVssBackupComponentsEx_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
306#define IVssBackupComponentsEx_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
307#define IVssBackupComponentsEx_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
308#define IVssBackupComponentsEx_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
309#define IVssBackupComponentsEx_GatherWriterMetadata(This,ppAsync) (This)->lpVtbl->GatherWriterMetadata(This,ppAsync)
310#define IVssBackupComponentsEx_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
311#define IVssBackupComponentsEx_GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata)
312#define IVssBackupComponentsEx_FreeWriterMetadata() (This)->lpVtbl->FreeWriterMetadata(This)
313#define IVssBackupComponentsEx_AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName)
314#define IVssBackupComponentsEx_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
315#define IVssBackupComponentsEx_AbortBackup() (This)->lpVtbl->AbortBackup(This)
316#define IVssBackupComponentsEx_GatherWriterStatus(This,ppAsync) (This)->lpVtbl->GatherWriterStatus(This,ppAsync)
317#define IVssBackupComponentsEx_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
318#define IVssBackupComponentsEx_FreeWriterStatus() (This)->lpVtbl->FreeWriterStatus(This)
319#define IVssBackupComponentsEx_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pState,pHrResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pState,pHrResultFailure)
320#define IVssBackupComponentsEx_SetBackupSucceeded(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName,bSucceeded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName,bSucceeded)
321#define IVssBackupComponentsEx_SetBackupOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszBackupOptions)
322#define IVssBackupComponentsEx_SetSelectedForRestore(This,writerId,componentType,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,componentType,wszLogicalPath,wszComponentName,bSelectedForRestore)
323#define IVssBackupComponentsEx_SetRestoreOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszRestoreOptions)
324#define IVssBackupComponentsEx_SetAdditionalRestores(This,writerId,componentType,wszLogicalPath,wszComponentName,bAdditionalResources) (This)->lpVtbl->SetAdditionalRestores(This,writerId,componentType,wszLogicalPath,wszComponentName,bAdditionalResources)
325#define IVssBackupComponentsEx_SetPreviousBackupStamp(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
326#define IVssBackupComponentsEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
327#define IVssBackupComponentsEx_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
328#define IVssBackupComponentsEx_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
329#define IVssBackupComponentsEx_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
330#define IVssBackupComponentsEx_SetFileRestoreStatus(This,writerId,componentType,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,componentType,wszLogicalPath,wszComponentName,status)
331#define IVssBackupComponentsEx_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
332#define IVssBackupComponentsEx_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
333#define IVssBackupComponentsEx_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
334#define IVssBackupComponentsEx_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
335#define IVssBackupComponentsEx_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
336#define IVssBackupComponentsEx_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
337#define IVssBackupComponentsEx_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
338#define IVssBackupComponentsEx_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
339#define IVssBackupComponentsEx_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
340#define IVssBackupComponentsEx_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
341#define IVssBackupComponentsEx_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
342#define IVssBackupComponentsEx_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
343#define IVssBackupComponentsEx_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
344#define IVssBackupComponentsEx_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
345#define IVssBackupComponentsEx_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
346#define IVssBackupComponentsEx_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
347#define IVssBackupComponentsEx_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
348#define IVssBackupComponentsEx_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
349#define IVssBackupComponentsEx_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
350#define IVssBackupComponentsEx_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
351#define IVssBackupComponentsEx_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata)
352#define IVssBackupComponentsEx_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId)
353#endif /*COBJMACROS*/
85#ifndef __IVssBackupComponentsEx3_FWD_DEFINED__
86#define __IVssBackupComponentsEx3_FWD_DEFINED__
87typedef interface IVssBackupComponentsEx3 IVssBackupComponentsEx3;
88#ifdef __cplusplus
89interface IVssBackupComponentsEx3;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IVssBackupComponentsEx4_FWD_DEFINED__
94#define __IVssBackupComponentsEx4_FWD_DEFINED__
95typedef interface IVssBackupComponentsEx4 IVssBackupComponentsEx4;
96#ifdef __cplusplus
97interface IVssBackupComponentsEx4;
98#endif /* __cplusplus */
99#endif
100
101/* Headers for imported files */
102
103#include <oaidl.h>
104#include <ocidl.h>
105#include <vss.h>
106#include <vswriter.h>
354107
355#undef INTERFACE
356#define INTERFACE IVssBackupComponentsEx2
357#ifdef __GNUC__
358#warning COM interfaces layout in this header has not been verified.
359#warning COM interfaces with incorrect layout may not work at all.
360__MINGW_BROKEN_INTERFACE(INTERFACE)
108#ifdef __cplusplus
109extern "C" {
361110#endif
362DECLARE_INTERFACE_(IVssBackupComponentsEx2,IVssBackupComponentsEx)
111
112#include <winapifamily.h>
113#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
114typedef struct _VSS_COMPONENTINFO {
115 VSS_COMPONENT_TYPE type;
116 BSTR bstrLogicalPath;
117 BSTR bstrComponentName;
118 BSTR bstrCaption;
119 BYTE *pbIcon;
120 UINT cbIcon;
121 boolean bRestoreMetadata;
122 boolean bNotifyOnBackupComplete;
123 boolean bSelectable;
124 boolean bSelectableForRestore;
125 DWORD dwComponentFlags;
126 UINT cFileCount;
127 UINT cDatabases;
128 UINT cLogFiles;
129 UINT cDependencies;
130} VSS_COMPONENTINFO;
131typedef const VSS_COMPONENTINFO *PVSSCOMPONENTINFO;
132/*****************************************************************************
133 * IVssWMComponent interface
134 */
135#ifndef __IVssWMComponent_INTERFACE_DEFINED__
136#define __IVssWMComponent_INTERFACE_DEFINED__
137
138DEFINE_GUID(IID_IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
139#if defined(__cplusplus) && !defined(CINTERFACE)
140MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
141IVssWMComponent : public IUnknown
363142{
364 BEGIN_INTERFACE
143 virtual HRESULT STDMETHODCALLTYPE GetComponentInfo(
144 PVSSCOMPONENTINFO *ppInfo) = 0;
365145
366 /* IUnknown methods */
367 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
368 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
369 STDMETHOD_(ULONG, Release)(THIS) PURE;
370
371 /* IVssBackupComponents methods */
372 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;
373 STDMETHOD_(HRESULT,GetWriterComponents)(THIS_ UINT iWriter,IVssWriterComponentsExt **pWriterComponents) PURE;
374 STDMETHOD_(HRESULT,InitializeForBackup)(THIS_ BSTR bstrXML) PURE;
375 STDMETHOD_(HRESULT,SetBackupState)(THIS_ BOOLEAN bSelectComponents,BOOLEAN bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,BOOLEAN bPartialFileSupport) PURE;
376 STDMETHOD_(HRESULT,InitializeForRestore)(THIS_ BSTR bstrXML) PURE;
377 STDMETHOD_(HRESULT,SetRestoreState)(THIS_ VSS_RESTORE_TYPE restoreType) PURE;
378 STDMETHOD_(HRESULT,GatherWriterMetadata)(THIS_ IVssAsync **ppAsync) PURE;
379 STDMETHOD_(HRESULT,GetWriterMetadataCount)(THIS_ UINT *pcWriters) PURE;
380 STDMETHOD_(HRESULT,GetWriterMetadata)(THIS_ UINT iWriter,VSS_ID *pidWriterInstance,IVssExamineWriterMetadata **ppMetadata) PURE;
381 STDMETHOD_(HRESULT,FreeWriterMetadata)(THIS) PURE;
382 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) PURE;
383 STDMETHOD_(HRESULT,PrepareForBackup)(THIS_ IVssAsync **ppAsync) PURE;
384 STDMETHOD_(HRESULT,AbortBackup)(THIS) PURE;
385 STDMETHOD_(HRESULT,GatherWriterStatus)(THIS_ IVssAsync **ppAsync) PURE;
386 STDMETHOD_(HRESULT,GetWriterStatusCount)(THIS_ UINT *pcWriters) PURE;
387 STDMETHOD_(HRESULT,FreeWriterStatus)(THIS) PURE;
388 STDMETHOD_(HRESULT,GetWriterStatus)(THIS_ UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pState,HRESULT *pHrResultFailure) PURE;
389 STDMETHOD_(HRESULT,SetBackupSucceeded)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSucceeded) PURE;
390 STDMETHOD_(HRESULT,SetBackupOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) PURE;
391 STDMETHOD_(HRESULT,SetSelectedForRestore)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore) PURE;
392 STDMETHOD_(HRESULT,SetRestoreOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) PURE;
393 STDMETHOD_(HRESULT,SetAdditionalRestores)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bAdditionalResources) PURE;
394 STDMETHOD_(HRESULT,SetPreviousBackupStamp)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) PURE;
395 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
396 STDMETHOD_(HRESULT,BackupComplete)(THIS_ IVssAsync **ppAsync) PURE;
397 STDMETHOD_(HRESULT,AddAlternativeLocationMapping)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
398 STDMETHOD_(HRESULT,AddRestoreSubcomponent)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,BOOLEAN bRepair) PURE;
399 STDMETHOD_(HRESULT,SetFileRestoreStatus)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) PURE;
400 STDMETHOD_(HRESULT,AddNewTarget)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,BOOLEAN bRecursive,LPCWSTR wszAlternatePath) PURE;
401 STDMETHOD_(HRESULT,SetRangesFilePath)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) PURE;
402 STDMETHOD_(HRESULT,PreRestore)(THIS_ IVssAsync **ppAsync) PURE;
403 STDMETHOD_(HRESULT,PostRestore)(THIS_ IVssAsync **ppAsync) PURE;
404 STDMETHOD_(HRESULT,SetContext)(THIS_ LONG lContext) PURE;
405 STDMETHOD_(HRESULT,StartSnapshotSet)(THIS_ VSS_ID *pSnapshotSetId) PURE;
406 STDMETHOD_(HRESULT,AddToSnapshotSet)(THIS_ VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) PURE;
407 STDMETHOD_(HRESULT,DoSnapshotSet)(THIS_ IVssAsync **ppAsync) PURE;
408 STDMETHOD_(HRESULT,DeleteSnapshots)(THIS_ VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,BOOLEAN bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) PURE;
409 STDMETHOD_(HRESULT,ImportSnapshots)(THIS_ IVssAsync **ppAsync) PURE;
410 STDMETHOD_(HRESULT,BreakSnapshotSet)(THIS_ VSS_ID SnapshotSetId) PURE;
411 STDMETHOD_(HRESULT,GetSnapshotProperties)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) PURE;
412 STDMETHOD_(HRESULT,Query)(THIS_ VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) PURE;
413 STDMETHOD_(HRESULT,IsVolumeSupported)(THIS_ VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,BOOLEAN *pbSupportedByThisProvider) PURE;
414 STDMETHOD_(HRESULT,DisableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
415 STDMETHOD_(HRESULT,EnableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
416 STDMETHOD_(HRESULT,DisableWriterInstances)(THIS_ const VSS_ID *rgWriterInstanceId,UINT cInstanceId) PURE;
417 STDMETHOD_(HRESULT,ExposeSnapshot)(THIS_ VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) PURE;
418 STDMETHOD_(HRESULT,RevertToSnapshot)(THIS_ VSS_ID SnapshotId,BOOLEAN bForceDismount) PURE;
419 STDMETHOD_(HRESULT,QueryRevertStatus)(THIS_ VSS_PWSZ pwszVolume,IVssAsync **ppAsync) PURE;
420
421 /* IVssBackupComponentsEx methods */
422 STDMETHOD_(HRESULT,GetWriterMetadataEx)(THIS_ UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) PURE;
423 STDMETHOD_(HRESULT,SetSelectedForRestoreEx)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore,VSS_ID instanceId) PURE;
424
425 /* IVssBackupComponentsEx2 methods */
426 STDMETHOD_(HRESULT,UnexposeSnapshot)(THIS_ VSS_ID snapshotId) PURE;
427 STDMETHOD_(HRESULT,SetAuthoritativeRestore)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bAuth) PURE;
428 STDMETHOD_(HRESULT,SetRollForward)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) PURE;
429 STDMETHOD_(HRESULT,SetRestoreName)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) PURE;
430 STDMETHOD_(HRESULT,BreakSnapshotSetEx)(THIS_ VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) PURE;
431 STDMETHOD_(HRESULT,PreFastRecovery)(THIS) PURE; /*Unsupported*/
432 STDMETHOD_(HRESULT,FastRecovery)(THIS) PURE; /*Unsupported*/
146 virtual HRESULT STDMETHODCALLTYPE FreeComponentInfo(
147 PVSSCOMPONENTINFO pInfo) = 0;
148
149 virtual HRESULT STDMETHODCALLTYPE GetFile(
150 UINT iFile,
151 IVssWMFiledesc **ppFiledesc) = 0;
152
153 virtual HRESULT STDMETHODCALLTYPE GetDatabaseFile(
154 UINT iDBFile,
155 IVssWMFiledesc **ppFiledesc) = 0;
156
157 virtual HRESULT STDMETHODCALLTYPE GetDatabaseLogFile(
158 UINT iDbLogFile,
159 IVssWMFiledesc **ppFiledesc) = 0;
160
161 virtual HRESULT STDMETHODCALLTYPE GetDependency(
162 UINT iDependency,
163 IVssWMDependency **ppDependency) = 0;
433164
434 END_INTERFACE
435165};
436#ifdef COBJMACROS
437#define IVssBackupComponentsEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
438#define IVssBackupComponentsEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
439#define IVssBackupComponentsEx2_Release(This) (This)->lpVtbl->Release(This)
440#define IVssBackupComponentsEx2_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
441#define IVssBackupComponentsEx2_GetWriterComponents(This,iWriter,pWriterComponents) (This)->lpVtbl->GetWriterComponents(This,iWriter,pWriterComponents)
442#define IVssBackupComponentsEx2_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
443#define IVssBackupComponentsEx2_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
444#define IVssBackupComponentsEx2_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
445#define IVssBackupComponentsEx2_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
446#define IVssBackupComponentsEx2_GatherWriterMetadata(This,ppAsync) (This)->lpVtbl->GatherWriterMetadata(This,ppAsync)
447#define IVssBackupComponentsEx2_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
448#define IVssBackupComponentsEx2_GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata)
449#define IVssBackupComponentsEx2_FreeWriterMetadata() (This)->lpVtbl->FreeWriterMetadata(This)
450#define IVssBackupComponentsEx2_AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName)
451#define IVssBackupComponentsEx2_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
452#define IVssBackupComponentsEx2_AbortBackup() (This)->lpVtbl->AbortBackup(This)
453#define IVssBackupComponentsEx2_GatherWriterStatus(This,ppAsync) (This)->lpVtbl->GatherWriterStatus(This,ppAsync)
454#define IVssBackupComponentsEx2_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
455#define IVssBackupComponentsEx2_FreeWriterStatus() (This)->lpVtbl->FreeWriterStatus(This)
456#define IVssBackupComponentsEx2_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pState,pHrResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pState,pHrResultFailure)
457#define IVssBackupComponentsEx2_SetBackupSucceeded(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName,bSucceeded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName,bSucceeded)
458#define IVssBackupComponentsEx2_SetBackupOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszBackupOptions)
459#define IVssBackupComponentsEx2_SetSelectedForRestore(This,writerId,componentType,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,componentType,wszLogicalPath,wszComponentName,bSelectedForRestore)
460#define IVssBackupComponentsEx2_SetRestoreOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,componentType,wszLogicalPath,wszComponentName,wszRestoreOptions)
461#define IVssBackupComponentsEx2_SetAdditionalRestores(This,writerId,componentType,wszLogicalPath,wszComponentName,bAdditionalResources) (This)->lpVtbl->SetAdditionalRestores(This,writerId,componentType,wszLogicalPath,wszComponentName,bAdditionalResources)
462#define IVssBackupComponentsEx2_SetPreviousBackupStamp(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
463#define IVssBackupComponentsEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
464#define IVssBackupComponentsEx2_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
465#define IVssBackupComponentsEx2_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
466#define IVssBackupComponentsEx2_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
467#define IVssBackupComponentsEx2_SetFileRestoreStatus(This,writerId,componentType,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,componentType,wszLogicalPath,wszComponentName,status)
468#define IVssBackupComponentsEx2_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
469#define IVssBackupComponentsEx2_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
470#define IVssBackupComponentsEx2_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
471#define IVssBackupComponentsEx2_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
472#define IVssBackupComponentsEx2_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
473#define IVssBackupComponentsEx2_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
474#define IVssBackupComponentsEx2_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
475#define IVssBackupComponentsEx2_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
476#define IVssBackupComponentsEx2_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
477#define IVssBackupComponentsEx2_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
478#define IVssBackupComponentsEx2_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
479#define IVssBackupComponentsEx2_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
480#define IVssBackupComponentsEx2_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
481#define IVssBackupComponentsEx2_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
482#define IVssBackupComponentsEx2_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
483#define IVssBackupComponentsEx2_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
484#define IVssBackupComponentsEx2_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
485#define IVssBackupComponentsEx2_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
486#define IVssBackupComponentsEx2_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
487#define IVssBackupComponentsEx2_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
488#define IVssBackupComponentsEx2_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata)
489#define IVssBackupComponentsEx2_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId)
490#define IVssBackupComponentsEx2_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId)
491#define IVssBackupComponentsEx2_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth)
492#define IVssBackupComponentsEx2_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint)
493#define IVssBackupComponentsEx2_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName)
494#define IVssBackupComponentsEx2_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync)
495#define IVssBackupComponentsEx2_PreFastRecovery() (This)->lpVtbl->PreFastRecovery(This)
496#define IVssBackupComponentsEx2_FastRecovery() (This)->lpVtbl->FastRecovery(This)
497#endif /*COBJMACROS*/
498#endif /*(_WIN32_WINNT >= 0x0600)*/
499
500#if (_WIN32_WINNT >= 0x0601)
501#undef INTERFACE
502#define INTERFACE IVssBackupComponentsEx3
503#ifdef __GNUC__
504#warning COM interfaces layout in this header has not been verified.
505#warning COM interfaces with incorrect layout may not work at all.
506__MINGW_BROKEN_INTERFACE(INTERFACE)
507#endif
508DECLARE_INTERFACE_(IVssBackupComponentsEx3,IVssBackupComponentsEx2)
509{
166#ifdef __CRT_UUID_DECL
167__CRT_UUID_DECL(IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
168#endif
169#else
170typedef struct IVssWMComponentVtbl {
510171 BEGIN_INTERFACE
511172
512 /* IUnknown methods */
513 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
514 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
515 STDMETHOD_(ULONG, Release)(THIS) PURE;
516
517 /* IVssBackupComponents methods */
518 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;
519 STDMETHOD_(HRESULT,GetWriterComponents)(THIS_ UINT iWriter,IVssWriterComponentsExt **pWriterComponents) PURE;
520 STDMETHOD_(HRESULT,InitializeForBackup)(THIS_ BSTR bstrXML) PURE;
521 STDMETHOD_(HRESULT,SetBackupState)(THIS_ BOOLEAN bSelectComponents,BOOLEAN bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,BOOLEAN bPartialFileSupport) PURE;
522 STDMETHOD_(HRESULT,InitializeForRestore)(THIS_ BSTR bstrXML) PURE;
523 STDMETHOD_(HRESULT,SetRestoreState)(THIS_ VSS_RESTORE_TYPE restoreType) PURE;
524 STDMETHOD_(HRESULT,GatherWriterMetadata)(THIS_ IVssAsync **ppAsync) PURE;
525 STDMETHOD_(HRESULT,GetWriterMetadataCount)(THIS_ UINT *pcWriters) PURE;
526 STDMETHOD_(HRESULT,GetWriterMetadata)(THIS_ UINT iWriter,VSS_ID *pidWriterInstance,IVssExamineWriterMetadata **ppMetadata) PURE;
527 STDMETHOD_(HRESULT,FreeWriterMetadata)(THIS) PURE;
528 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) PURE;
529 STDMETHOD_(HRESULT,PrepareForBackup)(THIS_ IVssAsync **ppAsync) PURE;
530 STDMETHOD_(HRESULT,AbortBackup)(THIS) PURE;
531 STDMETHOD_(HRESULT,GatherWriterStatus)(THIS_ IVssAsync **ppAsync) PURE;
532 STDMETHOD_(HRESULT,GetWriterStatusCount)(THIS_ UINT *pcWriters) PURE;
533 STDMETHOD_(HRESULT,FreeWriterStatus)(THIS) PURE;
534 STDMETHOD_(HRESULT,GetWriterStatus)(THIS_ UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pState,HRESULT *pHrResultFailure) PURE;
535 STDMETHOD_(HRESULT,SetBackupSucceeded)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSucceeded) PURE;
536 STDMETHOD_(HRESULT,SetBackupOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) PURE;
537 STDMETHOD_(HRESULT,SetSelectedForRestore)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore) PURE;
538 STDMETHOD_(HRESULT,SetRestoreOptions)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) PURE;
539 STDMETHOD_(HRESULT,SetAdditionalRestores)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bAdditionalResources) PURE;
540 STDMETHOD_(HRESULT,SetPreviousBackupStamp)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) PURE;
541 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
542 STDMETHOD_(HRESULT,BackupComplete)(THIS_ IVssAsync **ppAsync) PURE;
543 STDMETHOD_(HRESULT,AddAlternativeLocationMapping)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
544 STDMETHOD_(HRESULT,AddRestoreSubcomponent)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,BOOLEAN bRepair) PURE;
545 STDMETHOD_(HRESULT,SetFileRestoreStatus)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) PURE;
546 STDMETHOD_(HRESULT,AddNewTarget)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,BOOLEAN bRecursive,LPCWSTR wszAlternatePath) PURE;
547 STDMETHOD_(HRESULT,SetRangesFilePath)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) PURE;
548 STDMETHOD_(HRESULT,PreRestore)(THIS_ IVssAsync **ppAsync) PURE;
549 STDMETHOD_(HRESULT,PostRestore)(THIS_ IVssAsync **ppAsync) PURE;
550 STDMETHOD_(HRESULT,SetContext)(THIS_ LONG lContext) PURE;
551 STDMETHOD_(HRESULT,StartSnapshotSet)(THIS_ VSS_ID *pSnapshotSetId) PURE;
552 STDMETHOD_(HRESULT,AddToSnapshotSet)(THIS_ VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) PURE;
553 STDMETHOD_(HRESULT,DoSnapshotSet)(THIS_ IVssAsync **ppAsync) PURE;
554 STDMETHOD_(HRESULT,DeleteSnapshots)(THIS_ VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,BOOLEAN bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) PURE;
555 STDMETHOD_(HRESULT,ImportSnapshots)(THIS_ IVssAsync **ppAsync) PURE;
556 STDMETHOD_(HRESULT,BreakSnapshotSet)(THIS_ VSS_ID SnapshotSetId) PURE;
557 STDMETHOD_(HRESULT,GetSnapshotProperties)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) PURE;
558 STDMETHOD_(HRESULT,Query)(THIS_ VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) PURE;
559 STDMETHOD_(HRESULT,IsVolumeSupported)(THIS_ VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,BOOLEAN *pbSupportedByThisProvider) PURE;
560 STDMETHOD_(HRESULT,DisableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
561 STDMETHOD_(HRESULT,EnableWriterClasses)(THIS_ const VSS_ID *rgWriterClassId,UINT cClassId) PURE;
562 STDMETHOD_(HRESULT,DisableWriterInstances)(THIS_ const VSS_ID *rgWriterInstanceId,UINT cInstanceId) PURE;
563 STDMETHOD_(HRESULT,ExposeSnapshot)(THIS_ VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) PURE;
564 STDMETHOD_(HRESULT,RevertToSnapshot)(THIS_ VSS_ID SnapshotId,BOOLEAN bForceDismount) PURE;
565 STDMETHOD_(HRESULT,QueryRevertStatus)(THIS_ VSS_PWSZ pwszVolume,IVssAsync **ppAsync) PURE;
566
567 /* IVssBackupComponentsEx methods */
568 STDMETHOD_(HRESULT,GetWriterMetadataEx)(THIS_ UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) PURE;
569 STDMETHOD_(HRESULT,SetSelectedForRestoreEx)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bSelectedForRestore,VSS_ID instanceId) PURE;
570
571 /* IVssBackupComponentsEx2 methods */
572 STDMETHOD_(HRESULT,UnexposeSnapshot)(THIS_ VSS_ID snapshotId) PURE;
573 STDMETHOD_(HRESULT,SetAuthoritativeRestore)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,BOOLEAN bAuth) PURE;
574 STDMETHOD_(HRESULT,SetRollForward)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) PURE;
575 STDMETHOD_(HRESULT,SetRestoreName)(THIS_ VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) PURE;
576 STDMETHOD_(HRESULT,BreakSnapshotSetEx)(THIS_ VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) PURE;
577 STDMETHOD_(HRESULT,PreFastRecovery)(THIS) PURE; /*Unsupported*/
578 STDMETHOD_(HRESULT,FastRecovery)(THIS) PURE; /*Unsupported*/
579
580 /* IVssBackupComponentsEx3 methods */
581 STDMETHOD_(HRESULT,AddSnapshotToRecoverySet)(THIS_ VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) PURE;
582 STDMETHOD_(HRESULT,GetSessionId)(THIS_ VSS_ID *idSession) PURE;
583 STDMETHOD_(HRESULT,GetWriterStatusEx)(THIS_ UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,BSTR *pbstrApplicationMessage) PURE;
584 STDMETHOD_(HRESULT,RecoverSet)(THIS_ DWORD dwFlags,IVssAsync **ppAsync) PURE;
173 /*** IUnknown methods ***/
174 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
175 IVssWMComponent *This,
176 REFIID riid,
177 void **ppvObject);
585178
586 END_INTERFACE
587};
588#ifdef COBJMACROS
589#define IVssBackupComponentsEx3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
590#define IVssBackupComponentsEx3_AddRef(This) (This)->lpVtbl->AddRef(This)
591#define IVssBackupComponentsEx3_Release(This) (This)->lpVtbl->Release(This)
592#define IVssBackupComponentsEx3_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume)
593#define IVssBackupComponentsEx3_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession)
594#define IVssBackupComponentsEx3_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,pbstrApplicationMessage)
595#define IVssBackupComponentsEx3_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync)
596#endif /*COBJMACROS*/
597#endif /*(_WIN32_WINNT >= 0x0601)*/
179 ULONG (STDMETHODCALLTYPE *AddRef)(
180 IVssWMComponent *This);
598181
599#ifdef __cplusplus
600/* Is a C++ interface instead of a COM */
601#undef INTERFACE
602#define INTERFACE IVssExamineWriterMetadata
603#ifdef __GNUC__
604#warning COM interfaces layout in this header has not been verified.
605#warning COM interfaces with incorrect layout may not work at all.
606__MINGW_BROKEN_INTERFACE(INTERFACE)
607#endif
608DECLARE_INTERFACE_(IVssExamineWriterMetadata,IUnknown)
609{
610 BEGIN_INTERFACE
182 ULONG (STDMETHODCALLTYPE *Release)(
183 IVssWMComponent *This);
184
185 /*** IVssWMComponent methods ***/
186 HRESULT (STDMETHODCALLTYPE *GetComponentInfo)(
187 IVssWMComponent *This,
188 PVSSCOMPONENTINFO *ppInfo);
189
190 HRESULT (STDMETHODCALLTYPE *FreeComponentInfo)(
191 IVssWMComponent *This,
192 PVSSCOMPONENTINFO pInfo);
193
194 HRESULT (STDMETHODCALLTYPE *GetFile)(
195 IVssWMComponent *This,
196 UINT iFile,
197 IVssWMFiledesc **ppFiledesc);
198
199 HRESULT (STDMETHODCALLTYPE *GetDatabaseFile)(
200 IVssWMComponent *This,
201 UINT iDBFile,
202 IVssWMFiledesc **ppFiledesc);
611203
612 /* IUnknown methods */
613 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
614 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
615 STDMETHOD_(ULONG, Release)(THIS) PURE;
616
617 /* IVssExamineWriterMetadata methods */
618 STDMETHOD_(HRESULT,GetIdentity)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;
619 STDMETHOD_(HRESULT,GetFileCounts)(THIS_ UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) PURE;
620 STDMETHOD_(HRESULT,GetIncludeFile)(THIS) PURE;
621 STDMETHOD_(HRESULT,GetExcludeFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
622 STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssWMComponent **ppComponent) PURE;
623 STDMETHOD_(HRESULT,GetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwreWriterRestore,BOOLEAN *pbRebootRequired,UINT *piMappings) PURE;
624 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,IVssWMFiledesc **ppMapping) PURE;
625 STDMETHOD_(HRESULT,GetBackupSchema)(THIS_ DWORD *pdsSchemaMask) PURE;
626 STDMETHOD_(HRESULT,GetDocument)(THIS) PURE;
627 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
628 STDMETHOD_(HRESULT,LoadFromXML)(THIS_ BSTR bstrXML) PURE;
204 HRESULT (STDMETHODCALLTYPE *GetDatabaseLogFile)(
205 IVssWMComponent *This,
206 UINT iDbLogFile,
207 IVssWMFiledesc **ppFiledesc);
208
209 HRESULT (STDMETHODCALLTYPE *GetDependency)(
210 IVssWMComponent *This,
211 UINT iDependency,
212 IVssWMDependency **ppDependency);
629213
630214 END_INTERFACE
215} IVssWMComponentVtbl;
216
217interface IVssWMComponent {
218 CONST_VTBL IVssWMComponentVtbl* lpVtbl;
631219};
632220
633#if (_WIN32_WINNT >= 0x0600)
634#undef INTERFACE
635#define INTERFACE IVssExamineWriterMetadataEx
636#ifdef __GNUC__
637#warning COM interfaces layout in this header has not been verified.
638#warning COM interfaces with incorrect layout may not work at all.
639__MINGW_BROKEN_INTERFACE(INTERFACE)
221#ifdef COBJMACROS
222#ifndef WIDL_C_INLINE_WRAPPERS
223/*** IUnknown methods ***/
224#define IVssWMComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
225#define IVssWMComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
226#define IVssWMComponent_Release(This) (This)->lpVtbl->Release(This)
227/*** IVssWMComponent methods ***/
228#define IVssWMComponent_GetComponentInfo(This,ppInfo) (This)->lpVtbl->GetComponentInfo(This,ppInfo)
229#define IVssWMComponent_FreeComponentInfo(This,pInfo) (This)->lpVtbl->FreeComponentInfo(This,pInfo)
230#define IVssWMComponent_GetFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetFile(This,iFile,ppFiledesc)
231#define IVssWMComponent_GetDatabaseFile(This,iDBFile,ppFiledesc) (This)->lpVtbl->GetDatabaseFile(This,iDBFile,ppFiledesc)
232#define IVssWMComponent_GetDatabaseLogFile(This,iDbLogFile,ppFiledesc) (This)->lpVtbl->GetDatabaseLogFile(This,iDbLogFile,ppFiledesc)
233#define IVssWMComponent_GetDependency(This,iDependency,ppDependency) (This)->lpVtbl->GetDependency(This,iDependency,ppDependency)
234#else
235/*** IUnknown methods ***/
236static FORCEINLINE HRESULT IVssWMComponent_QueryInterface(IVssWMComponent* This,REFIID riid,void **ppvObject) {
237 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
238}
239static FORCEINLINE ULONG IVssWMComponent_AddRef(IVssWMComponent* This) {
240 return This->lpVtbl->AddRef(This);
241}
242static FORCEINLINE ULONG IVssWMComponent_Release(IVssWMComponent* This) {
243 return This->lpVtbl->Release(This);
244}
245/*** IVssWMComponent methods ***/
246static FORCEINLINE HRESULT IVssWMComponent_GetComponentInfo(IVssWMComponent* This,PVSSCOMPONENTINFO *ppInfo) {
247 return This->lpVtbl->GetComponentInfo(This,ppInfo);
248}
249static FORCEINLINE HRESULT IVssWMComponent_FreeComponentInfo(IVssWMComponent* This,PVSSCOMPONENTINFO pInfo) {
250 return This->lpVtbl->FreeComponentInfo(This,pInfo);
251}
252static FORCEINLINE HRESULT IVssWMComponent_GetFile(IVssWMComponent* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
253 return This->lpVtbl->GetFile(This,iFile,ppFiledesc);
254}
255static FORCEINLINE HRESULT IVssWMComponent_GetDatabaseFile(IVssWMComponent* This,UINT iDBFile,IVssWMFiledesc **ppFiledesc) {
256 return This->lpVtbl->GetDatabaseFile(This,iDBFile,ppFiledesc);
257}
258static FORCEINLINE HRESULT IVssWMComponent_GetDatabaseLogFile(IVssWMComponent* This,UINT iDbLogFile,IVssWMFiledesc **ppFiledesc) {
259 return This->lpVtbl->GetDatabaseLogFile(This,iDbLogFile,ppFiledesc);
260}
261static FORCEINLINE HRESULT IVssWMComponent_GetDependency(IVssWMComponent* This,UINT iDependency,IVssWMDependency **ppDependency) {
262 return This->lpVtbl->GetDependency(This,iDependency,ppDependency);
263}
264#endif
265#endif
266
640267#endif
641DECLARE_INTERFACE_(IVssExamineWriterMetadataEx,IVssExamineWriterMetadata)
268
269
270#endif /* __IVssWMComponent_INTERFACE_DEFINED__ */
271
272/*****************************************************************************
273 * IVssExamineWriterMetadata interface
274 */
275#ifndef __IVssExamineWriterMetadata_INTERFACE_DEFINED__
276#define __IVssExamineWriterMetadata_INTERFACE_DEFINED__
277
278DEFINE_GUID(IID_IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, 0x81,0xf1, 0xb2,0xe4,0x00,0xb1,0xe5,0xbd);
279#if defined(__cplusplus) && !defined(CINTERFACE)
280MIDL_INTERFACE("902fcf7f-b7fd-42f8-81f1-b2e400b1e5bd")
281IVssExamineWriterMetadata : public IUnknown
642282{
643 BEGIN_INTERFACE
283 virtual HRESULT STDMETHODCALLTYPE GetIdentity(
284 VSS_ID *pidInstance,
285 VSS_ID *pidWriter,
286 BSTR *pbstrWriterName,
287 VSS_USAGE_TYPE *pUsage,
288 VSS_SOURCE_TYPE *pSource) = 0;
644289
645 /* IUnknown methods */
646 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
647 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
648 STDMETHOD_(ULONG, Release)(THIS) PURE;
649
650 /* IVssExamineWriterMetadata methods */
651 STDMETHOD_(HRESULT,GetIdentity)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;
652 STDMETHOD_(HRESULT,GetFileCounts)(THIS_ UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) PURE;
653 STDMETHOD_(HRESULT,GetIncludeFile)(THIS) PURE;
654 STDMETHOD_(HRESULT,GetExcludeFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
655 STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssWMComponent **ppComponent) PURE;
656 STDMETHOD_(HRESULT,GetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwreWriterRestore,BOOLEAN *pbRebootRequired,UINT *piMappings) PURE;
657 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,IVssWMFiledesc **ppMapping) PURE;
658 STDMETHOD_(HRESULT,GetBackupSchema)(THIS_ DWORD *pdsSchemaMask) PURE;
659 STDMETHOD_(HRESULT,GetDocument)(THIS) PURE;
660 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
661 STDMETHOD_(HRESULT,LoadFromXML)(THIS_ BSTR bstrXML) PURE;
662
663 /* IVssExamineWriterMetadataEx methods */
664 STDMETHOD_(HRESULT,GetIdentityEx)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;
290 virtual HRESULT STDMETHODCALLTYPE GetFileCounts(
291 UINT *pcIncludeFiles,
292 UINT *pcExcludeFiles,
293 UINT *pcComponents) = 0;
665294
666 END_INTERFACE
667};
295 virtual HRESULT STDMETHODCALLTYPE GetIncludeFile(
296 UINT iFile,
297 IVssWMFiledesc **ppFiledesc) = 0;
298
299 virtual HRESULT STDMETHODCALLTYPE GetExcludeFile(
300 UINT iFile,
301 IVssWMFiledesc **ppFiledesc) = 0;
668302
669#undef INTERFACE
670#define INTERFACE IVssExamineWriterMetadataEx2
671#ifdef __GNUC__
672#warning COM interfaces layout in this header has not been verified.
673#warning COM interfaces with incorrect layout may not work at all.
674__MINGW_BROKEN_INTERFACE(INTERFACE)
303 virtual HRESULT STDMETHODCALLTYPE GetComponent(
304 UINT iComponent,
305 IVssWMComponent **ppComponent) = 0;
306
307 virtual HRESULT STDMETHODCALLTYPE GetRestoreMethod(
308 VSS_RESTOREMETHOD_ENUM *pMethod,
309 BSTR *pbstrService,
310 BSTR *pbstrUserProcedure,
311 VSS_WRITERRESTORE_ENUM *pwriterRestore,
312 boolean *pbRebootRequired,
313 UINT *pcMappings) = 0;
314
315 virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMapping(
316 UINT iMapping,
317 IVssWMFiledesc **ppFiledesc) = 0;
318
319 virtual HRESULT STDMETHODCALLTYPE GetBackupSchema(
320 DWORD *pdwSchemaMask) = 0;
321
322 virtual HRESULT STDMETHODCALLTYPE GetDocument(
323 IXMLDOMDocument **pDoc) = 0;
324
325 virtual HRESULT STDMETHODCALLTYPE SaveAsXML(
326 BSTR *pbstrXML) = 0;
327
328 virtual HRESULT STDMETHODCALLTYPE LoadFromXML(
329 BSTR bstrXML) = 0;
330
331};
332#ifdef __CRT_UUID_DECL
333__CRT_UUID_DECL(IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, 0x81,0xf1, 0xb2,0xe4,0x00,0xb1,0xe5,0xbd)
675334#endif
676DECLARE_INTERFACE_(IVssExamineWriterMetadataEx2,IVssExamineWriterMetadataEx)
677{
335#else
336typedef struct IVssExamineWriterMetadataVtbl {
678337 BEGIN_INTERFACE
679338
680 /* IUnknown methods */
681 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
682 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
683 STDMETHOD_(ULONG, Release)(THIS) PURE;
684
685/* IVssExamineWriterMetadata methods */
686 STDMETHOD_(HRESULT,GetIdentity)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;
687 STDMETHOD_(HRESULT,GetFileCounts)(THIS_ UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) PURE;
688 STDMETHOD_(HRESULT,GetIncludeFile)(THIS) PURE;
689 STDMETHOD_(HRESULT,GetExcludeFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
690 STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssWMComponent **ppComponent) PURE;
691 STDMETHOD_(HRESULT,GetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwreWriterRestore,BOOLEAN *pbRebootRequired,UINT *piMappings) PURE;
692 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,IVssWMFiledesc **ppMapping) PURE;
693 STDMETHOD_(HRESULT,GetBackupSchema)(THIS_ DWORD *pdsSchemaMask) PURE;
694 STDMETHOD_(HRESULT,GetDocument)(THIS) PURE;
695 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
696 STDMETHOD_(HRESULT,LoadFromXML)(THIS_ BSTR bstrXML) PURE;
697
698 /* IVssExamineWriterMetadataEx methods */
699 STDMETHOD_(HRESULT,GetIdentityEx)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;
700
701 /* IVssExamineWriterMetadataEx2 methods */
702 STDMETHOD_(HRESULT,GetVersion)(THIS_ DWORD *pdwMajorVersion,DWORD *pdwMinorVersion) PURE;
703 STDMETHOD_(HRESULT,GetExcludeFromSnapshotCount)(THIS_ UINT *pcExcludedFromSnapshot) PURE;
704 STDMETHOD_(HRESULT,GetExcludeFromSnapshotFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
339 /*** IUnknown methods ***/
340 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
341 IVssExamineWriterMetadata *This,
342 REFIID riid,
343 void **ppvObject);
344
345 ULONG (STDMETHODCALLTYPE *AddRef)(
346 IVssExamineWriterMetadata *This);
347
348 ULONG (STDMETHODCALLTYPE *Release)(
349 IVssExamineWriterMetadata *This);
350
351 /*** IVssExamineWriterMetadata methods ***/
352 HRESULT (STDMETHODCALLTYPE *GetIdentity)(
353 IVssExamineWriterMetadata *This,
354 VSS_ID *pidInstance,
355 VSS_ID *pidWriter,
356 BSTR *pbstrWriterName,
357 VSS_USAGE_TYPE *pUsage,
358 VSS_SOURCE_TYPE *pSource);
359
360 HRESULT (STDMETHODCALLTYPE *GetFileCounts)(
361 IVssExamineWriterMetadata *This,
362 UINT *pcIncludeFiles,
363 UINT *pcExcludeFiles,
364 UINT *pcComponents);
365
366 HRESULT (STDMETHODCALLTYPE *GetIncludeFile)(
367 IVssExamineWriterMetadata *This,
368 UINT iFile,
369 IVssWMFiledesc **ppFiledesc);
370
371 HRESULT (STDMETHODCALLTYPE *GetExcludeFile)(
372 IVssExamineWriterMetadata *This,
373 UINT iFile,
374 IVssWMFiledesc **ppFiledesc);
375
376 HRESULT (STDMETHODCALLTYPE *GetComponent)(
377 IVssExamineWriterMetadata *This,
378 UINT iComponent,
379 IVssWMComponent **ppComponent);
380
381 HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)(
382 IVssExamineWriterMetadata *This,
383 VSS_RESTOREMETHOD_ENUM *pMethod,
384 BSTR *pbstrService,
385 BSTR *pbstrUserProcedure,
386 VSS_WRITERRESTORE_ENUM *pwriterRestore,
387 boolean *pbRebootRequired,
388 UINT *pcMappings);
389
390 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
391 IVssExamineWriterMetadata *This,
392 UINT iMapping,
393 IVssWMFiledesc **ppFiledesc);
394
395 HRESULT (STDMETHODCALLTYPE *GetBackupSchema)(
396 IVssExamineWriterMetadata *This,
397 DWORD *pdwSchemaMask);
398
399 HRESULT (STDMETHODCALLTYPE *GetDocument)(
400 IVssExamineWriterMetadata *This,
401 IXMLDOMDocument **pDoc);
402
403 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
404 IVssExamineWriterMetadata *This,
405 BSTR *pbstrXML);
406
407 HRESULT (STDMETHODCALLTYPE *LoadFromXML)(
408 IVssExamineWriterMetadata *This,
409 BSTR bstrXML);
705410
706411 END_INTERFACE
412} IVssExamineWriterMetadataVtbl;
413
414interface IVssExamineWriterMetadata {
415 CONST_VTBL IVssExamineWriterMetadataVtbl* lpVtbl;
707416};
708417
709#endif /*(_WIN32_WINNT >= 0x0600)*/
418#ifdef COBJMACROS
419#ifndef WIDL_C_INLINE_WRAPPERS
420/*** IUnknown methods ***/
421#define IVssExamineWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
422#define IVssExamineWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This)
423#define IVssExamineWriterMetadata_Release(This) (This)->lpVtbl->Release(This)
424/*** IVssExamineWriterMetadata methods ***/
425#define IVssExamineWriterMetadata_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource)
426#define IVssExamineWriterMetadata_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents)
427#define IVssExamineWriterMetadata_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc)
428#define IVssExamineWriterMetadata_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc)
429#define IVssExamineWriterMetadata_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent)
430#define IVssExamineWriterMetadata_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings)
431#define IVssExamineWriterMetadata_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
432#define IVssExamineWriterMetadata_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask)
433#define IVssExamineWriterMetadata_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc)
434#define IVssExamineWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
435#define IVssExamineWriterMetadata_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML)
436#else
437/*** IUnknown methods ***/
438static FORCEINLINE HRESULT IVssExamineWriterMetadata_QueryInterface(IVssExamineWriterMetadata* This,REFIID riid,void **ppvObject) {
439 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
440}
441static FORCEINLINE ULONG IVssExamineWriterMetadata_AddRef(IVssExamineWriterMetadata* This) {
442 return This->lpVtbl->AddRef(This);
443}
444static FORCEINLINE ULONG IVssExamineWriterMetadata_Release(IVssExamineWriterMetadata* This) {
445 return This->lpVtbl->Release(This);
446}
447/*** IVssExamineWriterMetadata methods ***/
448static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetIdentity(IVssExamineWriterMetadata* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) {
449 return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource);
450}
451static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetFileCounts(IVssExamineWriterMetadata* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) {
452 return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents);
453}
454static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetIncludeFile(IVssExamineWriterMetadata* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
455 return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc);
456}
457static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetExcludeFile(IVssExamineWriterMetadata* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
458 return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc);
459}
460static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetComponent(IVssExamineWriterMetadata* This,UINT iComponent,IVssWMComponent **ppComponent) {
461 return This->lpVtbl->GetComponent(This,iComponent,ppComponent);
462}
463static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetRestoreMethod(IVssExamineWriterMetadata* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) {
464 return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings);
465}
466static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetAlternateLocationMapping(IVssExamineWriterMetadata* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) {
467 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc);
468}
469static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetBackupSchema(IVssExamineWriterMetadata* This,DWORD *pdwSchemaMask) {
470 return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask);
471}
472static FORCEINLINE HRESULT IVssExamineWriterMetadata_GetDocument(IVssExamineWriterMetadata* This,IXMLDOMDocument **pDoc) {
473 return This->lpVtbl->GetDocument(This,pDoc);
474}
475static FORCEINLINE HRESULT IVssExamineWriterMetadata_SaveAsXML(IVssExamineWriterMetadata* This,BSTR *pbstrXML) {
476 return This->lpVtbl->SaveAsXML(This,pbstrXML);
477}
478static FORCEINLINE HRESULT IVssExamineWriterMetadata_LoadFromXML(IVssExamineWriterMetadata* This,BSTR bstrXML) {
479 return This->lpVtbl->LoadFromXML(This,bstrXML);
480}
481#endif
482#endif
710483
711#undef INTERFACE
712#define INTERFACE IVssWMComponent
713#ifdef __GNUC__
714#warning COM interfaces layout in this header has not been verified.
715#warning COM interfaces with incorrect layout may not work at all.
716__MINGW_BROKEN_INTERFACE(INTERFACE)
717484#endif
718DECLARE_INTERFACE_(IVssWMComponent,IUnknown)
719{
720 BEGIN_INTERFACE
721485
722 /* IUnknown methods */
723 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
724 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
725 STDMETHOD_(ULONG, Release)(THIS) PURE;
726486
727 /* IVssWMComponent methods */
728 STDMETHOD_(HRESULT,GetComponentInfo)(THIS_ PVSSCOMPONENTINFO *ppInfo) PURE;
729 STDMETHOD_(HRESULT,FreeComponentInfo)(THIS_ VSS_COMPONENTINFO *pInfo) PURE;
730 STDMETHOD_(HRESULT,GetFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
731 STDMETHOD_(HRESULT,GetDatabaseFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
732 STDMETHOD_(HRESULT,GetDatabaseLogFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;
733 STDMETHOD_(HRESULT,GetDependency)(THIS_ UINT iDependency,IVssWMDependency **ppDependency) PURE;
487#endif /* __IVssExamineWriterMetadata_INTERFACE_DEFINED__ */
734488
735 END_INTERFACE
736};
489/*****************************************************************************
490 * IVssExamineWriterMetadataEx interface
491 */
492#ifndef __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__
493#define __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__
737494
738#undef INTERFACE
739#define INTERFACE IVssWriterComponentsExt
740DECLARE_INTERFACE_(IVssWriterComponentsExt,IUnknown)
495DEFINE_GUID(IID_IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51);
496#if defined(__cplusplus) && !defined(CINTERFACE)
497MIDL_INTERFACE("0c0e5ec0-ca44-472b-b702-e652db1c0451")
498IVssExamineWriterMetadataEx : public IVssExamineWriterMetadata
741499{
500 virtual HRESULT STDMETHODCALLTYPE GetIdentityEx(
501 VSS_ID *pidInstance,
502 VSS_ID *pidWriter,
503 BSTR *pbstrWriterName,
504 BSTR *pbstrInstanceName,
505 VSS_USAGE_TYPE *pUsage,
506 VSS_SOURCE_TYPE *pSource) = 0;
507
508};
509#ifdef __CRT_UUID_DECL
510__CRT_UUID_DECL(IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51)
511#endif
512#else
513typedef struct IVssExamineWriterMetadataExVtbl {
742514 BEGIN_INTERFACE
743515
744 /* IUnknown methods */
745 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
746 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
747 STDMETHOD_(ULONG, Release)(THIS) PURE;
516 /*** IUnknown methods ***/
517 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
518 IVssExamineWriterMetadataEx *This,
519 REFIID riid,
520 void **ppvObject);
748521
749 /* IVssWriterComponentsExt methods */
750 /* No additional members */
522 ULONG (STDMETHODCALLTYPE *AddRef)(
523 IVssExamineWriterMetadataEx *This);
524
525 ULONG (STDMETHODCALLTYPE *Release)(
526 IVssExamineWriterMetadataEx *This);
527
528 /*** IVssExamineWriterMetadata methods ***/
529 HRESULT (STDMETHODCALLTYPE *GetIdentity)(
530 IVssExamineWriterMetadataEx *This,
531 VSS_ID *pidInstance,
532 VSS_ID *pidWriter,
533 BSTR *pbstrWriterName,
534 VSS_USAGE_TYPE *pUsage,
535 VSS_SOURCE_TYPE *pSource);
536
537 HRESULT (STDMETHODCALLTYPE *GetFileCounts)(
538 IVssExamineWriterMetadataEx *This,
539 UINT *pcIncludeFiles,
540 UINT *pcExcludeFiles,
541 UINT *pcComponents);
542
543 HRESULT (STDMETHODCALLTYPE *GetIncludeFile)(
544 IVssExamineWriterMetadataEx *This,
545 UINT iFile,
546 IVssWMFiledesc **ppFiledesc);
547
548 HRESULT (STDMETHODCALLTYPE *GetExcludeFile)(
549 IVssExamineWriterMetadataEx *This,
550 UINT iFile,
551 IVssWMFiledesc **ppFiledesc);
552
553 HRESULT (STDMETHODCALLTYPE *GetComponent)(
554 IVssExamineWriterMetadataEx *This,
555 UINT iComponent,
556 IVssWMComponent **ppComponent);
557
558 HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)(
559 IVssExamineWriterMetadataEx *This,
560 VSS_RESTOREMETHOD_ENUM *pMethod,
561 BSTR *pbstrService,
562 BSTR *pbstrUserProcedure,
563 VSS_WRITERRESTORE_ENUM *pwriterRestore,
564 boolean *pbRebootRequired,
565 UINT *pcMappings);
566
567 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
568 IVssExamineWriterMetadataEx *This,
569 UINT iMapping,
570 IVssWMFiledesc **ppFiledesc);
571
572 HRESULT (STDMETHODCALLTYPE *GetBackupSchema)(
573 IVssExamineWriterMetadataEx *This,
574 DWORD *pdwSchemaMask);
575
576 HRESULT (STDMETHODCALLTYPE *GetDocument)(
577 IVssExamineWriterMetadataEx *This,
578 IXMLDOMDocument **pDoc);
579
580 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
581 IVssExamineWriterMetadataEx *This,
582 BSTR *pbstrXML);
583
584 HRESULT (STDMETHODCALLTYPE *LoadFromXML)(
585 IVssExamineWriterMetadataEx *This,
586 BSTR bstrXML);
587
588 /*** IVssExamineWriterMetadataEx methods ***/
589 HRESULT (STDMETHODCALLTYPE *GetIdentityEx)(
590 IVssExamineWriterMetadataEx *This,
591 VSS_ID *pidInstance,
592 VSS_ID *pidWriter,
593 BSTR *pbstrWriterName,
594 BSTR *pbstrInstanceName,
595 VSS_USAGE_TYPE *pUsage,
596 VSS_SOURCE_TYPE *pSource);
597
598 END_INTERFACE
599} IVssExamineWriterMetadataExVtbl;
600
601interface IVssExamineWriterMetadataEx {
602 CONST_VTBL IVssExamineWriterMetadataExVtbl* lpVtbl;
603};
604
605#ifdef COBJMACROS
606#ifndef WIDL_C_INLINE_WRAPPERS
607/*** IUnknown methods ***/
608#define IVssExamineWriterMetadataEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
609#define IVssExamineWriterMetadataEx_AddRef(This) (This)->lpVtbl->AddRef(This)
610#define IVssExamineWriterMetadataEx_Release(This) (This)->lpVtbl->Release(This)
611/*** IVssExamineWriterMetadata methods ***/
612#define IVssExamineWriterMetadataEx_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource)
613#define IVssExamineWriterMetadataEx_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents)
614#define IVssExamineWriterMetadataEx_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc)
615#define IVssExamineWriterMetadataEx_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc)
616#define IVssExamineWriterMetadataEx_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent)
617#define IVssExamineWriterMetadataEx_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings)
618#define IVssExamineWriterMetadataEx_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
619#define IVssExamineWriterMetadataEx_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask)
620#define IVssExamineWriterMetadataEx_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc)
621#define IVssExamineWriterMetadataEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
622#define IVssExamineWriterMetadataEx_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML)
623/*** IVssExamineWriterMetadataEx methods ***/
624#define IVssExamineWriterMetadataEx_GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) (This)->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource)
625#else
626/*** IUnknown methods ***/
627static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_QueryInterface(IVssExamineWriterMetadataEx* This,REFIID riid,void **ppvObject) {
628 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
629}
630static FORCEINLINE ULONG IVssExamineWriterMetadataEx_AddRef(IVssExamineWriterMetadataEx* This) {
631 return This->lpVtbl->AddRef(This);
632}
633static FORCEINLINE ULONG IVssExamineWriterMetadataEx_Release(IVssExamineWriterMetadataEx* This) {
634 return This->lpVtbl->Release(This);
635}
636/*** IVssExamineWriterMetadata methods ***/
637static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetIdentity(IVssExamineWriterMetadataEx* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) {
638 return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource);
639}
640static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetFileCounts(IVssExamineWriterMetadataEx* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) {
641 return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents);
642}
643static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetIncludeFile(IVssExamineWriterMetadataEx* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
644 return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc);
645}
646static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetExcludeFile(IVssExamineWriterMetadataEx* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
647 return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc);
648}
649static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetComponent(IVssExamineWriterMetadataEx* This,UINT iComponent,IVssWMComponent **ppComponent) {
650 return This->lpVtbl->GetComponent(This,iComponent,ppComponent);
651}
652static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetRestoreMethod(IVssExamineWriterMetadataEx* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) {
653 return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings);
654}
655static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetAlternateLocationMapping(IVssExamineWriterMetadataEx* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) {
656 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc);
657}
658static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetBackupSchema(IVssExamineWriterMetadataEx* This,DWORD *pdwSchemaMask) {
659 return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask);
660}
661static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetDocument(IVssExamineWriterMetadataEx* This,IXMLDOMDocument **pDoc) {
662 return This->lpVtbl->GetDocument(This,pDoc);
663}
664static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_SaveAsXML(IVssExamineWriterMetadataEx* This,BSTR *pbstrXML) {
665 return This->lpVtbl->SaveAsXML(This,pbstrXML);
666}
667static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_LoadFromXML(IVssExamineWriterMetadataEx* This,BSTR bstrXML) {
668 return This->lpVtbl->LoadFromXML(This,bstrXML);
669}
670/*** IVssExamineWriterMetadataEx methods ***/
671static FORCEINLINE HRESULT IVssExamineWriterMetadataEx_GetIdentityEx(IVssExamineWriterMetadataEx* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) {
672 return This->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource);
673}
674#endif
675#endif
676
677#endif
678
679
680#endif /* __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ */
681
682/*****************************************************************************
683 * IVssExamineWriterMetadataEx2 interface
684 */
685#ifndef __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__
686#define __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__
687
688DEFINE_GUID(IID_IVssExamineWriterMetadataEx2, 0xce115780, 0xa611, 0x431b, 0xb5,0x7f, 0xc3,0x83,0x03,0xab,0x6a,0xee);
689#if defined(__cplusplus) && !defined(CINTERFACE)
690MIDL_INTERFACE("ce115780-a611-431b-b57f-c38303ab6aee")
691IVssExamineWriterMetadataEx2 : public IVssExamineWriterMetadataEx
692{
693 virtual HRESULT STDMETHODCALLTYPE GetVersion(
694 DWORD *pdwMajorVersion,
695 DWORD *pdwMinorVersion) = 0;
696
697 virtual HRESULT STDMETHODCALLTYPE GetExcludeFromSnapshotCount(
698 UINT *pcExcludedFromSnapshot) = 0;
699
700 virtual HRESULT STDMETHODCALLTYPE GetExcludeFromSnapshotFile(
701 UINT iFile,
702 IVssWMFiledesc **ppFiledesc) = 0;
703
704};
705#ifdef __CRT_UUID_DECL
706__CRT_UUID_DECL(IVssExamineWriterMetadataEx2, 0xce115780, 0xa611, 0x431b, 0xb5,0x7f, 0xc3,0x83,0x03,0xab,0x6a,0xee)
707#endif
708#else
709typedef struct IVssExamineWriterMetadataEx2Vtbl {
710 BEGIN_INTERFACE
711
712 /*** IUnknown methods ***/
713 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
714 IVssExamineWriterMetadataEx2 *This,
715 REFIID riid,
716 void **ppvObject);
717
718 ULONG (STDMETHODCALLTYPE *AddRef)(
719 IVssExamineWriterMetadataEx2 *This);
720
721 ULONG (STDMETHODCALLTYPE *Release)(
722 IVssExamineWriterMetadataEx2 *This);
723
724 /*** IVssExamineWriterMetadata methods ***/
725 HRESULT (STDMETHODCALLTYPE *GetIdentity)(
726 IVssExamineWriterMetadataEx2 *This,
727 VSS_ID *pidInstance,
728 VSS_ID *pidWriter,
729 BSTR *pbstrWriterName,
730 VSS_USAGE_TYPE *pUsage,
731 VSS_SOURCE_TYPE *pSource);
732
733 HRESULT (STDMETHODCALLTYPE *GetFileCounts)(
734 IVssExamineWriterMetadataEx2 *This,
735 UINT *pcIncludeFiles,
736 UINT *pcExcludeFiles,
737 UINT *pcComponents);
738
739 HRESULT (STDMETHODCALLTYPE *GetIncludeFile)(
740 IVssExamineWriterMetadataEx2 *This,
741 UINT iFile,
742 IVssWMFiledesc **ppFiledesc);
743
744 HRESULT (STDMETHODCALLTYPE *GetExcludeFile)(
745 IVssExamineWriterMetadataEx2 *This,
746 UINT iFile,
747 IVssWMFiledesc **ppFiledesc);
748
749 HRESULT (STDMETHODCALLTYPE *GetComponent)(
750 IVssExamineWriterMetadataEx2 *This,
751 UINT iComponent,
752 IVssWMComponent **ppComponent);
753
754 HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)(
755 IVssExamineWriterMetadataEx2 *This,
756 VSS_RESTOREMETHOD_ENUM *pMethod,
757 BSTR *pbstrService,
758 BSTR *pbstrUserProcedure,
759 VSS_WRITERRESTORE_ENUM *pwriterRestore,
760 boolean *pbRebootRequired,
761 UINT *pcMappings);
762
763 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
764 IVssExamineWriterMetadataEx2 *This,
765 UINT iMapping,
766 IVssWMFiledesc **ppFiledesc);
767
768 HRESULT (STDMETHODCALLTYPE *GetBackupSchema)(
769 IVssExamineWriterMetadataEx2 *This,
770 DWORD *pdwSchemaMask);
771
772 HRESULT (STDMETHODCALLTYPE *GetDocument)(
773 IVssExamineWriterMetadataEx2 *This,
774 IXMLDOMDocument **pDoc);
775
776 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
777 IVssExamineWriterMetadataEx2 *This,
778 BSTR *pbstrXML);
779
780 HRESULT (STDMETHODCALLTYPE *LoadFromXML)(
781 IVssExamineWriterMetadataEx2 *This,
782 BSTR bstrXML);
783
784 /*** IVssExamineWriterMetadataEx methods ***/
785 HRESULT (STDMETHODCALLTYPE *GetIdentityEx)(
786 IVssExamineWriterMetadataEx2 *This,
787 VSS_ID *pidInstance,
788 VSS_ID *pidWriter,
789 BSTR *pbstrWriterName,
790 BSTR *pbstrInstanceName,
791 VSS_USAGE_TYPE *pUsage,
792 VSS_SOURCE_TYPE *pSource);
793
794 /*** IVssExamineWriterMetadataEx2 methods ***/
795 HRESULT (STDMETHODCALLTYPE *GetVersion)(
796 IVssExamineWriterMetadataEx2 *This,
797 DWORD *pdwMajorVersion,
798 DWORD *pdwMinorVersion);
799
800 HRESULT (STDMETHODCALLTYPE *GetExcludeFromSnapshotCount)(
801 IVssExamineWriterMetadataEx2 *This,
802 UINT *pcExcludedFromSnapshot);
803
804 HRESULT (STDMETHODCALLTYPE *GetExcludeFromSnapshotFile)(
805 IVssExamineWriterMetadataEx2 *This,
806 UINT iFile,
807 IVssWMFiledesc **ppFiledesc);
808
809 END_INTERFACE
810} IVssExamineWriterMetadataEx2Vtbl;
811
812interface IVssExamineWriterMetadataEx2 {
813 CONST_VTBL IVssExamineWriterMetadataEx2Vtbl* lpVtbl;
814};
815
816#ifdef COBJMACROS
817#ifndef WIDL_C_INLINE_WRAPPERS
818/*** IUnknown methods ***/
819#define IVssExamineWriterMetadataEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
820#define IVssExamineWriterMetadataEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
821#define IVssExamineWriterMetadataEx2_Release(This) (This)->lpVtbl->Release(This)
822/*** IVssExamineWriterMetadata methods ***/
823#define IVssExamineWriterMetadataEx2_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource)
824#define IVssExamineWriterMetadataEx2_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents)
825#define IVssExamineWriterMetadataEx2_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc)
826#define IVssExamineWriterMetadataEx2_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc)
827#define IVssExamineWriterMetadataEx2_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent)
828#define IVssExamineWriterMetadataEx2_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings)
829#define IVssExamineWriterMetadataEx2_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
830#define IVssExamineWriterMetadataEx2_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask)
831#define IVssExamineWriterMetadataEx2_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc)
832#define IVssExamineWriterMetadataEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
833#define IVssExamineWriterMetadataEx2_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML)
834/*** IVssExamineWriterMetadataEx methods ***/
835#define IVssExamineWriterMetadataEx2_GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) (This)->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource)
836/*** IVssExamineWriterMetadataEx2 methods ***/
837#define IVssExamineWriterMetadataEx2_GetVersion(This,pdwMajorVersion,pdwMinorVersion) (This)->lpVtbl->GetVersion(This,pdwMajorVersion,pdwMinorVersion)
838#define IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot) (This)->lpVtbl->GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot)
839#define IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFromSnapshotFile(This,iFile,ppFiledesc)
840#else
841/*** IUnknown methods ***/
842static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_QueryInterface(IVssExamineWriterMetadataEx2* This,REFIID riid,void **ppvObject) {
843 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
844}
845static FORCEINLINE ULONG IVssExamineWriterMetadataEx2_AddRef(IVssExamineWriterMetadataEx2* This) {
846 return This->lpVtbl->AddRef(This);
847}
848static FORCEINLINE ULONG IVssExamineWriterMetadataEx2_Release(IVssExamineWriterMetadataEx2* This) {
849 return This->lpVtbl->Release(This);
850}
851/*** IVssExamineWriterMetadata methods ***/
852static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetIdentity(IVssExamineWriterMetadataEx2* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) {
853 return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource);
854}
855static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetFileCounts(IVssExamineWriterMetadataEx2* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) {
856 return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents);
857}
858static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetIncludeFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
859 return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc);
860}
861static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetExcludeFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
862 return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc);
863}
864static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetComponent(IVssExamineWriterMetadataEx2* This,UINT iComponent,IVssWMComponent **ppComponent) {
865 return This->lpVtbl->GetComponent(This,iComponent,ppComponent);
866}
867static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetRestoreMethod(IVssExamineWriterMetadataEx2* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) {
868 return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings);
869}
870static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetAlternateLocationMapping(IVssExamineWriterMetadataEx2* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) {
871 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc);
872}
873static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetBackupSchema(IVssExamineWriterMetadataEx2* This,DWORD *pdwSchemaMask) {
874 return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask);
875}
876static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetDocument(IVssExamineWriterMetadataEx2* This,IXMLDOMDocument **pDoc) {
877 return This->lpVtbl->GetDocument(This,pDoc);
878}
879static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_SaveAsXML(IVssExamineWriterMetadataEx2* This,BSTR *pbstrXML) {
880 return This->lpVtbl->SaveAsXML(This,pbstrXML);
881}
882static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_LoadFromXML(IVssExamineWriterMetadataEx2* This,BSTR bstrXML) {
883 return This->lpVtbl->LoadFromXML(This,bstrXML);
884}
885/*** IVssExamineWriterMetadataEx methods ***/
886static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetIdentityEx(IVssExamineWriterMetadataEx2* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) {
887 return This->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource);
888}
889/*** IVssExamineWriterMetadataEx2 methods ***/
890static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetVersion(IVssExamineWriterMetadataEx2* This,DWORD *pdwMajorVersion,DWORD *pdwMinorVersion) {
891 return This->lpVtbl->GetVersion(This,pdwMajorVersion,pdwMinorVersion);
892}
893static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotCount(IVssExamineWriterMetadataEx2* This,UINT *pcExcludedFromSnapshot) {
894 return This->lpVtbl->GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot);
895}
896static FORCEINLINE HRESULT IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) {
897 return This->lpVtbl->GetExcludeFromSnapshotFile(This,iFile,ppFiledesc);
898}
899#endif
900#endif
901
902#endif
903
904
905#endif /* __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ */
906
907/*****************************************************************************
908 * IVssWriterComponentsExt interface
909 */
910#ifndef __IVssWriterComponentsExt_INTERFACE_DEFINED__
911#define __IVssWriterComponentsExt_INTERFACE_DEFINED__
912
913DEFINE_GUID(IID_IVssWriterComponentsExt, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
914#if defined(__cplusplus) && !defined(CINTERFACE)
915MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
916IVssWriterComponentsExt : public IVssWriterComponents
917{
918};
919#ifdef __CRT_UUID_DECL
920__CRT_UUID_DECL(IVssWriterComponentsExt, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
921#endif
922#else
923typedef struct IVssWriterComponentsExtVtbl {
924 BEGIN_INTERFACE
925
926 /*** IVssWriterComponents methods ***/
927 HRESULT (STDMETHODCALLTYPE *GetComponentCount)(
928 IVssWriterComponentsExt *This,
929 UINT *pcComponents);
930
931 HRESULT (STDMETHODCALLTYPE *GetWriterInfo)(
932 IVssWriterComponentsExt *This,
933 VSS_ID *pidInstance,
934 VSS_ID *pidWriter);
935
936 HRESULT (STDMETHODCALLTYPE *GetComponent)(
937 IVssWriterComponentsExt *This,
938 UINT iComponent,
939 IVssComponent **ppComponent);
940
941 END_INTERFACE
942} IVssWriterComponentsExtVtbl;
943
944interface IVssWriterComponentsExt {
945 CONST_VTBL IVssWriterComponentsExtVtbl* lpVtbl;
946};
947
948#ifdef COBJMACROS
949#ifndef WIDL_C_INLINE_WRAPPERS
950/*** IVssWriterComponents methods ***/
951#define IVssWriterComponentsExt_GetComponentCount(This,pcComponents) (This)->lpVtbl->GetComponentCount(This,pcComponents)
952#define IVssWriterComponentsExt_GetWriterInfo(This,pidInstance,pidWriter) (This)->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter)
953#define IVssWriterComponentsExt_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent)
954#else
955/*** IVssWriterComponents methods ***/
956static FORCEINLINE HRESULT IVssWriterComponentsExt_GetComponentCount(IVssWriterComponentsExt* This,UINT *pcComponents) {
957 return This->lpVtbl->GetComponentCount(This,pcComponents);
958}
959static FORCEINLINE HRESULT IVssWriterComponentsExt_GetWriterInfo(IVssWriterComponentsExt* This,VSS_ID *pidInstance,VSS_ID *pidWriter) {
960 return This->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter);
961}
962static FORCEINLINE HRESULT IVssWriterComponentsExt_GetComponent(IVssWriterComponentsExt* This,UINT iComponent,IVssComponent **ppComponent) {
963 return This->lpVtbl->GetComponent(This,iComponent,ppComponent);
964}
965#endif
966#endif
967
968#endif
969
970
971#endif /* __IVssWriterComponentsExt_INTERFACE_DEFINED__ */
972
973/*****************************************************************************
974 * IVssBackupComponents interface
975 */
976#ifndef __IVssBackupComponents_INTERFACE_DEFINED__
977#define __IVssBackupComponents_INTERFACE_DEFINED__
978
979DEFINE_GUID(IID_IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, 0xa0,0x5d, 0x7f,0xef,0x5f,0x9d,0x5c,0x86);
980#if defined(__cplusplus) && !defined(CINTERFACE)
981MIDL_INTERFACE("665c1d5f-c218-414d-a05d-7fef5f9d5c86")
982IVssBackupComponents : public IUnknown
983{
984 virtual HRESULT STDMETHODCALLTYPE GetWriterComponentsCount(
985 UINT *pcComponents) = 0;
986
987 virtual HRESULT STDMETHODCALLTYPE GetWriterComponents(
988 UINT iWriter,
989 IVssWriterComponentsExt **ppWriter) = 0;
990
991 virtual HRESULT STDMETHODCALLTYPE InitializeForBackup(
992 BSTR bstrXML = 0) = 0;
993
994 virtual HRESULT STDMETHODCALLTYPE SetBackupState(
995 boolean bSelectComponents,
996 boolean bBackupBootableSystemState,
997 VSS_BACKUP_TYPE backupType,
998 boolean bPartialFileSupport = 0) = 0;
999
1000 virtual HRESULT STDMETHODCALLTYPE InitializeForRestore(
1001 BSTR bstrXML) = 0;
1002
1003 virtual HRESULT STDMETHODCALLTYPE SetRestoreState(
1004 VSS_RESTORE_TYPE restoreType) = 0;
1005
1006 virtual HRESULT STDMETHODCALLTYPE GatherWriterMetadata(
1007 IVssAsync **pAsync) = 0;
1008
1009 virtual HRESULT STDMETHODCALLTYPE GetWriterMetadataCount(
1010 UINT *pcWriters) = 0;
1011
1012 virtual HRESULT STDMETHODCALLTYPE GetWriterMetadata(
1013 UINT iWriter,
1014 VSS_ID *pidInstance,
1015 IVssExamineWriterMetadata **ppMetadata) = 0;
1016
1017 virtual HRESULT STDMETHODCALLTYPE FreeWriterMetadata(
1018 ) = 0;
1019
1020 virtual HRESULT STDMETHODCALLTYPE AddComponent(
1021 VSS_ID instanceId,
1022 VSS_ID writerId,
1023 VSS_COMPONENT_TYPE ct,
1024 LPCWSTR wszLogicalPath,
1025 LPCWSTR wszComponentName) = 0;
1026
1027 virtual HRESULT STDMETHODCALLTYPE PrepareForBackup(
1028 IVssAsync **ppAsync) = 0;
1029
1030 virtual HRESULT STDMETHODCALLTYPE AbortBackup(
1031 ) = 0;
1032
1033 virtual HRESULT STDMETHODCALLTYPE GatherWriterStatus(
1034 IVssAsync **pAsync) = 0;
1035
1036 virtual HRESULT STDMETHODCALLTYPE GetWriterStatusCount(
1037 UINT *pcWriters) = 0;
1038
1039 virtual HRESULT STDMETHODCALLTYPE FreeWriterStatus(
1040 ) = 0;
1041
1042 virtual HRESULT STDMETHODCALLTYPE GetWriterStatus(
1043 UINT iWriter,
1044 VSS_ID *pidInstance,
1045 VSS_ID *pidWriter,
1046 BSTR *pbstrWriter,
1047 VSS_WRITER_STATE *pnStatus,
1048 HRESULT *phResultFailure) = 0;
1049
1050 virtual HRESULT STDMETHODCALLTYPE SetBackupSucceeded(
1051 VSS_ID instanceId,
1052 VSS_ID writerId,
1053 VSS_COMPONENT_TYPE ct,
1054 LPCWSTR wszLogicalPath,
1055 LPCWSTR wszComponentName,
1056 boolean bSucceded) = 0;
1057
1058 virtual HRESULT STDMETHODCALLTYPE SetBackupOptions(
1059 VSS_ID writerId,
1060 VSS_COMPONENT_TYPE ct,
1061 LPCWSTR wszLogicalPath,
1062 LPCWSTR wszComponentName,
1063 LPCWSTR wszBackupOptions) = 0;
1064
1065 virtual HRESULT STDMETHODCALLTYPE SetSelectedForRestore(
1066 VSS_ID writerId,
1067 VSS_COMPONENT_TYPE ct,
1068 LPCWSTR wszLogicalPath,
1069 LPCWSTR wszComponentName,
1070 boolean bSelectedForRestore) = 0;
1071
1072 virtual HRESULT STDMETHODCALLTYPE SetRestoreOptions(
1073 VSS_ID writerId,
1074 VSS_COMPONENT_TYPE ct,
1075 LPCWSTR wszLogicalPath,
1076 LPCWSTR wszComponentName,
1077 LPCWSTR wszRestoreOptions) = 0;
1078
1079 virtual HRESULT STDMETHODCALLTYPE SetAdditionalRestores(
1080 VSS_ID writerId,
1081 VSS_COMPONENT_TYPE ct,
1082 LPCWSTR wszLogicalPath,
1083 LPCWSTR wszComponentName,
1084 boolean bAdditionalRestores) = 0;
1085
1086 virtual HRESULT STDMETHODCALLTYPE SetPreviousBackupStamp(
1087 VSS_ID writerId,
1088 VSS_COMPONENT_TYPE ct,
1089 LPCWSTR wszLogicalPath,
1090 LPCWSTR wszComponentName,
1091 LPCWSTR wszPreviousBackupStamp) = 0;
1092
1093 virtual HRESULT STDMETHODCALLTYPE SaveAsXML(
1094 BSTR *pbstrXML) = 0;
1095
1096 virtual HRESULT STDMETHODCALLTYPE BackupComplete(
1097 IVssAsync **ppAsync) = 0;
1098
1099 virtual HRESULT STDMETHODCALLTYPE AddAlternativeLocationMapping(
1100 VSS_ID writerId,
1101 VSS_COMPONENT_TYPE componentType,
1102 LPCWSTR wszLogicalPath,
1103 LPCWSTR wszComponentName,
1104 LPCWSTR wszPath,
1105 LPCWSTR wszFilespec,
1106 boolean bRecursive,
1107 LPCWSTR wszDestination) = 0;
1108
1109 virtual HRESULT STDMETHODCALLTYPE AddRestoreSubcomponent(
1110 VSS_ID writerId,
1111 VSS_COMPONENT_TYPE componentType,
1112 LPCWSTR wszLogicalPath,
1113 LPCWSTR wszComponentName,
1114 LPCWSTR wszSubComponentLogicalPath,
1115 LPCWSTR wszSubComponentName,
1116 boolean bRepair) = 0;
1117
1118 virtual HRESULT STDMETHODCALLTYPE SetFileRestoreStatus(
1119 VSS_ID writerId,
1120 VSS_COMPONENT_TYPE ct,
1121 LPCWSTR wszLogicalPath,
1122 LPCWSTR wszComponentName,
1123 VSS_FILE_RESTORE_STATUS status) = 0;
1124
1125 virtual HRESULT STDMETHODCALLTYPE AddNewTarget(
1126 VSS_ID writerId,
1127 VSS_COMPONENT_TYPE ct,
1128 LPCWSTR wszLogicalPath,
1129 LPCWSTR wszComponentName,
1130 LPCWSTR wszPath,
1131 LPCWSTR wszFileName,
1132 boolean bRecursive,
1133 LPCWSTR wszAlternatePath) = 0;
1134
1135 virtual HRESULT STDMETHODCALLTYPE SetRangesFilePath(
1136 VSS_ID writerId,
1137 VSS_COMPONENT_TYPE ct,
1138 LPCWSTR wszLogicalPath,
1139 LPCWSTR wszComponentName,
1140 UINT iPartialFile,
1141 LPCWSTR wszRangesFile) = 0;
1142
1143 virtual HRESULT STDMETHODCALLTYPE PreRestore(
1144 IVssAsync **ppAsync) = 0;
1145
1146 virtual HRESULT STDMETHODCALLTYPE PostRestore(
1147 IVssAsync **ppAsync) = 0;
1148
1149 virtual HRESULT STDMETHODCALLTYPE SetContext(
1150 LONG lContext) = 0;
1151
1152 virtual HRESULT STDMETHODCALLTYPE StartSnapshotSet(
1153 VSS_ID *pSnapshotSetId) = 0;
1154
1155 virtual HRESULT STDMETHODCALLTYPE AddToSnapshotSet(
1156 VSS_PWSZ pwszVolumeName,
1157 VSS_ID ProviderId,
1158 VSS_ID *pidSnapshot) = 0;
1159
1160 virtual HRESULT STDMETHODCALLTYPE DoSnapshotSet(
1161 IVssAsync **ppAsync) = 0;
1162
1163 virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots(
1164 VSS_ID SourceObjectId,
1165 VSS_OBJECT_TYPE eSourceObjectType,
1166 WINBOOL bForceDelete,
1167 LONG *plDeletedSnapshots,
1168 VSS_ID *pNondeletedSnapshotID) = 0;
1169
1170 virtual HRESULT STDMETHODCALLTYPE ImportSnapshots(
1171 IVssAsync **ppAsync) = 0;
1172
1173 virtual HRESULT STDMETHODCALLTYPE BreakSnapshotSet(
1174 VSS_ID SnapshotSetId) = 0;
1175
1176 virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
1177 VSS_ID SnapshotId,
1178 VSS_SNAPSHOT_PROP *pProp) = 0;
1179
1180 virtual HRESULT STDMETHODCALLTYPE Query(
1181 VSS_ID QueriedObjectId,
1182 VSS_OBJECT_TYPE eQueriedObjectType,
1183 VSS_OBJECT_TYPE eReturnedObjectsType,
1184 IVssEnumObject **ppEnum) = 0;
1185
1186 virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported(
1187 VSS_ID ProviderId,
1188 VSS_PWSZ pwszVolumeName,
1189 WINBOOL *pbSupportedByThisProvider) = 0;
1190
1191 virtual HRESULT STDMETHODCALLTYPE DisableWriterClasses(
1192 const VSS_ID *rgWriterClassId,
1193 UINT cClassId) = 0;
1194
1195 virtual HRESULT STDMETHODCALLTYPE EnableWriterClasses(
1196 const VSS_ID *rgWriterClassId,
1197 UINT cClassId) = 0;
1198
1199 virtual HRESULT STDMETHODCALLTYPE DisableWriterInstances(
1200 const VSS_ID *rgWriterInstanceId,
1201 UINT cInstanceId) = 0;
1202
1203 virtual HRESULT STDMETHODCALLTYPE ExposeSnapshot(
1204 VSS_ID SnapshotId,
1205 VSS_PWSZ wszPathFromRoot,
1206 LONG lAttributes,
1207 VSS_PWSZ wszExpose,
1208 VSS_PWSZ *pwszExposed) = 0;
1209
1210 virtual HRESULT STDMETHODCALLTYPE RevertToSnapshot(
1211 VSS_ID SnapshotId,
1212 WINBOOL bForceDismount) = 0;
1213
1214 virtual HRESULT STDMETHODCALLTYPE QueryRevertStatus(
1215 VSS_PWSZ pwszVolume,
1216 IVssAsync **ppAsync) = 0;
1217
1218};
1219#ifdef __CRT_UUID_DECL
1220__CRT_UUID_DECL(IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, 0xa0,0x5d, 0x7f,0xef,0x5f,0x9d,0x5c,0x86)
1221#endif
1222#else
1223typedef struct IVssBackupComponentsVtbl {
1224 BEGIN_INTERFACE
1225
1226 /*** IUnknown methods ***/
1227 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1228 IVssBackupComponents *This,
1229 REFIID riid,
1230 void **ppvObject);
1231
1232 ULONG (STDMETHODCALLTYPE *AddRef)(
1233 IVssBackupComponents *This);
1234
1235 ULONG (STDMETHODCALLTYPE *Release)(
1236 IVssBackupComponents *This);
1237
1238 /*** IVssBackupComponents methods ***/
1239 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)(
1240 IVssBackupComponents *This,
1241 UINT *pcComponents);
1242
1243 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)(
1244 IVssBackupComponents *This,
1245 UINT iWriter,
1246 IVssWriterComponentsExt **ppWriter);
1247
1248 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)(
1249 IVssBackupComponents *This,
1250 BSTR bstrXML);
1251
1252 HRESULT (STDMETHODCALLTYPE *SetBackupState)(
1253 IVssBackupComponents *This,
1254 boolean bSelectComponents,
1255 boolean bBackupBootableSystemState,
1256 VSS_BACKUP_TYPE backupType,
1257 boolean bPartialFileSupport);
1258
1259 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)(
1260 IVssBackupComponents *This,
1261 BSTR bstrXML);
1262
1263 HRESULT (STDMETHODCALLTYPE *SetRestoreState)(
1264 IVssBackupComponents *This,
1265 VSS_RESTORE_TYPE restoreType);
1266
1267 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)(
1268 IVssBackupComponents *This,
1269 IVssAsync **pAsync);
1270
1271 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)(
1272 IVssBackupComponents *This,
1273 UINT *pcWriters);
1274
1275 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)(
1276 IVssBackupComponents *This,
1277 UINT iWriter,
1278 VSS_ID *pidInstance,
1279 IVssExamineWriterMetadata **ppMetadata);
1280
1281 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)(
1282 IVssBackupComponents *This);
1283
1284 HRESULT (STDMETHODCALLTYPE *AddComponent)(
1285 IVssBackupComponents *This,
1286 VSS_ID instanceId,
1287 VSS_ID writerId,
1288 VSS_COMPONENT_TYPE ct,
1289 LPCWSTR wszLogicalPath,
1290 LPCWSTR wszComponentName);
1291
1292 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)(
1293 IVssBackupComponents *This,
1294 IVssAsync **ppAsync);
1295
1296 HRESULT (STDMETHODCALLTYPE *AbortBackup)(
1297 IVssBackupComponents *This);
1298
1299 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)(
1300 IVssBackupComponents *This,
1301 IVssAsync **pAsync);
1302
1303 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)(
1304 IVssBackupComponents *This,
1305 UINT *pcWriters);
1306
1307 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)(
1308 IVssBackupComponents *This);
1309
1310 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)(
1311 IVssBackupComponents *This,
1312 UINT iWriter,
1313 VSS_ID *pidInstance,
1314 VSS_ID *pidWriter,
1315 BSTR *pbstrWriter,
1316 VSS_WRITER_STATE *pnStatus,
1317 HRESULT *phResultFailure);
1318
1319 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)(
1320 IVssBackupComponents *This,
1321 VSS_ID instanceId,
1322 VSS_ID writerId,
1323 VSS_COMPONENT_TYPE ct,
1324 LPCWSTR wszLogicalPath,
1325 LPCWSTR wszComponentName,
1326 boolean bSucceded);
1327
1328 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)(
1329 IVssBackupComponents *This,
1330 VSS_ID writerId,
1331 VSS_COMPONENT_TYPE ct,
1332 LPCWSTR wszLogicalPath,
1333 LPCWSTR wszComponentName,
1334 LPCWSTR wszBackupOptions);
1335
1336 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)(
1337 IVssBackupComponents *This,
1338 VSS_ID writerId,
1339 VSS_COMPONENT_TYPE ct,
1340 LPCWSTR wszLogicalPath,
1341 LPCWSTR wszComponentName,
1342 boolean bSelectedForRestore);
1343
1344 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)(
1345 IVssBackupComponents *This,
1346 VSS_ID writerId,
1347 VSS_COMPONENT_TYPE ct,
1348 LPCWSTR wszLogicalPath,
1349 LPCWSTR wszComponentName,
1350 LPCWSTR wszRestoreOptions);
1351
1352 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)(
1353 IVssBackupComponents *This,
1354 VSS_ID writerId,
1355 VSS_COMPONENT_TYPE ct,
1356 LPCWSTR wszLogicalPath,
1357 LPCWSTR wszComponentName,
1358 boolean bAdditionalRestores);
1359
1360 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)(
1361 IVssBackupComponents *This,
1362 VSS_ID writerId,
1363 VSS_COMPONENT_TYPE ct,
1364 LPCWSTR wszLogicalPath,
1365 LPCWSTR wszComponentName,
1366 LPCWSTR wszPreviousBackupStamp);
1367
1368 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
1369 IVssBackupComponents *This,
1370 BSTR *pbstrXML);
1371
1372 HRESULT (STDMETHODCALLTYPE *BackupComplete)(
1373 IVssBackupComponents *This,
1374 IVssAsync **ppAsync);
1375
1376 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)(
1377 IVssBackupComponents *This,
1378 VSS_ID writerId,
1379 VSS_COMPONENT_TYPE componentType,
1380 LPCWSTR wszLogicalPath,
1381 LPCWSTR wszComponentName,
1382 LPCWSTR wszPath,
1383 LPCWSTR wszFilespec,
1384 boolean bRecursive,
1385 LPCWSTR wszDestination);
1386
1387 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)(
1388 IVssBackupComponents *This,
1389 VSS_ID writerId,
1390 VSS_COMPONENT_TYPE componentType,
1391 LPCWSTR wszLogicalPath,
1392 LPCWSTR wszComponentName,
1393 LPCWSTR wszSubComponentLogicalPath,
1394 LPCWSTR wszSubComponentName,
1395 boolean bRepair);
1396
1397 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)(
1398 IVssBackupComponents *This,
1399 VSS_ID writerId,
1400 VSS_COMPONENT_TYPE ct,
1401 LPCWSTR wszLogicalPath,
1402 LPCWSTR wszComponentName,
1403 VSS_FILE_RESTORE_STATUS status);
1404
1405 HRESULT (STDMETHODCALLTYPE *AddNewTarget)(
1406 IVssBackupComponents *This,
1407 VSS_ID writerId,
1408 VSS_COMPONENT_TYPE ct,
1409 LPCWSTR wszLogicalPath,
1410 LPCWSTR wszComponentName,
1411 LPCWSTR wszPath,
1412 LPCWSTR wszFileName,
1413 boolean bRecursive,
1414 LPCWSTR wszAlternatePath);
1415
1416 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)(
1417 IVssBackupComponents *This,
1418 VSS_ID writerId,
1419 VSS_COMPONENT_TYPE ct,
1420 LPCWSTR wszLogicalPath,
1421 LPCWSTR wszComponentName,
1422 UINT iPartialFile,
1423 LPCWSTR wszRangesFile);
1424
1425 HRESULT (STDMETHODCALLTYPE *PreRestore)(
1426 IVssBackupComponents *This,
1427 IVssAsync **ppAsync);
1428
1429 HRESULT (STDMETHODCALLTYPE *PostRestore)(
1430 IVssBackupComponents *This,
1431 IVssAsync **ppAsync);
1432
1433 HRESULT (STDMETHODCALLTYPE *SetContext)(
1434 IVssBackupComponents *This,
1435 LONG lContext);
1436
1437 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)(
1438 IVssBackupComponents *This,
1439 VSS_ID *pSnapshotSetId);
1440
1441 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)(
1442 IVssBackupComponents *This,
1443 VSS_PWSZ pwszVolumeName,
1444 VSS_ID ProviderId,
1445 VSS_ID *pidSnapshot);
1446
1447 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)(
1448 IVssBackupComponents *This,
1449 IVssAsync **ppAsync);
1450
1451 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
1452 IVssBackupComponents *This,
1453 VSS_ID SourceObjectId,
1454 VSS_OBJECT_TYPE eSourceObjectType,
1455 WINBOOL bForceDelete,
1456 LONG *plDeletedSnapshots,
1457 VSS_ID *pNondeletedSnapshotID);
1458
1459 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)(
1460 IVssBackupComponents *This,
1461 IVssAsync **ppAsync);
1462
1463 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)(
1464 IVssBackupComponents *This,
1465 VSS_ID SnapshotSetId);
1466
1467 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
1468 IVssBackupComponents *This,
1469 VSS_ID SnapshotId,
1470 VSS_SNAPSHOT_PROP *pProp);
1471
1472 HRESULT (STDMETHODCALLTYPE *Query)(
1473 IVssBackupComponents *This,
1474 VSS_ID QueriedObjectId,
1475 VSS_OBJECT_TYPE eQueriedObjectType,
1476 VSS_OBJECT_TYPE eReturnedObjectsType,
1477 IVssEnumObject **ppEnum);
1478
1479 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
1480 IVssBackupComponents *This,
1481 VSS_ID ProviderId,
1482 VSS_PWSZ pwszVolumeName,
1483 WINBOOL *pbSupportedByThisProvider);
1484
1485 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)(
1486 IVssBackupComponents *This,
1487 const VSS_ID *rgWriterClassId,
1488 UINT cClassId);
1489
1490 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)(
1491 IVssBackupComponents *This,
1492 const VSS_ID *rgWriterClassId,
1493 UINT cClassId);
1494
1495 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)(
1496 IVssBackupComponents *This,
1497 const VSS_ID *rgWriterInstanceId,
1498 UINT cInstanceId);
1499
1500 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)(
1501 IVssBackupComponents *This,
1502 VSS_ID SnapshotId,
1503 VSS_PWSZ wszPathFromRoot,
1504 LONG lAttributes,
1505 VSS_PWSZ wszExpose,
1506 VSS_PWSZ *pwszExposed);
1507
1508 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
1509 IVssBackupComponents *This,
1510 VSS_ID SnapshotId,
1511 WINBOOL bForceDismount);
1512
1513 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
1514 IVssBackupComponents *This,
1515 VSS_PWSZ pwszVolume,
1516 IVssAsync **ppAsync);
1517
1518 END_INTERFACE
1519} IVssBackupComponentsVtbl;
1520
1521interface IVssBackupComponents {
1522 CONST_VTBL IVssBackupComponentsVtbl* lpVtbl;
1523};
1524
1525#ifdef COBJMACROS
1526#ifndef WIDL_C_INLINE_WRAPPERS
1527/*** IUnknown methods ***/
1528#define IVssBackupComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1529#define IVssBackupComponents_AddRef(This) (This)->lpVtbl->AddRef(This)
1530#define IVssBackupComponents_Release(This) (This)->lpVtbl->Release(This)
1531/*** IVssBackupComponents methods ***/
1532#define IVssBackupComponents_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
1533#define IVssBackupComponents_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter)
1534#define IVssBackupComponents_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
1535#define IVssBackupComponents_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
1536#define IVssBackupComponents_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
1537#define IVssBackupComponents_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
1538#define IVssBackupComponents_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync)
1539#define IVssBackupComponents_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
1540#define IVssBackupComponents_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata)
1541#define IVssBackupComponents_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This)
1542#define IVssBackupComponents_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName)
1543#define IVssBackupComponents_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
1544#define IVssBackupComponents_AbortBackup(This) (This)->lpVtbl->AbortBackup(This)
1545#define IVssBackupComponents_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync)
1546#define IVssBackupComponents_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
1547#define IVssBackupComponents_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This)
1548#define IVssBackupComponents_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure)
1549#define IVssBackupComponents_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded)
1550#define IVssBackupComponents_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions)
1551#define IVssBackupComponents_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore)
1552#define IVssBackupComponents_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions)
1553#define IVssBackupComponents_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores)
1554#define IVssBackupComponents_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
1555#define IVssBackupComponents_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
1556#define IVssBackupComponents_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
1557#define IVssBackupComponents_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
1558#define IVssBackupComponents_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
1559#define IVssBackupComponents_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status)
1560#define IVssBackupComponents_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
1561#define IVssBackupComponents_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
1562#define IVssBackupComponents_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
1563#define IVssBackupComponents_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
1564#define IVssBackupComponents_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
1565#define IVssBackupComponents_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
1566#define IVssBackupComponents_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
1567#define IVssBackupComponents_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
1568#define IVssBackupComponents_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
1569#define IVssBackupComponents_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
1570#define IVssBackupComponents_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
1571#define IVssBackupComponents_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
1572#define IVssBackupComponents_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
1573#define IVssBackupComponents_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
1574#define IVssBackupComponents_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
1575#define IVssBackupComponents_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
1576#define IVssBackupComponents_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
1577#define IVssBackupComponents_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
1578#define IVssBackupComponents_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
1579#define IVssBackupComponents_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
1580#else
1581/*** IUnknown methods ***/
1582static FORCEINLINE HRESULT IVssBackupComponents_QueryInterface(IVssBackupComponents* This,REFIID riid,void **ppvObject) {
1583 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1584}
1585static FORCEINLINE ULONG IVssBackupComponents_AddRef(IVssBackupComponents* This) {
1586 return This->lpVtbl->AddRef(This);
1587}
1588static FORCEINLINE ULONG IVssBackupComponents_Release(IVssBackupComponents* This) {
1589 return This->lpVtbl->Release(This);
1590}
1591/*** IVssBackupComponents methods ***/
1592static FORCEINLINE HRESULT IVssBackupComponents_GetWriterComponentsCount(IVssBackupComponents* This,UINT *pcComponents) {
1593 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents);
1594}
1595static FORCEINLINE HRESULT IVssBackupComponents_GetWriterComponents(IVssBackupComponents* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) {
1596 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter);
1597}
1598static FORCEINLINE HRESULT IVssBackupComponents_InitializeForBackup(IVssBackupComponents* This,BSTR bstrXML) {
1599 return This->lpVtbl->InitializeForBackup(This,bstrXML);
1600}
1601static FORCEINLINE HRESULT IVssBackupComponents_SetBackupState(IVssBackupComponents* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) {
1602 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport);
1603}
1604static FORCEINLINE HRESULT IVssBackupComponents_InitializeForRestore(IVssBackupComponents* This,BSTR bstrXML) {
1605 return This->lpVtbl->InitializeForRestore(This,bstrXML);
1606}
1607static FORCEINLINE HRESULT IVssBackupComponents_SetRestoreState(IVssBackupComponents* This,VSS_RESTORE_TYPE restoreType) {
1608 return This->lpVtbl->SetRestoreState(This,restoreType);
1609}
1610static FORCEINLINE HRESULT IVssBackupComponents_GatherWriterMetadata(IVssBackupComponents* This,IVssAsync **pAsync) {
1611 return This->lpVtbl->GatherWriterMetadata(This,pAsync);
1612}
1613static FORCEINLINE HRESULT IVssBackupComponents_GetWriterMetadataCount(IVssBackupComponents* This,UINT *pcWriters) {
1614 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters);
1615}
1616static FORCEINLINE HRESULT IVssBackupComponents_GetWriterMetadata(IVssBackupComponents* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) {
1617 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata);
1618}
1619static FORCEINLINE HRESULT IVssBackupComponents_FreeWriterMetadata(IVssBackupComponents* This) {
1620 return This->lpVtbl->FreeWriterMetadata(This);
1621}
1622static FORCEINLINE HRESULT IVssBackupComponents_AddComponent(IVssBackupComponents* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) {
1623 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName);
1624}
1625static FORCEINLINE HRESULT IVssBackupComponents_PrepareForBackup(IVssBackupComponents* This,IVssAsync **ppAsync) {
1626 return This->lpVtbl->PrepareForBackup(This,ppAsync);
1627}
1628static FORCEINLINE HRESULT IVssBackupComponents_AbortBackup(IVssBackupComponents* This) {
1629 return This->lpVtbl->AbortBackup(This);
1630}
1631static FORCEINLINE HRESULT IVssBackupComponents_GatherWriterStatus(IVssBackupComponents* This,IVssAsync **pAsync) {
1632 return This->lpVtbl->GatherWriterStatus(This,pAsync);
1633}
1634static FORCEINLINE HRESULT IVssBackupComponents_GetWriterStatusCount(IVssBackupComponents* This,UINT *pcWriters) {
1635 return This->lpVtbl->GetWriterStatusCount(This,pcWriters);
1636}
1637static FORCEINLINE HRESULT IVssBackupComponents_FreeWriterStatus(IVssBackupComponents* This) {
1638 return This->lpVtbl->FreeWriterStatus(This);
1639}
1640static FORCEINLINE HRESULT IVssBackupComponents_GetWriterStatus(IVssBackupComponents* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) {
1641 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure);
1642}
1643static FORCEINLINE HRESULT IVssBackupComponents_SetBackupSucceeded(IVssBackupComponents* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) {
1644 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded);
1645}
1646static FORCEINLINE HRESULT IVssBackupComponents_SetBackupOptions(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) {
1647 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions);
1648}
1649static FORCEINLINE HRESULT IVssBackupComponents_SetSelectedForRestore(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) {
1650 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore);
1651}
1652static FORCEINLINE HRESULT IVssBackupComponents_SetRestoreOptions(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) {
1653 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions);
1654}
1655static FORCEINLINE HRESULT IVssBackupComponents_SetAdditionalRestores(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) {
1656 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores);
1657}
1658static FORCEINLINE HRESULT IVssBackupComponents_SetPreviousBackupStamp(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) {
1659 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp);
1660}
1661static FORCEINLINE HRESULT IVssBackupComponents_SaveAsXML(IVssBackupComponents* This,BSTR *pbstrXML) {
1662 return This->lpVtbl->SaveAsXML(This,pbstrXML);
1663}
1664static FORCEINLINE HRESULT IVssBackupComponents_BackupComplete(IVssBackupComponents* This,IVssAsync **ppAsync) {
1665 return This->lpVtbl->BackupComplete(This,ppAsync);
1666}
1667static FORCEINLINE HRESULT IVssBackupComponents_AddAlternativeLocationMapping(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) {
1668 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination);
1669}
1670static FORCEINLINE HRESULT IVssBackupComponents_AddRestoreSubcomponent(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) {
1671 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair);
1672}
1673static FORCEINLINE HRESULT IVssBackupComponents_SetFileRestoreStatus(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) {
1674 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status);
1675}
1676static FORCEINLINE HRESULT IVssBackupComponents_AddNewTarget(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) {
1677 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath);
1678}
1679static FORCEINLINE HRESULT IVssBackupComponents_SetRangesFilePath(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) {
1680 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile);
1681}
1682static FORCEINLINE HRESULT IVssBackupComponents_PreRestore(IVssBackupComponents* This,IVssAsync **ppAsync) {
1683 return This->lpVtbl->PreRestore(This,ppAsync);
1684}
1685static FORCEINLINE HRESULT IVssBackupComponents_PostRestore(IVssBackupComponents* This,IVssAsync **ppAsync) {
1686 return This->lpVtbl->PostRestore(This,ppAsync);
1687}
1688static FORCEINLINE HRESULT IVssBackupComponents_SetContext(IVssBackupComponents* This,LONG lContext) {
1689 return This->lpVtbl->SetContext(This,lContext);
1690}
1691static FORCEINLINE HRESULT IVssBackupComponents_StartSnapshotSet(IVssBackupComponents* This,VSS_ID *pSnapshotSetId) {
1692 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId);
1693}
1694static FORCEINLINE HRESULT IVssBackupComponents_AddToSnapshotSet(IVssBackupComponents* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) {
1695 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot);
1696}
1697static FORCEINLINE HRESULT IVssBackupComponents_DoSnapshotSet(IVssBackupComponents* This,IVssAsync **ppAsync) {
1698 return This->lpVtbl->DoSnapshotSet(This,ppAsync);
1699}
1700static FORCEINLINE HRESULT IVssBackupComponents_DeleteSnapshots(IVssBackupComponents* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
1701 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
1702}
1703static FORCEINLINE HRESULT IVssBackupComponents_ImportSnapshots(IVssBackupComponents* This,IVssAsync **ppAsync) {
1704 return This->lpVtbl->ImportSnapshots(This,ppAsync);
1705}
1706static FORCEINLINE HRESULT IVssBackupComponents_BreakSnapshotSet(IVssBackupComponents* This,VSS_ID SnapshotSetId) {
1707 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId);
1708}
1709static FORCEINLINE HRESULT IVssBackupComponents_GetSnapshotProperties(IVssBackupComponents* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
1710 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
1711}
1712static FORCEINLINE HRESULT IVssBackupComponents_Query(IVssBackupComponents* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
1713 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
1714}
1715static FORCEINLINE HRESULT IVssBackupComponents_IsVolumeSupported(IVssBackupComponents* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
1716 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider);
1717}
1718static FORCEINLINE HRESULT IVssBackupComponents_DisableWriterClasses(IVssBackupComponents* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
1719 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId);
1720}
1721static FORCEINLINE HRESULT IVssBackupComponents_EnableWriterClasses(IVssBackupComponents* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
1722 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId);
1723}
1724static FORCEINLINE HRESULT IVssBackupComponents_DisableWriterInstances(IVssBackupComponents* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) {
1725 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId);
1726}
1727static FORCEINLINE HRESULT IVssBackupComponents_ExposeSnapshot(IVssBackupComponents* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) {
1728 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed);
1729}
1730static FORCEINLINE HRESULT IVssBackupComponents_RevertToSnapshot(IVssBackupComponents* This,VSS_ID SnapshotId,WINBOOL bForceDismount) {
1731 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount);
1732}
1733static FORCEINLINE HRESULT IVssBackupComponents_QueryRevertStatus(IVssBackupComponents* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
1734 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
1735}
1736#endif
1737#endif
1738
1739#endif
1740
1741
1742#endif /* __IVssBackupComponents_INTERFACE_DEFINED__ */
1743
1744/*****************************************************************************
1745 * IVssBackupComponentsEx interface
1746 */
1747#ifndef __IVssBackupComponentsEx_INTERFACE_DEFINED__
1748#define __IVssBackupComponentsEx_INTERFACE_DEFINED__
1749
1750DEFINE_GUID(IID_IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, 0xac,0x15, 0xe4,0xb6,0x17,0x4e,0x50,0x36);
1751#if defined(__cplusplus) && !defined(CINTERFACE)
1752MIDL_INTERFACE("963f03ad-9e4c-4a34-ac15-e4b6174e5036")
1753IVssBackupComponentsEx : public IVssBackupComponents
1754{
1755 virtual HRESULT STDMETHODCALLTYPE GetWriterMetadataEx(
1756 UINT iWriter,
1757 VSS_ID *pidInstance,
1758 IVssExamineWriterMetadataEx **ppMetadata) = 0;
1759
1760 virtual HRESULT STDMETHODCALLTYPE SetSelectedForRestoreEx(
1761 VSS_ID writerId,
1762 VSS_COMPONENT_TYPE ct,
1763 LPCWSTR wszLogicalPath,
1764 LPCWSTR wszComponentName,
1765 boolean bSelectedForRestore,
1766 VSS_ID instanceId) = 0;
1767
1768};
1769#ifdef __CRT_UUID_DECL
1770__CRT_UUID_DECL(IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, 0xac,0x15, 0xe4,0xb6,0x17,0x4e,0x50,0x36)
1771#endif
1772#else
1773typedef struct IVssBackupComponentsExVtbl {
1774 BEGIN_INTERFACE
1775
1776 /*** IUnknown methods ***/
1777 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1778 IVssBackupComponentsEx *This,
1779 REFIID riid,
1780 void **ppvObject);
1781
1782 ULONG (STDMETHODCALLTYPE *AddRef)(
1783 IVssBackupComponentsEx *This);
1784
1785 ULONG (STDMETHODCALLTYPE *Release)(
1786 IVssBackupComponentsEx *This);
1787
1788 /*** IVssBackupComponents methods ***/
1789 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)(
1790 IVssBackupComponentsEx *This,
1791 UINT *pcComponents);
1792
1793 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)(
1794 IVssBackupComponentsEx *This,
1795 UINT iWriter,
1796 IVssWriterComponentsExt **ppWriter);
1797
1798 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)(
1799 IVssBackupComponentsEx *This,
1800 BSTR bstrXML);
1801
1802 HRESULT (STDMETHODCALLTYPE *SetBackupState)(
1803 IVssBackupComponentsEx *This,
1804 boolean bSelectComponents,
1805 boolean bBackupBootableSystemState,
1806 VSS_BACKUP_TYPE backupType,
1807 boolean bPartialFileSupport);
1808
1809 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)(
1810 IVssBackupComponentsEx *This,
1811 BSTR bstrXML);
1812
1813 HRESULT (STDMETHODCALLTYPE *SetRestoreState)(
1814 IVssBackupComponentsEx *This,
1815 VSS_RESTORE_TYPE restoreType);
1816
1817 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)(
1818 IVssBackupComponentsEx *This,
1819 IVssAsync **pAsync);
1820
1821 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)(
1822 IVssBackupComponentsEx *This,
1823 UINT *pcWriters);
1824
1825 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)(
1826 IVssBackupComponentsEx *This,
1827 UINT iWriter,
1828 VSS_ID *pidInstance,
1829 IVssExamineWriterMetadata **ppMetadata);
1830
1831 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)(
1832 IVssBackupComponentsEx *This);
1833
1834 HRESULT (STDMETHODCALLTYPE *AddComponent)(
1835 IVssBackupComponentsEx *This,
1836 VSS_ID instanceId,
1837 VSS_ID writerId,
1838 VSS_COMPONENT_TYPE ct,
1839 LPCWSTR wszLogicalPath,
1840 LPCWSTR wszComponentName);
1841
1842 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)(
1843 IVssBackupComponentsEx *This,
1844 IVssAsync **ppAsync);
1845
1846 HRESULT (STDMETHODCALLTYPE *AbortBackup)(
1847 IVssBackupComponentsEx *This);
1848
1849 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)(
1850 IVssBackupComponentsEx *This,
1851 IVssAsync **pAsync);
1852
1853 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)(
1854 IVssBackupComponentsEx *This,
1855 UINT *pcWriters);
1856
1857 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)(
1858 IVssBackupComponentsEx *This);
1859
1860 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)(
1861 IVssBackupComponentsEx *This,
1862 UINT iWriter,
1863 VSS_ID *pidInstance,
1864 VSS_ID *pidWriter,
1865 BSTR *pbstrWriter,
1866 VSS_WRITER_STATE *pnStatus,
1867 HRESULT *phResultFailure);
1868
1869 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)(
1870 IVssBackupComponentsEx *This,
1871 VSS_ID instanceId,
1872 VSS_ID writerId,
1873 VSS_COMPONENT_TYPE ct,
1874 LPCWSTR wszLogicalPath,
1875 LPCWSTR wszComponentName,
1876 boolean bSucceded);
1877
1878 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)(
1879 IVssBackupComponentsEx *This,
1880 VSS_ID writerId,
1881 VSS_COMPONENT_TYPE ct,
1882 LPCWSTR wszLogicalPath,
1883 LPCWSTR wszComponentName,
1884 LPCWSTR wszBackupOptions);
1885
1886 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)(
1887 IVssBackupComponentsEx *This,
1888 VSS_ID writerId,
1889 VSS_COMPONENT_TYPE ct,
1890 LPCWSTR wszLogicalPath,
1891 LPCWSTR wszComponentName,
1892 boolean bSelectedForRestore);
1893
1894 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)(
1895 IVssBackupComponentsEx *This,
1896 VSS_ID writerId,
1897 VSS_COMPONENT_TYPE ct,
1898 LPCWSTR wszLogicalPath,
1899 LPCWSTR wszComponentName,
1900 LPCWSTR wszRestoreOptions);
1901
1902 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)(
1903 IVssBackupComponentsEx *This,
1904 VSS_ID writerId,
1905 VSS_COMPONENT_TYPE ct,
1906 LPCWSTR wszLogicalPath,
1907 LPCWSTR wszComponentName,
1908 boolean bAdditionalRestores);
1909
1910 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)(
1911 IVssBackupComponentsEx *This,
1912 VSS_ID writerId,
1913 VSS_COMPONENT_TYPE ct,
1914 LPCWSTR wszLogicalPath,
1915 LPCWSTR wszComponentName,
1916 LPCWSTR wszPreviousBackupStamp);
1917
1918 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
1919 IVssBackupComponentsEx *This,
1920 BSTR *pbstrXML);
1921
1922 HRESULT (STDMETHODCALLTYPE *BackupComplete)(
1923 IVssBackupComponentsEx *This,
1924 IVssAsync **ppAsync);
1925
1926 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)(
1927 IVssBackupComponentsEx *This,
1928 VSS_ID writerId,
1929 VSS_COMPONENT_TYPE componentType,
1930 LPCWSTR wszLogicalPath,
1931 LPCWSTR wszComponentName,
1932 LPCWSTR wszPath,
1933 LPCWSTR wszFilespec,
1934 boolean bRecursive,
1935 LPCWSTR wszDestination);
1936
1937 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)(
1938 IVssBackupComponentsEx *This,
1939 VSS_ID writerId,
1940 VSS_COMPONENT_TYPE componentType,
1941 LPCWSTR wszLogicalPath,
1942 LPCWSTR wszComponentName,
1943 LPCWSTR wszSubComponentLogicalPath,
1944 LPCWSTR wszSubComponentName,
1945 boolean bRepair);
1946
1947 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)(
1948 IVssBackupComponentsEx *This,
1949 VSS_ID writerId,
1950 VSS_COMPONENT_TYPE ct,
1951 LPCWSTR wszLogicalPath,
1952 LPCWSTR wszComponentName,
1953 VSS_FILE_RESTORE_STATUS status);
1954
1955 HRESULT (STDMETHODCALLTYPE *AddNewTarget)(
1956 IVssBackupComponentsEx *This,
1957 VSS_ID writerId,
1958 VSS_COMPONENT_TYPE ct,
1959 LPCWSTR wszLogicalPath,
1960 LPCWSTR wszComponentName,
1961 LPCWSTR wszPath,
1962 LPCWSTR wszFileName,
1963 boolean bRecursive,
1964 LPCWSTR wszAlternatePath);
1965
1966 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)(
1967 IVssBackupComponentsEx *This,
1968 VSS_ID writerId,
1969 VSS_COMPONENT_TYPE ct,
1970 LPCWSTR wszLogicalPath,
1971 LPCWSTR wszComponentName,
1972 UINT iPartialFile,
1973 LPCWSTR wszRangesFile);
1974
1975 HRESULT (STDMETHODCALLTYPE *PreRestore)(
1976 IVssBackupComponentsEx *This,
1977 IVssAsync **ppAsync);
1978
1979 HRESULT (STDMETHODCALLTYPE *PostRestore)(
1980 IVssBackupComponentsEx *This,
1981 IVssAsync **ppAsync);
1982
1983 HRESULT (STDMETHODCALLTYPE *SetContext)(
1984 IVssBackupComponentsEx *This,
1985 LONG lContext);
1986
1987 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)(
1988 IVssBackupComponentsEx *This,
1989 VSS_ID *pSnapshotSetId);
1990
1991 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)(
1992 IVssBackupComponentsEx *This,
1993 VSS_PWSZ pwszVolumeName,
1994 VSS_ID ProviderId,
1995 VSS_ID *pidSnapshot);
1996
1997 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)(
1998 IVssBackupComponentsEx *This,
1999 IVssAsync **ppAsync);
2000
2001 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
2002 IVssBackupComponentsEx *This,
2003 VSS_ID SourceObjectId,
2004 VSS_OBJECT_TYPE eSourceObjectType,
2005 WINBOOL bForceDelete,
2006 LONG *plDeletedSnapshots,
2007 VSS_ID *pNondeletedSnapshotID);
2008
2009 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)(
2010 IVssBackupComponentsEx *This,
2011 IVssAsync **ppAsync);
2012
2013 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)(
2014 IVssBackupComponentsEx *This,
2015 VSS_ID SnapshotSetId);
2016
2017 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
2018 IVssBackupComponentsEx *This,
2019 VSS_ID SnapshotId,
2020 VSS_SNAPSHOT_PROP *pProp);
2021
2022 HRESULT (STDMETHODCALLTYPE *Query)(
2023 IVssBackupComponentsEx *This,
2024 VSS_ID QueriedObjectId,
2025 VSS_OBJECT_TYPE eQueriedObjectType,
2026 VSS_OBJECT_TYPE eReturnedObjectsType,
2027 IVssEnumObject **ppEnum);
2028
2029 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
2030 IVssBackupComponentsEx *This,
2031 VSS_ID ProviderId,
2032 VSS_PWSZ pwszVolumeName,
2033 WINBOOL *pbSupportedByThisProvider);
2034
2035 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)(
2036 IVssBackupComponentsEx *This,
2037 const VSS_ID *rgWriterClassId,
2038 UINT cClassId);
2039
2040 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)(
2041 IVssBackupComponentsEx *This,
2042 const VSS_ID *rgWriterClassId,
2043 UINT cClassId);
2044
2045 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)(
2046 IVssBackupComponentsEx *This,
2047 const VSS_ID *rgWriterInstanceId,
2048 UINT cInstanceId);
2049
2050 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)(
2051 IVssBackupComponentsEx *This,
2052 VSS_ID SnapshotId,
2053 VSS_PWSZ wszPathFromRoot,
2054 LONG lAttributes,
2055 VSS_PWSZ wszExpose,
2056 VSS_PWSZ *pwszExposed);
2057
2058 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
2059 IVssBackupComponentsEx *This,
2060 VSS_ID SnapshotId,
2061 WINBOOL bForceDismount);
2062
2063 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
2064 IVssBackupComponentsEx *This,
2065 VSS_PWSZ pwszVolume,
2066 IVssAsync **ppAsync);
2067
2068 /*** IVssBackupComponentsEx methods ***/
2069 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)(
2070 IVssBackupComponentsEx *This,
2071 UINT iWriter,
2072 VSS_ID *pidInstance,
2073 IVssExamineWriterMetadataEx **ppMetadata);
2074
2075 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)(
2076 IVssBackupComponentsEx *This,
2077 VSS_ID writerId,
2078 VSS_COMPONENT_TYPE ct,
2079 LPCWSTR wszLogicalPath,
2080 LPCWSTR wszComponentName,
2081 boolean bSelectedForRestore,
2082 VSS_ID instanceId);
2083
2084 END_INTERFACE
2085} IVssBackupComponentsExVtbl;
2086
2087interface IVssBackupComponentsEx {
2088 CONST_VTBL IVssBackupComponentsExVtbl* lpVtbl;
2089};
2090
2091#ifdef COBJMACROS
2092#ifndef WIDL_C_INLINE_WRAPPERS
2093/*** IUnknown methods ***/
2094#define IVssBackupComponentsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2095#define IVssBackupComponentsEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2096#define IVssBackupComponentsEx_Release(This) (This)->lpVtbl->Release(This)
2097/*** IVssBackupComponents methods ***/
2098#define IVssBackupComponentsEx_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
2099#define IVssBackupComponentsEx_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter)
2100#define IVssBackupComponentsEx_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
2101#define IVssBackupComponentsEx_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
2102#define IVssBackupComponentsEx_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
2103#define IVssBackupComponentsEx_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
2104#define IVssBackupComponentsEx_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync)
2105#define IVssBackupComponentsEx_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
2106#define IVssBackupComponentsEx_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata)
2107#define IVssBackupComponentsEx_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This)
2108#define IVssBackupComponentsEx_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName)
2109#define IVssBackupComponentsEx_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
2110#define IVssBackupComponentsEx_AbortBackup(This) (This)->lpVtbl->AbortBackup(This)
2111#define IVssBackupComponentsEx_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync)
2112#define IVssBackupComponentsEx_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
2113#define IVssBackupComponentsEx_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This)
2114#define IVssBackupComponentsEx_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure)
2115#define IVssBackupComponentsEx_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded)
2116#define IVssBackupComponentsEx_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions)
2117#define IVssBackupComponentsEx_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore)
2118#define IVssBackupComponentsEx_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions)
2119#define IVssBackupComponentsEx_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores)
2120#define IVssBackupComponentsEx_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
2121#define IVssBackupComponentsEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
2122#define IVssBackupComponentsEx_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
2123#define IVssBackupComponentsEx_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
2124#define IVssBackupComponentsEx_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
2125#define IVssBackupComponentsEx_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status)
2126#define IVssBackupComponentsEx_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
2127#define IVssBackupComponentsEx_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
2128#define IVssBackupComponentsEx_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
2129#define IVssBackupComponentsEx_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
2130#define IVssBackupComponentsEx_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
2131#define IVssBackupComponentsEx_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
2132#define IVssBackupComponentsEx_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
2133#define IVssBackupComponentsEx_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
2134#define IVssBackupComponentsEx_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
2135#define IVssBackupComponentsEx_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
2136#define IVssBackupComponentsEx_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
2137#define IVssBackupComponentsEx_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
2138#define IVssBackupComponentsEx_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
2139#define IVssBackupComponentsEx_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
2140#define IVssBackupComponentsEx_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
2141#define IVssBackupComponentsEx_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
2142#define IVssBackupComponentsEx_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
2143#define IVssBackupComponentsEx_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
2144#define IVssBackupComponentsEx_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
2145#define IVssBackupComponentsEx_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
2146/*** IVssBackupComponentsEx methods ***/
2147#define IVssBackupComponentsEx_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata)
2148#define IVssBackupComponentsEx_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId)
2149#else
2150/*** IUnknown methods ***/
2151static FORCEINLINE HRESULT IVssBackupComponentsEx_QueryInterface(IVssBackupComponentsEx* This,REFIID riid,void **ppvObject) {
2152 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2153}
2154static FORCEINLINE ULONG IVssBackupComponentsEx_AddRef(IVssBackupComponentsEx* This) {
2155 return This->lpVtbl->AddRef(This);
2156}
2157static FORCEINLINE ULONG IVssBackupComponentsEx_Release(IVssBackupComponentsEx* This) {
2158 return This->lpVtbl->Release(This);
2159}
2160/*** IVssBackupComponents methods ***/
2161static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterComponentsCount(IVssBackupComponentsEx* This,UINT *pcComponents) {
2162 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents);
2163}
2164static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterComponents(IVssBackupComponentsEx* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) {
2165 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter);
2166}
2167static FORCEINLINE HRESULT IVssBackupComponentsEx_InitializeForBackup(IVssBackupComponentsEx* This,BSTR bstrXML) {
2168 return This->lpVtbl->InitializeForBackup(This,bstrXML);
2169}
2170static FORCEINLINE HRESULT IVssBackupComponentsEx_SetBackupState(IVssBackupComponentsEx* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) {
2171 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport);
2172}
2173static FORCEINLINE HRESULT IVssBackupComponentsEx_InitializeForRestore(IVssBackupComponentsEx* This,BSTR bstrXML) {
2174 return This->lpVtbl->InitializeForRestore(This,bstrXML);
2175}
2176static FORCEINLINE HRESULT IVssBackupComponentsEx_SetRestoreState(IVssBackupComponentsEx* This,VSS_RESTORE_TYPE restoreType) {
2177 return This->lpVtbl->SetRestoreState(This,restoreType);
2178}
2179static FORCEINLINE HRESULT IVssBackupComponentsEx_GatherWriterMetadata(IVssBackupComponentsEx* This,IVssAsync **pAsync) {
2180 return This->lpVtbl->GatherWriterMetadata(This,pAsync);
2181}
2182static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterMetadataCount(IVssBackupComponentsEx* This,UINT *pcWriters) {
2183 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters);
2184}
2185static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterMetadata(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) {
2186 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata);
2187}
2188static FORCEINLINE HRESULT IVssBackupComponentsEx_FreeWriterMetadata(IVssBackupComponentsEx* This) {
2189 return This->lpVtbl->FreeWriterMetadata(This);
2190}
2191static FORCEINLINE HRESULT IVssBackupComponentsEx_AddComponent(IVssBackupComponentsEx* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) {
2192 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName);
2193}
2194static FORCEINLINE HRESULT IVssBackupComponentsEx_PrepareForBackup(IVssBackupComponentsEx* This,IVssAsync **ppAsync) {
2195 return This->lpVtbl->PrepareForBackup(This,ppAsync);
2196}
2197static FORCEINLINE HRESULT IVssBackupComponentsEx_AbortBackup(IVssBackupComponentsEx* This) {
2198 return This->lpVtbl->AbortBackup(This);
2199}
2200static FORCEINLINE HRESULT IVssBackupComponentsEx_GatherWriterStatus(IVssBackupComponentsEx* This,IVssAsync **pAsync) {
2201 return This->lpVtbl->GatherWriterStatus(This,pAsync);
2202}
2203static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterStatusCount(IVssBackupComponentsEx* This,UINT *pcWriters) {
2204 return This->lpVtbl->GetWriterStatusCount(This,pcWriters);
2205}
2206static FORCEINLINE HRESULT IVssBackupComponentsEx_FreeWriterStatus(IVssBackupComponentsEx* This) {
2207 return This->lpVtbl->FreeWriterStatus(This);
2208}
2209static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterStatus(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) {
2210 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure);
2211}
2212static FORCEINLINE HRESULT IVssBackupComponentsEx_SetBackupSucceeded(IVssBackupComponentsEx* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) {
2213 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded);
2214}
2215static FORCEINLINE HRESULT IVssBackupComponentsEx_SetBackupOptions(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) {
2216 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions);
2217}
2218static FORCEINLINE HRESULT IVssBackupComponentsEx_SetSelectedForRestore(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) {
2219 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore);
2220}
2221static FORCEINLINE HRESULT IVssBackupComponentsEx_SetRestoreOptions(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) {
2222 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions);
2223}
2224static FORCEINLINE HRESULT IVssBackupComponentsEx_SetAdditionalRestores(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) {
2225 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores);
2226}
2227static FORCEINLINE HRESULT IVssBackupComponentsEx_SetPreviousBackupStamp(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) {
2228 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp);
2229}
2230static FORCEINLINE HRESULT IVssBackupComponentsEx_SaveAsXML(IVssBackupComponentsEx* This,BSTR *pbstrXML) {
2231 return This->lpVtbl->SaveAsXML(This,pbstrXML);
2232}
2233static FORCEINLINE HRESULT IVssBackupComponentsEx_BackupComplete(IVssBackupComponentsEx* This,IVssAsync **ppAsync) {
2234 return This->lpVtbl->BackupComplete(This,ppAsync);
2235}
2236static FORCEINLINE HRESULT IVssBackupComponentsEx_AddAlternativeLocationMapping(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) {
2237 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination);
2238}
2239static FORCEINLINE HRESULT IVssBackupComponentsEx_AddRestoreSubcomponent(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) {
2240 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair);
2241}
2242static FORCEINLINE HRESULT IVssBackupComponentsEx_SetFileRestoreStatus(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) {
2243 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status);
2244}
2245static FORCEINLINE HRESULT IVssBackupComponentsEx_AddNewTarget(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) {
2246 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath);
2247}
2248static FORCEINLINE HRESULT IVssBackupComponentsEx_SetRangesFilePath(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) {
2249 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile);
2250}
2251static FORCEINLINE HRESULT IVssBackupComponentsEx_PreRestore(IVssBackupComponentsEx* This,IVssAsync **ppAsync) {
2252 return This->lpVtbl->PreRestore(This,ppAsync);
2253}
2254static FORCEINLINE HRESULT IVssBackupComponentsEx_PostRestore(IVssBackupComponentsEx* This,IVssAsync **ppAsync) {
2255 return This->lpVtbl->PostRestore(This,ppAsync);
2256}
2257static FORCEINLINE HRESULT IVssBackupComponentsEx_SetContext(IVssBackupComponentsEx* This,LONG lContext) {
2258 return This->lpVtbl->SetContext(This,lContext);
2259}
2260static FORCEINLINE HRESULT IVssBackupComponentsEx_StartSnapshotSet(IVssBackupComponentsEx* This,VSS_ID *pSnapshotSetId) {
2261 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId);
2262}
2263static FORCEINLINE HRESULT IVssBackupComponentsEx_AddToSnapshotSet(IVssBackupComponentsEx* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) {
2264 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot);
2265}
2266static FORCEINLINE HRESULT IVssBackupComponentsEx_DoSnapshotSet(IVssBackupComponentsEx* This,IVssAsync **ppAsync) {
2267 return This->lpVtbl->DoSnapshotSet(This,ppAsync);
2268}
2269static FORCEINLINE HRESULT IVssBackupComponentsEx_DeleteSnapshots(IVssBackupComponentsEx* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
2270 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
2271}
2272static FORCEINLINE HRESULT IVssBackupComponentsEx_ImportSnapshots(IVssBackupComponentsEx* This,IVssAsync **ppAsync) {
2273 return This->lpVtbl->ImportSnapshots(This,ppAsync);
2274}
2275static FORCEINLINE HRESULT IVssBackupComponentsEx_BreakSnapshotSet(IVssBackupComponentsEx* This,VSS_ID SnapshotSetId) {
2276 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId);
2277}
2278static FORCEINLINE HRESULT IVssBackupComponentsEx_GetSnapshotProperties(IVssBackupComponentsEx* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
2279 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
2280}
2281static FORCEINLINE HRESULT IVssBackupComponentsEx_Query(IVssBackupComponentsEx* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
2282 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
2283}
2284static FORCEINLINE HRESULT IVssBackupComponentsEx_IsVolumeSupported(IVssBackupComponentsEx* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
2285 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider);
2286}
2287static FORCEINLINE HRESULT IVssBackupComponentsEx_DisableWriterClasses(IVssBackupComponentsEx* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
2288 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId);
2289}
2290static FORCEINLINE HRESULT IVssBackupComponentsEx_EnableWriterClasses(IVssBackupComponentsEx* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
2291 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId);
2292}
2293static FORCEINLINE HRESULT IVssBackupComponentsEx_DisableWriterInstances(IVssBackupComponentsEx* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) {
2294 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId);
2295}
2296static FORCEINLINE HRESULT IVssBackupComponentsEx_ExposeSnapshot(IVssBackupComponentsEx* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) {
2297 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed);
2298}
2299static FORCEINLINE HRESULT IVssBackupComponentsEx_RevertToSnapshot(IVssBackupComponentsEx* This,VSS_ID SnapshotId,WINBOOL bForceDismount) {
2300 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount);
2301}
2302static FORCEINLINE HRESULT IVssBackupComponentsEx_QueryRevertStatus(IVssBackupComponentsEx* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
2303 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
2304}
2305/*** IVssBackupComponentsEx methods ***/
2306static FORCEINLINE HRESULT IVssBackupComponentsEx_GetWriterMetadataEx(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) {
2307 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata);
2308}
2309static FORCEINLINE HRESULT IVssBackupComponentsEx_SetSelectedForRestoreEx(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) {
2310 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId);
2311}
2312#endif
2313#endif
2314
2315#endif
2316
2317
2318#endif /* __IVssBackupComponentsEx_INTERFACE_DEFINED__ */
2319
2320/*****************************************************************************
2321 * IVssBackupComponentsEx2 interface
2322 */
2323#ifndef __IVssBackupComponentsEx2_INTERFACE_DEFINED__
2324#define __IVssBackupComponentsEx2_INTERFACE_DEFINED__
2325
2326DEFINE_GUID(IID_IVssBackupComponentsEx2, 0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd,0x03, 0x2f,0x9c,0xa2,0x30,0x08,0x4e);
2327#if defined(__cplusplus) && !defined(CINTERFACE)
2328MIDL_INTERFACE("acfe2b3a-22c9-4ef8-bd03-2f9ca230084e")
2329IVssBackupComponentsEx2 : public IVssBackupComponentsEx
2330{
2331 virtual HRESULT STDMETHODCALLTYPE UnexposeSnapshot(
2332 VSS_ID snapshotId) = 0;
2333
2334 virtual HRESULT STDMETHODCALLTYPE SetAuthoritativeRestore(
2335 VSS_ID writerId,
2336 VSS_COMPONENT_TYPE ct,
2337 LPCWSTR wszLogicalPath,
2338 LPCWSTR wszComponentName,
2339 boolean bAuth) = 0;
2340
2341 virtual HRESULT STDMETHODCALLTYPE SetRollForward(
2342 VSS_ID writerId,
2343 VSS_COMPONENT_TYPE ct,
2344 LPCWSTR wszLogicalPath,
2345 LPCWSTR wszComponentName,
2346 VSS_ROLLFORWARD_TYPE rollType,
2347 LPCWSTR wszRollForwardPoint) = 0;
2348
2349 virtual HRESULT STDMETHODCALLTYPE SetRestoreName(
2350 VSS_ID writerId,
2351 VSS_COMPONENT_TYPE ct,
2352 LPCWSTR wszLogicalPath,
2353 LPCWSTR wszComponentName,
2354 LPCWSTR wszRestoreName) = 0;
2355
2356 virtual HRESULT STDMETHODCALLTYPE BreakSnapshotSetEx(
2357 VSS_ID SnapshotSetID,
2358 DWORD dwBreakFlags,
2359 IVssAsync **ppAsync) = 0;
2360
2361 virtual HRESULT STDMETHODCALLTYPE PreFastRecovery(
2362 VSS_ID SnapshotSetID,
2363 DWORD dwPreFastRecoveryFlags,
2364 IVssAsync **ppAsync) = 0;
2365
2366 virtual HRESULT STDMETHODCALLTYPE FastRecovery(
2367 VSS_ID SnapshotSetID,
2368 DWORD dwFastRecoveryFlags,
2369 IVssAsync **ppAsync) = 0;
2370
2371};
2372#ifdef __CRT_UUID_DECL
2373__CRT_UUID_DECL(IVssBackupComponentsEx2, 0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd,0x03, 0x2f,0x9c,0xa2,0x30,0x08,0x4e)
2374#endif
2375#else
2376typedef struct IVssBackupComponentsEx2Vtbl {
2377 BEGIN_INTERFACE
2378
2379 /*** IUnknown methods ***/
2380 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2381 IVssBackupComponentsEx2 *This,
2382 REFIID riid,
2383 void **ppvObject);
2384
2385 ULONG (STDMETHODCALLTYPE *AddRef)(
2386 IVssBackupComponentsEx2 *This);
2387
2388 ULONG (STDMETHODCALLTYPE *Release)(
2389 IVssBackupComponentsEx2 *This);
2390
2391 /*** IVssBackupComponents methods ***/
2392 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)(
2393 IVssBackupComponentsEx2 *This,
2394 UINT *pcComponents);
2395
2396 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)(
2397 IVssBackupComponentsEx2 *This,
2398 UINT iWriter,
2399 IVssWriterComponentsExt **ppWriter);
2400
2401 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)(
2402 IVssBackupComponentsEx2 *This,
2403 BSTR bstrXML);
2404
2405 HRESULT (STDMETHODCALLTYPE *SetBackupState)(
2406 IVssBackupComponentsEx2 *This,
2407 boolean bSelectComponents,
2408 boolean bBackupBootableSystemState,
2409 VSS_BACKUP_TYPE backupType,
2410 boolean bPartialFileSupport);
2411
2412 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)(
2413 IVssBackupComponentsEx2 *This,
2414 BSTR bstrXML);
2415
2416 HRESULT (STDMETHODCALLTYPE *SetRestoreState)(
2417 IVssBackupComponentsEx2 *This,
2418 VSS_RESTORE_TYPE restoreType);
2419
2420 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)(
2421 IVssBackupComponentsEx2 *This,
2422 IVssAsync **pAsync);
2423
2424 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)(
2425 IVssBackupComponentsEx2 *This,
2426 UINT *pcWriters);
2427
2428 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)(
2429 IVssBackupComponentsEx2 *This,
2430 UINT iWriter,
2431 VSS_ID *pidInstance,
2432 IVssExamineWriterMetadata **ppMetadata);
2433
2434 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)(
2435 IVssBackupComponentsEx2 *This);
2436
2437 HRESULT (STDMETHODCALLTYPE *AddComponent)(
2438 IVssBackupComponentsEx2 *This,
2439 VSS_ID instanceId,
2440 VSS_ID writerId,
2441 VSS_COMPONENT_TYPE ct,
2442 LPCWSTR wszLogicalPath,
2443 LPCWSTR wszComponentName);
2444
2445 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)(
2446 IVssBackupComponentsEx2 *This,
2447 IVssAsync **ppAsync);
2448
2449 HRESULT (STDMETHODCALLTYPE *AbortBackup)(
2450 IVssBackupComponentsEx2 *This);
2451
2452 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)(
2453 IVssBackupComponentsEx2 *This,
2454 IVssAsync **pAsync);
2455
2456 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)(
2457 IVssBackupComponentsEx2 *This,
2458 UINT *pcWriters);
2459
2460 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)(
2461 IVssBackupComponentsEx2 *This);
2462
2463 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)(
2464 IVssBackupComponentsEx2 *This,
2465 UINT iWriter,
2466 VSS_ID *pidInstance,
2467 VSS_ID *pidWriter,
2468 BSTR *pbstrWriter,
2469 VSS_WRITER_STATE *pnStatus,
2470 HRESULT *phResultFailure);
2471
2472 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)(
2473 IVssBackupComponentsEx2 *This,
2474 VSS_ID instanceId,
2475 VSS_ID writerId,
2476 VSS_COMPONENT_TYPE ct,
2477 LPCWSTR wszLogicalPath,
2478 LPCWSTR wszComponentName,
2479 boolean bSucceded);
2480
2481 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)(
2482 IVssBackupComponentsEx2 *This,
2483 VSS_ID writerId,
2484 VSS_COMPONENT_TYPE ct,
2485 LPCWSTR wszLogicalPath,
2486 LPCWSTR wszComponentName,
2487 LPCWSTR wszBackupOptions);
2488
2489 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)(
2490 IVssBackupComponentsEx2 *This,
2491 VSS_ID writerId,
2492 VSS_COMPONENT_TYPE ct,
2493 LPCWSTR wszLogicalPath,
2494 LPCWSTR wszComponentName,
2495 boolean bSelectedForRestore);
2496
2497 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)(
2498 IVssBackupComponentsEx2 *This,
2499 VSS_ID writerId,
2500 VSS_COMPONENT_TYPE ct,
2501 LPCWSTR wszLogicalPath,
2502 LPCWSTR wszComponentName,
2503 LPCWSTR wszRestoreOptions);
2504
2505 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)(
2506 IVssBackupComponentsEx2 *This,
2507 VSS_ID writerId,
2508 VSS_COMPONENT_TYPE ct,
2509 LPCWSTR wszLogicalPath,
2510 LPCWSTR wszComponentName,
2511 boolean bAdditionalRestores);
2512
2513 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)(
2514 IVssBackupComponentsEx2 *This,
2515 VSS_ID writerId,
2516 VSS_COMPONENT_TYPE ct,
2517 LPCWSTR wszLogicalPath,
2518 LPCWSTR wszComponentName,
2519 LPCWSTR wszPreviousBackupStamp);
2520
2521 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
2522 IVssBackupComponentsEx2 *This,
2523 BSTR *pbstrXML);
2524
2525 HRESULT (STDMETHODCALLTYPE *BackupComplete)(
2526 IVssBackupComponentsEx2 *This,
2527 IVssAsync **ppAsync);
2528
2529 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)(
2530 IVssBackupComponentsEx2 *This,
2531 VSS_ID writerId,
2532 VSS_COMPONENT_TYPE componentType,
2533 LPCWSTR wszLogicalPath,
2534 LPCWSTR wszComponentName,
2535 LPCWSTR wszPath,
2536 LPCWSTR wszFilespec,
2537 boolean bRecursive,
2538 LPCWSTR wszDestination);
2539
2540 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)(
2541 IVssBackupComponentsEx2 *This,
2542 VSS_ID writerId,
2543 VSS_COMPONENT_TYPE componentType,
2544 LPCWSTR wszLogicalPath,
2545 LPCWSTR wszComponentName,
2546 LPCWSTR wszSubComponentLogicalPath,
2547 LPCWSTR wszSubComponentName,
2548 boolean bRepair);
2549
2550 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)(
2551 IVssBackupComponentsEx2 *This,
2552 VSS_ID writerId,
2553 VSS_COMPONENT_TYPE ct,
2554 LPCWSTR wszLogicalPath,
2555 LPCWSTR wszComponentName,
2556 VSS_FILE_RESTORE_STATUS status);
2557
2558 HRESULT (STDMETHODCALLTYPE *AddNewTarget)(
2559 IVssBackupComponentsEx2 *This,
2560 VSS_ID writerId,
2561 VSS_COMPONENT_TYPE ct,
2562 LPCWSTR wszLogicalPath,
2563 LPCWSTR wszComponentName,
2564 LPCWSTR wszPath,
2565 LPCWSTR wszFileName,
2566 boolean bRecursive,
2567 LPCWSTR wszAlternatePath);
2568
2569 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)(
2570 IVssBackupComponentsEx2 *This,
2571 VSS_ID writerId,
2572 VSS_COMPONENT_TYPE ct,
2573 LPCWSTR wszLogicalPath,
2574 LPCWSTR wszComponentName,
2575 UINT iPartialFile,
2576 LPCWSTR wszRangesFile);
2577
2578 HRESULT (STDMETHODCALLTYPE *PreRestore)(
2579 IVssBackupComponentsEx2 *This,
2580 IVssAsync **ppAsync);
2581
2582 HRESULT (STDMETHODCALLTYPE *PostRestore)(
2583 IVssBackupComponentsEx2 *This,
2584 IVssAsync **ppAsync);
2585
2586 HRESULT (STDMETHODCALLTYPE *SetContext)(
2587 IVssBackupComponentsEx2 *This,
2588 LONG lContext);
2589
2590 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)(
2591 IVssBackupComponentsEx2 *This,
2592 VSS_ID *pSnapshotSetId);
2593
2594 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)(
2595 IVssBackupComponentsEx2 *This,
2596 VSS_PWSZ pwszVolumeName,
2597 VSS_ID ProviderId,
2598 VSS_ID *pidSnapshot);
2599
2600 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)(
2601 IVssBackupComponentsEx2 *This,
2602 IVssAsync **ppAsync);
2603
2604 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
2605 IVssBackupComponentsEx2 *This,
2606 VSS_ID SourceObjectId,
2607 VSS_OBJECT_TYPE eSourceObjectType,
2608 WINBOOL bForceDelete,
2609 LONG *plDeletedSnapshots,
2610 VSS_ID *pNondeletedSnapshotID);
2611
2612 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)(
2613 IVssBackupComponentsEx2 *This,
2614 IVssAsync **ppAsync);
2615
2616 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)(
2617 IVssBackupComponentsEx2 *This,
2618 VSS_ID SnapshotSetId);
2619
2620 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
2621 IVssBackupComponentsEx2 *This,
2622 VSS_ID SnapshotId,
2623 VSS_SNAPSHOT_PROP *pProp);
2624
2625 HRESULT (STDMETHODCALLTYPE *Query)(
2626 IVssBackupComponentsEx2 *This,
2627 VSS_ID QueriedObjectId,
2628 VSS_OBJECT_TYPE eQueriedObjectType,
2629 VSS_OBJECT_TYPE eReturnedObjectsType,
2630 IVssEnumObject **ppEnum);
2631
2632 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
2633 IVssBackupComponentsEx2 *This,
2634 VSS_ID ProviderId,
2635 VSS_PWSZ pwszVolumeName,
2636 WINBOOL *pbSupportedByThisProvider);
2637
2638 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)(
2639 IVssBackupComponentsEx2 *This,
2640 const VSS_ID *rgWriterClassId,
2641 UINT cClassId);
2642
2643 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)(
2644 IVssBackupComponentsEx2 *This,
2645 const VSS_ID *rgWriterClassId,
2646 UINT cClassId);
2647
2648 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)(
2649 IVssBackupComponentsEx2 *This,
2650 const VSS_ID *rgWriterInstanceId,
2651 UINT cInstanceId);
2652
2653 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)(
2654 IVssBackupComponentsEx2 *This,
2655 VSS_ID SnapshotId,
2656 VSS_PWSZ wszPathFromRoot,
2657 LONG lAttributes,
2658 VSS_PWSZ wszExpose,
2659 VSS_PWSZ *pwszExposed);
2660
2661 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
2662 IVssBackupComponentsEx2 *This,
2663 VSS_ID SnapshotId,
2664 WINBOOL bForceDismount);
2665
2666 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
2667 IVssBackupComponentsEx2 *This,
2668 VSS_PWSZ pwszVolume,
2669 IVssAsync **ppAsync);
2670
2671 /*** IVssBackupComponentsEx methods ***/
2672 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)(
2673 IVssBackupComponentsEx2 *This,
2674 UINT iWriter,
2675 VSS_ID *pidInstance,
2676 IVssExamineWriterMetadataEx **ppMetadata);
2677
2678 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)(
2679 IVssBackupComponentsEx2 *This,
2680 VSS_ID writerId,
2681 VSS_COMPONENT_TYPE ct,
2682 LPCWSTR wszLogicalPath,
2683 LPCWSTR wszComponentName,
2684 boolean bSelectedForRestore,
2685 VSS_ID instanceId);
2686
2687 /*** IVssBackupComponentsEx2 methods ***/
2688 HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)(
2689 IVssBackupComponentsEx2 *This,
2690 VSS_ID snapshotId);
2691
2692 HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)(
2693 IVssBackupComponentsEx2 *This,
2694 VSS_ID writerId,
2695 VSS_COMPONENT_TYPE ct,
2696 LPCWSTR wszLogicalPath,
2697 LPCWSTR wszComponentName,
2698 boolean bAuth);
2699
2700 HRESULT (STDMETHODCALLTYPE *SetRollForward)(
2701 IVssBackupComponentsEx2 *This,
2702 VSS_ID writerId,
2703 VSS_COMPONENT_TYPE ct,
2704 LPCWSTR wszLogicalPath,
2705 LPCWSTR wszComponentName,
2706 VSS_ROLLFORWARD_TYPE rollType,
2707 LPCWSTR wszRollForwardPoint);
2708
2709 HRESULT (STDMETHODCALLTYPE *SetRestoreName)(
2710 IVssBackupComponentsEx2 *This,
2711 VSS_ID writerId,
2712 VSS_COMPONENT_TYPE ct,
2713 LPCWSTR wszLogicalPath,
2714 LPCWSTR wszComponentName,
2715 LPCWSTR wszRestoreName);
2716
2717 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)(
2718 IVssBackupComponentsEx2 *This,
2719 VSS_ID SnapshotSetID,
2720 DWORD dwBreakFlags,
2721 IVssAsync **ppAsync);
2722
2723 HRESULT (STDMETHODCALLTYPE *PreFastRecovery)(
2724 IVssBackupComponentsEx2 *This,
2725 VSS_ID SnapshotSetID,
2726 DWORD dwPreFastRecoveryFlags,
2727 IVssAsync **ppAsync);
2728
2729 HRESULT (STDMETHODCALLTYPE *FastRecovery)(
2730 IVssBackupComponentsEx2 *This,
2731 VSS_ID SnapshotSetID,
2732 DWORD dwFastRecoveryFlags,
2733 IVssAsync **ppAsync);
2734
2735 END_INTERFACE
2736} IVssBackupComponentsEx2Vtbl;
2737
2738interface IVssBackupComponentsEx2 {
2739 CONST_VTBL IVssBackupComponentsEx2Vtbl* lpVtbl;
2740};
2741
2742#ifdef COBJMACROS
2743#ifndef WIDL_C_INLINE_WRAPPERS
2744/*** IUnknown methods ***/
2745#define IVssBackupComponentsEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2746#define IVssBackupComponentsEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
2747#define IVssBackupComponentsEx2_Release(This) (This)->lpVtbl->Release(This)
2748/*** IVssBackupComponents methods ***/
2749#define IVssBackupComponentsEx2_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
2750#define IVssBackupComponentsEx2_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter)
2751#define IVssBackupComponentsEx2_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
2752#define IVssBackupComponentsEx2_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
2753#define IVssBackupComponentsEx2_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
2754#define IVssBackupComponentsEx2_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
2755#define IVssBackupComponentsEx2_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync)
2756#define IVssBackupComponentsEx2_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
2757#define IVssBackupComponentsEx2_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata)
2758#define IVssBackupComponentsEx2_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This)
2759#define IVssBackupComponentsEx2_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName)
2760#define IVssBackupComponentsEx2_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
2761#define IVssBackupComponentsEx2_AbortBackup(This) (This)->lpVtbl->AbortBackup(This)
2762#define IVssBackupComponentsEx2_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync)
2763#define IVssBackupComponentsEx2_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
2764#define IVssBackupComponentsEx2_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This)
2765#define IVssBackupComponentsEx2_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure)
2766#define IVssBackupComponentsEx2_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded)
2767#define IVssBackupComponentsEx2_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions)
2768#define IVssBackupComponentsEx2_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore)
2769#define IVssBackupComponentsEx2_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions)
2770#define IVssBackupComponentsEx2_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores)
2771#define IVssBackupComponentsEx2_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
2772#define IVssBackupComponentsEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
2773#define IVssBackupComponentsEx2_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
2774#define IVssBackupComponentsEx2_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
2775#define IVssBackupComponentsEx2_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
2776#define IVssBackupComponentsEx2_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status)
2777#define IVssBackupComponentsEx2_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
2778#define IVssBackupComponentsEx2_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
2779#define IVssBackupComponentsEx2_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
2780#define IVssBackupComponentsEx2_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
2781#define IVssBackupComponentsEx2_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
2782#define IVssBackupComponentsEx2_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
2783#define IVssBackupComponentsEx2_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
2784#define IVssBackupComponentsEx2_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
2785#define IVssBackupComponentsEx2_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
2786#define IVssBackupComponentsEx2_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
2787#define IVssBackupComponentsEx2_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
2788#define IVssBackupComponentsEx2_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
2789#define IVssBackupComponentsEx2_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
2790#define IVssBackupComponentsEx2_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
2791#define IVssBackupComponentsEx2_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
2792#define IVssBackupComponentsEx2_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
2793#define IVssBackupComponentsEx2_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
2794#define IVssBackupComponentsEx2_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
2795#define IVssBackupComponentsEx2_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
2796#define IVssBackupComponentsEx2_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
2797/*** IVssBackupComponentsEx methods ***/
2798#define IVssBackupComponentsEx2_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata)
2799#define IVssBackupComponentsEx2_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId)
2800/*** IVssBackupComponentsEx2 methods ***/
2801#define IVssBackupComponentsEx2_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId)
2802#define IVssBackupComponentsEx2_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth)
2803#define IVssBackupComponentsEx2_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint)
2804#define IVssBackupComponentsEx2_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName)
2805#define IVssBackupComponentsEx2_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync)
2806#define IVssBackupComponentsEx2_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync)
2807#define IVssBackupComponentsEx2_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync)
2808#else
2809/*** IUnknown methods ***/
2810static FORCEINLINE HRESULT IVssBackupComponentsEx2_QueryInterface(IVssBackupComponentsEx2* This,REFIID riid,void **ppvObject) {
2811 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2812}
2813static FORCEINLINE ULONG IVssBackupComponentsEx2_AddRef(IVssBackupComponentsEx2* This) {
2814 return This->lpVtbl->AddRef(This);
2815}
2816static FORCEINLINE ULONG IVssBackupComponentsEx2_Release(IVssBackupComponentsEx2* This) {
2817 return This->lpVtbl->Release(This);
2818}
2819/*** IVssBackupComponents methods ***/
2820static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterComponentsCount(IVssBackupComponentsEx2* This,UINT *pcComponents) {
2821 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents);
2822}
2823static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterComponents(IVssBackupComponentsEx2* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) {
2824 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter);
2825}
2826static FORCEINLINE HRESULT IVssBackupComponentsEx2_InitializeForBackup(IVssBackupComponentsEx2* This,BSTR bstrXML) {
2827 return This->lpVtbl->InitializeForBackup(This,bstrXML);
2828}
2829static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetBackupState(IVssBackupComponentsEx2* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) {
2830 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport);
2831}
2832static FORCEINLINE HRESULT IVssBackupComponentsEx2_InitializeForRestore(IVssBackupComponentsEx2* This,BSTR bstrXML) {
2833 return This->lpVtbl->InitializeForRestore(This,bstrXML);
2834}
2835static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetRestoreState(IVssBackupComponentsEx2* This,VSS_RESTORE_TYPE restoreType) {
2836 return This->lpVtbl->SetRestoreState(This,restoreType);
2837}
2838static FORCEINLINE HRESULT IVssBackupComponentsEx2_GatherWriterMetadata(IVssBackupComponentsEx2* This,IVssAsync **pAsync) {
2839 return This->lpVtbl->GatherWriterMetadata(This,pAsync);
2840}
2841static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterMetadataCount(IVssBackupComponentsEx2* This,UINT *pcWriters) {
2842 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters);
2843}
2844static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterMetadata(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) {
2845 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata);
2846}
2847static FORCEINLINE HRESULT IVssBackupComponentsEx2_FreeWriterMetadata(IVssBackupComponentsEx2* This) {
2848 return This->lpVtbl->FreeWriterMetadata(This);
2849}
2850static FORCEINLINE HRESULT IVssBackupComponentsEx2_AddComponent(IVssBackupComponentsEx2* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) {
2851 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName);
2852}
2853static FORCEINLINE HRESULT IVssBackupComponentsEx2_PrepareForBackup(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) {
2854 return This->lpVtbl->PrepareForBackup(This,ppAsync);
2855}
2856static FORCEINLINE HRESULT IVssBackupComponentsEx2_AbortBackup(IVssBackupComponentsEx2* This) {
2857 return This->lpVtbl->AbortBackup(This);
2858}
2859static FORCEINLINE HRESULT IVssBackupComponentsEx2_GatherWriterStatus(IVssBackupComponentsEx2* This,IVssAsync **pAsync) {
2860 return This->lpVtbl->GatherWriterStatus(This,pAsync);
2861}
2862static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterStatusCount(IVssBackupComponentsEx2* This,UINT *pcWriters) {
2863 return This->lpVtbl->GetWriterStatusCount(This,pcWriters);
2864}
2865static FORCEINLINE HRESULT IVssBackupComponentsEx2_FreeWriterStatus(IVssBackupComponentsEx2* This) {
2866 return This->lpVtbl->FreeWriterStatus(This);
2867}
2868static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterStatus(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) {
2869 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure);
2870}
2871static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetBackupSucceeded(IVssBackupComponentsEx2* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) {
2872 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded);
2873}
2874static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetBackupOptions(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) {
2875 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions);
2876}
2877static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetSelectedForRestore(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) {
2878 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore);
2879}
2880static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetRestoreOptions(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) {
2881 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions);
2882}
2883static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetAdditionalRestores(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) {
2884 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores);
2885}
2886static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetPreviousBackupStamp(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) {
2887 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp);
2888}
2889static FORCEINLINE HRESULT IVssBackupComponentsEx2_SaveAsXML(IVssBackupComponentsEx2* This,BSTR *pbstrXML) {
2890 return This->lpVtbl->SaveAsXML(This,pbstrXML);
2891}
2892static FORCEINLINE HRESULT IVssBackupComponentsEx2_BackupComplete(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) {
2893 return This->lpVtbl->BackupComplete(This,ppAsync);
2894}
2895static FORCEINLINE HRESULT IVssBackupComponentsEx2_AddAlternativeLocationMapping(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) {
2896 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination);
2897}
2898static FORCEINLINE HRESULT IVssBackupComponentsEx2_AddRestoreSubcomponent(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) {
2899 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair);
2900}
2901static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetFileRestoreStatus(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) {
2902 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status);
2903}
2904static FORCEINLINE HRESULT IVssBackupComponentsEx2_AddNewTarget(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) {
2905 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath);
2906}
2907static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetRangesFilePath(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) {
2908 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile);
2909}
2910static FORCEINLINE HRESULT IVssBackupComponentsEx2_PreRestore(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) {
2911 return This->lpVtbl->PreRestore(This,ppAsync);
2912}
2913static FORCEINLINE HRESULT IVssBackupComponentsEx2_PostRestore(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) {
2914 return This->lpVtbl->PostRestore(This,ppAsync);
2915}
2916static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetContext(IVssBackupComponentsEx2* This,LONG lContext) {
2917 return This->lpVtbl->SetContext(This,lContext);
2918}
2919static FORCEINLINE HRESULT IVssBackupComponentsEx2_StartSnapshotSet(IVssBackupComponentsEx2* This,VSS_ID *pSnapshotSetId) {
2920 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId);
2921}
2922static FORCEINLINE HRESULT IVssBackupComponentsEx2_AddToSnapshotSet(IVssBackupComponentsEx2* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) {
2923 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot);
2924}
2925static FORCEINLINE HRESULT IVssBackupComponentsEx2_DoSnapshotSet(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) {
2926 return This->lpVtbl->DoSnapshotSet(This,ppAsync);
2927}
2928static FORCEINLINE HRESULT IVssBackupComponentsEx2_DeleteSnapshots(IVssBackupComponentsEx2* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
2929 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
2930}
2931static FORCEINLINE HRESULT IVssBackupComponentsEx2_ImportSnapshots(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) {
2932 return This->lpVtbl->ImportSnapshots(This,ppAsync);
2933}
2934static FORCEINLINE HRESULT IVssBackupComponentsEx2_BreakSnapshotSet(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetId) {
2935 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId);
2936}
2937static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetSnapshotProperties(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
2938 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
2939}
2940static FORCEINLINE HRESULT IVssBackupComponentsEx2_Query(IVssBackupComponentsEx2* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
2941 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
2942}
2943static FORCEINLINE HRESULT IVssBackupComponentsEx2_IsVolumeSupported(IVssBackupComponentsEx2* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
2944 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider);
2945}
2946static FORCEINLINE HRESULT IVssBackupComponentsEx2_DisableWriterClasses(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
2947 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId);
2948}
2949static FORCEINLINE HRESULT IVssBackupComponentsEx2_EnableWriterClasses(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
2950 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId);
2951}
2952static FORCEINLINE HRESULT IVssBackupComponentsEx2_DisableWriterInstances(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) {
2953 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId);
2954}
2955static FORCEINLINE HRESULT IVssBackupComponentsEx2_ExposeSnapshot(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) {
2956 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed);
2957}
2958static FORCEINLINE HRESULT IVssBackupComponentsEx2_RevertToSnapshot(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,WINBOOL bForceDismount) {
2959 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount);
2960}
2961static FORCEINLINE HRESULT IVssBackupComponentsEx2_QueryRevertStatus(IVssBackupComponentsEx2* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
2962 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
2963}
2964/*** IVssBackupComponentsEx methods ***/
2965static FORCEINLINE HRESULT IVssBackupComponentsEx2_GetWriterMetadataEx(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) {
2966 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata);
2967}
2968static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetSelectedForRestoreEx(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) {
2969 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId);
2970}
2971/*** IVssBackupComponentsEx2 methods ***/
2972static FORCEINLINE HRESULT IVssBackupComponentsEx2_UnexposeSnapshot(IVssBackupComponentsEx2* This,VSS_ID snapshotId) {
2973 return This->lpVtbl->UnexposeSnapshot(This,snapshotId);
2974}
2975static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetAuthoritativeRestore(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) {
2976 return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth);
2977}
2978static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetRollForward(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) {
2979 return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint);
2980}
2981static FORCEINLINE HRESULT IVssBackupComponentsEx2_SetRestoreName(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) {
2982 return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName);
2983}
2984static FORCEINLINE HRESULT IVssBackupComponentsEx2_BreakSnapshotSetEx(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) {
2985 return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync);
2986}
2987static FORCEINLINE HRESULT IVssBackupComponentsEx2_PreFastRecovery(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) {
2988 return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync);
2989}
2990static FORCEINLINE HRESULT IVssBackupComponentsEx2_FastRecovery(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) {
2991 return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync);
2992}
2993#endif
2994#endif
2995
2996#endif
2997
2998
2999#endif /* __IVssBackupComponentsEx2_INTERFACE_DEFINED__ */
3000
3001/*****************************************************************************
3002 * IVssBackupComponentsEx3 interface
3003 */
3004#ifndef __IVssBackupComponentsEx3_INTERFACE_DEFINED__
3005#define __IVssBackupComponentsEx3_INTERFACE_DEFINED__
3006
3007DEFINE_GUID(IID_IVssBackupComponentsEx3, 0xc191bfbc, 0xb602, 0x4675, 0x8b,0xd1, 0x67,0xd6,0x42,0xf5,0x29,0xd5);
3008#if defined(__cplusplus) && !defined(CINTERFACE)
3009MIDL_INTERFACE("c191bfbc-b602-4675-8bd1-67d642f529d5")
3010IVssBackupComponentsEx3 : public IVssBackupComponentsEx2
3011{
3012 virtual HRESULT STDMETHODCALLTYPE GetWriterStatusEx(
3013 UINT iWriter,
3014 VSS_ID *pidInstance,
3015 VSS_ID *pidWriter,
3016 BSTR *pbstrWriter,
3017 VSS_WRITER_STATE *pnStatus,
3018 HRESULT *phrFailureWriter,
3019 HRESULT *phrApplication = 0,
3020 BSTR *pbstrApplicationMessage = 0) = 0;
3021
3022 virtual HRESULT STDMETHODCALLTYPE AddSnapshotToRecoverySet(
3023 VSS_ID snapshotId,
3024 DWORD dwFlags,
3025 VSS_PWSZ pwszDestinationVolume = 0) = 0;
3026
3027 virtual HRESULT STDMETHODCALLTYPE RecoverSet(
3028 DWORD dwFlags,
3029 IVssAsync **ppAsync) = 0;
3030
3031 virtual HRESULT STDMETHODCALLTYPE GetSessionId(
3032 VSS_ID *idSession) = 0;
3033
3034};
3035#ifdef __CRT_UUID_DECL
3036__CRT_UUID_DECL(IVssBackupComponentsEx3, 0xc191bfbc, 0xb602, 0x4675, 0x8b,0xd1, 0x67,0xd6,0x42,0xf5,0x29,0xd5)
3037#endif
3038#else
3039typedef struct IVssBackupComponentsEx3Vtbl {
3040 BEGIN_INTERFACE
3041
3042 /*** IUnknown methods ***/
3043 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3044 IVssBackupComponentsEx3 *This,
3045 REFIID riid,
3046 void **ppvObject);
3047
3048 ULONG (STDMETHODCALLTYPE *AddRef)(
3049 IVssBackupComponentsEx3 *This);
3050
3051 ULONG (STDMETHODCALLTYPE *Release)(
3052 IVssBackupComponentsEx3 *This);
3053
3054 /*** IVssBackupComponents methods ***/
3055 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)(
3056 IVssBackupComponentsEx3 *This,
3057 UINT *pcComponents);
3058
3059 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)(
3060 IVssBackupComponentsEx3 *This,
3061 UINT iWriter,
3062 IVssWriterComponentsExt **ppWriter);
3063
3064 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)(
3065 IVssBackupComponentsEx3 *This,
3066 BSTR bstrXML);
3067
3068 HRESULT (STDMETHODCALLTYPE *SetBackupState)(
3069 IVssBackupComponentsEx3 *This,
3070 boolean bSelectComponents,
3071 boolean bBackupBootableSystemState,
3072 VSS_BACKUP_TYPE backupType,
3073 boolean bPartialFileSupport);
3074
3075 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)(
3076 IVssBackupComponentsEx3 *This,
3077 BSTR bstrXML);
3078
3079 HRESULT (STDMETHODCALLTYPE *SetRestoreState)(
3080 IVssBackupComponentsEx3 *This,
3081 VSS_RESTORE_TYPE restoreType);
3082
3083 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)(
3084 IVssBackupComponentsEx3 *This,
3085 IVssAsync **pAsync);
3086
3087 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)(
3088 IVssBackupComponentsEx3 *This,
3089 UINT *pcWriters);
3090
3091 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)(
3092 IVssBackupComponentsEx3 *This,
3093 UINT iWriter,
3094 VSS_ID *pidInstance,
3095 IVssExamineWriterMetadata **ppMetadata);
3096
3097 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)(
3098 IVssBackupComponentsEx3 *This);
3099
3100 HRESULT (STDMETHODCALLTYPE *AddComponent)(
3101 IVssBackupComponentsEx3 *This,
3102 VSS_ID instanceId,
3103 VSS_ID writerId,
3104 VSS_COMPONENT_TYPE ct,
3105 LPCWSTR wszLogicalPath,
3106 LPCWSTR wszComponentName);
3107
3108 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)(
3109 IVssBackupComponentsEx3 *This,
3110 IVssAsync **ppAsync);
3111
3112 HRESULT (STDMETHODCALLTYPE *AbortBackup)(
3113 IVssBackupComponentsEx3 *This);
3114
3115 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)(
3116 IVssBackupComponentsEx3 *This,
3117 IVssAsync **pAsync);
3118
3119 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)(
3120 IVssBackupComponentsEx3 *This,
3121 UINT *pcWriters);
3122
3123 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)(
3124 IVssBackupComponentsEx3 *This);
3125
3126 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)(
3127 IVssBackupComponentsEx3 *This,
3128 UINT iWriter,
3129 VSS_ID *pidInstance,
3130 VSS_ID *pidWriter,
3131 BSTR *pbstrWriter,
3132 VSS_WRITER_STATE *pnStatus,
3133 HRESULT *phResultFailure);
3134
3135 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)(
3136 IVssBackupComponentsEx3 *This,
3137 VSS_ID instanceId,
3138 VSS_ID writerId,
3139 VSS_COMPONENT_TYPE ct,
3140 LPCWSTR wszLogicalPath,
3141 LPCWSTR wszComponentName,
3142 boolean bSucceded);
3143
3144 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)(
3145 IVssBackupComponentsEx3 *This,
3146 VSS_ID writerId,
3147 VSS_COMPONENT_TYPE ct,
3148 LPCWSTR wszLogicalPath,
3149 LPCWSTR wszComponentName,
3150 LPCWSTR wszBackupOptions);
3151
3152 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)(
3153 IVssBackupComponentsEx3 *This,
3154 VSS_ID writerId,
3155 VSS_COMPONENT_TYPE ct,
3156 LPCWSTR wszLogicalPath,
3157 LPCWSTR wszComponentName,
3158 boolean bSelectedForRestore);
3159
3160 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)(
3161 IVssBackupComponentsEx3 *This,
3162 VSS_ID writerId,
3163 VSS_COMPONENT_TYPE ct,
3164 LPCWSTR wszLogicalPath,
3165 LPCWSTR wszComponentName,
3166 LPCWSTR wszRestoreOptions);
3167
3168 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)(
3169 IVssBackupComponentsEx3 *This,
3170 VSS_ID writerId,
3171 VSS_COMPONENT_TYPE ct,
3172 LPCWSTR wszLogicalPath,
3173 LPCWSTR wszComponentName,
3174 boolean bAdditionalRestores);
3175
3176 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)(
3177 IVssBackupComponentsEx3 *This,
3178 VSS_ID writerId,
3179 VSS_COMPONENT_TYPE ct,
3180 LPCWSTR wszLogicalPath,
3181 LPCWSTR wszComponentName,
3182 LPCWSTR wszPreviousBackupStamp);
3183
3184 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
3185 IVssBackupComponentsEx3 *This,
3186 BSTR *pbstrXML);
3187
3188 HRESULT (STDMETHODCALLTYPE *BackupComplete)(
3189 IVssBackupComponentsEx3 *This,
3190 IVssAsync **ppAsync);
3191
3192 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)(
3193 IVssBackupComponentsEx3 *This,
3194 VSS_ID writerId,
3195 VSS_COMPONENT_TYPE componentType,
3196 LPCWSTR wszLogicalPath,
3197 LPCWSTR wszComponentName,
3198 LPCWSTR wszPath,
3199 LPCWSTR wszFilespec,
3200 boolean bRecursive,
3201 LPCWSTR wszDestination);
3202
3203 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)(
3204 IVssBackupComponentsEx3 *This,
3205 VSS_ID writerId,
3206 VSS_COMPONENT_TYPE componentType,
3207 LPCWSTR wszLogicalPath,
3208 LPCWSTR wszComponentName,
3209 LPCWSTR wszSubComponentLogicalPath,
3210 LPCWSTR wszSubComponentName,
3211 boolean bRepair);
3212
3213 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)(
3214 IVssBackupComponentsEx3 *This,
3215 VSS_ID writerId,
3216 VSS_COMPONENT_TYPE ct,
3217 LPCWSTR wszLogicalPath,
3218 LPCWSTR wszComponentName,
3219 VSS_FILE_RESTORE_STATUS status);
3220
3221 HRESULT (STDMETHODCALLTYPE *AddNewTarget)(
3222 IVssBackupComponentsEx3 *This,
3223 VSS_ID writerId,
3224 VSS_COMPONENT_TYPE ct,
3225 LPCWSTR wszLogicalPath,
3226 LPCWSTR wszComponentName,
3227 LPCWSTR wszPath,
3228 LPCWSTR wszFileName,
3229 boolean bRecursive,
3230 LPCWSTR wszAlternatePath);
3231
3232 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)(
3233 IVssBackupComponentsEx3 *This,
3234 VSS_ID writerId,
3235 VSS_COMPONENT_TYPE ct,
3236 LPCWSTR wszLogicalPath,
3237 LPCWSTR wszComponentName,
3238 UINT iPartialFile,
3239 LPCWSTR wszRangesFile);
3240
3241 HRESULT (STDMETHODCALLTYPE *PreRestore)(
3242 IVssBackupComponentsEx3 *This,
3243 IVssAsync **ppAsync);
3244
3245 HRESULT (STDMETHODCALLTYPE *PostRestore)(
3246 IVssBackupComponentsEx3 *This,
3247 IVssAsync **ppAsync);
3248
3249 HRESULT (STDMETHODCALLTYPE *SetContext)(
3250 IVssBackupComponentsEx3 *This,
3251 LONG lContext);
3252
3253 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)(
3254 IVssBackupComponentsEx3 *This,
3255 VSS_ID *pSnapshotSetId);
3256
3257 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)(
3258 IVssBackupComponentsEx3 *This,
3259 VSS_PWSZ pwszVolumeName,
3260 VSS_ID ProviderId,
3261 VSS_ID *pidSnapshot);
3262
3263 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)(
3264 IVssBackupComponentsEx3 *This,
3265 IVssAsync **ppAsync);
3266
3267 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
3268 IVssBackupComponentsEx3 *This,
3269 VSS_ID SourceObjectId,
3270 VSS_OBJECT_TYPE eSourceObjectType,
3271 WINBOOL bForceDelete,
3272 LONG *plDeletedSnapshots,
3273 VSS_ID *pNondeletedSnapshotID);
3274
3275 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)(
3276 IVssBackupComponentsEx3 *This,
3277 IVssAsync **ppAsync);
3278
3279 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)(
3280 IVssBackupComponentsEx3 *This,
3281 VSS_ID SnapshotSetId);
3282
3283 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
3284 IVssBackupComponentsEx3 *This,
3285 VSS_ID SnapshotId,
3286 VSS_SNAPSHOT_PROP *pProp);
3287
3288 HRESULT (STDMETHODCALLTYPE *Query)(
3289 IVssBackupComponentsEx3 *This,
3290 VSS_ID QueriedObjectId,
3291 VSS_OBJECT_TYPE eQueriedObjectType,
3292 VSS_OBJECT_TYPE eReturnedObjectsType,
3293 IVssEnumObject **ppEnum);
3294
3295 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
3296 IVssBackupComponentsEx3 *This,
3297 VSS_ID ProviderId,
3298 VSS_PWSZ pwszVolumeName,
3299 WINBOOL *pbSupportedByThisProvider);
3300
3301 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)(
3302 IVssBackupComponentsEx3 *This,
3303 const VSS_ID *rgWriterClassId,
3304 UINT cClassId);
3305
3306 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)(
3307 IVssBackupComponentsEx3 *This,
3308 const VSS_ID *rgWriterClassId,
3309 UINT cClassId);
3310
3311 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)(
3312 IVssBackupComponentsEx3 *This,
3313 const VSS_ID *rgWriterInstanceId,
3314 UINT cInstanceId);
3315
3316 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)(
3317 IVssBackupComponentsEx3 *This,
3318 VSS_ID SnapshotId,
3319 VSS_PWSZ wszPathFromRoot,
3320 LONG lAttributes,
3321 VSS_PWSZ wszExpose,
3322 VSS_PWSZ *pwszExposed);
3323
3324 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
3325 IVssBackupComponentsEx3 *This,
3326 VSS_ID SnapshotId,
3327 WINBOOL bForceDismount);
3328
3329 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
3330 IVssBackupComponentsEx3 *This,
3331 VSS_PWSZ pwszVolume,
3332 IVssAsync **ppAsync);
3333
3334 /*** IVssBackupComponentsEx methods ***/
3335 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)(
3336 IVssBackupComponentsEx3 *This,
3337 UINT iWriter,
3338 VSS_ID *pidInstance,
3339 IVssExamineWriterMetadataEx **ppMetadata);
3340
3341 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)(
3342 IVssBackupComponentsEx3 *This,
3343 VSS_ID writerId,
3344 VSS_COMPONENT_TYPE ct,
3345 LPCWSTR wszLogicalPath,
3346 LPCWSTR wszComponentName,
3347 boolean bSelectedForRestore,
3348 VSS_ID instanceId);
3349
3350 /*** IVssBackupComponentsEx2 methods ***/
3351 HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)(
3352 IVssBackupComponentsEx3 *This,
3353 VSS_ID snapshotId);
3354
3355 HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)(
3356 IVssBackupComponentsEx3 *This,
3357 VSS_ID writerId,
3358 VSS_COMPONENT_TYPE ct,
3359 LPCWSTR wszLogicalPath,
3360 LPCWSTR wszComponentName,
3361 boolean bAuth);
3362
3363 HRESULT (STDMETHODCALLTYPE *SetRollForward)(
3364 IVssBackupComponentsEx3 *This,
3365 VSS_ID writerId,
3366 VSS_COMPONENT_TYPE ct,
3367 LPCWSTR wszLogicalPath,
3368 LPCWSTR wszComponentName,
3369 VSS_ROLLFORWARD_TYPE rollType,
3370 LPCWSTR wszRollForwardPoint);
3371
3372 HRESULT (STDMETHODCALLTYPE *SetRestoreName)(
3373 IVssBackupComponentsEx3 *This,
3374 VSS_ID writerId,
3375 VSS_COMPONENT_TYPE ct,
3376 LPCWSTR wszLogicalPath,
3377 LPCWSTR wszComponentName,
3378 LPCWSTR wszRestoreName);
3379
3380 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)(
3381 IVssBackupComponentsEx3 *This,
3382 VSS_ID SnapshotSetID,
3383 DWORD dwBreakFlags,
3384 IVssAsync **ppAsync);
3385
3386 HRESULT (STDMETHODCALLTYPE *PreFastRecovery)(
3387 IVssBackupComponentsEx3 *This,
3388 VSS_ID SnapshotSetID,
3389 DWORD dwPreFastRecoveryFlags,
3390 IVssAsync **ppAsync);
3391
3392 HRESULT (STDMETHODCALLTYPE *FastRecovery)(
3393 IVssBackupComponentsEx3 *This,
3394 VSS_ID SnapshotSetID,
3395 DWORD dwFastRecoveryFlags,
3396 IVssAsync **ppAsync);
3397
3398 /*** IVssBackupComponentsEx3 methods ***/
3399 HRESULT (STDMETHODCALLTYPE *GetWriterStatusEx)(
3400 IVssBackupComponentsEx3 *This,
3401 UINT iWriter,
3402 VSS_ID *pidInstance,
3403 VSS_ID *pidWriter,
3404 BSTR *pbstrWriter,
3405 VSS_WRITER_STATE *pnStatus,
3406 HRESULT *phrFailureWriter,
3407 HRESULT *phrApplication,
3408 BSTR *pbstrApplicationMessage);
3409
3410 HRESULT (STDMETHODCALLTYPE *AddSnapshotToRecoverySet)(
3411 IVssBackupComponentsEx3 *This,
3412 VSS_ID snapshotId,
3413 DWORD dwFlags,
3414 VSS_PWSZ pwszDestinationVolume);
3415
3416 HRESULT (STDMETHODCALLTYPE *RecoverSet)(
3417 IVssBackupComponentsEx3 *This,
3418 DWORD dwFlags,
3419 IVssAsync **ppAsync);
3420
3421 HRESULT (STDMETHODCALLTYPE *GetSessionId)(
3422 IVssBackupComponentsEx3 *This,
3423 VSS_ID *idSession);
3424
3425 END_INTERFACE
3426} IVssBackupComponentsEx3Vtbl;
3427
3428interface IVssBackupComponentsEx3 {
3429 CONST_VTBL IVssBackupComponentsEx3Vtbl* lpVtbl;
3430};
3431
3432#ifdef COBJMACROS
3433#ifndef WIDL_C_INLINE_WRAPPERS
3434/*** IUnknown methods ***/
3435#define IVssBackupComponentsEx3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3436#define IVssBackupComponentsEx3_AddRef(This) (This)->lpVtbl->AddRef(This)
3437#define IVssBackupComponentsEx3_Release(This) (This)->lpVtbl->Release(This)
3438/*** IVssBackupComponents methods ***/
3439#define IVssBackupComponentsEx3_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
3440#define IVssBackupComponentsEx3_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter)
3441#define IVssBackupComponentsEx3_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
3442#define IVssBackupComponentsEx3_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
3443#define IVssBackupComponentsEx3_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
3444#define IVssBackupComponentsEx3_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
3445#define IVssBackupComponentsEx3_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync)
3446#define IVssBackupComponentsEx3_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
3447#define IVssBackupComponentsEx3_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata)
3448#define IVssBackupComponentsEx3_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This)
3449#define IVssBackupComponentsEx3_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName)
3450#define IVssBackupComponentsEx3_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
3451#define IVssBackupComponentsEx3_AbortBackup(This) (This)->lpVtbl->AbortBackup(This)
3452#define IVssBackupComponentsEx3_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync)
3453#define IVssBackupComponentsEx3_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
3454#define IVssBackupComponentsEx3_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This)
3455#define IVssBackupComponentsEx3_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure)
3456#define IVssBackupComponentsEx3_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded)
3457#define IVssBackupComponentsEx3_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions)
3458#define IVssBackupComponentsEx3_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore)
3459#define IVssBackupComponentsEx3_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions)
3460#define IVssBackupComponentsEx3_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores)
3461#define IVssBackupComponentsEx3_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
3462#define IVssBackupComponentsEx3_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
3463#define IVssBackupComponentsEx3_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
3464#define IVssBackupComponentsEx3_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
3465#define IVssBackupComponentsEx3_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
3466#define IVssBackupComponentsEx3_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status)
3467#define IVssBackupComponentsEx3_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
3468#define IVssBackupComponentsEx3_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
3469#define IVssBackupComponentsEx3_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
3470#define IVssBackupComponentsEx3_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
3471#define IVssBackupComponentsEx3_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
3472#define IVssBackupComponentsEx3_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
3473#define IVssBackupComponentsEx3_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
3474#define IVssBackupComponentsEx3_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
3475#define IVssBackupComponentsEx3_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
3476#define IVssBackupComponentsEx3_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
3477#define IVssBackupComponentsEx3_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
3478#define IVssBackupComponentsEx3_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
3479#define IVssBackupComponentsEx3_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
3480#define IVssBackupComponentsEx3_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
3481#define IVssBackupComponentsEx3_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
3482#define IVssBackupComponentsEx3_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
3483#define IVssBackupComponentsEx3_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
3484#define IVssBackupComponentsEx3_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
3485#define IVssBackupComponentsEx3_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
3486#define IVssBackupComponentsEx3_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
3487/*** IVssBackupComponentsEx methods ***/
3488#define IVssBackupComponentsEx3_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata)
3489#define IVssBackupComponentsEx3_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId)
3490/*** IVssBackupComponentsEx2 methods ***/
3491#define IVssBackupComponentsEx3_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId)
3492#define IVssBackupComponentsEx3_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth)
3493#define IVssBackupComponentsEx3_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint)
3494#define IVssBackupComponentsEx3_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName)
3495#define IVssBackupComponentsEx3_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync)
3496#define IVssBackupComponentsEx3_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync)
3497#define IVssBackupComponentsEx3_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync)
3498/*** IVssBackupComponentsEx3 methods ***/
3499#define IVssBackupComponentsEx3_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage)
3500#define IVssBackupComponentsEx3_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume)
3501#define IVssBackupComponentsEx3_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync)
3502#define IVssBackupComponentsEx3_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession)
3503#else
3504/*** IUnknown methods ***/
3505static FORCEINLINE HRESULT IVssBackupComponentsEx3_QueryInterface(IVssBackupComponentsEx3* This,REFIID riid,void **ppvObject) {
3506 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3507}
3508static FORCEINLINE ULONG IVssBackupComponentsEx3_AddRef(IVssBackupComponentsEx3* This) {
3509 return This->lpVtbl->AddRef(This);
3510}
3511static FORCEINLINE ULONG IVssBackupComponentsEx3_Release(IVssBackupComponentsEx3* This) {
3512 return This->lpVtbl->Release(This);
3513}
3514/*** IVssBackupComponents methods ***/
3515static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterComponentsCount(IVssBackupComponentsEx3* This,UINT *pcComponents) {
3516 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents);
3517}
3518static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterComponents(IVssBackupComponentsEx3* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) {
3519 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter);
3520}
3521static FORCEINLINE HRESULT IVssBackupComponentsEx3_InitializeForBackup(IVssBackupComponentsEx3* This,BSTR bstrXML) {
3522 return This->lpVtbl->InitializeForBackup(This,bstrXML);
3523}
3524static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetBackupState(IVssBackupComponentsEx3* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) {
3525 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport);
3526}
3527static FORCEINLINE HRESULT IVssBackupComponentsEx3_InitializeForRestore(IVssBackupComponentsEx3* This,BSTR bstrXML) {
3528 return This->lpVtbl->InitializeForRestore(This,bstrXML);
3529}
3530static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetRestoreState(IVssBackupComponentsEx3* This,VSS_RESTORE_TYPE restoreType) {
3531 return This->lpVtbl->SetRestoreState(This,restoreType);
3532}
3533static FORCEINLINE HRESULT IVssBackupComponentsEx3_GatherWriterMetadata(IVssBackupComponentsEx3* This,IVssAsync **pAsync) {
3534 return This->lpVtbl->GatherWriterMetadata(This,pAsync);
3535}
3536static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterMetadataCount(IVssBackupComponentsEx3* This,UINT *pcWriters) {
3537 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters);
3538}
3539static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterMetadata(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) {
3540 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata);
3541}
3542static FORCEINLINE HRESULT IVssBackupComponentsEx3_FreeWriterMetadata(IVssBackupComponentsEx3* This) {
3543 return This->lpVtbl->FreeWriterMetadata(This);
3544}
3545static FORCEINLINE HRESULT IVssBackupComponentsEx3_AddComponent(IVssBackupComponentsEx3* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) {
3546 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName);
3547}
3548static FORCEINLINE HRESULT IVssBackupComponentsEx3_PrepareForBackup(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) {
3549 return This->lpVtbl->PrepareForBackup(This,ppAsync);
3550}
3551static FORCEINLINE HRESULT IVssBackupComponentsEx3_AbortBackup(IVssBackupComponentsEx3* This) {
3552 return This->lpVtbl->AbortBackup(This);
3553}
3554static FORCEINLINE HRESULT IVssBackupComponentsEx3_GatherWriterStatus(IVssBackupComponentsEx3* This,IVssAsync **pAsync) {
3555 return This->lpVtbl->GatherWriterStatus(This,pAsync);
3556}
3557static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterStatusCount(IVssBackupComponentsEx3* This,UINT *pcWriters) {
3558 return This->lpVtbl->GetWriterStatusCount(This,pcWriters);
3559}
3560static FORCEINLINE HRESULT IVssBackupComponentsEx3_FreeWriterStatus(IVssBackupComponentsEx3* This) {
3561 return This->lpVtbl->FreeWriterStatus(This);
3562}
3563static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterStatus(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) {
3564 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure);
3565}
3566static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetBackupSucceeded(IVssBackupComponentsEx3* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) {
3567 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded);
3568}
3569static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetBackupOptions(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) {
3570 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions);
3571}
3572static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetSelectedForRestore(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) {
3573 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore);
3574}
3575static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetRestoreOptions(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) {
3576 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions);
3577}
3578static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetAdditionalRestores(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) {
3579 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores);
3580}
3581static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetPreviousBackupStamp(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) {
3582 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp);
3583}
3584static FORCEINLINE HRESULT IVssBackupComponentsEx3_SaveAsXML(IVssBackupComponentsEx3* This,BSTR *pbstrXML) {
3585 return This->lpVtbl->SaveAsXML(This,pbstrXML);
3586}
3587static FORCEINLINE HRESULT IVssBackupComponentsEx3_BackupComplete(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) {
3588 return This->lpVtbl->BackupComplete(This,ppAsync);
3589}
3590static FORCEINLINE HRESULT IVssBackupComponentsEx3_AddAlternativeLocationMapping(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) {
3591 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination);
3592}
3593static FORCEINLINE HRESULT IVssBackupComponentsEx3_AddRestoreSubcomponent(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) {
3594 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair);
3595}
3596static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetFileRestoreStatus(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) {
3597 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status);
3598}
3599static FORCEINLINE HRESULT IVssBackupComponentsEx3_AddNewTarget(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) {
3600 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath);
3601}
3602static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetRangesFilePath(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) {
3603 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile);
3604}
3605static FORCEINLINE HRESULT IVssBackupComponentsEx3_PreRestore(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) {
3606 return This->lpVtbl->PreRestore(This,ppAsync);
3607}
3608static FORCEINLINE HRESULT IVssBackupComponentsEx3_PostRestore(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) {
3609 return This->lpVtbl->PostRestore(This,ppAsync);
3610}
3611static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetContext(IVssBackupComponentsEx3* This,LONG lContext) {
3612 return This->lpVtbl->SetContext(This,lContext);
3613}
3614static FORCEINLINE HRESULT IVssBackupComponentsEx3_StartSnapshotSet(IVssBackupComponentsEx3* This,VSS_ID *pSnapshotSetId) {
3615 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId);
3616}
3617static FORCEINLINE HRESULT IVssBackupComponentsEx3_AddToSnapshotSet(IVssBackupComponentsEx3* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) {
3618 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot);
3619}
3620static FORCEINLINE HRESULT IVssBackupComponentsEx3_DoSnapshotSet(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) {
3621 return This->lpVtbl->DoSnapshotSet(This,ppAsync);
3622}
3623static FORCEINLINE HRESULT IVssBackupComponentsEx3_DeleteSnapshots(IVssBackupComponentsEx3* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
3624 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
3625}
3626static FORCEINLINE HRESULT IVssBackupComponentsEx3_ImportSnapshots(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) {
3627 return This->lpVtbl->ImportSnapshots(This,ppAsync);
3628}
3629static FORCEINLINE HRESULT IVssBackupComponentsEx3_BreakSnapshotSet(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetId) {
3630 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId);
3631}
3632static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetSnapshotProperties(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
3633 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
3634}
3635static FORCEINLINE HRESULT IVssBackupComponentsEx3_Query(IVssBackupComponentsEx3* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
3636 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
3637}
3638static FORCEINLINE HRESULT IVssBackupComponentsEx3_IsVolumeSupported(IVssBackupComponentsEx3* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
3639 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider);
3640}
3641static FORCEINLINE HRESULT IVssBackupComponentsEx3_DisableWriterClasses(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
3642 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId);
3643}
3644static FORCEINLINE HRESULT IVssBackupComponentsEx3_EnableWriterClasses(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
3645 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId);
3646}
3647static FORCEINLINE HRESULT IVssBackupComponentsEx3_DisableWriterInstances(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) {
3648 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId);
3649}
3650static FORCEINLINE HRESULT IVssBackupComponentsEx3_ExposeSnapshot(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) {
3651 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed);
3652}
3653static FORCEINLINE HRESULT IVssBackupComponentsEx3_RevertToSnapshot(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,WINBOOL bForceDismount) {
3654 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount);
3655}
3656static FORCEINLINE HRESULT IVssBackupComponentsEx3_QueryRevertStatus(IVssBackupComponentsEx3* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
3657 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
3658}
3659/*** IVssBackupComponentsEx methods ***/
3660static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterMetadataEx(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) {
3661 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata);
3662}
3663static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetSelectedForRestoreEx(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) {
3664 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId);
3665}
3666/*** IVssBackupComponentsEx2 methods ***/
3667static FORCEINLINE HRESULT IVssBackupComponentsEx3_UnexposeSnapshot(IVssBackupComponentsEx3* This,VSS_ID snapshotId) {
3668 return This->lpVtbl->UnexposeSnapshot(This,snapshotId);
3669}
3670static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetAuthoritativeRestore(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) {
3671 return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth);
3672}
3673static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetRollForward(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) {
3674 return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint);
3675}
3676static FORCEINLINE HRESULT IVssBackupComponentsEx3_SetRestoreName(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) {
3677 return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName);
3678}
3679static FORCEINLINE HRESULT IVssBackupComponentsEx3_BreakSnapshotSetEx(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) {
3680 return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync);
3681}
3682static FORCEINLINE HRESULT IVssBackupComponentsEx3_PreFastRecovery(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) {
3683 return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync);
3684}
3685static FORCEINLINE HRESULT IVssBackupComponentsEx3_FastRecovery(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) {
3686 return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync);
3687}
3688/*** IVssBackupComponentsEx3 methods ***/
3689static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetWriterStatusEx(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,HRESULT *phrApplication,BSTR *pbstrApplicationMessage) {
3690 return This->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage);
3691}
3692static FORCEINLINE HRESULT IVssBackupComponentsEx3_AddSnapshotToRecoverySet(IVssBackupComponentsEx3* This,VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) {
3693 return This->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume);
3694}
3695static FORCEINLINE HRESULT IVssBackupComponentsEx3_RecoverSet(IVssBackupComponentsEx3* This,DWORD dwFlags,IVssAsync **ppAsync) {
3696 return This->lpVtbl->RecoverSet(This,dwFlags,ppAsync);
3697}
3698static FORCEINLINE HRESULT IVssBackupComponentsEx3_GetSessionId(IVssBackupComponentsEx3* This,VSS_ID *idSession) {
3699 return This->lpVtbl->GetSessionId(This,idSession);
3700}
3701#endif
3702#endif
3703
3704#endif
3705
3706
3707#endif /* __IVssBackupComponentsEx3_INTERFACE_DEFINED__ */
3708
3709/*****************************************************************************
3710 * IVssBackupComponentsEx4 interface
3711 */
3712#ifndef __IVssBackupComponentsEx4_INTERFACE_DEFINED__
3713#define __IVssBackupComponentsEx4_INTERFACE_DEFINED__
3714
3715DEFINE_GUID(IID_IVssBackupComponentsEx4, 0xf434c2fd, 0xb553, 0x4961, 0xa9,0xf9, 0xa8,0xe9,0x0b,0x67,0x3e,0x53);
3716#if defined(__cplusplus) && !defined(CINTERFACE)
3717MIDL_INTERFACE("f434c2fd-b553-4961-a9f9-a8e90b673e53")
3718IVssBackupComponentsEx4 : public IVssBackupComponentsEx3
3719{
3720 virtual HRESULT STDMETHODCALLTYPE GetRootAndLogicalPrefixPaths(
3721 VSS_PWSZ pwszFilePath,
3722 VSS_PWSZ *ppwszRootPath,
3723 VSS_PWSZ *ppwszLogicalPrefix,
3724 WINBOOL bNormalizeFQDNforRootPath = FALSE) = 0;
3725
3726};
3727#ifdef __CRT_UUID_DECL
3728__CRT_UUID_DECL(IVssBackupComponentsEx4, 0xf434c2fd, 0xb553, 0x4961, 0xa9,0xf9, 0xa8,0xe9,0x0b,0x67,0x3e,0x53)
3729#endif
3730#else
3731typedef struct IVssBackupComponentsEx4Vtbl {
3732 BEGIN_INTERFACE
3733
3734 /*** IUnknown methods ***/
3735 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3736 IVssBackupComponentsEx4 *This,
3737 REFIID riid,
3738 void **ppvObject);
3739
3740 ULONG (STDMETHODCALLTYPE *AddRef)(
3741 IVssBackupComponentsEx4 *This);
3742
3743 ULONG (STDMETHODCALLTYPE *Release)(
3744 IVssBackupComponentsEx4 *This);
3745
3746 /*** IVssBackupComponents methods ***/
3747 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)(
3748 IVssBackupComponentsEx4 *This,
3749 UINT *pcComponents);
3750
3751 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)(
3752 IVssBackupComponentsEx4 *This,
3753 UINT iWriter,
3754 IVssWriterComponentsExt **ppWriter);
3755
3756 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)(
3757 IVssBackupComponentsEx4 *This,
3758 BSTR bstrXML);
3759
3760 HRESULT (STDMETHODCALLTYPE *SetBackupState)(
3761 IVssBackupComponentsEx4 *This,
3762 boolean bSelectComponents,
3763 boolean bBackupBootableSystemState,
3764 VSS_BACKUP_TYPE backupType,
3765 boolean bPartialFileSupport);
3766
3767 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)(
3768 IVssBackupComponentsEx4 *This,
3769 BSTR bstrXML);
3770
3771 HRESULT (STDMETHODCALLTYPE *SetRestoreState)(
3772 IVssBackupComponentsEx4 *This,
3773 VSS_RESTORE_TYPE restoreType);
3774
3775 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)(
3776 IVssBackupComponentsEx4 *This,
3777 IVssAsync **pAsync);
3778
3779 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)(
3780 IVssBackupComponentsEx4 *This,
3781 UINT *pcWriters);
3782
3783 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)(
3784 IVssBackupComponentsEx4 *This,
3785 UINT iWriter,
3786 VSS_ID *pidInstance,
3787 IVssExamineWriterMetadata **ppMetadata);
3788
3789 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)(
3790 IVssBackupComponentsEx4 *This);
3791
3792 HRESULT (STDMETHODCALLTYPE *AddComponent)(
3793 IVssBackupComponentsEx4 *This,
3794 VSS_ID instanceId,
3795 VSS_ID writerId,
3796 VSS_COMPONENT_TYPE ct,
3797 LPCWSTR wszLogicalPath,
3798 LPCWSTR wszComponentName);
3799
3800 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)(
3801 IVssBackupComponentsEx4 *This,
3802 IVssAsync **ppAsync);
3803
3804 HRESULT (STDMETHODCALLTYPE *AbortBackup)(
3805 IVssBackupComponentsEx4 *This);
3806
3807 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)(
3808 IVssBackupComponentsEx4 *This,
3809 IVssAsync **pAsync);
3810
3811 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)(
3812 IVssBackupComponentsEx4 *This,
3813 UINT *pcWriters);
3814
3815 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)(
3816 IVssBackupComponentsEx4 *This);
3817
3818 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)(
3819 IVssBackupComponentsEx4 *This,
3820 UINT iWriter,
3821 VSS_ID *pidInstance,
3822 VSS_ID *pidWriter,
3823 BSTR *pbstrWriter,
3824 VSS_WRITER_STATE *pnStatus,
3825 HRESULT *phResultFailure);
3826
3827 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)(
3828 IVssBackupComponentsEx4 *This,
3829 VSS_ID instanceId,
3830 VSS_ID writerId,
3831 VSS_COMPONENT_TYPE ct,
3832 LPCWSTR wszLogicalPath,
3833 LPCWSTR wszComponentName,
3834 boolean bSucceded);
3835
3836 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)(
3837 IVssBackupComponentsEx4 *This,
3838 VSS_ID writerId,
3839 VSS_COMPONENT_TYPE ct,
3840 LPCWSTR wszLogicalPath,
3841 LPCWSTR wszComponentName,
3842 LPCWSTR wszBackupOptions);
3843
3844 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)(
3845 IVssBackupComponentsEx4 *This,
3846 VSS_ID writerId,
3847 VSS_COMPONENT_TYPE ct,
3848 LPCWSTR wszLogicalPath,
3849 LPCWSTR wszComponentName,
3850 boolean bSelectedForRestore);
3851
3852 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)(
3853 IVssBackupComponentsEx4 *This,
3854 VSS_ID writerId,
3855 VSS_COMPONENT_TYPE ct,
3856 LPCWSTR wszLogicalPath,
3857 LPCWSTR wszComponentName,
3858 LPCWSTR wszRestoreOptions);
3859
3860 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)(
3861 IVssBackupComponentsEx4 *This,
3862 VSS_ID writerId,
3863 VSS_COMPONENT_TYPE ct,
3864 LPCWSTR wszLogicalPath,
3865 LPCWSTR wszComponentName,
3866 boolean bAdditionalRestores);
3867
3868 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)(
3869 IVssBackupComponentsEx4 *This,
3870 VSS_ID writerId,
3871 VSS_COMPONENT_TYPE ct,
3872 LPCWSTR wszLogicalPath,
3873 LPCWSTR wszComponentName,
3874 LPCWSTR wszPreviousBackupStamp);
3875
3876 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
3877 IVssBackupComponentsEx4 *This,
3878 BSTR *pbstrXML);
3879
3880 HRESULT (STDMETHODCALLTYPE *BackupComplete)(
3881 IVssBackupComponentsEx4 *This,
3882 IVssAsync **ppAsync);
3883
3884 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)(
3885 IVssBackupComponentsEx4 *This,
3886 VSS_ID writerId,
3887 VSS_COMPONENT_TYPE componentType,
3888 LPCWSTR wszLogicalPath,
3889 LPCWSTR wszComponentName,
3890 LPCWSTR wszPath,
3891 LPCWSTR wszFilespec,
3892 boolean bRecursive,
3893 LPCWSTR wszDestination);
3894
3895 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)(
3896 IVssBackupComponentsEx4 *This,
3897 VSS_ID writerId,
3898 VSS_COMPONENT_TYPE componentType,
3899 LPCWSTR wszLogicalPath,
3900 LPCWSTR wszComponentName,
3901 LPCWSTR wszSubComponentLogicalPath,
3902 LPCWSTR wszSubComponentName,
3903 boolean bRepair);
3904
3905 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)(
3906 IVssBackupComponentsEx4 *This,
3907 VSS_ID writerId,
3908 VSS_COMPONENT_TYPE ct,
3909 LPCWSTR wszLogicalPath,
3910 LPCWSTR wszComponentName,
3911 VSS_FILE_RESTORE_STATUS status);
3912
3913 HRESULT (STDMETHODCALLTYPE *AddNewTarget)(
3914 IVssBackupComponentsEx4 *This,
3915 VSS_ID writerId,
3916 VSS_COMPONENT_TYPE ct,
3917 LPCWSTR wszLogicalPath,
3918 LPCWSTR wszComponentName,
3919 LPCWSTR wszPath,
3920 LPCWSTR wszFileName,
3921 boolean bRecursive,
3922 LPCWSTR wszAlternatePath);
3923
3924 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)(
3925 IVssBackupComponentsEx4 *This,
3926 VSS_ID writerId,
3927 VSS_COMPONENT_TYPE ct,
3928 LPCWSTR wszLogicalPath,
3929 LPCWSTR wszComponentName,
3930 UINT iPartialFile,
3931 LPCWSTR wszRangesFile);
3932
3933 HRESULT (STDMETHODCALLTYPE *PreRestore)(
3934 IVssBackupComponentsEx4 *This,
3935 IVssAsync **ppAsync);
3936
3937 HRESULT (STDMETHODCALLTYPE *PostRestore)(
3938 IVssBackupComponentsEx4 *This,
3939 IVssAsync **ppAsync);
3940
3941 HRESULT (STDMETHODCALLTYPE *SetContext)(
3942 IVssBackupComponentsEx4 *This,
3943 LONG lContext);
3944
3945 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)(
3946 IVssBackupComponentsEx4 *This,
3947 VSS_ID *pSnapshotSetId);
3948
3949 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)(
3950 IVssBackupComponentsEx4 *This,
3951 VSS_PWSZ pwszVolumeName,
3952 VSS_ID ProviderId,
3953 VSS_ID *pidSnapshot);
3954
3955 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)(
3956 IVssBackupComponentsEx4 *This,
3957 IVssAsync **ppAsync);
3958
3959 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
3960 IVssBackupComponentsEx4 *This,
3961 VSS_ID SourceObjectId,
3962 VSS_OBJECT_TYPE eSourceObjectType,
3963 WINBOOL bForceDelete,
3964 LONG *plDeletedSnapshots,
3965 VSS_ID *pNondeletedSnapshotID);
3966
3967 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)(
3968 IVssBackupComponentsEx4 *This,
3969 IVssAsync **ppAsync);
3970
3971 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)(
3972 IVssBackupComponentsEx4 *This,
3973 VSS_ID SnapshotSetId);
3974
3975 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
3976 IVssBackupComponentsEx4 *This,
3977 VSS_ID SnapshotId,
3978 VSS_SNAPSHOT_PROP *pProp);
3979
3980 HRESULT (STDMETHODCALLTYPE *Query)(
3981 IVssBackupComponentsEx4 *This,
3982 VSS_ID QueriedObjectId,
3983 VSS_OBJECT_TYPE eQueriedObjectType,
3984 VSS_OBJECT_TYPE eReturnedObjectsType,
3985 IVssEnumObject **ppEnum);
3986
3987 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
3988 IVssBackupComponentsEx4 *This,
3989 VSS_ID ProviderId,
3990 VSS_PWSZ pwszVolumeName,
3991 WINBOOL *pbSupportedByThisProvider);
3992
3993 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)(
3994 IVssBackupComponentsEx4 *This,
3995 const VSS_ID *rgWriterClassId,
3996 UINT cClassId);
3997
3998 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)(
3999 IVssBackupComponentsEx4 *This,
4000 const VSS_ID *rgWriterClassId,
4001 UINT cClassId);
4002
4003 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)(
4004 IVssBackupComponentsEx4 *This,
4005 const VSS_ID *rgWriterInstanceId,
4006 UINT cInstanceId);
4007
4008 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)(
4009 IVssBackupComponentsEx4 *This,
4010 VSS_ID SnapshotId,
4011 VSS_PWSZ wszPathFromRoot,
4012 LONG lAttributes,
4013 VSS_PWSZ wszExpose,
4014 VSS_PWSZ *pwszExposed);
4015
4016 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
4017 IVssBackupComponentsEx4 *This,
4018 VSS_ID SnapshotId,
4019 WINBOOL bForceDismount);
4020
4021 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
4022 IVssBackupComponentsEx4 *This,
4023 VSS_PWSZ pwszVolume,
4024 IVssAsync **ppAsync);
4025
4026 /*** IVssBackupComponentsEx methods ***/
4027 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)(
4028 IVssBackupComponentsEx4 *This,
4029 UINT iWriter,
4030 VSS_ID *pidInstance,
4031 IVssExamineWriterMetadataEx **ppMetadata);
4032
4033 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)(
4034 IVssBackupComponentsEx4 *This,
4035 VSS_ID writerId,
4036 VSS_COMPONENT_TYPE ct,
4037 LPCWSTR wszLogicalPath,
4038 LPCWSTR wszComponentName,
4039 boolean bSelectedForRestore,
4040 VSS_ID instanceId);
4041
4042 /*** IVssBackupComponentsEx2 methods ***/
4043 HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)(
4044 IVssBackupComponentsEx4 *This,
4045 VSS_ID snapshotId);
4046
4047 HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)(
4048 IVssBackupComponentsEx4 *This,
4049 VSS_ID writerId,
4050 VSS_COMPONENT_TYPE ct,
4051 LPCWSTR wszLogicalPath,
4052 LPCWSTR wszComponentName,
4053 boolean bAuth);
4054
4055 HRESULT (STDMETHODCALLTYPE *SetRollForward)(
4056 IVssBackupComponentsEx4 *This,
4057 VSS_ID writerId,
4058 VSS_COMPONENT_TYPE ct,
4059 LPCWSTR wszLogicalPath,
4060 LPCWSTR wszComponentName,
4061 VSS_ROLLFORWARD_TYPE rollType,
4062 LPCWSTR wszRollForwardPoint);
4063
4064 HRESULT (STDMETHODCALLTYPE *SetRestoreName)(
4065 IVssBackupComponentsEx4 *This,
4066 VSS_ID writerId,
4067 VSS_COMPONENT_TYPE ct,
4068 LPCWSTR wszLogicalPath,
4069 LPCWSTR wszComponentName,
4070 LPCWSTR wszRestoreName);
4071
4072 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)(
4073 IVssBackupComponentsEx4 *This,
4074 VSS_ID SnapshotSetID,
4075 DWORD dwBreakFlags,
4076 IVssAsync **ppAsync);
4077
4078 HRESULT (STDMETHODCALLTYPE *PreFastRecovery)(
4079 IVssBackupComponentsEx4 *This,
4080 VSS_ID SnapshotSetID,
4081 DWORD dwPreFastRecoveryFlags,
4082 IVssAsync **ppAsync);
4083
4084 HRESULT (STDMETHODCALLTYPE *FastRecovery)(
4085 IVssBackupComponentsEx4 *This,
4086 VSS_ID SnapshotSetID,
4087 DWORD dwFastRecoveryFlags,
4088 IVssAsync **ppAsync);
4089
4090 /*** IVssBackupComponentsEx3 methods ***/
4091 HRESULT (STDMETHODCALLTYPE *GetWriterStatusEx)(
4092 IVssBackupComponentsEx4 *This,
4093 UINT iWriter,
4094 VSS_ID *pidInstance,
4095 VSS_ID *pidWriter,
4096 BSTR *pbstrWriter,
4097 VSS_WRITER_STATE *pnStatus,
4098 HRESULT *phrFailureWriter,
4099 HRESULT *phrApplication,
4100 BSTR *pbstrApplicationMessage);
4101
4102 HRESULT (STDMETHODCALLTYPE *AddSnapshotToRecoverySet)(
4103 IVssBackupComponentsEx4 *This,
4104 VSS_ID snapshotId,
4105 DWORD dwFlags,
4106 VSS_PWSZ pwszDestinationVolume);
4107
4108 HRESULT (STDMETHODCALLTYPE *RecoverSet)(
4109 IVssBackupComponentsEx4 *This,
4110 DWORD dwFlags,
4111 IVssAsync **ppAsync);
4112
4113 HRESULT (STDMETHODCALLTYPE *GetSessionId)(
4114 IVssBackupComponentsEx4 *This,
4115 VSS_ID *idSession);
4116
4117 /*** IVssBackupComponentsEx4 methods ***/
4118 HRESULT (STDMETHODCALLTYPE *GetRootAndLogicalPrefixPaths)(
4119 IVssBackupComponentsEx4 *This,
4120 VSS_PWSZ pwszFilePath,
4121 VSS_PWSZ *ppwszRootPath,
4122 VSS_PWSZ *ppwszLogicalPrefix,
4123 WINBOOL bNormalizeFQDNforRootPath);
7514124
7524125 END_INTERFACE
4126} IVssBackupComponentsEx4Vtbl;
4127
4128interface IVssBackupComponentsEx4 {
4129 CONST_VTBL IVssBackupComponentsEx4Vtbl* lpVtbl;
7534130};
7544131
755#endif /*__cplusplus*/
756#endif /*_INC_VSBACKUP*/
4132#ifdef COBJMACROS
4133#ifndef WIDL_C_INLINE_WRAPPERS
4134/*** IUnknown methods ***/
4135#define IVssBackupComponentsEx4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4136#define IVssBackupComponentsEx4_AddRef(This) (This)->lpVtbl->AddRef(This)
4137#define IVssBackupComponentsEx4_Release(This) (This)->lpVtbl->Release(This)
4138/*** IVssBackupComponents methods ***/
4139#define IVssBackupComponentsEx4_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)
4140#define IVssBackupComponentsEx4_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter)
4141#define IVssBackupComponentsEx4_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)
4142#define IVssBackupComponentsEx4_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)
4143#define IVssBackupComponentsEx4_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)
4144#define IVssBackupComponentsEx4_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)
4145#define IVssBackupComponentsEx4_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync)
4146#define IVssBackupComponentsEx4_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)
4147#define IVssBackupComponentsEx4_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata)
4148#define IVssBackupComponentsEx4_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This)
4149#define IVssBackupComponentsEx4_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName)
4150#define IVssBackupComponentsEx4_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)
4151#define IVssBackupComponentsEx4_AbortBackup(This) (This)->lpVtbl->AbortBackup(This)
4152#define IVssBackupComponentsEx4_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync)
4153#define IVssBackupComponentsEx4_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)
4154#define IVssBackupComponentsEx4_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This)
4155#define IVssBackupComponentsEx4_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure)
4156#define IVssBackupComponentsEx4_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded)
4157#define IVssBackupComponentsEx4_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions)
4158#define IVssBackupComponentsEx4_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore)
4159#define IVssBackupComponentsEx4_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions)
4160#define IVssBackupComponentsEx4_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores)
4161#define IVssBackupComponentsEx4_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp)
4162#define IVssBackupComponentsEx4_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
4163#define IVssBackupComponentsEx4_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync)
4164#define IVssBackupComponentsEx4_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination)
4165#define IVssBackupComponentsEx4_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair)
4166#define IVssBackupComponentsEx4_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status)
4167#define IVssBackupComponentsEx4_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath)
4168#define IVssBackupComponentsEx4_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile)
4169#define IVssBackupComponentsEx4_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync)
4170#define IVssBackupComponentsEx4_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync)
4171#define IVssBackupComponentsEx4_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
4172#define IVssBackupComponentsEx4_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId)
4173#define IVssBackupComponentsEx4_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot)
4174#define IVssBackupComponentsEx4_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync)
4175#define IVssBackupComponentsEx4_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
4176#define IVssBackupComponentsEx4_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync)
4177#define IVssBackupComponentsEx4_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId)
4178#define IVssBackupComponentsEx4_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
4179#define IVssBackupComponentsEx4_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
4180#define IVssBackupComponentsEx4_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
4181#define IVssBackupComponentsEx4_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId)
4182#define IVssBackupComponentsEx4_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId)
4183#define IVssBackupComponentsEx4_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId)
4184#define IVssBackupComponentsEx4_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
4185#define IVssBackupComponentsEx4_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount)
4186#define IVssBackupComponentsEx4_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
4187/*** IVssBackupComponentsEx methods ***/
4188#define IVssBackupComponentsEx4_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata)
4189#define IVssBackupComponentsEx4_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId)
4190/*** IVssBackupComponentsEx2 methods ***/
4191#define IVssBackupComponentsEx4_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId)
4192#define IVssBackupComponentsEx4_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth)
4193#define IVssBackupComponentsEx4_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint)
4194#define IVssBackupComponentsEx4_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName)
4195#define IVssBackupComponentsEx4_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync)
4196#define IVssBackupComponentsEx4_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync)
4197#define IVssBackupComponentsEx4_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync)
4198/*** IVssBackupComponentsEx3 methods ***/
4199#define IVssBackupComponentsEx4_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage)
4200#define IVssBackupComponentsEx4_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume)
4201#define IVssBackupComponentsEx4_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync)
4202#define IVssBackupComponentsEx4_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession)
4203/*** IVssBackupComponentsEx4 methods ***/
4204#define IVssBackupComponentsEx4_GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath) (This)->lpVtbl->GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath)
4205#else
4206/*** IUnknown methods ***/
4207static FORCEINLINE HRESULT IVssBackupComponentsEx4_QueryInterface(IVssBackupComponentsEx4* This,REFIID riid,void **ppvObject) {
4208 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4209}
4210static FORCEINLINE ULONG IVssBackupComponentsEx4_AddRef(IVssBackupComponentsEx4* This) {
4211 return This->lpVtbl->AddRef(This);
4212}
4213static FORCEINLINE ULONG IVssBackupComponentsEx4_Release(IVssBackupComponentsEx4* This) {
4214 return This->lpVtbl->Release(This);
4215}
4216/*** IVssBackupComponents methods ***/
4217static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterComponentsCount(IVssBackupComponentsEx4* This,UINT *pcComponents) {
4218 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents);
4219}
4220static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterComponents(IVssBackupComponentsEx4* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) {
4221 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter);
4222}
4223static FORCEINLINE HRESULT IVssBackupComponentsEx4_InitializeForBackup(IVssBackupComponentsEx4* This,BSTR bstrXML) {
4224 return This->lpVtbl->InitializeForBackup(This,bstrXML);
4225}
4226static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetBackupState(IVssBackupComponentsEx4* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) {
4227 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport);
4228}
4229static FORCEINLINE HRESULT IVssBackupComponentsEx4_InitializeForRestore(IVssBackupComponentsEx4* This,BSTR bstrXML) {
4230 return This->lpVtbl->InitializeForRestore(This,bstrXML);
4231}
4232static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetRestoreState(IVssBackupComponentsEx4* This,VSS_RESTORE_TYPE restoreType) {
4233 return This->lpVtbl->SetRestoreState(This,restoreType);
4234}
4235static FORCEINLINE HRESULT IVssBackupComponentsEx4_GatherWriterMetadata(IVssBackupComponentsEx4* This,IVssAsync **pAsync) {
4236 return This->lpVtbl->GatherWriterMetadata(This,pAsync);
4237}
4238static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterMetadataCount(IVssBackupComponentsEx4* This,UINT *pcWriters) {
4239 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters);
4240}
4241static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterMetadata(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) {
4242 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata);
4243}
4244static FORCEINLINE HRESULT IVssBackupComponentsEx4_FreeWriterMetadata(IVssBackupComponentsEx4* This) {
4245 return This->lpVtbl->FreeWriterMetadata(This);
4246}
4247static FORCEINLINE HRESULT IVssBackupComponentsEx4_AddComponent(IVssBackupComponentsEx4* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) {
4248 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName);
4249}
4250static FORCEINLINE HRESULT IVssBackupComponentsEx4_PrepareForBackup(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) {
4251 return This->lpVtbl->PrepareForBackup(This,ppAsync);
4252}
4253static FORCEINLINE HRESULT IVssBackupComponentsEx4_AbortBackup(IVssBackupComponentsEx4* This) {
4254 return This->lpVtbl->AbortBackup(This);
4255}
4256static FORCEINLINE HRESULT IVssBackupComponentsEx4_GatherWriterStatus(IVssBackupComponentsEx4* This,IVssAsync **pAsync) {
4257 return This->lpVtbl->GatherWriterStatus(This,pAsync);
4258}
4259static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterStatusCount(IVssBackupComponentsEx4* This,UINT *pcWriters) {
4260 return This->lpVtbl->GetWriterStatusCount(This,pcWriters);
4261}
4262static FORCEINLINE HRESULT IVssBackupComponentsEx4_FreeWriterStatus(IVssBackupComponentsEx4* This) {
4263 return This->lpVtbl->FreeWriterStatus(This);
4264}
4265static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterStatus(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) {
4266 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure);
4267}
4268static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetBackupSucceeded(IVssBackupComponentsEx4* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) {
4269 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded);
4270}
4271static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetBackupOptions(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) {
4272 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions);
4273}
4274static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetSelectedForRestore(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) {
4275 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore);
4276}
4277static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetRestoreOptions(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) {
4278 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions);
4279}
4280static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetAdditionalRestores(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) {
4281 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores);
4282}
4283static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetPreviousBackupStamp(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) {
4284 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp);
4285}
4286static FORCEINLINE HRESULT IVssBackupComponentsEx4_SaveAsXML(IVssBackupComponentsEx4* This,BSTR *pbstrXML) {
4287 return This->lpVtbl->SaveAsXML(This,pbstrXML);
4288}
4289static FORCEINLINE HRESULT IVssBackupComponentsEx4_BackupComplete(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) {
4290 return This->lpVtbl->BackupComplete(This,ppAsync);
4291}
4292static FORCEINLINE HRESULT IVssBackupComponentsEx4_AddAlternativeLocationMapping(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) {
4293 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination);
4294}
4295static FORCEINLINE HRESULT IVssBackupComponentsEx4_AddRestoreSubcomponent(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) {
4296 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair);
4297}
4298static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetFileRestoreStatus(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) {
4299 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status);
4300}
4301static FORCEINLINE HRESULT IVssBackupComponentsEx4_AddNewTarget(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) {
4302 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath);
4303}
4304static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetRangesFilePath(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) {
4305 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile);
4306}
4307static FORCEINLINE HRESULT IVssBackupComponentsEx4_PreRestore(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) {
4308 return This->lpVtbl->PreRestore(This,ppAsync);
4309}
4310static FORCEINLINE HRESULT IVssBackupComponentsEx4_PostRestore(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) {
4311 return This->lpVtbl->PostRestore(This,ppAsync);
4312}
4313static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetContext(IVssBackupComponentsEx4* This,LONG lContext) {
4314 return This->lpVtbl->SetContext(This,lContext);
4315}
4316static FORCEINLINE HRESULT IVssBackupComponentsEx4_StartSnapshotSet(IVssBackupComponentsEx4* This,VSS_ID *pSnapshotSetId) {
4317 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId);
4318}
4319static FORCEINLINE HRESULT IVssBackupComponentsEx4_AddToSnapshotSet(IVssBackupComponentsEx4* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) {
4320 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot);
4321}
4322static FORCEINLINE HRESULT IVssBackupComponentsEx4_DoSnapshotSet(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) {
4323 return This->lpVtbl->DoSnapshotSet(This,ppAsync);
4324}
4325static FORCEINLINE HRESULT IVssBackupComponentsEx4_DeleteSnapshots(IVssBackupComponentsEx4* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
4326 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
4327}
4328static FORCEINLINE HRESULT IVssBackupComponentsEx4_ImportSnapshots(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) {
4329 return This->lpVtbl->ImportSnapshots(This,ppAsync);
4330}
4331static FORCEINLINE HRESULT IVssBackupComponentsEx4_BreakSnapshotSet(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetId) {
4332 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId);
4333}
4334static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetSnapshotProperties(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
4335 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
4336}
4337static FORCEINLINE HRESULT IVssBackupComponentsEx4_Query(IVssBackupComponentsEx4* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
4338 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
4339}
4340static FORCEINLINE HRESULT IVssBackupComponentsEx4_IsVolumeSupported(IVssBackupComponentsEx4* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
4341 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider);
4342}
4343static FORCEINLINE HRESULT IVssBackupComponentsEx4_DisableWriterClasses(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
4344 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId);
4345}
4346static FORCEINLINE HRESULT IVssBackupComponentsEx4_EnableWriterClasses(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterClassId,UINT cClassId) {
4347 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId);
4348}
4349static FORCEINLINE HRESULT IVssBackupComponentsEx4_DisableWriterInstances(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) {
4350 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId);
4351}
4352static FORCEINLINE HRESULT IVssBackupComponentsEx4_ExposeSnapshot(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) {
4353 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed);
4354}
4355static FORCEINLINE HRESULT IVssBackupComponentsEx4_RevertToSnapshot(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,WINBOOL bForceDismount) {
4356 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount);
4357}
4358static FORCEINLINE HRESULT IVssBackupComponentsEx4_QueryRevertStatus(IVssBackupComponentsEx4* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
4359 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
4360}
4361/*** IVssBackupComponentsEx methods ***/
4362static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterMetadataEx(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) {
4363 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata);
4364}
4365static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetSelectedForRestoreEx(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) {
4366 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId);
4367}
4368/*** IVssBackupComponentsEx2 methods ***/
4369static FORCEINLINE HRESULT IVssBackupComponentsEx4_UnexposeSnapshot(IVssBackupComponentsEx4* This,VSS_ID snapshotId) {
4370 return This->lpVtbl->UnexposeSnapshot(This,snapshotId);
4371}
4372static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetAuthoritativeRestore(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) {
4373 return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth);
4374}
4375static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetRollForward(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) {
4376 return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint);
4377}
4378static FORCEINLINE HRESULT IVssBackupComponentsEx4_SetRestoreName(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) {
4379 return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName);
4380}
4381static FORCEINLINE HRESULT IVssBackupComponentsEx4_BreakSnapshotSetEx(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) {
4382 return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync);
4383}
4384static FORCEINLINE HRESULT IVssBackupComponentsEx4_PreFastRecovery(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) {
4385 return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync);
4386}
4387static FORCEINLINE HRESULT IVssBackupComponentsEx4_FastRecovery(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) {
4388 return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync);
4389}
4390/*** IVssBackupComponentsEx3 methods ***/
4391static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetWriterStatusEx(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,HRESULT *phrApplication,BSTR *pbstrApplicationMessage) {
4392 return This->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage);
4393}
4394static FORCEINLINE HRESULT IVssBackupComponentsEx4_AddSnapshotToRecoverySet(IVssBackupComponentsEx4* This,VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) {
4395 return This->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume);
4396}
4397static FORCEINLINE HRESULT IVssBackupComponentsEx4_RecoverSet(IVssBackupComponentsEx4* This,DWORD dwFlags,IVssAsync **ppAsync) {
4398 return This->lpVtbl->RecoverSet(This,dwFlags,ppAsync);
4399}
4400static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetSessionId(IVssBackupComponentsEx4* This,VSS_ID *idSession) {
4401 return This->lpVtbl->GetSessionId(This,idSession);
4402}
4403/*** IVssBackupComponentsEx4 methods ***/
4404static FORCEINLINE HRESULT IVssBackupComponentsEx4_GetRootAndLogicalPrefixPaths(IVssBackupComponentsEx4* This,VSS_PWSZ pwszFilePath,VSS_PWSZ *ppwszRootPath,VSS_PWSZ *ppwszLogicalPrefix,WINBOOL bNormalizeFQDNforRootPath) {
4405 return This->lpVtbl->GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath);
4406}
4407#endif
4408#endif
4409
4410#endif
4411
4412
4413#endif /* __IVssBackupComponentsEx4_INTERFACE_DEFINED__ */
4414
4415#define VSS_SW_BOOTABLE_STATE (1 << 0)
4416HRESULT STDAPICALLTYPE CreateVssBackupComponentsInternal(IVssBackupComponents **ppBackup);
4417HRESULT STDAPICALLTYPE CreateVssExamineWriterMetadataInternal(BSTR bstrXML, IVssExamineWriterMetadata **ppMetadata);
4418HRESULT APIENTRY IsVolumeSnapshottedInternal(VSS_PWSZ pwszVolumeName, WINBOOL *pbSnapshotsPresent, LONG *plSnapshotCapability);
4419void APIENTRY VssFreeSnapshotPropertiesInternal(VSS_SNAPSHOT_PROP *pProp);
4420HRESULT APIENTRY GetProviderMgmtInterfaceInternal(VSS_ID ProviderId, IID InterfaceId, IUnknown **ppItf);
4421HRESULT APIENTRY ShouldBlockRevertInternal(LPCWSTR wszVolumeName, boolean *pbBlock);
4422static __inline HRESULT CreateVssBackupComponents(IVssBackupComponents **ppBackup) { return CreateVssBackupComponentsInternal(ppBackup); }
4423static __inline HRESULT CreateVssExamineWriterMetadata(BSTR bstrXML, IVssExamineWriterMetadata **ppMetadata) { return CreateVssExamineWriterMetadataInternal(bstrXML, ppMetadata); }
4424static __inline HRESULT IsVolumeSnapshotted(VSS_PWSZ pwszVolumeName, WINBOOL *pbSnapshotsPresent, LONG *plSnapshotCapability) { return IsVolumeSnapshottedInternal(pwszVolumeName, pbSnapshotsPresent, plSnapshotCapability); }
4425static __inline void VssFreeSnapshotProperties(VSS_SNAPSHOT_PROP *pProp) { return VssFreeSnapshotPropertiesInternal(pProp); }
4426static __inline HRESULT GetProviderMgmtInterface(VSS_ID ProviderId, IID InterfaceId, IUnknown **ppItf) { return GetProviderMgmtInterfaceInternal(ProviderId, InterfaceId, ppItf); }
4427static __inline HRESULT ShouldBlockRevert(LPCWSTR wszVolumeName, boolean *pbBlock) { return ShouldBlockRevertInternal(wszVolumeName, pbBlock); }
4428#endif /* WINAPI_PARTITION_DESKTOP */
4429/* Begin additional prototypes for all interfaces */
4430
4431ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
4432unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
4433unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
4434void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
4435
4436/* End additional prototypes */
4437
4438#ifdef __cplusplus
4439}
4440#endif
4441
4442#endif /* __vsbackup_h__ */
lib/libc/include/any-windows-any/vsmgmt.h+986-235
......@@ -1,337 +1,1088 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VSMGT
7#define _INC_VSMGT
1/*** Autogenerated by WIDL 7.0 from include/vsmgmt.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __vsmgmt_h__
17#define __vsmgmt_h__
18
19/* Forward declarations */
20
21#ifndef __IVssSnapshotMgmt_FWD_DEFINED__
22#define __IVssSnapshotMgmt_FWD_DEFINED__
23typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
24#ifdef __cplusplus
25interface IVssSnapshotMgmt;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IVssSnapshotMgmt2_FWD_DEFINED__
30#define __IVssSnapshotMgmt2_FWD_DEFINED__
31typedef interface IVssSnapshotMgmt2 IVssSnapshotMgmt2;
32#ifdef __cplusplus
33interface IVssSnapshotMgmt2;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
38#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
39typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
40#ifdef __cplusplus
41interface IVssDifferentialSoftwareSnapshotMgmt;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__
46#define __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__
47typedef interface IVssDifferentialSoftwareSnapshotMgmt2 IVssDifferentialSoftwareSnapshotMgmt2;
48#ifdef __cplusplus
49interface IVssDifferentialSoftwareSnapshotMgmt2;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__
54#define __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__
55typedef interface IVssDifferentialSoftwareSnapshotMgmt3 IVssDifferentialSoftwareSnapshotMgmt3;
56#ifdef __cplusplus
57interface IVssDifferentialSoftwareSnapshotMgmt3;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
62#define __IVssEnumMgmtObject_FWD_DEFINED__
63typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
64#ifdef __cplusplus
65interface IVssEnumMgmtObject;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __VssSnapshotMgmt_FWD_DEFINED__
70#define __VssSnapshotMgmt_FWD_DEFINED__
71#ifdef __cplusplus
72typedef class VssSnapshotMgmt VssSnapshotMgmt;
73#else
74typedef struct VssSnapshotMgmt VssSnapshotMgmt;
75#endif /* defined __cplusplus */
76#endif /* defined __VssSnapshotMgmt_FWD_DEFINED__ */
77
78/* Headers for imported files */
879
80#include <oaidl.h>
81#include <ocidl.h>
982#include <vss.h>
1083
1184#ifdef __cplusplus
1285extern "C" {
1386#endif
1487
15typedef enum _VSS_PROTECTION_FAULT {
16 VSS_PROTECTION_FAULT_NONE = 0,
17 VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = ( VSS_PROTECTION_FAULT_NONE + 1 ),
18 VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = ( VSS_PROTECTION_FAULT_DIFF_AREA_MISSING + 1 ),
19 VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = ( VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE + 1 ),
20 VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = ( VSS_PROTECTION_FAULT_META_DATA_CORRUPTION + 1 ),
21 VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = ( VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE + 1 ),
22 VSS_PROTECTION_FAULT_COW_READ_FAILURE = ( VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE + 1 ),
23 VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = ( VSS_PROTECTION_FAULT_COW_READ_FAILURE + 1 ),
24 VSS_PROTECTION_FAULT_DIFF_AREA_FULL = ( VSS_PROTECTION_FAULT_COW_WRITE_FAILURE + 1 ),
25 VSS_PROTECTION_FAULT_GROW_TOO_SLOW = ( VSS_PROTECTION_FAULT_DIFF_AREA_FULL + 1 ),
26 VSS_PROTECTION_FAULT_GROW_FAILED = ( VSS_PROTECTION_FAULT_GROW_TOO_SLOW + 1 ),
27 VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS = ( VSS_PROTECTION_FAULT_GROW_FAILED + 1 ),
28 VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE = ( VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS + 1 ),
29 VSS_PROTECTION_FAULT_IO_FAILURE = ( VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE + 1 ),
30 VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED = ( VSS_PROTECTION_FAULT_IO_FAILURE + 1 ),
31 VSS_PROTECTION_FAULT_EXTERNAL_WRITER_TO_DIFF_AREA = ( VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED + 1 )
32} VSS_PROTECTION_FAULT;
88#include <winapifamily.h>
89#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
90typedef enum _VSS_MGMT_OBJECT_TYPE {
91 VSS_MGMT_OBJECT_UNKNOWN = 0,
92 VSS_MGMT_OBJECT_VOLUME = 1,
93 VSS_MGMT_OBJECT_DIFF_VOLUME = 2,
94 VSS_MGMT_OBJECT_DIFF_AREA = 3
95} VSS_MGMT_OBJECT_TYPE;
96typedef enum _VSS_MGMT_OBJECT_TYPE *PVSS_MGMT_OBJECT_TYPE;
97#define VSS_ASSOC_NO_MAX_SPACE (-1)
3398
99#define VSS_ASSOC_REMOVE (0)
100
101typedef struct _VSS_VOLUME_PROP {
102 VSS_PWSZ m_pwszVolumeName;
103 VSS_PWSZ m_pwszVolumeDisplayName;
104} VSS_VOLUME_PROP;
105typedef struct _VSS_VOLUME_PROP *PVSS_VOLUME_PROP;
106typedef struct _VSS_DIFF_VOLUME_PROP {
107 VSS_PWSZ m_pwszVolumeName;
108 VSS_PWSZ m_pwszVolumeDisplayName;
109 LONGLONG m_llVolumeFreeSpace;
110 LONGLONG m_llVolumeTotalSpace;
111} VSS_DIFF_VOLUME_PROP;
112typedef struct _VSS_DIFF_VOLUME_PROP *PVSS_DIFF_VOLUME_PROP;
113typedef struct _VSS_DIFF_AREA_PROP {
114 VSS_PWSZ m_pwszVolumeName;
115 VSS_PWSZ m_pwszDiffAreaVolumeName;
116 LONGLONG m_llMaximumDiffSpace;
117 LONGLONG m_llAllocatedDiffSpace;
118 LONGLONG m_llUsedDiffSpace;
119} VSS_DIFF_AREA_PROP;
120typedef struct _VSS_DIFF_AREA_PROP *PVSS_DIFF_AREA_PROP;
121typedef union __WIDL_vsmgmt_generated_name_00000021 {
122 VSS_VOLUME_PROP Vol;
123 VSS_DIFF_VOLUME_PROP DiffVol;
124 VSS_DIFF_AREA_PROP DiffArea;
125} VSS_MGMT_OBJECT_UNION;
126typedef union __WIDL_vsmgmt_generated_name_00000021 *PVSS_MGMT_OBJECT_UNION;
127typedef struct _VSS_MGMT_OBJECT_PROP {
128 VSS_MGMT_OBJECT_TYPE Type;
129 VSS_MGMT_OBJECT_UNION Obj;
130} VSS_MGMT_OBJECT_PROP;
131typedef struct _VSS_MGMT_OBJECT_PROP *PVSS_MGMT_OBJECT_PROP;
34132typedef enum _VSS_PROTECTION_LEVEL {
35 VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0,
36 VSS_PROTECTION_LEVEL_SNAPSHOT = ( VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME + 1 )
133 VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0,
134 VSS_PROTECTION_LEVEL_SNAPSHOT = 1
37135} VSS_PROTECTION_LEVEL;
136typedef enum _VSS_PROTECTION_LEVEL *PVSS_PROTECTION_LEVEL;
137typedef enum _VSS_PROTECTION_FAULT {
138 VSS_PROTECTION_FAULT_NONE = 0,
139 VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = 1,
140 VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = 2,
141 VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = 3,
142 VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = 4,
143 VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = 5,
144 VSS_PROTECTION_FAULT_COW_READ_FAILURE = 6,
145 VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = 7,
146 VSS_PROTECTION_FAULT_DIFF_AREA_FULL = 8,
147 VSS_PROTECTION_FAULT_GROW_TOO_SLOW = 9,
148 VSS_PROTECTION_FAULT_GROW_FAILED = 10,
149 VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS = 11,
150 VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE = 12,
151 VSS_PROTECTION_FAULT_IO_FAILURE = 13,
152 VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED = 14,
153 VSS_PROTECTION_FAULT_EXTERNAL_WRITER_TO_DIFF_AREA = 15,
154 VSS_PROTECTION_FAULT_MOUNT_DURING_CLUSTER_OFFLINE = 16
155} VSS_PROTECTION_FAULT;
156typedef enum _VSS_PROTECTION_FAULT *PVSS_PROTECTION_FAULT;
157typedef struct _VSS_VOLUME_PROTECTION_INFO {
158 VSS_PROTECTION_LEVEL m_protectionLevel;
159 WINBOOL m_volumeIsOfflineForProtection;
160 VSS_PROTECTION_FAULT m_protectionFault;
161 LONG m_failureStatus;
162 WINBOOL m_volumeHasUnusedDiffArea;
163 DWORD m_reserved;
164} VSS_VOLUME_PROTECTION_INFO;
165typedef struct _VSS_VOLUME_PROTECTION_INFO *PVSS_VOLUME_PROTECTION_INFO;
166#ifndef __IVssSnapshotMgmt_FWD_DEFINED__
167#define __IVssSnapshotMgmt_FWD_DEFINED__
168typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
169#ifdef __cplusplus
170interface IVssSnapshotMgmt;
171#endif /* __cplusplus */
172#endif
38173
39typedef enum _VSS_MGMT_OBJECT_TYPE {
40 VSS_MGMT_OBJECT_UNKNOWN = 0,
41 VSS_MGMT_OBJECT_VOLUME = 1,
42 VSS_MGMT_OBJECT_DIFF_VOLUME = 2,
43 VSS_MGMT_OBJECT_DIFF_AREA = 3
44} VSS_MGMT_OBJECT_TYPE, *PVSS_MGMT_OBJECT_TYPE;
174#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
175#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
176typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
177#ifdef __cplusplus
178interface IVssDifferentialSoftwareSnapshotMgmt;
179#endif /* __cplusplus */
180#endif
45181
46typedef struct _VSS_VOLUME_PROP {
47 VSS_PWSZ m_pwszVolumeName;
48 VSS_PWSZ m_pwszVolumeDisplayName;
49} VSS_VOLUME_PROP, *PVSS_VOLUME_PROP;
182#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
183#define __IVssEnumMgmtObject_FWD_DEFINED__
184typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
185#ifdef __cplusplus
186interface IVssEnumMgmtObject;
187#endif /* __cplusplus */
188#endif
50189
51typedef struct _VSS_VOLUME_PROTECTION_INFO {
52 VSS_PROTECTION_LEVEL m_protectionLevel;
53 WINBOOL m_volumeIsOfflineForProtection;
54 VSS_PROTECTION_FAULT m_protectionFault;
55 LONG m_failureStatus;
56 WINBOOL m_volumeHasUnusedDiffArea;
57 DWORD m_reserved;
58} VSS_VOLUME_PROTECTION_INFO;
190/*****************************************************************************
191 * IVssSnapshotMgmt interface
192 */
193#ifndef __IVssSnapshotMgmt_INTERFACE_DEFINED__
194#define __IVssSnapshotMgmt_INTERFACE_DEFINED__
59195
60#if (_WIN32_WINNT >= 0x0600)
196DEFINE_GUID(IID_IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72);
197#if defined(__cplusplus) && !defined(CINTERFACE)
198MIDL_INTERFACE("fa7df749-66e7-4986-a27f-e2f04ae53772")
199IVssSnapshotMgmt : public IUnknown
200{
201 virtual HRESULT STDMETHODCALLTYPE GetProviderMgmtInterface(
202 VSS_ID ProviderId,
203 REFIID InterfaceId,
204 IUnknown **ppItf) = 0;
61205
62typedef struct _VSS_DIFF_AREA_PROP {
63 VSS_PWSZ m_pwszVolumeName;
64 VSS_PWSZ m_pwszDiffAreaVolumeName;
65 LONGLONG m_llMaximumDiffSpace;
66 LONGLONG m_llAllocatedDiffSpace;
67 LONGLONG m_llUsedDiffSpace;
68} VSS_DIFF_AREA_PROP, *PVSS_DIFF_AREA_PROP;
206 virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForSnapshots(
207 VSS_ID ProviderId,
208 LONG lContext,
209 IVssEnumMgmtObject **ppEnum) = 0;
69210
70typedef struct _VSS_DIFF_VOLUME_PROP {
71 VSS_PWSZ m_pwszVolumeName;
72 VSS_PWSZ m_pwszVolumeDisplayName;
73 LONGLONG m_llVolumeFreeSpace;
74 LONGLONG m_llVolumeTotalSpace;
75} VSS_DIFF_VOLUME_PROP, *PVSS_DIFF_VOLUME_PROP;
76
77typedef union _VSS_MGMT_OBJECT_UNION {
78 VSS_VOLUME_PROP Vol;
79 VSS_DIFF_VOLUME_PROP DiffVol;
80 VSS_DIFF_AREA_PROP DiffArea;
81} VSS_MGMT_OBJECT_UNION, *PVSS_MGMT_OBJECT_UNION;
211 virtual HRESULT STDMETHODCALLTYPE QuerySnapshotsByVolume(
212 VSS_PWSZ pwszVolumeName,
213 VSS_ID ProviderId,
214 IVssEnumObject **ppEnum) = 0;
82215
83typedef struct _VSS_MGMT_OBJECT_PROP {
84 VSS_MGMT_OBJECT_TYPE Type;
85 VSS_MGMT_OBJECT_UNION Obj;
86} VSS_MGMT_OBJECT_PROP, *PVSS_MGMT_OBJECT_PROP;
216};
217#ifdef __CRT_UUID_DECL
218__CRT_UUID_DECL(IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72)
219#endif
220#else
221typedef struct IVssSnapshotMgmtVtbl {
222 BEGIN_INTERFACE
87223
88#endif /* (_WIN32_WINNT >= 0x0600) */
224 /*** IUnknown methods ***/
225 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
226 IVssSnapshotMgmt *This,
227 REFIID riid,
228 void **ppvObject);
89229
90#ifdef __cplusplus
230 ULONG (STDMETHODCALLTYPE *AddRef)(
231 IVssSnapshotMgmt *This);
232
233 ULONG (STDMETHODCALLTYPE *Release)(
234 IVssSnapshotMgmt *This);
235
236 /*** IVssSnapshotMgmt methods ***/
237 HRESULT (STDMETHODCALLTYPE *GetProviderMgmtInterface)(
238 IVssSnapshotMgmt *This,
239 VSS_ID ProviderId,
240 REFIID InterfaceId,
241 IUnknown **ppItf);
242
243 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForSnapshots)(
244 IVssSnapshotMgmt *This,
245 VSS_ID ProviderId,
246 LONG lContext,
247 IVssEnumMgmtObject **ppEnum);
248
249 HRESULT (STDMETHODCALLTYPE *QuerySnapshotsByVolume)(
250 IVssSnapshotMgmt *This,
251 VSS_PWSZ pwszVolumeName,
252 VSS_ID ProviderId,
253 IVssEnumObject **ppEnum);
254
255 END_INTERFACE
256} IVssSnapshotMgmtVtbl;
257
258interface IVssSnapshotMgmt {
259 CONST_VTBL IVssSnapshotMgmtVtbl* lpVtbl;
260};
261
262#ifdef COBJMACROS
263#ifndef WIDL_C_INLINE_WRAPPERS
264/*** IUnknown methods ***/
265#define IVssSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
266#define IVssSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
267#define IVssSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
268/*** IVssSnapshotMgmt methods ***/
269#define IVssSnapshotMgmt_GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) (This)->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf)
270#define IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum)
271#define IVssSnapshotMgmt_QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum) (This)->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum)
272#else
273/*** IUnknown methods ***/
274static FORCEINLINE HRESULT IVssSnapshotMgmt_QueryInterface(IVssSnapshotMgmt* This,REFIID riid,void **ppvObject) {
275 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
276}
277static FORCEINLINE ULONG IVssSnapshotMgmt_AddRef(IVssSnapshotMgmt* This) {
278 return This->lpVtbl->AddRef(This);
91279}
280static FORCEINLINE ULONG IVssSnapshotMgmt_Release(IVssSnapshotMgmt* This) {
281 return This->lpVtbl->Release(This);
282}
283/*** IVssSnapshotMgmt methods ***/
284static FORCEINLINE HRESULT IVssSnapshotMgmt_GetProviderMgmtInterface(IVssSnapshotMgmt* This,VSS_ID ProviderId,REFIID InterfaceId,IUnknown **ppItf) {
285 return This->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf);
286}
287static FORCEINLINE HRESULT IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(IVssSnapshotMgmt* This,VSS_ID ProviderId,LONG lContext,IVssEnumMgmtObject **ppEnum) {
288 return This->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum);
289}
290static FORCEINLINE HRESULT IVssSnapshotMgmt_QuerySnapshotsByVolume(IVssSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,IVssEnumObject **ppEnum) {
291 return This->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum);
292}
293#endif
92294#endif
93295
94#undef INTERFACE
95#define INTERFACE IVssDifferentialSoftwareSnapshotMgmt
96/*IID_IVssDifferentialSoftwareSnapshotMgmt is defined as 214A0F28-B737-4026-B847-4F9E37D79529*/
97#ifdef __GNUC__
98#warning COM interfaces layout in this header has not been verified.
99#warning COM interfaces with incorrect layout may not work at all.
100__MINGW_BROKEN_INTERFACE(INTERFACE)
101296#endif
102DECLARE_INTERFACE_(IVssDifferentialSoftwareSnapshotMgmt,IUnknown)
297
298
299#endif /* __IVssSnapshotMgmt_INTERFACE_DEFINED__ */
300
301/*****************************************************************************
302 * IVssSnapshotMgmt2 interface
303 */
304#ifndef __IVssSnapshotMgmt2_INTERFACE_DEFINED__
305#define __IVssSnapshotMgmt2_INTERFACE_DEFINED__
306
307DEFINE_GUID(IID_IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02);
308#if defined(__cplusplus) && !defined(CINTERFACE)
309MIDL_INTERFACE("0f61ec39-fe82-45f2-a3f0-768b5d427102")
310IVssSnapshotMgmt2 : public IUnknown
103311{
312 virtual HRESULT STDMETHODCALLTYPE GetMinDiffAreaSize(
313 LONGLONG *pllMinDiffAreaSize) = 0;
314
315};
316#ifdef __CRT_UUID_DECL
317__CRT_UUID_DECL(IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02)
318#endif
319#else
320typedef struct IVssSnapshotMgmt2Vtbl {
104321 BEGIN_INTERFACE
105322
106 /* IUnknown methods */
107 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
108 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
109 STDMETHOD_(ULONG, Release)(THIS) PURE;
323 /*** IUnknown methods ***/
324 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
325 IVssSnapshotMgmt2 *This,
326 REFIID riid,
327 void **ppvObject);
328
329 ULONG (STDMETHODCALLTYPE *AddRef)(
330 IVssSnapshotMgmt2 *This);
331
332 ULONG (STDMETHODCALLTYPE *Release)(
333 IVssSnapshotMgmt2 *This);
110334
111 /* IVssDifferentialSoftwareSnapshotMgmt methods */
112 STDMETHOD_(HRESULT,AddDiffArea)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;
113 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSize)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;
114 STDMETHOD_(HRESULT,QueryVolumesSupportedForDiffAreas)(THIS_ VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
115 STDMETHOD_(HRESULT,QueryDiffAreasForVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
116 STDMETHOD_(HRESULT,QueryDiffAreasOnVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
117 STDMETHOD_(HRESULT,QueryDiffAreasForSnapshot)(THIS_ VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) PURE;
118 STDMETHOD_(HRESULT,Opmun08NotUsedOnWire)(THIS) PURE; /* Reserved */
335 /*** IVssSnapshotMgmt2 methods ***/
336 HRESULT (STDMETHODCALLTYPE *GetMinDiffAreaSize)(
337 IVssSnapshotMgmt2 *This,
338 LONGLONG *pllMinDiffAreaSize);
119339
120340 END_INTERFACE
341} IVssSnapshotMgmt2Vtbl;
342
343interface IVssSnapshotMgmt2 {
344 CONST_VTBL IVssSnapshotMgmt2Vtbl* lpVtbl;
121345};
346
122347#ifdef COBJMACROS
348#ifndef WIDL_C_INLINE_WRAPPERS
349/*** IUnknown methods ***/
350#define IVssSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
351#define IVssSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
352#define IVssSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
353/*** IVssSnapshotMgmt2 methods ***/
354#define IVssSnapshotMgmt2_GetMinDiffAreaSize(This,pllMinDiffAreaSize) (This)->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize)
355#else
356/*** IUnknown methods ***/
357static FORCEINLINE HRESULT IVssSnapshotMgmt2_QueryInterface(IVssSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
358 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
359}
360static FORCEINLINE ULONG IVssSnapshotMgmt2_AddRef(IVssSnapshotMgmt2* This) {
361 return This->lpVtbl->AddRef(This);
362}
363static FORCEINLINE ULONG IVssSnapshotMgmt2_Release(IVssSnapshotMgmt2* This) {
364 return This->lpVtbl->Release(This);
365}
366/*** IVssSnapshotMgmt2 methods ***/
367static FORCEINLINE HRESULT IVssSnapshotMgmt2_GetMinDiffAreaSize(IVssSnapshotMgmt2* This,LONGLONG *pllMinDiffAreaSize) {
368 return This->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize);
369}
370#endif
371#endif
372
373#endif
374
375
376#endif /* __IVssSnapshotMgmt2_INTERFACE_DEFINED__ */
377
378/*****************************************************************************
379 * IVssDifferentialSoftwareSnapshotMgmt interface
380 */
381#ifndef __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
382#define __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
383
384DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29);
385#if defined(__cplusplus) && !defined(CINTERFACE)
386MIDL_INTERFACE("214a0f28-b737-4026-b847-4f9e37d79529")
387IVssDifferentialSoftwareSnapshotMgmt : public IUnknown
388{
389 virtual HRESULT STDMETHODCALLTYPE AddDiffArea(
390 VSS_PWSZ pwszVolumeName,
391 VSS_PWSZ pwszDiffAreaVolumeName,
392 LONGLONG llMaximumDiffSpace) = 0;
393
394 virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSize(
395 VSS_PWSZ pwszVolumeName,
396 VSS_PWSZ pwszDiffAreaVolumeName,
397 LONGLONG llMaximumDiffSpace) = 0;
398
399 virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForDiffAreas(
400 VSS_PWSZ pwszOriginalVolumeName,
401 IVssEnumMgmtObject **ppEnum) = 0;
402
403 virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForVolume(
404 VSS_PWSZ pwszVolumeName,
405 IVssEnumMgmtObject **ppEnum) = 0;
406
407 virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasOnVolume(
408 VSS_PWSZ pwszVolumeName,
409 IVssEnumMgmtObject **ppEnum) = 0;
410
411 virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForSnapshot(
412 VSS_ID SnapshotId,
413 IVssEnumMgmtObject **ppEnum) = 0;
414
415};
416#ifdef __CRT_UUID_DECL
417__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29)
418#endif
419#else
420typedef struct IVssDifferentialSoftwareSnapshotMgmtVtbl {
421 BEGIN_INTERFACE
422
423 /*** IUnknown methods ***/
424 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
425 IVssDifferentialSoftwareSnapshotMgmt *This,
426 REFIID riid,
427 void **ppvObject);
428
429 ULONG (STDMETHODCALLTYPE *AddRef)(
430 IVssDifferentialSoftwareSnapshotMgmt *This);
431
432 ULONG (STDMETHODCALLTYPE *Release)(
433 IVssDifferentialSoftwareSnapshotMgmt *This);
434
435 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
436 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
437 IVssDifferentialSoftwareSnapshotMgmt *This,
438 VSS_PWSZ pwszVolumeName,
439 VSS_PWSZ pwszDiffAreaVolumeName,
440 LONGLONG llMaximumDiffSpace);
441
442 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
443 IVssDifferentialSoftwareSnapshotMgmt *This,
444 VSS_PWSZ pwszVolumeName,
445 VSS_PWSZ pwszDiffAreaVolumeName,
446 LONGLONG llMaximumDiffSpace);
447
448 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
449 IVssDifferentialSoftwareSnapshotMgmt *This,
450 VSS_PWSZ pwszOriginalVolumeName,
451 IVssEnumMgmtObject **ppEnum);
452
453 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
454 IVssDifferentialSoftwareSnapshotMgmt *This,
455 VSS_PWSZ pwszVolumeName,
456 IVssEnumMgmtObject **ppEnum);
457
458 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
459 IVssDifferentialSoftwareSnapshotMgmt *This,
460 VSS_PWSZ pwszVolumeName,
461 IVssEnumMgmtObject **ppEnum);
462
463 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
464 IVssDifferentialSoftwareSnapshotMgmt *This,
465 VSS_ID SnapshotId,
466 IVssEnumMgmtObject **ppEnum);
467
468 END_INTERFACE
469} IVssDifferentialSoftwareSnapshotMgmtVtbl;
470
471interface IVssDifferentialSoftwareSnapshotMgmt {
472 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmtVtbl* lpVtbl;
473};
474
475#ifdef COBJMACROS
476#ifndef WIDL_C_INLINE_WRAPPERS
477/*** IUnknown methods ***/
123478#define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
124479#define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
125480#define IVssDifferentialSoftwareSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
481/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
126482#define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
127483#define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
128484#define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
129485#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
130486#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
131487#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
132#define IVssDifferentialSoftwareSnapshotMgmt_Opmun08NotUsedOnWire(This)
133#endif /*COBJMACROS*/
134
135#if (_WIN32_WINNT >= 0x0600)
136#undef INTERFACE
137#define INTERFACE IVssDifferentialSoftwareSnapshotMgmt2
138#ifdef __GNUC__
139#warning COM interfaces layout in this header has not been verified.
140#warning COM interfaces with incorrect layout may not work at all.
141__MINGW_BROKEN_INTERFACE(INTERFACE)
142#endif
143DECLARE_INTERFACE_(IVssDifferentialSoftwareSnapshotMgmt2,IVssDifferentialSoftwareSnapshotMgmt)
488#else
489/*** IUnknown methods ***/
490static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt* This,REFIID riid,void **ppvObject) {
491 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
492}
493static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt_AddRef(IVssDifferentialSoftwareSnapshotMgmt* This) {
494 return This->lpVtbl->AddRef(This);
495}
496static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt_Release(IVssDifferentialSoftwareSnapshotMgmt* This) {
497 return This->lpVtbl->Release(This);
498}
499/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
500static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
501 return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
502}
503static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
504 return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
505}
506static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
507 return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
508}
509static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
510 return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
511}
512static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
513 return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
514}
515static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
516 return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
517}
518#endif
519#endif
520
521#endif
522
523
524#endif /* __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ */
525
526/*****************************************************************************
527 * IVssDifferentialSoftwareSnapshotMgmt2 interface
528 */
529#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__
530#define __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__
531
532DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15);
533#if defined(__cplusplus) && !defined(CINTERFACE)
534MIDL_INTERFACE("949d7353-675f-4275-8969-f044c6277815")
535IVssDifferentialSoftwareSnapshotMgmt2 : public IVssDifferentialSoftwareSnapshotMgmt
144536{
537 virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSizeEx(
538 VSS_PWSZ pwszVolumeName,
539 VSS_PWSZ pwszDiffAreaVolumeName,
540 LONGLONG llMaximumDiffSpace,
541 WINBOOL bVolatile) = 0;
542
543 virtual HRESULT STDMETHODCALLTYPE MigrateDiffAreas(
544 VSS_PWSZ pwszVolumeName,
545 VSS_PWSZ pwszDiffAreaVolumeName,
546 VSS_PWSZ pwszNewDiffAreaVolumeName) = 0;
547
548 virtual HRESULT STDMETHODCALLTYPE QueryMigrationStatus(
549 VSS_PWSZ pwszVolumeName,
550 VSS_PWSZ pwszDiffAreaVolumeName,
551 IVssAsync **ppAsync) = 0;
552
553 virtual HRESULT STDMETHODCALLTYPE SetSnapshotPriority(
554 VSS_ID idSnapshot,
555 BYTE priority) = 0;
556
557};
558#ifdef __CRT_UUID_DECL
559__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15)
560#endif
561#else
562typedef struct IVssDifferentialSoftwareSnapshotMgmt2Vtbl {
145563 BEGIN_INTERFACE
146564
147 /* IUnknown methods */
148 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
149 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
150 STDMETHOD_(ULONG, Release)(THIS) PURE;
151
152 /* IVssDifferentialSoftwareSnapshotMgmt methods */
153 STDMETHOD_(HRESULT,AddDiffArea)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;
154 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSize)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;
155 STDMETHOD_(HRESULT,QueryVolumesSupportedForDiffAreas)(THIS_ VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
156 STDMETHOD_(HRESULT,QueryDiffAreasForVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
157 STDMETHOD_(HRESULT,QueryDiffAreasOnVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
158 STDMETHOD_(HRESULT,QueryDiffAreasForSnapshot)(THIS_ VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) PURE;
159
160 /* IVssDifferentialSoftwareSnapshotMgmt2 methods */
161 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSizeEx)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) PURE;
162 STDMETHOD_(HRESULT,MigrateDiffAreas)(THIS) PURE; /*Unsupported*/
163 STDMETHOD_(HRESULT,QueryMigrationStatus)(THIS) PURE; /*Unsupported*/
164 STDMETHOD_(HRESULT,SetSnapshotPriority)(THIS) PURE; /*Unsupported*/
565 /*** IUnknown methods ***/
566 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
567 IVssDifferentialSoftwareSnapshotMgmt2 *This,
568 REFIID riid,
569 void **ppvObject);
570
571 ULONG (STDMETHODCALLTYPE *AddRef)(
572 IVssDifferentialSoftwareSnapshotMgmt2 *This);
573
574 ULONG (STDMETHODCALLTYPE *Release)(
575 IVssDifferentialSoftwareSnapshotMgmt2 *This);
576
577 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
578 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
579 IVssDifferentialSoftwareSnapshotMgmt2 *This,
580 VSS_PWSZ pwszVolumeName,
581 VSS_PWSZ pwszDiffAreaVolumeName,
582 LONGLONG llMaximumDiffSpace);
583
584 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
585 IVssDifferentialSoftwareSnapshotMgmt2 *This,
586 VSS_PWSZ pwszVolumeName,
587 VSS_PWSZ pwszDiffAreaVolumeName,
588 LONGLONG llMaximumDiffSpace);
589
590 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
591 IVssDifferentialSoftwareSnapshotMgmt2 *This,
592 VSS_PWSZ pwszOriginalVolumeName,
593 IVssEnumMgmtObject **ppEnum);
594
595 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
596 IVssDifferentialSoftwareSnapshotMgmt2 *This,
597 VSS_PWSZ pwszVolumeName,
598 IVssEnumMgmtObject **ppEnum);
599
600 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
601 IVssDifferentialSoftwareSnapshotMgmt2 *This,
602 VSS_PWSZ pwszVolumeName,
603 IVssEnumMgmtObject **ppEnum);
604
605 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
606 IVssDifferentialSoftwareSnapshotMgmt2 *This,
607 VSS_ID SnapshotId,
608 IVssEnumMgmtObject **ppEnum);
609
610 /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
611 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)(
612 IVssDifferentialSoftwareSnapshotMgmt2 *This,
613 VSS_PWSZ pwszVolumeName,
614 VSS_PWSZ pwszDiffAreaVolumeName,
615 LONGLONG llMaximumDiffSpace,
616 WINBOOL bVolatile);
617
618 HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)(
619 IVssDifferentialSoftwareSnapshotMgmt2 *This,
620 VSS_PWSZ pwszVolumeName,
621 VSS_PWSZ pwszDiffAreaVolumeName,
622 VSS_PWSZ pwszNewDiffAreaVolumeName);
623
624 HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)(
625 IVssDifferentialSoftwareSnapshotMgmt2 *This,
626 VSS_PWSZ pwszVolumeName,
627 VSS_PWSZ pwszDiffAreaVolumeName,
628 IVssAsync **ppAsync);
629
630 HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)(
631 IVssDifferentialSoftwareSnapshotMgmt2 *This,
632 VSS_ID idSnapshot,
633 BYTE priority);
165634
166635 END_INTERFACE
636} IVssDifferentialSoftwareSnapshotMgmt2Vtbl;
637
638interface IVssDifferentialSoftwareSnapshotMgmt2 {
639 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt2Vtbl* lpVtbl;
167640};
641
168642#ifdef COBJMACROS
643#ifndef WIDL_C_INLINE_WRAPPERS
644/*** IUnknown methods ***/
169645#define IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
170646#define IVssDifferentialSoftwareSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
171647#define IVssDifferentialSoftwareSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
648/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
172649#define IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
173650#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
174651#define IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
175652#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
176653#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
177654#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
655/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
178656#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
179#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas() (This)->lpVtbl->MigrateDiffAreas(This)
180#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus() (This)->lpVtbl->QueryMigrationStatus(This)
181#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority() (This)->lpVtbl->SetSnapshotPriority(This)
182#endif /*COBJMACROS*/
183
184#undef INTERFACE
185#define INTERFACE IVssDifferentialSoftwareSnapshotMgmt3
186#ifdef __GNUC__
187#warning COM interfaces layout in this header has not been verified.
188#warning COM interfaces with incorrect layout may not work at all.
189__MINGW_BROKEN_INTERFACE(INTERFACE)
190#endif
191DECLARE_INTERFACE_(IVssDifferentialSoftwareSnapshotMgmt3,IVssDifferentialSoftwareSnapshotMgmt2)
657#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
658#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
659#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
660#else
661/*** IUnknown methods ***/
662static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
663 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
664}
665static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt2_AddRef(IVssDifferentialSoftwareSnapshotMgmt2* This) {
666 return This->lpVtbl->AddRef(This);
667}
668static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt2_Release(IVssDifferentialSoftwareSnapshotMgmt2* This) {
669 return This->lpVtbl->Release(This);
670}
671/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
672static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
673 return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
674}
675static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
676 return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
677}
678static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
679 return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
680}
681static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
682 return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
683}
684static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
685 return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
686}
687static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
688 return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
689}
690/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
691static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) {
692 return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile);
693}
694static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) {
695 return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName);
696}
697static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) {
698 return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync);
699}
700static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID idSnapshot,BYTE priority) {
701 return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority);
702}
703#endif
704#endif
705
706#endif
707
708
709#endif /* __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__ */
710
711/*****************************************************************************
712 * IVssDifferentialSoftwareSnapshotMgmt3 interface
713 */
714#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__
715#define __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__
716
717DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58);
718#if defined(__cplusplus) && !defined(CINTERFACE)
719MIDL_INTERFACE("383f7e71-a4c5-401f-b27f-f826289f8458")
720IVssDifferentialSoftwareSnapshotMgmt3 : public IVssDifferentialSoftwareSnapshotMgmt2
192721{
722 virtual HRESULT STDMETHODCALLTYPE SetVolumeProtectLevel(
723 VSS_PWSZ pwszVolumeName,
724 VSS_PROTECTION_LEVEL protectionLevel) = 0;
725
726 virtual HRESULT STDMETHODCALLTYPE GetVolumeProtectLevel(
727 VSS_PWSZ pwszVolumeName,
728 VSS_VOLUME_PROTECTION_INFO *protectionLevel) = 0;
729
730 virtual HRESULT STDMETHODCALLTYPE ClearVolumeProtectFault(
731 VSS_PWSZ pwszVolumeName) = 0;
732
733 virtual HRESULT STDMETHODCALLTYPE DeleteUnusedDiffAreas(
734 VSS_PWSZ pwszDiffAreaVolumeName) = 0;
735
736 virtual HRESULT STDMETHODCALLTYPE QuerySnapshotDeltaBitmap(
737 VSS_ID idSnapshotOlder,
738 VSS_ID idSnapshotYounger,
739 ULONG *pcBlockSizePerBit,
740 ULONG *pcBitmapLength,
741 BYTE **ppbBitmap) = 0;
742
743};
744#ifdef __CRT_UUID_DECL
745__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58)
746#endif
747#else
748typedef struct IVssDifferentialSoftwareSnapshotMgmt3Vtbl {
193749 BEGIN_INTERFACE
194750
195 /* IUnknown methods */
196 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
197 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
198 STDMETHOD_(ULONG, Release)(THIS) PURE;
199
200 /* IVssDifferentialSoftwareSnapshotMgmt methods */
201 STDMETHOD_(HRESULT,AddDiffArea)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;
202 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSize)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;
203 STDMETHOD_(HRESULT,QueryVolumesSupportedForDiffAreas)(THIS_ VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
204 STDMETHOD_(HRESULT,QueryDiffAreasForVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
205 STDMETHOD_(HRESULT,QueryDiffAreasOnVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;
206 STDMETHOD_(HRESULT,QueryDiffAreasForSnapshot)(THIS_ VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) PURE;
207
208 /* IVssDifferentialSoftwareSnapshotMgmt2 methods */
209 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSizeEx)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) PURE;
210 STDMETHOD_(HRESULT,MigrateDiffAreas)(THIS) PURE; /*Unsupported*/
211 STDMETHOD_(HRESULT,QueryMigrationStatus)(THIS) PURE; /*Unsupported*/
212 STDMETHOD_(HRESULT,SetSnapshotPriority)(THIS) PURE; /*Unsupported*/
213
214 /* IVssDifferentialSoftwareSnapshotMgmt3 methods */
215 STDMETHOD_(HRESULT,SetVolumeProtectLevel)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) PURE;
216 STDMETHOD_(HRESULT,GetVolumeProtectLevel)(THIS_ VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) PURE;
217 STDMETHOD_(HRESULT,ClearVolumeProtectFault)(THIS_ VSS_PWSZ pwszVolumeName) PURE;
218 STDMETHOD_(HRESULT,DeleteUnusedDiffAreas)(THIS_ VSS_PWSZ pwszDiffAreaVolumeName) PURE;
219 STDMETHOD_(HRESULT,QuerySnapshotDeltaBitmap)(THIS) PURE; /*Unsupported*/
751 /*** IUnknown methods ***/
752 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
753 IVssDifferentialSoftwareSnapshotMgmt3 *This,
754 REFIID riid,
755 void **ppvObject);
756
757 ULONG (STDMETHODCALLTYPE *AddRef)(
758 IVssDifferentialSoftwareSnapshotMgmt3 *This);
759
760 ULONG (STDMETHODCALLTYPE *Release)(
761 IVssDifferentialSoftwareSnapshotMgmt3 *This);
762
763 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
764 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
765 IVssDifferentialSoftwareSnapshotMgmt3 *This,
766 VSS_PWSZ pwszVolumeName,
767 VSS_PWSZ pwszDiffAreaVolumeName,
768 LONGLONG llMaximumDiffSpace);
769
770 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
771 IVssDifferentialSoftwareSnapshotMgmt3 *This,
772 VSS_PWSZ pwszVolumeName,
773 VSS_PWSZ pwszDiffAreaVolumeName,
774 LONGLONG llMaximumDiffSpace);
775
776 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
777 IVssDifferentialSoftwareSnapshotMgmt3 *This,
778 VSS_PWSZ pwszOriginalVolumeName,
779 IVssEnumMgmtObject **ppEnum);
780
781 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
782 IVssDifferentialSoftwareSnapshotMgmt3 *This,
783 VSS_PWSZ pwszVolumeName,
784 IVssEnumMgmtObject **ppEnum);
785
786 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
787 IVssDifferentialSoftwareSnapshotMgmt3 *This,
788 VSS_PWSZ pwszVolumeName,
789 IVssEnumMgmtObject **ppEnum);
790
791 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
792 IVssDifferentialSoftwareSnapshotMgmt3 *This,
793 VSS_ID SnapshotId,
794 IVssEnumMgmtObject **ppEnum);
795
796 /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
797 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)(
798 IVssDifferentialSoftwareSnapshotMgmt3 *This,
799 VSS_PWSZ pwszVolumeName,
800 VSS_PWSZ pwszDiffAreaVolumeName,
801 LONGLONG llMaximumDiffSpace,
802 WINBOOL bVolatile);
803
804 HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)(
805 IVssDifferentialSoftwareSnapshotMgmt3 *This,
806 VSS_PWSZ pwszVolumeName,
807 VSS_PWSZ pwszDiffAreaVolumeName,
808 VSS_PWSZ pwszNewDiffAreaVolumeName);
809
810 HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)(
811 IVssDifferentialSoftwareSnapshotMgmt3 *This,
812 VSS_PWSZ pwszVolumeName,
813 VSS_PWSZ pwszDiffAreaVolumeName,
814 IVssAsync **ppAsync);
815
816 HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)(
817 IVssDifferentialSoftwareSnapshotMgmt3 *This,
818 VSS_ID idSnapshot,
819 BYTE priority);
820
821 /*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
822 HRESULT (STDMETHODCALLTYPE *SetVolumeProtectLevel)(
823 IVssDifferentialSoftwareSnapshotMgmt3 *This,
824 VSS_PWSZ pwszVolumeName,
825 VSS_PROTECTION_LEVEL protectionLevel);
826
827 HRESULT (STDMETHODCALLTYPE *GetVolumeProtectLevel)(
828 IVssDifferentialSoftwareSnapshotMgmt3 *This,
829 VSS_PWSZ pwszVolumeName,
830 VSS_VOLUME_PROTECTION_INFO *protectionLevel);
831
832 HRESULT (STDMETHODCALLTYPE *ClearVolumeProtectFault)(
833 IVssDifferentialSoftwareSnapshotMgmt3 *This,
834 VSS_PWSZ pwszVolumeName);
835
836 HRESULT (STDMETHODCALLTYPE *DeleteUnusedDiffAreas)(
837 IVssDifferentialSoftwareSnapshotMgmt3 *This,
838 VSS_PWSZ pwszDiffAreaVolumeName);
839
840 HRESULT (STDMETHODCALLTYPE *QuerySnapshotDeltaBitmap)(
841 IVssDifferentialSoftwareSnapshotMgmt3 *This,
842 VSS_ID idSnapshotOlder,
843 VSS_ID idSnapshotYounger,
844 ULONG *pcBlockSizePerBit,
845 ULONG *pcBitmapLength,
846 BYTE **ppbBitmap);
220847
221848 END_INTERFACE
849} IVssDifferentialSoftwareSnapshotMgmt3Vtbl;
850
851interface IVssDifferentialSoftwareSnapshotMgmt3 {
852 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt3Vtbl* lpVtbl;
222853};
854
223855#ifdef COBJMACROS
856#ifndef WIDL_C_INLINE_WRAPPERS
857/*** IUnknown methods ***/
224858#define IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
225859#define IVssDifferentialSoftwareSnapshotMgmt3_AddRef(This) (This)->lpVtbl->AddRef(This)
226860#define IVssDifferentialSoftwareSnapshotMgmt3_Release(This) (This)->lpVtbl->Release(This)
861/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
227862#define IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
228863#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
229864#define IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
230865#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
231866#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
232867#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
868/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
233869#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
234#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas() (This)->lpVtbl->MigrateDiffAreas(This)
235#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus() (This)->lpVtbl->QueryMigrationStatus(This)
236#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority() (This)->lpVtbl->SetSnapshotPriority(This)
870#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
871#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
872#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
873/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
237874#define IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
238875#define IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
239876#define IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(This,pwszVolumeName) (This)->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName)
240877#define IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) (This)->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName)
241#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap() (This)->lpVtbl->QuerySnapshotDeltaBitmap(This)
242#endif /*COBJMACROS*/
243
244#undef INTERFACE
245#define INTERFACE IVssEnumMgmtObject
246/*IID_IVssEnumMgmtObject is defined as 01954E6B-9254-4e6e-808C-C9E05D007696*/
247#ifdef __GNUC__
248#warning COM interfaces layout in this header has not been verified.
249#warning COM interfaces with incorrect layout may not work at all.
250__MINGW_BROKEN_INTERFACE(INTERFACE)
251#endif
252DECLARE_INTERFACE_(IVssEnumMgmtObject,IUnknown)
878#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap) (This)->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap)
879#else
880/*** IUnknown methods ***/
881static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt3* This,REFIID riid,void **ppvObject) {
882 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
883}
884static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt3_AddRef(IVssDifferentialSoftwareSnapshotMgmt3* This) {
885 return This->lpVtbl->AddRef(This);
886}
887static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt3_Release(IVssDifferentialSoftwareSnapshotMgmt3* This) {
888 return This->lpVtbl->Release(This);
889}
890/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
891static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
892 return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
893}
894static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
895 return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
896}
897static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
898 return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
899}
900static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
901 return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
902}
903static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
904 return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
905}
906static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
907 return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
908}
909/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
910static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) {
911 return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile);
912}
913static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) {
914 return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName);
915}
916static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) {
917 return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync);
918}
919static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshot,BYTE priority) {
920 return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority);
921}
922/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
923static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) {
924 return This->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel);
925}
926static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) {
927 return This->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel);
928}
929static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName) {
930 return This->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName);
931}
932static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszDiffAreaVolumeName) {
933 return This->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName);
934}
935static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshotOlder,VSS_ID idSnapshotYounger,ULONG *pcBlockSizePerBit,ULONG *pcBitmapLength,BYTE **ppbBitmap) {
936 return This->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap);
937}
938#endif
939#endif
940
941#endif
942
943
944#endif /* __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__ */
945
946/*****************************************************************************
947 * IVssEnumMgmtObject interface
948 */
949#ifndef __IVssEnumMgmtObject_INTERFACE_DEFINED__
950#define __IVssEnumMgmtObject_INTERFACE_DEFINED__
951
952DEFINE_GUID(IID_IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96);
953#if defined(__cplusplus) && !defined(CINTERFACE)
954MIDL_INTERFACE("01954e6b-9254-4e6e-808c-c9e05d007696")
955IVssEnumMgmtObject : public IUnknown
253956{
957 virtual HRESULT STDMETHODCALLTYPE Next(
958 ULONG celt,
959 VSS_MGMT_OBJECT_PROP *rgelt,
960 ULONG *pceltFetched) = 0;
961
962 virtual HRESULT STDMETHODCALLTYPE Skip(
963 ULONG celt) = 0;
964
965 virtual HRESULT STDMETHODCALLTYPE Reset(
966 ) = 0;
967
968 virtual HRESULT STDMETHODCALLTYPE Clone(
969 IVssEnumMgmtObject **ppenum) = 0;
970
971};
972#ifdef __CRT_UUID_DECL
973__CRT_UUID_DECL(IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96)
974#endif
975#else
976typedef struct IVssEnumMgmtObjectVtbl {
254977 BEGIN_INTERFACE
255978
256 /* IUnknown methods */
257 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
258 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
259 STDMETHOD_(ULONG, Release)(THIS) PURE;
979 /*** IUnknown methods ***/
980 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
981 IVssEnumMgmtObject *This,
982 REFIID riid,
983 void **ppvObject);
260984
261 /* IVssEnumMgmtObject methods */
262 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) PURE;
263 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
264 STDMETHOD_(HRESULT,Reset)(THIS) PURE;
265 STDMETHOD_(HRESULT,Clone)(THIS_ IVssEnumMgmtObject **ppenum) PURE;
985 ULONG (STDMETHODCALLTYPE *AddRef)(
986 IVssEnumMgmtObject *This);
987
988 ULONG (STDMETHODCALLTYPE *Release)(
989 IVssEnumMgmtObject *This);
990
991 /*** IVssEnumMgmtObject methods ***/
992 HRESULT (STDMETHODCALLTYPE *Next)(
993 IVssEnumMgmtObject *This,
994 ULONG celt,
995 VSS_MGMT_OBJECT_PROP *rgelt,
996 ULONG *pceltFetched);
997
998 HRESULT (STDMETHODCALLTYPE *Skip)(
999 IVssEnumMgmtObject *This,
1000 ULONG celt);
1001
1002 HRESULT (STDMETHODCALLTYPE *Reset)(
1003 IVssEnumMgmtObject *This);
1004
1005 HRESULT (STDMETHODCALLTYPE *Clone)(
1006 IVssEnumMgmtObject *This,
1007 IVssEnumMgmtObject **ppenum);
2661008
2671009 END_INTERFACE
1010} IVssEnumMgmtObjectVtbl;
1011
1012interface IVssEnumMgmtObject {
1013 CONST_VTBL IVssEnumMgmtObjectVtbl* lpVtbl;
2681014};
1015
2691016#ifdef COBJMACROS
1017#ifndef WIDL_C_INLINE_WRAPPERS
1018/*** IUnknown methods ***/
2701019#define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2711020#define IVssEnumMgmtObject_AddRef(This) (This)->lpVtbl->AddRef(This)
2721021#define IVssEnumMgmtObject_Release(This) (This)->lpVtbl->Release(This)
1022/*** IVssEnumMgmtObject methods ***/
2731023#define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
2741024#define IVssEnumMgmtObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
275#define IVssEnumMgmtObject_Reset() (This)->lpVtbl->Reset(This)
1025#define IVssEnumMgmtObject_Reset(This) (This)->lpVtbl->Reset(This)
2761026#define IVssEnumMgmtObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
277#endif /*COBJMACROS*/
278
279#endif /* (_WIN32_WINNT >= 0x0600) */
1027#else
1028/*** IUnknown methods ***/
1029static FORCEINLINE HRESULT IVssEnumMgmtObject_QueryInterface(IVssEnumMgmtObject* This,REFIID riid,void **ppvObject) {
1030 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1031}
1032static FORCEINLINE ULONG IVssEnumMgmtObject_AddRef(IVssEnumMgmtObject* This) {
1033 return This->lpVtbl->AddRef(This);
1034}
1035static FORCEINLINE ULONG IVssEnumMgmtObject_Release(IVssEnumMgmtObject* This) {
1036 return This->lpVtbl->Release(This);
1037}
1038/*** IVssEnumMgmtObject methods ***/
1039static FORCEINLINE HRESULT IVssEnumMgmtObject_Next(IVssEnumMgmtObject* This,ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) {
1040 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1041}
1042static FORCEINLINE HRESULT IVssEnumMgmtObject_Skip(IVssEnumMgmtObject* This,ULONG celt) {
1043 return This->lpVtbl->Skip(This,celt);
1044}
1045static FORCEINLINE HRESULT IVssEnumMgmtObject_Reset(IVssEnumMgmtObject* This) {
1046 return This->lpVtbl->Reset(This);
1047}
1048static FORCEINLINE HRESULT IVssEnumMgmtObject_Clone(IVssEnumMgmtObject* This,IVssEnumMgmtObject **ppenum) {
1049 return This->lpVtbl->Clone(This,ppenum);
1050}
1051#endif
1052#endif
2801053
281#undef INTERFACE
282#define INTERFACE IVssSnapshotMgmt
283/*IID_IVssSnapshotMgmt is defined as FA7DF749-66E7-4986-A27F-E2F04AE53772*/
284#ifdef __GNUC__
285#warning COM interfaces layout in this header has not been verified.
286#warning COM interfaces with incorrect layout may not work at all.
287__MINGW_BROKEN_INTERFACE(INTERFACE)
2881054#endif
289DECLARE_INTERFACE_(IVssSnapshotMgmt,IUnknown)
290{
291 BEGIN_INTERFACE
2921055
293 /* IUnknown methods */
294 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
295 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
296 STDMETHOD_(ULONG, Release)(THIS) PURE;
2971056
298 /* IVssSnapshotMgmt methods */
299 STDMETHOD_(HRESULT,GetProviderMgmtInterface)(THIS_ VSS_ID ProviderId,REFIID InterfaceId,IUnknown **ppItf) PURE;
300 STDMETHOD_(HRESULT,QueryVolumesSupportedForSnapshots)(THIS) PURE; /*Unsupported*/
301 STDMETHOD_(HRESULT,QuerySnapshotsByVolume)(THIS) PURE; /*Unsupported*/
1057#endif /* __IVssEnumMgmtObject_INTERFACE_DEFINED__ */
3021058
303 END_INTERFACE
304};
305#ifdef COBJMACROS
306#define IVssSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
307#define IVssSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
308#define IVssSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
309#define IVssSnapshotMgmt_GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) (This)->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf)
310#define IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots() (This)->lpVtbl->QueryVolumesSupportedForSnapshots(This)
311#define IVssSnapshotMgmt_QuerySnapshotsByVolume() (This)->lpVtbl->QuerySnapshotsByVolume(This)
312#endif /*COBJMACROS*/
1059#ifndef __VSMGMT_LIBRARY_DEFINED__
1060#define __VSMGMT_LIBRARY_DEFINED__
3131061
314#undef INTERFACE
315#define INTERFACE IVssSnapshotMgmt2
316DECLARE_INTERFACE_(IVssSnapshotMgmt2,IUnknown)
317{
318 BEGIN_INTERFACE
1062DEFINE_GUID(LIBID_VSMGMT, 0x84015c41, 0x291d, 0x49e6, 0xbf,0x7f, 0xdd,0x40,0xae,0x93,0x63,0x2b);
3191063
320 /* IUnknown methods */
321 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
322 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
323 STDMETHOD_(ULONG, Release)(THIS) PURE;
1064/*****************************************************************************
1065 * VssSnapshotMgmt coclass
1066 */
3241067
325 /* IVssSnapshotMgmt2 methods */
326 STDMETHOD_(HRESULT,GetMinDiffAreaSize)(THIS_ LONGLONG *pllMinDiffAreaSize) PURE;
1068DEFINE_GUID(CLSID_VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f);
3271069
328 END_INTERFACE
329};
330#ifdef COBJMACROS
331#define IVssSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
332#define IVssSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
333#define IVssSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
334#define IVssSnapshotMgmt2_GetMinDiffAreaSize(This,pllMinDiffAreaSize) (This)->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize)
335#endif /*COBJMACROS*/
1070#ifdef __cplusplus
1071class DECLSPEC_UUID("0b5a2c52-3eb9-470a-96e2-6c6d4570e40f") VssSnapshotMgmt;
1072#ifdef __CRT_UUID_DECL
1073__CRT_UUID_DECL(VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f)
1074#endif
1075#endif
1076
1077#endif /* __VSMGMT_LIBRARY_DEFINED__ */
1078#endif /* WINAPI_PARTITION_DESKTOP */
1079/* Begin additional prototypes for all interfaces */
1080
1081
1082/* End additional prototypes */
1083
1084#ifdef __cplusplus
1085}
1086#endif
3361087
337#endif /*_INC_VSMGT*/
1088#endif /* __vsmgmt_h__ */
lib/libc/include/any-windows-any/vsprov.h+1049-150
......@@ -1,130 +1,408 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VSPROV
7#define _INC_VSPROV
1/*** Autogenerated by WIDL 7.0 from include/vsprov.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __vsprov_h__
17#define __vsprov_h__
18
19/* Forward declarations */
20
21#ifndef __IVssSoftwareSnapshotProvider_FWD_DEFINED__
22#define __IVssSoftwareSnapshotProvider_FWD_DEFINED__
23typedef interface IVssSoftwareSnapshotProvider IVssSoftwareSnapshotProvider;
24#ifdef __cplusplus
25interface IVssSoftwareSnapshotProvider;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IVssProviderCreateSnapshotSet_FWD_DEFINED__
30#define __IVssProviderCreateSnapshotSet_FWD_DEFINED__
31typedef interface IVssProviderCreateSnapshotSet IVssProviderCreateSnapshotSet;
32#ifdef __cplusplus
33interface IVssProviderCreateSnapshotSet;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IVssProviderNotifications_FWD_DEFINED__
38#define __IVssProviderNotifications_FWD_DEFINED__
39typedef interface IVssProviderNotifications IVssProviderNotifications;
40#ifdef __cplusplus
41interface IVssProviderNotifications;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IVssHardwareSnapshotProvider_FWD_DEFINED__
46#define __IVssHardwareSnapshotProvider_FWD_DEFINED__
47typedef interface IVssHardwareSnapshotProvider IVssHardwareSnapshotProvider;
48#ifdef __cplusplus
49interface IVssHardwareSnapshotProvider;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IVssHardwareSnapshotProviderEx_FWD_DEFINED__
54#define __IVssHardwareSnapshotProviderEx_FWD_DEFINED__
55typedef interface IVssHardwareSnapshotProviderEx IVssHardwareSnapshotProviderEx;
56#ifdef __cplusplus
57interface IVssHardwareSnapshotProviderEx;
58#endif /* __cplusplus */
59#endif
860
61#ifndef __IVssFileShareSnapshotProvider_FWD_DEFINED__
62#define __IVssFileShareSnapshotProvider_FWD_DEFINED__
63typedef interface IVssFileShareSnapshotProvider IVssFileShareSnapshotProvider;
64#ifdef __cplusplus
65interface IVssFileShareSnapshotProvider;
66#endif /* __cplusplus */
67#endif
68
69/* Headers for imported files */
70
71#include <oaidl.h>
72#include <ocidl.h>
973#include <vss.h>
10#include <vds.h>
11#undef INTERFACE
12#define INTERFACE IVssHardwareSnapshotProvider
13#ifdef __GNUC__
14#warning COM interfaces layout in this header has not been verified.
15#warning COM interfaces with incorrect layout may not work at all.
16__MINGW_BROKEN_INTERFACE(INTERFACE)
17#endif
18DECLARE_INTERFACE_(IVssHardwareSnapshotProvider,IUnknown)
74#include <vdslun.h>
75
76#ifdef __cplusplus
77extern "C" {
78#endif
79
80#include <winapifamily.h>
81#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
82#ifndef __IVssSnapshotProvider_FWD_DEFINED__
83#define __IVssSnapshotProvider_FWD_DEFINED__
84typedef interface IVssSnapshotProvider IVssSnapshotProvider;
85#ifdef __cplusplus
86interface IVssSnapshotProvider;
87#endif /* __cplusplus */
88#endif
89
90#ifndef __IVssProviderNotifications_FWD_DEFINED__
91#define __IVssProviderNotifications_FWD_DEFINED__
92typedef interface IVssProviderNotifications IVssProviderNotifications;
93#ifdef __cplusplus
94interface IVssProviderNotifications;
95#endif /* __cplusplus */
96#endif
97
98typedef VSS_PWSZ *PVSS_PWSZ;
99/*****************************************************************************
100 * IVssSoftwareSnapshotProvider interface
101 */
102#ifndef __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__
103#define __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__
104
105DEFINE_GUID(IID_IVssSoftwareSnapshotProvider, 0x609e123e, 0x2c5a, 0x44d3, 0x8f,0x01, 0x0b,0x1d,0x9a,0x47,0xd1,0xff);
106#if defined(__cplusplus) && !defined(CINTERFACE)
107MIDL_INTERFACE("609e123e-2c5a-44d3-8f01-0b1d9a47d1ff")
108IVssSoftwareSnapshotProvider : public IUnknown
19109{
20 BEGIN_INTERFACE
110 virtual HRESULT STDMETHODCALLTYPE SetContext(
111 LONG lContext) = 0;
21112
22 /* IUnknown methods */
23 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
24 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
25 STDMETHOD_(ULONG, Release)(THIS) PURE;
113 virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
114 VSS_ID SnapshotId,
115 VSS_SNAPSHOT_PROP *pProp) = 0;
26116
27 /* IVssHardwareSnapshotProvider methods */
28 STDMETHOD_(HRESULT,AreLunsSupported)(THIS_ LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) PURE;
29 STDMETHOD_(HRESULT,FillInLunInfo)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) PURE;
30 STDMETHOD_(HRESULT,BeginPrepareSnapshot)(THIS_ VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) PURE;
31 STDMETHOD_(HRESULT,GetTargetLuns)(THIS_ LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) PURE;
32 STDMETHOD_(HRESULT,LocateLuns)(THIS_ LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) PURE;
33 STDMETHOD_(HRESULT,OnLunEmpty)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) PURE;
117 virtual HRESULT STDMETHODCALLTYPE Query(
118 VSS_ID QueriedObjectId,
119 VSS_OBJECT_TYPE eQueriedObjectType,
120 VSS_OBJECT_TYPE eReturnedObjectsType,
121 IVssEnumObject **ppEnum) = 0;
34122
35 END_INTERFACE
36};
37#ifdef COBJMACROS
38#define IVssHardwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
39#define IVssHardwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
40#define IVssHardwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
41#define IVssHardwareSnapshotProvider_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
42#define IVssHardwareSnapshotProvider_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
43#define IVssHardwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
44#define IVssHardwareSnapshotProvider_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
45#define IVssHardwareSnapshotProvider_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
46#define IVssHardwareSnapshotProvider_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
47#endif /*COBJMACROS*/
123 virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots(
124 VSS_ID SourceObjectId,
125 VSS_OBJECT_TYPE eSourceObjectType,
126 WINBOOL bForceDelete,
127 LONG *plDeletedSnapshots,
128 VSS_ID *pNondeletedSnapshotID) = 0;
129
130 virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
131 VSS_ID SnapshotSetId,
132 VSS_ID SnapshotId,
133 VSS_PWSZ pwszVolumeName,
134 LONG lNewContext) = 0;
48135
49#undef INTERFACE
50#define INTERFACE IVssHardwareSnapshotProviderEx
51#ifdef __GNUC__
52#warning COM interfaces layout in this header has not been verified.
53#warning COM interfaces with incorrect layout may not work at all.
54__MINGW_BROKEN_INTERFACE(INTERFACE)
136 virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported(
137 VSS_PWSZ pwszVolumeName,
138 WINBOOL *pbSupportedByThisProvider) = 0;
139
140 virtual HRESULT STDMETHODCALLTYPE IsVolumeSnapshotted(
141 VSS_PWSZ pwszVolumeName,
142 WINBOOL *pbSnapshotsPresent,
143 LONG *plSnapshotCompatibility) = 0;
144
145 virtual HRESULT STDMETHODCALLTYPE SetSnapshotProperty(
146 VSS_ID SnapshotId,
147 VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
148 VARIANT vProperty) = 0;
149
150 virtual HRESULT STDMETHODCALLTYPE RevertToSnapshot(
151 VSS_ID SnapshotId) = 0;
152
153 virtual HRESULT STDMETHODCALLTYPE QueryRevertStatus(
154 VSS_PWSZ pwszVolume,
155 IVssAsync **ppAsync) = 0;
156
157};
158#ifdef __CRT_UUID_DECL
159__CRT_UUID_DECL(IVssSoftwareSnapshotProvider, 0x609e123e, 0x2c5a, 0x44d3, 0x8f,0x01, 0x0b,0x1d,0x9a,0x47,0xd1,0xff)
55160#endif
56DECLARE_INTERFACE_(IVssHardwareSnapshotProviderEx,IVssHardwareSnapshotProvider)
57{
161#else
162typedef struct IVssSoftwareSnapshotProviderVtbl {
58163 BEGIN_INTERFACE
59164
60 /* IUnknown methods */
61 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
62 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
63 STDMETHOD_(ULONG, Release)(THIS) PURE;
64
65 /* IVssHardwareSnapshotProvider methods */
66 STDMETHOD_(HRESULT,AreLunsSupported)(THIS_ LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) PURE;
67 STDMETHOD_(HRESULT,FillInLunInfo)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) PURE;
68 STDMETHOD_(HRESULT,BeginPrepareSnapshot)(THIS_ VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) PURE;
69 STDMETHOD_(HRESULT,GetTargetLuns)(THIS_ LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) PURE;
70 STDMETHOD_(HRESULT,LocateLuns)(THIS_ LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) PURE;
71 STDMETHOD_(HRESULT,OnLunEmpty)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) PURE;
72
73 /* IVssHardwareSnapshotProviderEx methods */
74 STDMETHOD_(HRESULT,GetProviderCapabilities)(THIS) PURE;
75 STDMETHOD_(HRESULT,OnLunStateChange)(THIS_ VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount,DWORD dwFlags) PURE;
76 STDMETHOD_(HRESULT,OnReuseLuns)(THIS) PURE;
77 STDMETHOD_(HRESULT,ResyncLuns)(THIS_ VDS_LUN_INFORMATION *pSourceLuns,VDS_LUN_INFORMATION *pTargetLuns,DWORD dwCount,IVssAsync **ppAsync) PURE;
165 /*** IUnknown methods ***/
166 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
167 IVssSoftwareSnapshotProvider *This,
168 REFIID riid,
169 void **ppvObject);
170
171 ULONG (STDMETHODCALLTYPE *AddRef)(
172 IVssSoftwareSnapshotProvider *This);
173
174 ULONG (STDMETHODCALLTYPE *Release)(
175 IVssSoftwareSnapshotProvider *This);
176
177 /*** IVssSoftwareSnapshotProvider methods ***/
178 HRESULT (STDMETHODCALLTYPE *SetContext)(
179 IVssSoftwareSnapshotProvider *This,
180 LONG lContext);
181
182 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
183 IVssSoftwareSnapshotProvider *This,
184 VSS_ID SnapshotId,
185 VSS_SNAPSHOT_PROP *pProp);
186
187 HRESULT (STDMETHODCALLTYPE *Query)(
188 IVssSoftwareSnapshotProvider *This,
189 VSS_ID QueriedObjectId,
190 VSS_OBJECT_TYPE eQueriedObjectType,
191 VSS_OBJECT_TYPE eReturnedObjectsType,
192 IVssEnumObject **ppEnum);
193
194 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
195 IVssSoftwareSnapshotProvider *This,
196 VSS_ID SourceObjectId,
197 VSS_OBJECT_TYPE eSourceObjectType,
198 WINBOOL bForceDelete,
199 LONG *plDeletedSnapshots,
200 VSS_ID *pNondeletedSnapshotID);
201
202 HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
203 IVssSoftwareSnapshotProvider *This,
204 VSS_ID SnapshotSetId,
205 VSS_ID SnapshotId,
206 VSS_PWSZ pwszVolumeName,
207 LONG lNewContext);
208
209 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
210 IVssSoftwareSnapshotProvider *This,
211 VSS_PWSZ pwszVolumeName,
212 WINBOOL *pbSupportedByThisProvider);
213
214 HRESULT (STDMETHODCALLTYPE *IsVolumeSnapshotted)(
215 IVssSoftwareSnapshotProvider *This,
216 VSS_PWSZ pwszVolumeName,
217 WINBOOL *pbSnapshotsPresent,
218 LONG *plSnapshotCompatibility);
219
220 HRESULT (STDMETHODCALLTYPE *SetSnapshotProperty)(
221 IVssSoftwareSnapshotProvider *This,
222 VSS_ID SnapshotId,
223 VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
224 VARIANT vProperty);
225
226 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
227 IVssSoftwareSnapshotProvider *This,
228 VSS_ID SnapshotId);
229
230 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
231 IVssSoftwareSnapshotProvider *This,
232 VSS_PWSZ pwszVolume,
233 IVssAsync **ppAsync);
78234
79235 END_INTERFACE
236} IVssSoftwareSnapshotProviderVtbl;
237
238interface IVssSoftwareSnapshotProvider {
239 CONST_VTBL IVssSoftwareSnapshotProviderVtbl* lpVtbl;
80240};
241
81242#ifdef COBJMACROS
82#define IVssHardwareSnapshotProviderEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
83#define IVssHardwareSnapshotProviderEx_AddRef(This) (This)->lpVtbl->AddRef(This)
84#define IVssHardwareSnapshotProviderEx_Release(This) (This)->lpVtbl->Release(This)
85#define IVssHardwareSnapshotProviderEx_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
86#define IVssHardwareSnapshotProviderEx_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
87#define IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
88#define IVssHardwareSnapshotProviderEx_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
89#define IVssHardwareSnapshotProviderEx_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
90#define IVssHardwareSnapshotProviderEx_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
91#define IVssHardwareSnapshotProviderEx_GetProviderCapabilities() (This)->lpVtbl->GetProviderCapabilities(This)
92#define IVssHardwareSnapshotProviderEx_OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags) (This)->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags)
93#define IVssHardwareSnapshotProviderEx_OnReuseLuns() (This)->lpVtbl->OnReuseLuns(This)
94#define IVssHardwareSnapshotProviderEx_ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync) (This)->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync)
95#endif /*COBJMACROS*/
243#ifndef WIDL_C_INLINE_WRAPPERS
244/*** IUnknown methods ***/
245#define IVssSoftwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
246#define IVssSoftwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
247#define IVssSoftwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
248/*** IVssSoftwareSnapshotProvider methods ***/
249#define IVssSoftwareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
250#define IVssSoftwareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
251#define IVssSoftwareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
252#define IVssSoftwareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
253#define IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext)
254#define IVssSoftwareSnapshotProvider_IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider)
255#define IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility)
256#define IVssSoftwareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty)
257#define IVssSoftwareSnapshotProvider_RevertToSnapshot(This,SnapshotId) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId)
258#define IVssSoftwareSnapshotProvider_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
259#else
260/*** IUnknown methods ***/
261static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_QueryInterface(IVssSoftwareSnapshotProvider* This,REFIID riid,void **ppvObject) {
262 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
263}
264static FORCEINLINE ULONG IVssSoftwareSnapshotProvider_AddRef(IVssSoftwareSnapshotProvider* This) {
265 return This->lpVtbl->AddRef(This);
266}
267static FORCEINLINE ULONG IVssSoftwareSnapshotProvider_Release(IVssSoftwareSnapshotProvider* This) {
268 return This->lpVtbl->Release(This);
269}
270/*** IVssSoftwareSnapshotProvider methods ***/
271static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_SetContext(IVssSoftwareSnapshotProvider* This,LONG lContext) {
272 return This->lpVtbl->SetContext(This,lContext);
273}
274static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_GetSnapshotProperties(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
275 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
276}
277static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_Query(IVssSoftwareSnapshotProvider* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
278 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
279}
280static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_DeleteSnapshots(IVssSoftwareSnapshotProvider* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
281 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
282}
283static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszVolumeName,LONG lNewContext) {
284 return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext);
285}
286static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_IsVolumeSupported(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
287 return This->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider);
288}
289static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolumeName,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) {
290 return This->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility);
291}
292static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_SetSnapshotProperty(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) {
293 return This->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty);
294}
295static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_RevertToSnapshot(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId) {
296 return This->lpVtbl->RevertToSnapshot(This,SnapshotId);
297}
298static FORCEINLINE HRESULT IVssSoftwareSnapshotProvider_QueryRevertStatus(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
299 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
300}
301#endif
302#endif
96303
97#undef INTERFACE
98#define INTERFACE IVssProviderCreateSnapshotSet
99#ifdef __GNUC__
100#warning COM interfaces layout in this header has not been verified.
101#warning COM interfaces with incorrect layout may not work at all.
102__MINGW_BROKEN_INTERFACE(INTERFACE)
103304#endif
104DECLARE_INTERFACE_(IVssProviderCreateSnapshotSet,IUnknown)
305
306
307#endif /* __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__ */
308
309/*****************************************************************************
310 * IVssProviderCreateSnapshotSet interface
311 */
312#ifndef __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__
313#define __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__
314
315DEFINE_GUID(IID_IVssProviderCreateSnapshotSet, 0x5f894e5b, 0x1e39, 0x4778, 0x8e,0x23, 0x9a,0xba,0xd9,0xf0,0xe0,0x8c);
316#if defined(__cplusplus) && !defined(CINTERFACE)
317MIDL_INTERFACE("5f894e5b-1e39-4778-8e23-9abad9f0e08c")
318IVssProviderCreateSnapshotSet : public IUnknown
105319{
320 virtual HRESULT STDMETHODCALLTYPE EndPrepareSnapshots(
321 VSS_ID SnapshotSetId) = 0;
322
323 virtual HRESULT STDMETHODCALLTYPE PreCommitSnapshots(
324 VSS_ID SnapshotSetId) = 0;
325
326 virtual HRESULT STDMETHODCALLTYPE CommitSnapshots(
327 VSS_ID SnapshotSetId) = 0;
328
329 virtual HRESULT STDMETHODCALLTYPE PostCommitSnapshots(
330 VSS_ID SnapshotSetId,
331 LONG lSnapshotsCount) = 0;
332
333 virtual HRESULT STDMETHODCALLTYPE PreFinalCommitSnapshots(
334 VSS_ID SnapshotSetId) = 0;
335
336 virtual HRESULT STDMETHODCALLTYPE PostFinalCommitSnapshots(
337 VSS_ID SnapshotSetId) = 0;
338
339 virtual HRESULT STDMETHODCALLTYPE AbortSnapshots(
340 VSS_ID SnapshotSetId) = 0;
341
342};
343#ifdef __CRT_UUID_DECL
344__CRT_UUID_DECL(IVssProviderCreateSnapshotSet, 0x5f894e5b, 0x1e39, 0x4778, 0x8e,0x23, 0x9a,0xba,0xd9,0xf0,0xe0,0x8c)
345#endif
346#else
347typedef struct IVssProviderCreateSnapshotSetVtbl {
106348 BEGIN_INTERFACE
107349
108 /* IUnknown methods */
109 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
110 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
111 STDMETHOD_(ULONG, Release)(THIS) PURE;
350 /*** IUnknown methods ***/
351 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
352 IVssProviderCreateSnapshotSet *This,
353 REFIID riid,
354 void **ppvObject);
112355
113 /* IVssProviderCreateSnapshotSet methods */
114 STDMETHOD_(HRESULT,EndPrepareSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;
115 STDMETHOD_(HRESULT,PreCommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;
116 STDMETHOD_(HRESULT,CommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;
117 STDMETHOD_(HRESULT,PostCommitSnapshots)(THIS_ VSS_ID SnapshotSetId,LONG lSnapshotsCount) PURE;
118 STDMETHOD_(HRESULT,PreFinalCommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;
119 STDMETHOD_(HRESULT,PostFinalCommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;
120 STDMETHOD_(HRESULT,AbortSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;
356 ULONG (STDMETHODCALLTYPE *AddRef)(
357 IVssProviderCreateSnapshotSet *This);
358
359 ULONG (STDMETHODCALLTYPE *Release)(
360 IVssProviderCreateSnapshotSet *This);
361
362 /*** IVssProviderCreateSnapshotSet methods ***/
363 HRESULT (STDMETHODCALLTYPE *EndPrepareSnapshots)(
364 IVssProviderCreateSnapshotSet *This,
365 VSS_ID SnapshotSetId);
366
367 HRESULT (STDMETHODCALLTYPE *PreCommitSnapshots)(
368 IVssProviderCreateSnapshotSet *This,
369 VSS_ID SnapshotSetId);
370
371 HRESULT (STDMETHODCALLTYPE *CommitSnapshots)(
372 IVssProviderCreateSnapshotSet *This,
373 VSS_ID SnapshotSetId);
374
375 HRESULT (STDMETHODCALLTYPE *PostCommitSnapshots)(
376 IVssProviderCreateSnapshotSet *This,
377 VSS_ID SnapshotSetId,
378 LONG lSnapshotsCount);
379
380 HRESULT (STDMETHODCALLTYPE *PreFinalCommitSnapshots)(
381 IVssProviderCreateSnapshotSet *This,
382 VSS_ID SnapshotSetId);
383
384 HRESULT (STDMETHODCALLTYPE *PostFinalCommitSnapshots)(
385 IVssProviderCreateSnapshotSet *This,
386 VSS_ID SnapshotSetId);
387
388 HRESULT (STDMETHODCALLTYPE *AbortSnapshots)(
389 IVssProviderCreateSnapshotSet *This,
390 VSS_ID SnapshotSetId);
121391
122392 END_INTERFACE
393} IVssProviderCreateSnapshotSetVtbl;
394
395interface IVssProviderCreateSnapshotSet {
396 CONST_VTBL IVssProviderCreateSnapshotSetVtbl* lpVtbl;
123397};
398
124399#ifdef COBJMACROS
400#ifndef WIDL_C_INLINE_WRAPPERS
401/*** IUnknown methods ***/
125402#define IVssProviderCreateSnapshotSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
126403#define IVssProviderCreateSnapshotSet_AddRef(This) (This)->lpVtbl->AddRef(This)
127404#define IVssProviderCreateSnapshotSet_Release(This) (This)->lpVtbl->Release(This)
405/*** IVssProviderCreateSnapshotSet methods ***/
128406#define IVssProviderCreateSnapshotSet_EndPrepareSnapshots(This,SnapshotSetId) (This)->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId)
129407#define IVssProviderCreateSnapshotSet_PreCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreCommitSnapshots(This,SnapshotSetId)
130408#define IVssProviderCreateSnapshotSet_CommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->CommitSnapshots(This,SnapshotSetId)
......@@ -132,77 +410,698 @@ DECLARE_INTERFACE_(IVssProviderCreateSnapshotSet,IUnknown)
132410#define IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId)
133411#define IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId)
134412#define IVssProviderCreateSnapshotSet_AbortSnapshots(This,SnapshotSetId) (This)->lpVtbl->AbortSnapshots(This,SnapshotSetId)
135#endif /*COBJMACROS*/
413#else
414/*** IUnknown methods ***/
415static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_QueryInterface(IVssProviderCreateSnapshotSet* This,REFIID riid,void **ppvObject) {
416 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
417}
418static FORCEINLINE ULONG IVssProviderCreateSnapshotSet_AddRef(IVssProviderCreateSnapshotSet* This) {
419 return This->lpVtbl->AddRef(This);
420}
421static FORCEINLINE ULONG IVssProviderCreateSnapshotSet_Release(IVssProviderCreateSnapshotSet* This) {
422 return This->lpVtbl->Release(This);
423}
424/*** IVssProviderCreateSnapshotSet methods ***/
425static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_EndPrepareSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
426 return This->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId);
427}
428static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_PreCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
429 return This->lpVtbl->PreCommitSnapshots(This,SnapshotSetId);
430}
431static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_CommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
432 return This->lpVtbl->CommitSnapshots(This,SnapshotSetId);
433}
434static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_PostCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId,LONG lSnapshotsCount) {
435 return This->lpVtbl->PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount);
436}
437static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
438 return This->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId);
439}
440static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
441 return This->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId);
442}
443static FORCEINLINE HRESULT IVssProviderCreateSnapshotSet_AbortSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
444 return This->lpVtbl->AbortSnapshots(This,SnapshotSetId);
445}
446#endif
447#endif
448
449#endif
450
451
452#endif /* __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__ */
453
454/*****************************************************************************
455 * IVssProviderNotifications interface
456 */
457#ifndef __IVssProviderNotifications_INTERFACE_DEFINED__
458#define __IVssProviderNotifications_INTERFACE_DEFINED__
136459
137#undef INTERFACE
138#define INTERFACE IVssProviderNotifications
139DECLARE_INTERFACE_(IVssProviderNotifications,IUnknown)
460DEFINE_GUID(IID_IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04);
461#if defined(__cplusplus) && !defined(CINTERFACE)
462MIDL_INTERFACE("e561901f-03a5-4afe-86d0-72baeece7004")
463IVssProviderNotifications : public IUnknown
140464{
465 virtual HRESULT STDMETHODCALLTYPE OnLoad(
466 IUnknown *pCallback) = 0;
467
468 virtual HRESULT STDMETHODCALLTYPE OnUnload(
469 WINBOOL bForceUnload) = 0;
470
471};
472#ifdef __CRT_UUID_DECL
473__CRT_UUID_DECL(IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04)
474#endif
475#else
476typedef struct IVssProviderNotificationsVtbl {
141477 BEGIN_INTERFACE
142478
143 /* IUnknown methods */
144 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
145 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
146 STDMETHOD_(ULONG, Release)(THIS) PURE;
479 /*** IUnknown methods ***/
480 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
481 IVssProviderNotifications *This,
482 REFIID riid,
483 void **ppvObject);
147484
148 /* IVssProviderNotifications methods */
149 STDMETHOD_(HRESULT,OnLoad)(THIS_ IUnknown *pCallback) PURE;
150 STDMETHOD_(HRESULT,OnUnload)(THIS_ WINBOOL bForceUnload) PURE;
485 ULONG (STDMETHODCALLTYPE *AddRef)(
486 IVssProviderNotifications *This);
487
488 ULONG (STDMETHODCALLTYPE *Release)(
489 IVssProviderNotifications *This);
490
491 /*** IVssProviderNotifications methods ***/
492 HRESULT (STDMETHODCALLTYPE *OnLoad)(
493 IVssProviderNotifications *This,
494 IUnknown *pCallback);
495
496 HRESULT (STDMETHODCALLTYPE *OnUnload)(
497 IVssProviderNotifications *This,
498 WINBOOL bForceUnload);
151499
152500 END_INTERFACE
501} IVssProviderNotificationsVtbl;
502
503interface IVssProviderNotifications {
504 CONST_VTBL IVssProviderNotificationsVtbl* lpVtbl;
153505};
506
154507#ifdef COBJMACROS
508#ifndef WIDL_C_INLINE_WRAPPERS
509/*** IUnknown methods ***/
155510#define IVssProviderNotifications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
156511#define IVssProviderNotifications_AddRef(This) (This)->lpVtbl->AddRef(This)
157512#define IVssProviderNotifications_Release(This) (This)->lpVtbl->Release(This)
513/*** IVssProviderNotifications methods ***/
158514#define IVssProviderNotifications_OnLoad(This,pCallback) (This)->lpVtbl->OnLoad(This,pCallback)
159515#define IVssProviderNotifications_OnUnload(This,bForceUnload) (This)->lpVtbl->OnUnload(This,bForceUnload)
160#endif /*COBJMACROS*/
516#else
517/*** IUnknown methods ***/
518static FORCEINLINE HRESULT IVssProviderNotifications_QueryInterface(IVssProviderNotifications* This,REFIID riid,void **ppvObject) {
519 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
520}
521static FORCEINLINE ULONG IVssProviderNotifications_AddRef(IVssProviderNotifications* This) {
522 return This->lpVtbl->AddRef(This);
523}
524static FORCEINLINE ULONG IVssProviderNotifications_Release(IVssProviderNotifications* This) {
525 return This->lpVtbl->Release(This);
526}
527/*** IVssProviderNotifications methods ***/
528static FORCEINLINE HRESULT IVssProviderNotifications_OnLoad(IVssProviderNotifications* This,IUnknown *pCallback) {
529 return This->lpVtbl->OnLoad(This,pCallback);
530}
531static FORCEINLINE HRESULT IVssProviderNotifications_OnUnload(IVssProviderNotifications* This,WINBOOL bForceUnload) {
532 return This->lpVtbl->OnUnload(This,bForceUnload);
533}
534#endif
535#endif
161536
162#undef INTERFACE
163#define INTERFACE IVssSoftwareSnapshotProvider
164#ifdef __GNUC__
165#warning COM interfaces layout in this header has not been verified.
166#warning COM interfaces with incorrect layout may not work at all.
167__MINGW_BROKEN_INTERFACE(INTERFACE)
168537#endif
169DECLARE_INTERFACE_(IVssSoftwareSnapshotProvider,IUnknown)
538
539
540#endif /* __IVssProviderNotifications_INTERFACE_DEFINED__ */
541
542/*****************************************************************************
543 * IVssHardwareSnapshotProvider interface
544 */
545#ifndef __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__
546#define __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__
547
548DEFINE_GUID(IID_IVssHardwareSnapshotProvider, 0x9593a157, 0x44e9, 0x4344, 0xbb,0xeb, 0x44,0xfb,0xf9,0xb0,0x6b,0x10);
549#if defined(__cplusplus) && !defined(CINTERFACE)
550MIDL_INTERFACE("9593a157-44e9-4344-bbeb-44fbf9b06b10")
551IVssHardwareSnapshotProvider : public IUnknown
170552{
553 virtual HRESULT STDMETHODCALLTYPE AreLunsSupported(
554 LONG lLunCount,
555 LONG lContext,
556 VSS_PWSZ *rgwszDevices,
557 VDS_LUN_INFORMATION *pLunInformation,
558 WINBOOL *pbIsSupported) = 0;
559
560 virtual HRESULT STDMETHODCALLTYPE FillInLunInfo(
561 VSS_PWSZ wszDeviceName,
562 VDS_LUN_INFORMATION *pLunInfo,
563 WINBOOL *pbIsSupported) = 0;
564
565 virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
566 VSS_ID SnapshotSetId,
567 VSS_ID SnapshotId,
568 LONG lContext,
569 LONG lLunCount,
570 VSS_PWSZ *rgDeviceNames,
571 VDS_LUN_INFORMATION *rgLunInformation) = 0;
572
573 virtual HRESULT STDMETHODCALLTYPE GetTargetLuns(
574 LONG lLunCount,
575 VSS_PWSZ *rgDeviceNames,
576 VDS_LUN_INFORMATION *rgSourceLuns,
577 VDS_LUN_INFORMATION *rgDestinationLuns) = 0;
578
579 virtual HRESULT STDMETHODCALLTYPE LocateLuns(
580 LONG lLunCount,
581 VDS_LUN_INFORMATION *rgSourceLuns) = 0;
582
583 virtual HRESULT STDMETHODCALLTYPE OnLunEmpty(
584 VSS_PWSZ wszDeviceName,
585 VDS_LUN_INFORMATION *pInformation) = 0;
586
587};
588#ifdef __CRT_UUID_DECL
589__CRT_UUID_DECL(IVssHardwareSnapshotProvider, 0x9593a157, 0x44e9, 0x4344, 0xbb,0xeb, 0x44,0xfb,0xf9,0xb0,0x6b,0x10)
590#endif
591#else
592typedef struct IVssHardwareSnapshotProviderVtbl {
171593 BEGIN_INTERFACE
172594
173 /* IUnknown methods */
174 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
175 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
176 STDMETHOD_(ULONG, Release)(THIS) PURE;
177
178 /* IVssSoftwareSnapshotProvider methods */
179 STDMETHOD_(HRESULT,SetContext)(THIS_ LONG lContext) PURE;
180 STDMETHOD_(HRESULT,GetSnapshotProperties)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) PURE;
181 STDMETHOD_(HRESULT,Query)(THIS_ VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) PURE;
182 STDMETHOD_(HRESULT,DeleteSnapshots)(THIS_ VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) PURE;
183 STDMETHOD_(HRESULT,BeginPrepareSnapshot)(THIS_ VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszVolumeName,LONG lNewContext) PURE;
184 STDMETHOD_(HRESULT,IsVolumeSupported)(THIS_ VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) PURE;
185 STDMETHOD_(HRESULT,IsVolumeSnapshotted)(THIS_ VSS_PWSZ pwszVolumeName,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) PURE;
186 STDMETHOD_(HRESULT,SetSnapshotProperty)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) PURE;
187 STDMETHOD_(HRESULT,RevertToSnapshot)(THIS_ VSS_ID SnapshotId) PURE;
188 STDMETHOD_(HRESULT,QueryRevertStatus)(THIS_ VSS_PWSZ pwszVolume,IVssAsync **ppAsync) PURE;
595 /*** IUnknown methods ***/
596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
597 IVssHardwareSnapshotProvider *This,
598 REFIID riid,
599 void **ppvObject);
600
601 ULONG (STDMETHODCALLTYPE *AddRef)(
602 IVssHardwareSnapshotProvider *This);
603
604 ULONG (STDMETHODCALLTYPE *Release)(
605 IVssHardwareSnapshotProvider *This);
606
607 /*** IVssHardwareSnapshotProvider methods ***/
608 HRESULT (STDMETHODCALLTYPE *AreLunsSupported)(
609 IVssHardwareSnapshotProvider *This,
610 LONG lLunCount,
611 LONG lContext,
612 VSS_PWSZ *rgwszDevices,
613 VDS_LUN_INFORMATION *pLunInformation,
614 WINBOOL *pbIsSupported);
615
616 HRESULT (STDMETHODCALLTYPE *FillInLunInfo)(
617 IVssHardwareSnapshotProvider *This,
618 VSS_PWSZ wszDeviceName,
619 VDS_LUN_INFORMATION *pLunInfo,
620 WINBOOL *pbIsSupported);
621
622 HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
623 IVssHardwareSnapshotProvider *This,
624 VSS_ID SnapshotSetId,
625 VSS_ID SnapshotId,
626 LONG lContext,
627 LONG lLunCount,
628 VSS_PWSZ *rgDeviceNames,
629 VDS_LUN_INFORMATION *rgLunInformation);
630
631 HRESULT (STDMETHODCALLTYPE *GetTargetLuns)(
632 IVssHardwareSnapshotProvider *This,
633 LONG lLunCount,
634 VSS_PWSZ *rgDeviceNames,
635 VDS_LUN_INFORMATION *rgSourceLuns,
636 VDS_LUN_INFORMATION *rgDestinationLuns);
637
638 HRESULT (STDMETHODCALLTYPE *LocateLuns)(
639 IVssHardwareSnapshotProvider *This,
640 LONG lLunCount,
641 VDS_LUN_INFORMATION *rgSourceLuns);
642
643 HRESULT (STDMETHODCALLTYPE *OnLunEmpty)(
644 IVssHardwareSnapshotProvider *This,
645 VSS_PWSZ wszDeviceName,
646 VDS_LUN_INFORMATION *pInformation);
189647
190648 END_INTERFACE
649} IVssHardwareSnapshotProviderVtbl;
650
651interface IVssHardwareSnapshotProvider {
652 CONST_VTBL IVssHardwareSnapshotProviderVtbl* lpVtbl;
191653};
654
192655#ifdef COBJMACROS
193#define IVssSoftwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
194#define IVssSoftwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
195#define IVssSoftwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
196#define IVssSoftwareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
197#define IVssSoftwareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
198#define IVssSoftwareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
199#define IVssSoftwareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
200#define IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext)
201#define IVssSoftwareSnapshotProvider_IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider)
202#define IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility)
203#define IVssSoftwareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty)
204#define IVssSoftwareSnapshotProvider_RevertToSnapshot(This,SnapshotId) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId)
205#define IVssSoftwareSnapshotProvider_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
206#endif /*COBJMACROS*/
656#ifndef WIDL_C_INLINE_WRAPPERS
657/*** IUnknown methods ***/
658#define IVssHardwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
659#define IVssHardwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
660#define IVssHardwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
661/*** IVssHardwareSnapshotProvider methods ***/
662#define IVssHardwareSnapshotProvider_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
663#define IVssHardwareSnapshotProvider_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
664#define IVssHardwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
665#define IVssHardwareSnapshotProvider_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
666#define IVssHardwareSnapshotProvider_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
667#define IVssHardwareSnapshotProvider_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
668#else
669/*** IUnknown methods ***/
670static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_QueryInterface(IVssHardwareSnapshotProvider* This,REFIID riid,void **ppvObject) {
671 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
672}
673static FORCEINLINE ULONG IVssHardwareSnapshotProvider_AddRef(IVssHardwareSnapshotProvider* This) {
674 return This->lpVtbl->AddRef(This);
675}
676static FORCEINLINE ULONG IVssHardwareSnapshotProvider_Release(IVssHardwareSnapshotProvider* This) {
677 return This->lpVtbl->Release(This);
678}
679/*** IVssHardwareSnapshotProvider methods ***/
680static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_AreLunsSupported(IVssHardwareSnapshotProvider* This,LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) {
681 return This->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported);
682}
683static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_FillInLunInfo(IVssHardwareSnapshotProvider* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) {
684 return This->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported);
685}
686static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_BeginPrepareSnapshot(IVssHardwareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) {
687 return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation);
688}
689static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_GetTargetLuns(IVssHardwareSnapshotProvider* This,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) {
690 return This->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns);
691}
692static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_LocateLuns(IVssHardwareSnapshotProvider* This,LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) {
693 return This->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns);
694}
695static FORCEINLINE HRESULT IVssHardwareSnapshotProvider_OnLunEmpty(IVssHardwareSnapshotProvider* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) {
696 return This->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation);
697}
698#endif
699#endif
700
701#endif
702
703
704#endif /* __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__ */
705
706/*****************************************************************************
707 * IVssHardwareSnapshotProviderEx interface
708 */
709#ifndef __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__
710#define __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__
711
712DEFINE_GUID(IID_IVssHardwareSnapshotProviderEx, 0x7f5ba925, 0xcdb1, 0x4d11, 0xa7,0x1f, 0x33,0x9e,0xb7,0xe7,0x09,0xfd);
713#if defined(__cplusplus) && !defined(CINTERFACE)
714MIDL_INTERFACE("7f5ba925-cdb1-4d11-a71f-339eb7e709fd")
715IVssHardwareSnapshotProviderEx : public IVssHardwareSnapshotProvider
716{
717 virtual HRESULT STDMETHODCALLTYPE GetProviderCapabilities(
718 ULONGLONG *pllOriginalCapabilityMask) = 0;
719
720 virtual HRESULT STDMETHODCALLTYPE OnLunStateChange(
721 VDS_LUN_INFORMATION *pSnapshotLuns,
722 VDS_LUN_INFORMATION *pOriginalLuns,
723 DWORD dwCount,
724 DWORD dwFlags) = 0;
725
726 virtual HRESULT STDMETHODCALLTYPE ResyncLuns(
727 VDS_LUN_INFORMATION *pSourceLuns,
728 VDS_LUN_INFORMATION *pTargetLuns,
729 DWORD dwCount,
730 IVssAsync **ppAsync) = 0;
731
732 virtual HRESULT STDMETHODCALLTYPE OnReuseLuns(
733 VDS_LUN_INFORMATION *pSnapshotLuns,
734 VDS_LUN_INFORMATION *pOriginalLuns,
735 DWORD dwCount) = 0;
736
737};
738#ifdef __CRT_UUID_DECL
739__CRT_UUID_DECL(IVssHardwareSnapshotProviderEx, 0x7f5ba925, 0xcdb1, 0x4d11, 0xa7,0x1f, 0x33,0x9e,0xb7,0xe7,0x09,0xfd)
740#endif
741#else
742typedef struct IVssHardwareSnapshotProviderExVtbl {
743 BEGIN_INTERFACE
744
745 /*** IUnknown methods ***/
746 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
747 IVssHardwareSnapshotProviderEx *This,
748 REFIID riid,
749 void **ppvObject);
750
751 ULONG (STDMETHODCALLTYPE *AddRef)(
752 IVssHardwareSnapshotProviderEx *This);
753
754 ULONG (STDMETHODCALLTYPE *Release)(
755 IVssHardwareSnapshotProviderEx *This);
756
757 /*** IVssHardwareSnapshotProvider methods ***/
758 HRESULT (STDMETHODCALLTYPE *AreLunsSupported)(
759 IVssHardwareSnapshotProviderEx *This,
760 LONG lLunCount,
761 LONG lContext,
762 VSS_PWSZ *rgwszDevices,
763 VDS_LUN_INFORMATION *pLunInformation,
764 WINBOOL *pbIsSupported);
765
766 HRESULT (STDMETHODCALLTYPE *FillInLunInfo)(
767 IVssHardwareSnapshotProviderEx *This,
768 VSS_PWSZ wszDeviceName,
769 VDS_LUN_INFORMATION *pLunInfo,
770 WINBOOL *pbIsSupported);
771
772 HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
773 IVssHardwareSnapshotProviderEx *This,
774 VSS_ID SnapshotSetId,
775 VSS_ID SnapshotId,
776 LONG lContext,
777 LONG lLunCount,
778 VSS_PWSZ *rgDeviceNames,
779 VDS_LUN_INFORMATION *rgLunInformation);
780
781 HRESULT (STDMETHODCALLTYPE *GetTargetLuns)(
782 IVssHardwareSnapshotProviderEx *This,
783 LONG lLunCount,
784 VSS_PWSZ *rgDeviceNames,
785 VDS_LUN_INFORMATION *rgSourceLuns,
786 VDS_LUN_INFORMATION *rgDestinationLuns);
787
788 HRESULT (STDMETHODCALLTYPE *LocateLuns)(
789 IVssHardwareSnapshotProviderEx *This,
790 LONG lLunCount,
791 VDS_LUN_INFORMATION *rgSourceLuns);
792
793 HRESULT (STDMETHODCALLTYPE *OnLunEmpty)(
794 IVssHardwareSnapshotProviderEx *This,
795 VSS_PWSZ wszDeviceName,
796 VDS_LUN_INFORMATION *pInformation);
797
798 /*** IVssHardwareSnapshotProviderEx methods ***/
799 HRESULT (STDMETHODCALLTYPE *GetProviderCapabilities)(
800 IVssHardwareSnapshotProviderEx *This,
801 ULONGLONG *pllOriginalCapabilityMask);
802
803 HRESULT (STDMETHODCALLTYPE *OnLunStateChange)(
804 IVssHardwareSnapshotProviderEx *This,
805 VDS_LUN_INFORMATION *pSnapshotLuns,
806 VDS_LUN_INFORMATION *pOriginalLuns,
807 DWORD dwCount,
808 DWORD dwFlags);
809
810 HRESULT (STDMETHODCALLTYPE *ResyncLuns)(
811 IVssHardwareSnapshotProviderEx *This,
812 VDS_LUN_INFORMATION *pSourceLuns,
813 VDS_LUN_INFORMATION *pTargetLuns,
814 DWORD dwCount,
815 IVssAsync **ppAsync);
816
817 HRESULT (STDMETHODCALLTYPE *OnReuseLuns)(
818 IVssHardwareSnapshotProviderEx *This,
819 VDS_LUN_INFORMATION *pSnapshotLuns,
820 VDS_LUN_INFORMATION *pOriginalLuns,
821 DWORD dwCount);
822
823 END_INTERFACE
824} IVssHardwareSnapshotProviderExVtbl;
825
826interface IVssHardwareSnapshotProviderEx {
827 CONST_VTBL IVssHardwareSnapshotProviderExVtbl* lpVtbl;
828};
829
830#ifdef COBJMACROS
831#ifndef WIDL_C_INLINE_WRAPPERS
832/*** IUnknown methods ***/
833#define IVssHardwareSnapshotProviderEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
834#define IVssHardwareSnapshotProviderEx_AddRef(This) (This)->lpVtbl->AddRef(This)
835#define IVssHardwareSnapshotProviderEx_Release(This) (This)->lpVtbl->Release(This)
836/*** IVssHardwareSnapshotProvider methods ***/
837#define IVssHardwareSnapshotProviderEx_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
838#define IVssHardwareSnapshotProviderEx_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
839#define IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
840#define IVssHardwareSnapshotProviderEx_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
841#define IVssHardwareSnapshotProviderEx_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
842#define IVssHardwareSnapshotProviderEx_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
843/*** IVssHardwareSnapshotProviderEx methods ***/
844#define IVssHardwareSnapshotProviderEx_GetProviderCapabilities(This,pllOriginalCapabilityMask) (This)->lpVtbl->GetProviderCapabilities(This,pllOriginalCapabilityMask)
845#define IVssHardwareSnapshotProviderEx_OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags) (This)->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags)
846#define IVssHardwareSnapshotProviderEx_ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync) (This)->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync)
847#define IVssHardwareSnapshotProviderEx_OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount) (This)->lpVtbl->OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount)
848#else
849/*** IUnknown methods ***/
850static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_QueryInterface(IVssHardwareSnapshotProviderEx* This,REFIID riid,void **ppvObject) {
851 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
852}
853static FORCEINLINE ULONG IVssHardwareSnapshotProviderEx_AddRef(IVssHardwareSnapshotProviderEx* This) {
854 return This->lpVtbl->AddRef(This);
855}
856static FORCEINLINE ULONG IVssHardwareSnapshotProviderEx_Release(IVssHardwareSnapshotProviderEx* This) {
857 return This->lpVtbl->Release(This);
858}
859/*** IVssHardwareSnapshotProvider methods ***/
860static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_AreLunsSupported(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) {
861 return This->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported);
862}
863static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_FillInLunInfo(IVssHardwareSnapshotProviderEx* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) {
864 return This->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported);
865}
866static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(IVssHardwareSnapshotProviderEx* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) {
867 return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation);
868}
869static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_GetTargetLuns(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) {
870 return This->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns);
871}
872static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_LocateLuns(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) {
873 return This->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns);
874}
875static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_OnLunEmpty(IVssHardwareSnapshotProviderEx* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) {
876 return This->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation);
877}
878/*** IVssHardwareSnapshotProviderEx methods ***/
879static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_GetProviderCapabilities(IVssHardwareSnapshotProviderEx* This,ULONGLONG *pllOriginalCapabilityMask) {
880 return This->lpVtbl->GetProviderCapabilities(This,pllOriginalCapabilityMask);
881}
882static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_OnLunStateChange(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount,DWORD dwFlags) {
883 return This->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags);
884}
885static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_ResyncLuns(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSourceLuns,VDS_LUN_INFORMATION *pTargetLuns,DWORD dwCount,IVssAsync **ppAsync) {
886 return This->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync);
887}
888static FORCEINLINE HRESULT IVssHardwareSnapshotProviderEx_OnReuseLuns(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount) {
889 return This->lpVtbl->OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount);
890}
891#endif
892#endif
893
894#endif
895
896
897#endif /* __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__ */
898
899/*****************************************************************************
900 * IVssFileShareSnapshotProvider interface
901 */
902#ifndef __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__
903#define __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__
904
905DEFINE_GUID(IID_IVssFileShareSnapshotProvider, 0xc8636060, 0x7c2e, 0x11df, 0x8c,0x4a, 0x08,0x00,0x20,0x0c,0x9a,0x66);
906#if defined(__cplusplus) && !defined(CINTERFACE)
907MIDL_INTERFACE("c8636060-7c2e-11df-8c4a-0800200c9a66")
908IVssFileShareSnapshotProvider : public IUnknown
909{
910 virtual HRESULT STDMETHODCALLTYPE SetContext(
911 LONG lContext) = 0;
912
913 virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
914 VSS_ID SnapshotId,
915 VSS_SNAPSHOT_PROP *pProp) = 0;
916
917 virtual HRESULT STDMETHODCALLTYPE Query(
918 VSS_ID QueriedObjectId,
919 VSS_OBJECT_TYPE eQueriedObjectType,
920 VSS_OBJECT_TYPE eReturnedObjectsType,
921 IVssEnumObject **ppEnum) = 0;
922
923 virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots(
924 VSS_ID SourceObjectId,
925 VSS_OBJECT_TYPE eSourceObjectType,
926 WINBOOL bForceDelete,
927 LONG *plDeletedSnapshots,
928 VSS_ID *pNondeletedSnapshotID) = 0;
929
930 virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
931 VSS_ID SnapshotSetId,
932 VSS_ID SnapshotId,
933 VSS_PWSZ pwszSharePath,
934 LONG lNewContext,
935 VSS_ID ProviderId) = 0;
936
937 virtual HRESULT STDMETHODCALLTYPE IsPathSupported(
938 VSS_PWSZ pwszSharePath,
939 WINBOOL *pbSupportedByThisProvider) = 0;
940
941 virtual HRESULT STDMETHODCALLTYPE IsPathSnapshotted(
942 VSS_PWSZ pwszSharePath,
943 WINBOOL *pbSnapshotsPresent,
944 LONG *plSnapshotCompatibility) = 0;
945
946 virtual HRESULT STDMETHODCALLTYPE SetSnapshotProperty(
947 VSS_ID SnapshotId,
948 VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
949 VARIANT vProperty) = 0;
950
951};
952#ifdef __CRT_UUID_DECL
953__CRT_UUID_DECL(IVssFileShareSnapshotProvider, 0xc8636060, 0x7c2e, 0x11df, 0x8c,0x4a, 0x08,0x00,0x20,0x0c,0x9a,0x66)
954#endif
955#else
956typedef struct IVssFileShareSnapshotProviderVtbl {
957 BEGIN_INTERFACE
958
959 /*** IUnknown methods ***/
960 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
961 IVssFileShareSnapshotProvider *This,
962 REFIID riid,
963 void **ppvObject);
964
965 ULONG (STDMETHODCALLTYPE *AddRef)(
966 IVssFileShareSnapshotProvider *This);
967
968 ULONG (STDMETHODCALLTYPE *Release)(
969 IVssFileShareSnapshotProvider *This);
970
971 /*** IVssFileShareSnapshotProvider methods ***/
972 HRESULT (STDMETHODCALLTYPE *SetContext)(
973 IVssFileShareSnapshotProvider *This,
974 LONG lContext);
975
976 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
977 IVssFileShareSnapshotProvider *This,
978 VSS_ID SnapshotId,
979 VSS_SNAPSHOT_PROP *pProp);
980
981 HRESULT (STDMETHODCALLTYPE *Query)(
982 IVssFileShareSnapshotProvider *This,
983 VSS_ID QueriedObjectId,
984 VSS_OBJECT_TYPE eQueriedObjectType,
985 VSS_OBJECT_TYPE eReturnedObjectsType,
986 IVssEnumObject **ppEnum);
987
988 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
989 IVssFileShareSnapshotProvider *This,
990 VSS_ID SourceObjectId,
991 VSS_OBJECT_TYPE eSourceObjectType,
992 WINBOOL bForceDelete,
993 LONG *plDeletedSnapshots,
994 VSS_ID *pNondeletedSnapshotID);
995
996 HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
997 IVssFileShareSnapshotProvider *This,
998 VSS_ID SnapshotSetId,
999 VSS_ID SnapshotId,
1000 VSS_PWSZ pwszSharePath,
1001 LONG lNewContext,
1002 VSS_ID ProviderId);
1003
1004 HRESULT (STDMETHODCALLTYPE *IsPathSupported)(
1005 IVssFileShareSnapshotProvider *This,
1006 VSS_PWSZ pwszSharePath,
1007 WINBOOL *pbSupportedByThisProvider);
1008
1009 HRESULT (STDMETHODCALLTYPE *IsPathSnapshotted)(
1010 IVssFileShareSnapshotProvider *This,
1011 VSS_PWSZ pwszSharePath,
1012 WINBOOL *pbSnapshotsPresent,
1013 LONG *plSnapshotCompatibility);
1014
1015 HRESULT (STDMETHODCALLTYPE *SetSnapshotProperty)(
1016 IVssFileShareSnapshotProvider *This,
1017 VSS_ID SnapshotId,
1018 VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
1019 VARIANT vProperty);
1020
1021 END_INTERFACE
1022} IVssFileShareSnapshotProviderVtbl;
1023
1024interface IVssFileShareSnapshotProvider {
1025 CONST_VTBL IVssFileShareSnapshotProviderVtbl* lpVtbl;
1026};
1027
1028#ifdef COBJMACROS
1029#ifndef WIDL_C_INLINE_WRAPPERS
1030/*** IUnknown methods ***/
1031#define IVssFileShareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1032#define IVssFileShareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
1033#define IVssFileShareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
1034/*** IVssFileShareSnapshotProvider methods ***/
1035#define IVssFileShareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
1036#define IVssFileShareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
1037#define IVssFileShareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
1038#define IVssFileShareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
1039#define IVssFileShareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId)
1040#define IVssFileShareSnapshotProvider_IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider) (This)->lpVtbl->IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider)
1041#define IVssFileShareSnapshotProvider_IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility)
1042#define IVssFileShareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty)
1043#else
1044/*** IUnknown methods ***/
1045static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_QueryInterface(IVssFileShareSnapshotProvider* This,REFIID riid,void **ppvObject) {
1046 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1047}
1048static FORCEINLINE ULONG IVssFileShareSnapshotProvider_AddRef(IVssFileShareSnapshotProvider* This) {
1049 return This->lpVtbl->AddRef(This);
1050}
1051static FORCEINLINE ULONG IVssFileShareSnapshotProvider_Release(IVssFileShareSnapshotProvider* This) {
1052 return This->lpVtbl->Release(This);
1053}
1054/*** IVssFileShareSnapshotProvider methods ***/
1055static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_SetContext(IVssFileShareSnapshotProvider* This,LONG lContext) {
1056 return This->lpVtbl->SetContext(This,lContext);
1057}
1058static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_GetSnapshotProperties(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
1059 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
1060}
1061static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_Query(IVssFileShareSnapshotProvider* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
1062 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
1063}
1064static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_DeleteSnapshots(IVssFileShareSnapshotProvider* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
1065 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
1066}
1067static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_BeginPrepareSnapshot(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszSharePath,LONG lNewContext,VSS_ID ProviderId) {
1068 return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId);
1069}
1070static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_IsPathSupported(IVssFileShareSnapshotProvider* This,VSS_PWSZ pwszSharePath,WINBOOL *pbSupportedByThisProvider) {
1071 return This->lpVtbl->IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider);
1072}
1073static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_IsPathSnapshotted(IVssFileShareSnapshotProvider* This,VSS_PWSZ pwszSharePath,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) {
1074 return This->lpVtbl->IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility);
1075}
1076static FORCEINLINE HRESULT IVssFileShareSnapshotProvider_SetSnapshotProperty(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) {
1077 return This->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty);
1078}
1079#endif
1080#endif
1081
1082#endif
1083
1084
1085#endif /* __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__ */
1086
1087#ifndef __VSSProvider_LIBRARY_DEFINED__
1088#define __VSSProvider_LIBRARY_DEFINED__
1089
1090DEFINE_GUID(LIBID_VSSProvider, 0x73c8b4c1, 0x6e9d, 0x4fc2, 0xb3,0x04, 0x03,0x0e,0xc7,0x63,0xfe,0x81);
1091
1092#endif /* __VSSProvider_LIBRARY_DEFINED__ */
1093#endif /* WINAPI_PARTITION_DESKTOP */
1094/* Begin additional prototypes for all interfaces */
1095
1096ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
1097unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
1098unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
1099void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
1100
1101/* End additional prototypes */
1102
1103#ifdef __cplusplus
1104}
1105#endif
2071106
208#endif /*_INC_VSPROV*/
1107#endif /* __vsprov_h__ */
lib/libc/include/any-windows-any/vss.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/vss.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/vss.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/vswriter.h+2977-602
......@@ -1,348 +1,813 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VSWRITER
7#define _INC_VSWRITER
8
9 typedef enum VSS_COMPONENT_FLAGS {
10 VSS_CF_BACKUP_RECOVERY = 0x00000001,
11 VSS_CF_APP_ROLLBACK_RECOVERY = 0x00000002,
12 VSS_CF_NOT_SYSTEM_STATE = 0x00000004
13 } VSS_COMPONENT_FLAGS;
14
15 /* http://msdn.microsoft.com/en-us/library/aa384976%28v=VS.85%29.aspx */
16 typedef enum VSS_USAGE_TYPE {
17 VSS_UT_UNDEFINED = 0,
18 VSS_UT_BOOTABLESYSTEMSTATE = 1,
19 VSS_UT_SYSTEMSERVICE = 2,
20 VSS_UT_USERDATA = 3,
21 VSS_UT_OTHER = 4
22 } VSS_USAGE_TYPE;
1/*** Autogenerated by WIDL 7.0 from include/vswriter.idl - Do not edit ***/
232
24typedef enum VSS_ALTERNATE_WRITER_STATE {
25 VSS_AWS_UNDEFINED = 0,
26 VSS_AWS_NO_ALTERNATE_WRITER = 1,
27 VSS_AWS_ALTERNATE_WRITER_EXISTS = 2,
28 VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3
29} VSS_ALTERNATE_WRITER_STATE;
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
3010
31typedef enum VSS_COMPONENT_TYPE {
32 VSS_CT_UNDEFINED = 0,
33 VSS_CT_DATABASE = 1,
34 VSS_CT_FILEGROUP = 2
35} VSS_COMPONENT_TYPE;
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
3615
37typedef enum VSS_FILE_RESTORE_STATUS {
38 VSS_RS_UNDEFINED = 0,
39 VSS_RS_NONE = 1,
40 VSS_RS_ALL = 2,
41 VSS_RS_FAILED = 3
42} VSS_FILE_RESTORE_STATUS;
16#ifndef __vswriter_h__
17#define __vswriter_h__
4318
44typedef enum VSS_RESTORE_TARGET {
45 VSS_RT_UNDEFINED = 0,
46 VSS_RT_ORIGINAL = 1,
47 VSS_RT_ALTERNATE = 2,
48 VSS_RT_DIRECTED = 3,
49 VSS_RT_ORIGINAL_LOCATION = 4
50} VSS_RESTORE_TARGET;
19/* Forward declarations */
5120
52typedef enum VSS_RESTOREMETHOD_ENUM {
53 VSS_RME_UNDEFINED = 0,
54 VSS_RME_RESTORE_IF_NOT_THERE = 1,
55 VSS_RME_RESTORE_IF_CAN_REPLACE = 2,
56 VSS_RME_STOP_RESTORE_START = 3,
57 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4,
58 VSS_RME_RESTORE_AT_REBOOT = 5,
59 VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6,
60 VSS_RME_CUSTOM = 7,
61 VSS_RME_RESTORE_STOP_START = 8
62} VSS_RESTOREMETHOD_ENUM;
21#ifndef __IVssWMFiledesc_FWD_DEFINED__
22#define __IVssWMFiledesc_FWD_DEFINED__
23typedef interface IVssWMFiledesc IVssWMFiledesc;
24#ifdef __cplusplus
25interface IVssWMFiledesc;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IVssWMDependency_FWD_DEFINED__
30#define __IVssWMDependency_FWD_DEFINED__
31typedef interface IVssWMDependency IVssWMDependency;
32#ifdef __cplusplus
33interface IVssWMDependency;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IVssComponent_FWD_DEFINED__
38#define __IVssComponent_FWD_DEFINED__
39typedef interface IVssComponent IVssComponent;
40#ifdef __cplusplus
41interface IVssComponent;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IVssWriterComponents_FWD_DEFINED__
46#define __IVssWriterComponents_FWD_DEFINED__
47typedef interface IVssWriterComponents IVssWriterComponents;
48#ifdef __cplusplus
49interface IVssWriterComponents;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IVssComponentEx_FWD_DEFINED__
54#define __IVssComponentEx_FWD_DEFINED__
55typedef interface IVssComponentEx IVssComponentEx;
56#ifdef __cplusplus
57interface IVssComponentEx;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IVssComponentEx2_FWD_DEFINED__
62#define __IVssComponentEx2_FWD_DEFINED__
63typedef interface IVssComponentEx2 IVssComponentEx2;
64#ifdef __cplusplus
65interface IVssComponentEx2;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IVssCreateWriterMetadata_FWD_DEFINED__
70#define __IVssCreateWriterMetadata_FWD_DEFINED__
71typedef interface IVssCreateWriterMetadata IVssCreateWriterMetadata;
72#ifdef __cplusplus
73interface IVssCreateWriterMetadata;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IVssCreateWriterMetadataEx_FWD_DEFINED__
78#define __IVssCreateWriterMetadataEx_FWD_DEFINED__
79typedef interface IVssCreateWriterMetadataEx IVssCreateWriterMetadataEx;
80#ifdef __cplusplus
81interface IVssCreateWriterMetadataEx;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IVssWriterImpl_FWD_DEFINED__
86#define __IVssWriterImpl_FWD_DEFINED__
87typedef interface IVssWriterImpl IVssWriterImpl;
88#ifdef __cplusplus
89interface IVssWriterImpl;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IVssCreateExpressWriterMetadata_FWD_DEFINED__
94#define __IVssCreateExpressWriterMetadata_FWD_DEFINED__
95typedef interface IVssCreateExpressWriterMetadata IVssCreateExpressWriterMetadata;
96#ifdef __cplusplus
97interface IVssCreateExpressWriterMetadata;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IVssExpressWriter_FWD_DEFINED__
102#define __IVssExpressWriter_FWD_DEFINED__
103typedef interface IVssExpressWriter IVssExpressWriter;
104#ifdef __cplusplus
105interface IVssExpressWriter;
106#endif /* __cplusplus */
107#endif
108
109/* Headers for imported files */
110
111#include <oaidl.h>
112#include <ocidl.h>
113#include <vss.h>
114
115#ifdef __cplusplus
116extern "C" {
117#endif
63118
119#include <winapifamily.h>
120#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
121#include "vsserror.h"
122typedef enum VSS_USAGE_TYPE {
123 VSS_UT_UNDEFINED = 0,
124 VSS_UT_BOOTABLESYSTEMSTATE = 1,
125 VSS_UT_SYSTEMSERVICE = 2,
126 VSS_UT_USERDATA = 3,
127 VSS_UT_OTHER = 4
128} VSS_USAGE_TYPE;
64129typedef enum VSS_SOURCE_TYPE {
65 VSS_ST_UNDEFINED = 0,
66 VSS_ST_TRANSACTEDDB = 1,
67 VSS_ST_NONTRANSACTEDDB = 2,
68 VSS_ST_OTHER = 3
130 VSS_ST_UNDEFINED = 0,
131 VSS_ST_TRANSACTEDDB = 1,
132 VSS_ST_NONTRANSACTEDDB = 2,
133 VSS_ST_OTHER = 3
69134} VSS_SOURCE_TYPE;
70
135typedef enum VSS_RESTOREMETHOD_ENUM {
136 VSS_RME_UNDEFINED = 0,
137 VSS_RME_RESTORE_IF_NOT_THERE = 1,
138 VSS_RME_RESTORE_IF_CAN_REPLACE = 2,
139 VSS_RME_STOP_RESTORE_START = 3,
140 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4,
141 VSS_RME_RESTORE_AT_REBOOT = 5,
142 VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6,
143 VSS_RME_CUSTOM = 7,
144 VSS_RME_RESTORE_STOP_START = 8
145} VSS_RESTOREMETHOD_ENUM;
146typedef enum VSS_WRITERRESTORE_ENUM {
147 VSS_WRE_UNDEFINED = 0,
148 VSS_WRE_NEVER = 1,
149 VSS_WRE_IF_REPLACE_FAILS = 2,
150 VSS_WRE_ALWAYS = 3
151} VSS_WRITERRESTORE_ENUM;
152typedef enum VSS_COMPONENT_TYPE {
153 VSS_CT_UNDEFINED = 0,
154 VSS_CT_DATABASE = 1,
155 VSS_CT_FILEGROUP = 2
156} VSS_COMPONENT_TYPE;
157typedef enum VSS_ALTERNATE_WRITER_STATE {
158 VSS_AWS_UNDEFINED = 0,
159 VSS_AWS_NO_ALTERNATE_WRITER = 1,
160 VSS_AWS_ALTERNATE_WRITER_EXISTS = 2,
161 VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3
162} VSS_ALTERNATE_WRITER_STATE;
71163typedef enum VSS_SUBSCRIBE_MASK {
72 VSS_SM_POST_SNAPSHOT_FLAG = 0x00000001,
73 VSS_SM_BACKUP_EVENTS_FLAG = 0x00000002,
74 VSS_SM_RESTORE_EVENTS_FLAG = 0x00000004,
75 VSS_SM_IO_THROTTLING_FLAG = 0x00000008,
76 VSS_SM_ALL_FLAGS = 0xffffffff
164 VSS_SM_POST_SNAPSHOT_FLAG = 0x1,
165 VSS_SM_BACKUP_EVENTS_FLAG = 0x2,
166 VSS_SM_RESTORE_EVENTS_FLAG = 0x4,
167 VSS_SM_IO_THROTTLING_FLAG = 0x8,
168 VSS_SM_ALL_FLAGS = 0xffffffff
77169} VSS_SUBSCRIBE_MASK;
170typedef enum VSS_RESTORE_TARGET {
171 VSS_RT_UNDEFINED = 0,
172 VSS_RT_ORIGINAL = 1,
173 VSS_RT_ALTERNATE = 2,
174 VSS_RT_DIRECTED = 3,
175 VSS_RT_ORIGINAL_LOCATION = 4
176} VSS_RESTORE_TARGET;
177typedef enum VSS_FILE_RESTORE_STATUS {
178 VSS_RS_UNDEFINED = 0,
179 VSS_RS_NONE = 1,
180 VSS_RS_ALL = 2,
181 VSS_RS_FAILED = 3
182} VSS_FILE_RESTORE_STATUS;
183typedef enum VSS_COMPONENT_FLAGS {
184 VSS_CF_BACKUP_RECOVERY = 0x1,
185 VSS_CF_APP_ROLLBACK_RECOVERY = 0x2,
186 VSS_CF_NOT_SYSTEM_STATE = 0x4
187} VSS_COMPONENT_FLAGS;
188#ifndef __IVssExamineWriterMetadata_FWD_DEFINED__
189#define __IVssExamineWriterMetadata_FWD_DEFINED__
190typedef interface IVssExamineWriterMetadata IVssExamineWriterMetadata;
191#ifdef __cplusplus
192interface IVssExamineWriterMetadata;
193#endif /* __cplusplus */
194#endif
78195
79typedef enum VSS_WRITERRESTORE_ENUM {
80 VSS_WRE_UNDEFINED = 0,
81 VSS_WRE_NEVER = 1,
82 VSS_WRE_IF_REPLACE_FAILS = 2,
83 VSS_WRE_ALWAYS = 3
84} VSS_WRITERRESTORE_ENUM;
196/*****************************************************************************
197 * IVssWMFiledesc interface
198 */
199#ifndef __IVssWMFiledesc_INTERFACE_DEFINED__
200#define __IVssWMFiledesc_INTERFACE_DEFINED__
85201
86#include <vss.h>
202DEFINE_GUID(IID_IVssWMFiledesc, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
203#if defined(__cplusplus) && !defined(CINTERFACE)
204MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
205IVssWMFiledesc : public IUnknown
206{
207 virtual HRESULT STDMETHODCALLTYPE GetPath(
208 BSTR *pbstrPath) = 0;
87209
88#if (_WIN32_WINNT >= 0x601)
89HRESULT WINAPI CreateVssExpressWriterInternal(
90 IVssExpressWriter **ppWriter
91);
210 virtual HRESULT STDMETHODCALLTYPE GetFilespec(
211 BSTR *pbstrFilespec) = 0;
92212
93FORCEINLINE
94HRESULT WINAPI CreateVssExpressWriter(
95 IVssExpressWriter **ppWriter
96){return CreateVssExpressWriterInternal(ppWriter);}
213 virtual HRESULT STDMETHODCALLTYPE GetRecursive(
214 boolean *pbRecursive) = 0;
97215
98#undef INTERFACE
99#define INTERFACE IVssCreateExpressWriterMetadata
100#ifdef __GNUC__
101#warning COM interfaces layout in this header has not been verified.
102#warning COM interfaces with incorrect layout may not work at all.
103__MINGW_BROKEN_INTERFACE(INTERFACE)
216 virtual HRESULT STDMETHODCALLTYPE GetAlternateLocation(
217 BSTR *pbstrAlternateLocation) = 0;
218
219 virtual HRESULT STDMETHODCALLTYPE GetBackupTypeMask(
220 DWORD *pdwTypeMask) = 0;
221
222};
223#ifdef __CRT_UUID_DECL
224__CRT_UUID_DECL(IVssWMFiledesc, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
104225#endif
105DECLARE_INTERFACE_(IVssCreateExpressWriterMetadata,IUnknown)
106{
226#else
227typedef struct IVssWMFiledescVtbl {
107228 BEGIN_INTERFACE
108229
109 /* IUnknown methods */
110 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
111 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
112 STDMETHOD_(ULONG, Release)(THIS) PURE;
230 /*** IUnknown methods ***/
231 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
232 IVssWMFiledesc *This,
233 REFIID riid,
234 void **ppvObject);
235
236 ULONG (STDMETHODCALLTYPE *AddRef)(
237 IVssWMFiledesc *This);
238
239 ULONG (STDMETHODCALLTYPE *Release)(
240 IVssWMFiledesc *This);
241
242 /*** IVssWMFiledesc methods ***/
243 HRESULT (STDMETHODCALLTYPE *GetPath)(
244 IVssWMFiledesc *This,
245 BSTR *pbstrPath);
246
247 HRESULT (STDMETHODCALLTYPE *GetFilespec)(
248 IVssWMFiledesc *This,
249 BSTR *pbstrFilespec);
113250
114 /* IVssCreateExpressWriterMetadata methods */
115 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,BOOLEAN bRestoreMetadata,BOOLEAN bNotifyOnBackupComplete,BOOLEAN bSelectable,BOOLEAN bSelectableForRestore,DWORD dwComponentFlags) PURE;
116 STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;
117 STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
118 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
119 STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;
120 STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;
251 HRESULT (STDMETHODCALLTYPE *GetRecursive)(
252 IVssWMFiledesc *This,
253 boolean *pbRecursive);
254
255 HRESULT (STDMETHODCALLTYPE *GetAlternateLocation)(
256 IVssWMFiledesc *This,
257 BSTR *pbstrAlternateLocation);
258
259 HRESULT (STDMETHODCALLTYPE *GetBackupTypeMask)(
260 IVssWMFiledesc *This,
261 DWORD *pdwTypeMask);
121262
122263 END_INTERFACE
264} IVssWMFiledescVtbl;
265
266interface IVssWMFiledesc {
267 CONST_VTBL IVssWMFiledescVtbl* lpVtbl;
123268};
269
124270#ifdef COBJMACROS
125#define IVssCreateExpressWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
126#define IVssCreateExpressWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This)
127#define IVssCreateExpressWriterMetadata_Release(This) (This)->lpVtbl->Release(This)
128#define IVssCreateExpressWriterMetadata_AddComponent(This,componentType,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,componentType,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags)
129#define IVssCreateExpressWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)
130#define IVssCreateExpressWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
131#define IVssCreateExpressWriterMetadata_SetBackupSchema(This,dsSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dsSchemaMask)
132#define IVssCreateExpressWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,wreWriterRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,wreWriterRestore,bRebootRequired)
133#endif /*COBJMACROS*/
271#ifndef WIDL_C_INLINE_WRAPPERS
272/*** IUnknown methods ***/
273#define IVssWMFiledesc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
274#define IVssWMFiledesc_AddRef(This) (This)->lpVtbl->AddRef(This)
275#define IVssWMFiledesc_Release(This) (This)->lpVtbl->Release(This)
276/*** IVssWMFiledesc methods ***/
277#define IVssWMFiledesc_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath)
278#define IVssWMFiledesc_GetFilespec(This,pbstrFilespec) (This)->lpVtbl->GetFilespec(This,pbstrFilespec)
279#define IVssWMFiledesc_GetRecursive(This,pbRecursive) (This)->lpVtbl->GetRecursive(This,pbRecursive)
280#define IVssWMFiledesc_GetAlternateLocation(This,pbstrAlternateLocation) (This)->lpVtbl->GetAlternateLocation(This,pbstrAlternateLocation)
281#define IVssWMFiledesc_GetBackupTypeMask(This,pdwTypeMask) (This)->lpVtbl->GetBackupTypeMask(This,pdwTypeMask)
282#else
283/*** IUnknown methods ***/
284static FORCEINLINE HRESULT IVssWMFiledesc_QueryInterface(IVssWMFiledesc* This,REFIID riid,void **ppvObject) {
285 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
286}
287static FORCEINLINE ULONG IVssWMFiledesc_AddRef(IVssWMFiledesc* This) {
288 return This->lpVtbl->AddRef(This);
289}
290static FORCEINLINE ULONG IVssWMFiledesc_Release(IVssWMFiledesc* This) {
291 return This->lpVtbl->Release(This);
292}
293/*** IVssWMFiledesc methods ***/
294static FORCEINLINE HRESULT IVssWMFiledesc_GetPath(IVssWMFiledesc* This,BSTR *pbstrPath) {
295 return This->lpVtbl->GetPath(This,pbstrPath);
296}
297static FORCEINLINE HRESULT IVssWMFiledesc_GetFilespec(IVssWMFiledesc* This,BSTR *pbstrFilespec) {
298 return This->lpVtbl->GetFilespec(This,pbstrFilespec);
299}
300static FORCEINLINE HRESULT IVssWMFiledesc_GetRecursive(IVssWMFiledesc* This,boolean *pbRecursive) {
301 return This->lpVtbl->GetRecursive(This,pbRecursive);
302}
303static FORCEINLINE HRESULT IVssWMFiledesc_GetAlternateLocation(IVssWMFiledesc* This,BSTR *pbstrAlternateLocation) {
304 return This->lpVtbl->GetAlternateLocation(This,pbstrAlternateLocation);
305}
306static FORCEINLINE HRESULT IVssWMFiledesc_GetBackupTypeMask(IVssWMFiledesc* This,DWORD *pdwTypeMask) {
307 return This->lpVtbl->GetBackupTypeMask(This,pdwTypeMask);
308}
309#endif
310#endif
134311
135#endif /*(_WIN32_WINNT >= 0x601)*/
312#endif
136313
137#ifdef __cplusplus
138/* Is a C++ interface instead of a COM */
139#undef INTERFACE
140#define INTERFACE IVssCreateWriterMetadata
141#ifdef __GNUC__
142#warning COM interfaces layout in this header has not been verified.
143#warning COM interfaces with incorrect layout may not work at all.
144__MINGW_BROKEN_INTERFACE(INTERFACE)
145#endif
146DECLARE_INTERFACE_(IVssCreateWriterMetadata,IUnknown)
147{
148 BEGIN_INTERFACE
149314
150 /* IUnknown methods */
151 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
152 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
153 STDMETHOD_(ULONG, Release)(THIS) PURE;
154
155 /* IVssCreateWriterMetadata methods */
156 STDMETHOD_(HRESULT,AddAlternateLocationMapping)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
157 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,BOOLEAN bRestoreMetadata,BOOLEAN bNotifyOnBackupComplete,BOOLEAN bSelectable,BOOLEAN bSelectableForRestore,DWORD dwComponentFlags) PURE;
158 STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;
159 STDMETHOD_(HRESULT,AddDatabaseFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
160 STDMETHOD_(HRESULT,AddDatabaseLogFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
161 STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
162 STDMETHOD_(HRESULT,AddFilesToFileGroup)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszAlternatePath,DWORD dwBackupTypeMask) PURE;
163 STDMETHOD_(HRESULT,AddIncludeFiles)(THIS) PURE;
164 STDMETHOD_(HRESULT,GetDocument)(THIS) PURE;
165 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
166 STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;
167 STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;
315#endif /* __IVssWMFiledesc_INTERFACE_DEFINED__ */
168316
169 END_INTERFACE
170};
317/*****************************************************************************
318 * IVssWMDependency interface
319 */
320#ifndef __IVssWMDependency_INTERFACE_DEFINED__
321#define __IVssWMDependency_INTERFACE_DEFINED__
171322
172#if (_WIN32_WINNT >= 0x600)
173#undef INTERFACE
174#define INTERFACE IVssCreateWriterMetadataEx
175DECLARE_INTERFACE_(IVssCreateWriterMetadataEx,IVssCreateWriterMetadata)
323DEFINE_GUID(IID_IVssWMDependency, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
324#if defined(__cplusplus) && !defined(CINTERFACE)
325MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
326IVssWMDependency : public IUnknown
176327{
177 BEGIN_INTERFACE
328 virtual HRESULT STDMETHODCALLTYPE GetWriterId(
329 VSS_ID *pWriterId) = 0;
178330
179 /* IUnknown methods */
180 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
181 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
182 STDMETHOD_(ULONG, Release)(THIS) PURE;
183
184 /* IVssCreateWriterMetadata methods */
185 STDMETHOD_(HRESULT,AddAlternateLocationMapping)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
186 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,BOOLEAN bRestoreMetadata,BOOLEAN bNotifyOnBackupComplete,BOOLEAN bSelectable,BOOLEAN bSelectableForRestore,DWORD dwComponentFlags) PURE;
187 STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;
188 STDMETHOD_(HRESULT,AddDatabaseFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
189 STDMETHOD_(HRESULT,AddDatabaseLogFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
190 STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
191 STDMETHOD_(HRESULT,AddFilesToFileGroup)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszAlternatePath,DWORD dwBackupTypeMask) PURE;
192 STDMETHOD_(HRESULT,AddIncludeFiles)(THIS) PURE; /*Not supported*/
193 STDMETHOD_(HRESULT,GetDocument)(THIS) PURE; /*Not supported*/
194 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
195 STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;
196 STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;
197
198 /* IVssCreateWriterMetadataEx methods */
199 STDMETHOD_(HRESULT,AddExcludeFilesFromSnapshot)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
331 virtual HRESULT STDMETHODCALLTYPE GetLogicalPath(
332 BSTR *pbstrLogicalPath) = 0;
333
334 virtual HRESULT STDMETHODCALLTYPE GetComponentName(
335 BSTR *pbstrComponentName) = 0;
200336
201 END_INTERFACE
202337};
203#endif /*(_WIN32_WINNT >= 0x600)*/
204#endif /*__cplusplus*/
205
206#if (_WIN32_WINNT >= 0x601)
207#undef INTERFACE
208#define INTERFACE IVssExpressWriter
209#ifdef __GNUC__
210#warning COM interfaces layout in this header has not been verified.
211#warning COM interfaces with incorrect layout may not work at all.
212__MINGW_BROKEN_INTERFACE(INTERFACE)
213#endif
214DECLARE_INTERFACE_(IVssExpressWriter,IUnknown)
215{
338#ifdef __CRT_UUID_DECL
339__CRT_UUID_DECL(IVssWMDependency, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
340#endif
341#else
342typedef struct IVssWMDependencyVtbl {
216343 BEGIN_INTERFACE
217344
218 /* IUnknown methods */
219 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
220 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
221 STDMETHOD_(ULONG, Release)(THIS) PURE;
345 /*** IUnknown methods ***/
346 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
347 IVssWMDependency *This,
348 REFIID riid,
349 void **ppvObject);
350
351 ULONG (STDMETHODCALLTYPE *AddRef)(
352 IVssWMDependency *This);
222353
223 /* IVssExpressWriter methods */
224 STDMETHOD_(HRESULT,CreateMetadata)(THIS_ VSS_ID writerId,LPCWSTR writerName,VSS_USAGE_TYPE usageType,DWORD versionMajor,DWORD versionMinor,DWORD reserved,IVssCreateWriterMetadataEx **ppMetadata) PURE;
225 STDMETHOD_(HRESULT,Load)(THIS_ LPCWSTR metadata,DWORD reserved) PURE;
226 STDMETHOD_(HRESULT,Register)(THIS) PURE;
227 STDMETHOD_(HRESULT,Unregister)(THIS_ VSS_ID writerId) PURE;
354 ULONG (STDMETHODCALLTYPE *Release)(
355 IVssWMDependency *This);
356
357 /*** IVssWMDependency methods ***/
358 HRESULT (STDMETHODCALLTYPE *GetWriterId)(
359 IVssWMDependency *This,
360 VSS_ID *pWriterId);
361
362 HRESULT (STDMETHODCALLTYPE *GetLogicalPath)(
363 IVssWMDependency *This,
364 BSTR *pbstrLogicalPath);
365
366 HRESULT (STDMETHODCALLTYPE *GetComponentName)(
367 IVssWMDependency *This,
368 BSTR *pbstrComponentName);
228369
229370 END_INTERFACE
371} IVssWMDependencyVtbl;
372
373interface IVssWMDependency {
374 CONST_VTBL IVssWMDependencyVtbl* lpVtbl;
230375};
376
231377#ifdef COBJMACROS
232#define IVssExpressWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
233#define IVssExpressWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
234#define IVssExpressWriter_Release(This) (This)->lpVtbl->Release(This)
235#define IVssExpressWriter_CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata) (This)->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata)
236#define IVssExpressWriter_Load(This,metadata,reserved) (This)->lpVtbl->Load(This,metadata,reserved)
237#define IVssExpressWriter_Register() (This)->lpVtbl->Register(This)
238#define IVssExpressWriter_Unregister(This,writerId) (This)->lpVtbl->Unregister(This,writerId)
239#endif /*COBJMACROS*/
240#endif /*(_WIN32_WINNT >= 0x601)*/
378#ifndef WIDL_C_INLINE_WRAPPERS
379/*** IUnknown methods ***/
380#define IVssWMDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
381#define IVssWMDependency_AddRef(This) (This)->lpVtbl->AddRef(This)
382#define IVssWMDependency_Release(This) (This)->lpVtbl->Release(This)
383/*** IVssWMDependency methods ***/
384#define IVssWMDependency_GetWriterId(This,pWriterId) (This)->lpVtbl->GetWriterId(This,pWriterId)
385#define IVssWMDependency_GetLogicalPath(This,pbstrLogicalPath) (This)->lpVtbl->GetLogicalPath(This,pbstrLogicalPath)
386#define IVssWMDependency_GetComponentName(This,pbstrComponentName) (This)->lpVtbl->GetComponentName(This,pbstrComponentName)
387#else
388/*** IUnknown methods ***/
389static FORCEINLINE HRESULT IVssWMDependency_QueryInterface(IVssWMDependency* This,REFIID riid,void **ppvObject) {
390 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
391}
392static FORCEINLINE ULONG IVssWMDependency_AddRef(IVssWMDependency* This) {
393 return This->lpVtbl->AddRef(This);
394}
395static FORCEINLINE ULONG IVssWMDependency_Release(IVssWMDependency* This) {
396 return This->lpVtbl->Release(This);
397}
398/*** IVssWMDependency methods ***/
399static FORCEINLINE HRESULT IVssWMDependency_GetWriterId(IVssWMDependency* This,VSS_ID *pWriterId) {
400 return This->lpVtbl->GetWriterId(This,pWriterId);
401}
402static FORCEINLINE HRESULT IVssWMDependency_GetLogicalPath(IVssWMDependency* This,BSTR *pbstrLogicalPath) {
403 return This->lpVtbl->GetLogicalPath(This,pbstrLogicalPath);
404}
405static FORCEINLINE HRESULT IVssWMDependency_GetComponentName(IVssWMDependency* This,BSTR *pbstrComponentName) {
406 return This->lpVtbl->GetComponentName(This,pbstrComponentName);
407}
408#endif
409#endif
241410
242#ifdef __cplusplus
243/* Is a C++ interface instead of a COM */
244#undef INTERFACE
245#define INTERFACE IVssWriterComponents
246#ifdef __GNUC__
247#warning COM interfaces layout in this header has not been verified.
248#warning COM interfaces with incorrect layout may not work at all.
249__MINGW_BROKEN_INTERFACE(INTERFACE)
250#endif
251DECLARE_INTERFACE_(IVssWriterComponents,IUnknown)
411#endif
412
413
414#endif /* __IVssWMDependency_INTERFACE_DEFINED__ */
415
416/*****************************************************************************
417 * IVssComponent interface
418 */
419#ifndef __IVssComponent_INTERFACE_DEFINED__
420#define __IVssComponent_INTERFACE_DEFINED__
421
422DEFINE_GUID(IID_IVssComponent, 0xd2c72c96, 0xc121, 0x4518, 0xb6,0x27, 0xe5,0xa9,0x3d,0x01,0x0e,0xad);
423#if defined(__cplusplus) && !defined(CINTERFACE)
424MIDL_INTERFACE("d2c72c96-c121-4518-b627-e5a93d010ead")
425IVssComponent : public IUnknown
252426{
253 BEGIN_INTERFACE
427 virtual HRESULT STDMETHODCALLTYPE GetLogicalPath(
428 BSTR *pbstrPath) = 0;
254429
255 /* IUnknown methods */
256 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
257 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
258 STDMETHOD_(ULONG, Release)(THIS) PURE;
430 virtual HRESULT STDMETHODCALLTYPE GetComponentType(
431 VSS_COMPONENT_TYPE *pct) = 0;
259432
260 /* IVssWriterComponents methods */
261 STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssComponent **ppComponent) PURE;
262 STDMETHOD_(HRESULT,GetComponentCount)(THIS_ UINT *pcComponents) PURE;
263 STDMETHOD_(HRESULT,GetWriterInfo)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter) PURE;
433 virtual HRESULT STDMETHODCALLTYPE GetComponentName(
434 BSTR *pbstrName) = 0;
264435
265 END_INTERFACE
266};
267#endif /*__cplusplus*/
436 virtual HRESULT STDMETHODCALLTYPE GetBackupSucceeded(
437 boolean *pbSucceeded) = 0;
438
439 virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMappingCount(
440 UINT *pcMappings) = 0;
441
442 virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMapping(
443 UINT iMapping,
444 IVssWMFiledesc **ppFiledesc) = 0;
268445
269#undef INTERFACE
270#define INTERFACE IVssComponent
271#ifdef __GNUC__
272#warning COM interfaces layout in this header has not been verified.
273#warning COM interfaces with incorrect layout may not work at all.
274__MINGW_BROKEN_INTERFACE(INTERFACE)
446 virtual HRESULT STDMETHODCALLTYPE SetBackupMetadata(
447 LPCWSTR wszData) = 0;
448
449 virtual HRESULT STDMETHODCALLTYPE GetBackupMetadata(
450 BSTR *pbstrData) = 0;
451
452 virtual HRESULT STDMETHODCALLTYPE AddPartialFile(
453 LPCWSTR wszPath,
454 LPCWSTR wszFilename,
455 LPCWSTR wszRanges,
456 LPCWSTR wszMetadata) = 0;
457
458 virtual HRESULT STDMETHODCALLTYPE GetPartialFileCount(
459 UINT *pcPartialFiles) = 0;
460
461 virtual HRESULT STDMETHODCALLTYPE GetPartialFile(
462 UINT iPartialFile,
463 BSTR *pbstrPath,
464 BSTR *pbstrFilename,
465 BSTR *pbstrRange,
466 BSTR *pbstrMetadata) = 0;
467
468 virtual HRESULT STDMETHODCALLTYPE IsSelectedForRestore(
469 boolean *pbSelectedForRestore) = 0;
470
471 virtual HRESULT STDMETHODCALLTYPE GetAdditionalRestores(
472 boolean *pbAdditionalRestores) = 0;
473
474 virtual HRESULT STDMETHODCALLTYPE GetNewTargetCount(
475 UINT *pcNewTarget) = 0;
476
477 virtual HRESULT STDMETHODCALLTYPE GetNewTarget(
478 UINT iNewTarget,
479 IVssWMFiledesc **ppFiledesc) = 0;
480
481 virtual HRESULT STDMETHODCALLTYPE AddDirectedTarget(
482 LPCWSTR wszSourcePath,
483 LPCWSTR wszSourceFilename,
484 LPCWSTR wszSourceRangeList,
485 LPCWSTR wszDestinationPath,
486 LPCWSTR wszDestinationFilename,
487 LPCWSTR wszDestinationRangeList) = 0;
488
489 virtual HRESULT STDMETHODCALLTYPE GetDirectedTargetCount(
490 UINT *pcDirectedTarget) = 0;
491
492 virtual HRESULT STDMETHODCALLTYPE GetDirectedTarget(
493 UINT iDirectedTarget,
494 BSTR *pbstrSourcePath,
495 BSTR *pbstrSourceFileName,
496 BSTR *pbstrSourceRangeList,
497 BSTR *pbstrDestinationPath,
498 BSTR *pbstrDestinationFilename,
499 BSTR *pbstrDestinationRangeList) = 0;
500
501 virtual HRESULT STDMETHODCALLTYPE SetRestoreMetadata(
502 LPCWSTR wszRestoreMetadata) = 0;
503
504 virtual HRESULT STDMETHODCALLTYPE GetRestoreMetadata(
505 BSTR *pbstrRestoreMetadata) = 0;
506
507 virtual HRESULT STDMETHODCALLTYPE SetRestoreTarget(
508 VSS_RESTORE_TARGET target) = 0;
509
510 virtual HRESULT STDMETHODCALLTYPE GetRestoreTarget(
511 VSS_RESTORE_TARGET *pTarget) = 0;
512
513 virtual HRESULT STDMETHODCALLTYPE SetPreRestoreFailureMsg(
514 LPCWSTR wszPreRestoreFailureMsg) = 0;
515
516 virtual HRESULT STDMETHODCALLTYPE GetPreRestoreFailureMsg(
517 BSTR *pbstrPreRestoreFailureMsg) = 0;
518
519 virtual HRESULT STDMETHODCALLTYPE SetPostRestoreFailureMsg(
520 LPCWSTR wszPostRestoreFailureMsg) = 0;
521
522 virtual HRESULT STDMETHODCALLTYPE GetPostRestoreFailureMsg(
523 BSTR *pbstrPostRestoreFailureMsg) = 0;
524
525 virtual HRESULT STDMETHODCALLTYPE SetBackupStamp(
526 LPCWSTR wszBackupStamp) = 0;
527
528 virtual HRESULT STDMETHODCALLTYPE GetBackupStamp(
529 BSTR *pbstrBackupStamp) = 0;
530
531 virtual HRESULT STDMETHODCALLTYPE GetPreviousBackupStamp(
532 BSTR *pbstrBackupStamp) = 0;
533
534 virtual HRESULT STDMETHODCALLTYPE GetBackupOptions(
535 BSTR *pbstrBackupOptions) = 0;
536
537 virtual HRESULT STDMETHODCALLTYPE GetRestoreOptions(
538 BSTR *pbstrRestoreOptions) = 0;
539
540 virtual HRESULT STDMETHODCALLTYPE GetRestoreSubcomponentCount(
541 UINT *pcRestoreSubcomponent) = 0;
542
543 virtual HRESULT STDMETHODCALLTYPE GetRestoreSubcomponent(
544 UINT iComponent,
545 BSTR *pbstrLogicalPath,
546 BSTR *pbstrComponentName,
547 boolean *pbRepair) = 0;
548
549 virtual HRESULT STDMETHODCALLTYPE GetFileRestoreStatus(
550 VSS_FILE_RESTORE_STATUS *pStatus) = 0;
551
552 virtual HRESULT STDMETHODCALLTYPE AddDifferencedFilesByLastModifyTime(
553 LPCWSTR wszPath,
554 LPCWSTR wszFilespec,
555 WINBOOL bRecursive,
556 FILETIME ftLastModifyTime) = 0;
557
558 virtual HRESULT STDMETHODCALLTYPE AddDifferencedFilesByLastModifyLSN(
559 LPCWSTR wszPath,
560 LPCWSTR wszFilespec,
561 WINBOOL bRecursive,
562 BSTR bstrLsnString) = 0;
563
564 virtual HRESULT STDMETHODCALLTYPE GetDifferencedFilesCount(
565 UINT *pcDifferencedFiles) = 0;
566
567 virtual HRESULT STDMETHODCALLTYPE GetDifferencedFile(
568 UINT iDifferencedFile,
569 BSTR *pbstrPath,
570 BSTR *pbstrFilespec,
571 WINBOOL *pbRecursive,
572 BSTR *pbstrLsnString,
573 FILETIME *pftLastModifyTime) = 0;
574
575};
576#ifdef __CRT_UUID_DECL
577__CRT_UUID_DECL(IVssComponent, 0xd2c72c96, 0xc121, 0x4518, 0xb6,0x27, 0xe5,0xa9,0x3d,0x01,0x0e,0xad)
275578#endif
276DECLARE_INTERFACE_(IVssComponent,IUnknown)
277{
579#else
580typedef struct IVssComponentVtbl {
278581 BEGIN_INTERFACE
279582
280 /* IUnknown methods */
281 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
282 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
283 STDMETHOD_(ULONG, Release)(THIS) PURE;
284
285 /* IVssComponent methods */
286 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;
287 STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;
288 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;
289 STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;
290 STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;
291 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;
292 STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;
293 STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;
294 STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;
295 STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;
296 STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;
297 STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;
298 STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;
299 STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;
300 STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;
301 STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;
302 STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;
303 STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;
304 STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;
305 STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;
306 STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;
307 STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;
308 STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;
309 STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;
310 STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;
311 STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;
312 STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;
313 STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
314 STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
315 STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;
316 STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;
317 STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;
318 STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;
319 STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;
320 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;
321 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;
322 STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;
323 STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;
583 /*** IUnknown methods ***/
584 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
585 IVssComponent *This,
586 REFIID riid,
587 void **ppvObject);
588
589 ULONG (STDMETHODCALLTYPE *AddRef)(
590 IVssComponent *This);
591
592 ULONG (STDMETHODCALLTYPE *Release)(
593 IVssComponent *This);
594
595 /*** IVssComponent methods ***/
596 HRESULT (STDMETHODCALLTYPE *GetLogicalPath)(
597 IVssComponent *This,
598 BSTR *pbstrPath);
599
600 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
601 IVssComponent *This,
602 VSS_COMPONENT_TYPE *pct);
603
604 HRESULT (STDMETHODCALLTYPE *GetComponentName)(
605 IVssComponent *This,
606 BSTR *pbstrName);
607
608 HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)(
609 IVssComponent *This,
610 boolean *pbSucceeded);
611
612 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)(
613 IVssComponent *This,
614 UINT *pcMappings);
615
616 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
617 IVssComponent *This,
618 UINT iMapping,
619 IVssWMFiledesc **ppFiledesc);
620
621 HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)(
622 IVssComponent *This,
623 LPCWSTR wszData);
624
625 HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)(
626 IVssComponent *This,
627 BSTR *pbstrData);
628
629 HRESULT (STDMETHODCALLTYPE *AddPartialFile)(
630 IVssComponent *This,
631 LPCWSTR wszPath,
632 LPCWSTR wszFilename,
633 LPCWSTR wszRanges,
634 LPCWSTR wszMetadata);
635
636 HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)(
637 IVssComponent *This,
638 UINT *pcPartialFiles);
639
640 HRESULT (STDMETHODCALLTYPE *GetPartialFile)(
641 IVssComponent *This,
642 UINT iPartialFile,
643 BSTR *pbstrPath,
644 BSTR *pbstrFilename,
645 BSTR *pbstrRange,
646 BSTR *pbstrMetadata);
647
648 HRESULT (STDMETHODCALLTYPE *IsSelectedForRestore)(
649 IVssComponent *This,
650 boolean *pbSelectedForRestore);
651
652 HRESULT (STDMETHODCALLTYPE *GetAdditionalRestores)(
653 IVssComponent *This,
654 boolean *pbAdditionalRestores);
655
656 HRESULT (STDMETHODCALLTYPE *GetNewTargetCount)(
657 IVssComponent *This,
658 UINT *pcNewTarget);
659
660 HRESULT (STDMETHODCALLTYPE *GetNewTarget)(
661 IVssComponent *This,
662 UINT iNewTarget,
663 IVssWMFiledesc **ppFiledesc);
664
665 HRESULT (STDMETHODCALLTYPE *AddDirectedTarget)(
666 IVssComponent *This,
667 LPCWSTR wszSourcePath,
668 LPCWSTR wszSourceFilename,
669 LPCWSTR wszSourceRangeList,
670 LPCWSTR wszDestinationPath,
671 LPCWSTR wszDestinationFilename,
672 LPCWSTR wszDestinationRangeList);
673
674 HRESULT (STDMETHODCALLTYPE *GetDirectedTargetCount)(
675 IVssComponent *This,
676 UINT *pcDirectedTarget);
677
678 HRESULT (STDMETHODCALLTYPE *GetDirectedTarget)(
679 IVssComponent *This,
680 UINT iDirectedTarget,
681 BSTR *pbstrSourcePath,
682 BSTR *pbstrSourceFileName,
683 BSTR *pbstrSourceRangeList,
684 BSTR *pbstrDestinationPath,
685 BSTR *pbstrDestinationFilename,
686 BSTR *pbstrDestinationRangeList);
687
688 HRESULT (STDMETHODCALLTYPE *SetRestoreMetadata)(
689 IVssComponent *This,
690 LPCWSTR wszRestoreMetadata);
691
692 HRESULT (STDMETHODCALLTYPE *GetRestoreMetadata)(
693 IVssComponent *This,
694 BSTR *pbstrRestoreMetadata);
695
696 HRESULT (STDMETHODCALLTYPE *SetRestoreTarget)(
697 IVssComponent *This,
698 VSS_RESTORE_TARGET target);
699
700 HRESULT (STDMETHODCALLTYPE *GetRestoreTarget)(
701 IVssComponent *This,
702 VSS_RESTORE_TARGET *pTarget);
703
704 HRESULT (STDMETHODCALLTYPE *SetPreRestoreFailureMsg)(
705 IVssComponent *This,
706 LPCWSTR wszPreRestoreFailureMsg);
707
708 HRESULT (STDMETHODCALLTYPE *GetPreRestoreFailureMsg)(
709 IVssComponent *This,
710 BSTR *pbstrPreRestoreFailureMsg);
711
712 HRESULT (STDMETHODCALLTYPE *SetPostRestoreFailureMsg)(
713 IVssComponent *This,
714 LPCWSTR wszPostRestoreFailureMsg);
715
716 HRESULT (STDMETHODCALLTYPE *GetPostRestoreFailureMsg)(
717 IVssComponent *This,
718 BSTR *pbstrPostRestoreFailureMsg);
719
720 HRESULT (STDMETHODCALLTYPE *SetBackupStamp)(
721 IVssComponent *This,
722 LPCWSTR wszBackupStamp);
723
724 HRESULT (STDMETHODCALLTYPE *GetBackupStamp)(
725 IVssComponent *This,
726 BSTR *pbstrBackupStamp);
727
728 HRESULT (STDMETHODCALLTYPE *GetPreviousBackupStamp)(
729 IVssComponent *This,
730 BSTR *pbstrBackupStamp);
731
732 HRESULT (STDMETHODCALLTYPE *GetBackupOptions)(
733 IVssComponent *This,
734 BSTR *pbstrBackupOptions);
735
736 HRESULT (STDMETHODCALLTYPE *GetRestoreOptions)(
737 IVssComponent *This,
738 BSTR *pbstrRestoreOptions);
739
740 HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponentCount)(
741 IVssComponent *This,
742 UINT *pcRestoreSubcomponent);
743
744 HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponent)(
745 IVssComponent *This,
746 UINT iComponent,
747 BSTR *pbstrLogicalPath,
748 BSTR *pbstrComponentName,
749 boolean *pbRepair);
750
751 HRESULT (STDMETHODCALLTYPE *GetFileRestoreStatus)(
752 IVssComponent *This,
753 VSS_FILE_RESTORE_STATUS *pStatus);
754
755 HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyTime)(
756 IVssComponent *This,
757 LPCWSTR wszPath,
758 LPCWSTR wszFilespec,
759 WINBOOL bRecursive,
760 FILETIME ftLastModifyTime);
761
762 HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyLSN)(
763 IVssComponent *This,
764 LPCWSTR wszPath,
765 LPCWSTR wszFilespec,
766 WINBOOL bRecursive,
767 BSTR bstrLsnString);
768
769 HRESULT (STDMETHODCALLTYPE *GetDifferencedFilesCount)(
770 IVssComponent *This,
771 UINT *pcDifferencedFiles);
772
773 HRESULT (STDMETHODCALLTYPE *GetDifferencedFile)(
774 IVssComponent *This,
775 UINT iDifferencedFile,
776 BSTR *pbstrPath,
777 BSTR *pbstrFilespec,
778 WINBOOL *pbRecursive,
779 BSTR *pbstrLsnString,
780 FILETIME *pftLastModifyTime);
324781
325782 END_INTERFACE
783} IVssComponentVtbl;
784
785interface IVssComponent {
786 CONST_VTBL IVssComponentVtbl* lpVtbl;
326787};
788
327789#ifdef COBJMACROS
790#ifndef WIDL_C_INLINE_WRAPPERS
791/*** IUnknown methods ***/
328792#define IVssComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
329793#define IVssComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
330794#define IVssComponent_Release(This) (This)->lpVtbl->Release(This)
795/*** IVssComponent methods ***/
331796#define IVssComponent_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
332#define IVssComponent_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
333#define IVssComponent_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)
797#define IVssComponent_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct)
798#define IVssComponent_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName)
334799#define IVssComponent_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
335800#define IVssComponent_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
336#define IVssComponent_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)
337#define IVssComponent_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)
338#define IVssComponent_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)
801#define IVssComponent_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
802#define IVssComponent_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData)
803#define IVssComponent_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData)
339804#define IVssComponent_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
340805#define IVssComponent_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
341806#define IVssComponent_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
342807#define IVssComponent_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
343808#define IVssComponent_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
344809#define IVssComponent_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
345#define IVssComponent_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)
810#define IVssComponent_GetNewTarget(This,iNewTarget,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc)
346811#define IVssComponent_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
347812#define IVssComponent_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
348813#define IVssComponent_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
......@@ -363,121 +828,548 @@ DECLARE_INTERFACE_(IVssComponent,IUnknown)
363828#define IVssComponent_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
364829#define IVssComponent_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
365830#define IVssComponent_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)
366#define IVssComponent_AddDifferencedFilesByLastModifyLSN() (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This)
831#define IVssComponent_AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString)
367832#define IVssComponent_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
368833#define IVssComponent_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
369#endif /*COBJMACROS*/
834#else
835/*** IUnknown methods ***/
836static FORCEINLINE HRESULT IVssComponent_QueryInterface(IVssComponent* This,REFIID riid,void **ppvObject) {
837 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
838}
839static FORCEINLINE ULONG IVssComponent_AddRef(IVssComponent* This) {
840 return This->lpVtbl->AddRef(This);
841}
842static FORCEINLINE ULONG IVssComponent_Release(IVssComponent* This) {
843 return This->lpVtbl->Release(This);
844}
845/*** IVssComponent methods ***/
846static FORCEINLINE HRESULT IVssComponent_GetLogicalPath(IVssComponent* This,BSTR *pbstrPath) {
847 return This->lpVtbl->GetLogicalPath(This,pbstrPath);
848}
849static FORCEINLINE HRESULT IVssComponent_GetComponentType(IVssComponent* This,VSS_COMPONENT_TYPE *pct) {
850 return This->lpVtbl->GetComponentType(This,pct);
851}
852static FORCEINLINE HRESULT IVssComponent_GetComponentName(IVssComponent* This,BSTR *pbstrName) {
853 return This->lpVtbl->GetComponentName(This,pbstrName);
854}
855static FORCEINLINE HRESULT IVssComponent_GetBackupSucceeded(IVssComponent* This,boolean *pbSucceeded) {
856 return This->lpVtbl->GetBackupSucceeded(This,pbSucceeded);
857}
858static FORCEINLINE HRESULT IVssComponent_GetAlternateLocationMappingCount(IVssComponent* This,UINT *pcMappings) {
859 return This->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings);
860}
861static FORCEINLINE HRESULT IVssComponent_GetAlternateLocationMapping(IVssComponent* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) {
862 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc);
863}
864static FORCEINLINE HRESULT IVssComponent_SetBackupMetadata(IVssComponent* This,LPCWSTR wszData) {
865 return This->lpVtbl->SetBackupMetadata(This,wszData);
866}
867static FORCEINLINE HRESULT IVssComponent_GetBackupMetadata(IVssComponent* This,BSTR *pbstrData) {
868 return This->lpVtbl->GetBackupMetadata(This,pbstrData);
869}
870static FORCEINLINE HRESULT IVssComponent_AddPartialFile(IVssComponent* This,LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) {
871 return This->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata);
872}
873static FORCEINLINE HRESULT IVssComponent_GetPartialFileCount(IVssComponent* This,UINT *pcPartialFiles) {
874 return This->lpVtbl->GetPartialFileCount(This,pcPartialFiles);
875}
876static FORCEINLINE HRESULT IVssComponent_GetPartialFile(IVssComponent* This,UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) {
877 return This->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata);
878}
879static FORCEINLINE HRESULT IVssComponent_IsSelectedForRestore(IVssComponent* This,boolean *pbSelectedForRestore) {
880 return This->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore);
881}
882static FORCEINLINE HRESULT IVssComponent_GetAdditionalRestores(IVssComponent* This,boolean *pbAdditionalRestores) {
883 return This->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores);
884}
885static FORCEINLINE HRESULT IVssComponent_GetNewTargetCount(IVssComponent* This,UINT *pcNewTarget) {
886 return This->lpVtbl->GetNewTargetCount(This,pcNewTarget);
887}
888static FORCEINLINE HRESULT IVssComponent_GetNewTarget(IVssComponent* This,UINT iNewTarget,IVssWMFiledesc **ppFiledesc) {
889 return This->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc);
890}
891static FORCEINLINE HRESULT IVssComponent_AddDirectedTarget(IVssComponent* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) {
892 return This->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList);
893}
894static FORCEINLINE HRESULT IVssComponent_GetDirectedTargetCount(IVssComponent* This,UINT *pcDirectedTarget) {
895 return This->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget);
896}
897static FORCEINLINE HRESULT IVssComponent_GetDirectedTarget(IVssComponent* This,UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) {
898 return This->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList);
899}
900static FORCEINLINE HRESULT IVssComponent_SetRestoreMetadata(IVssComponent* This,LPCWSTR wszRestoreMetadata) {
901 return This->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata);
902}
903static FORCEINLINE HRESULT IVssComponent_GetRestoreMetadata(IVssComponent* This,BSTR *pbstrRestoreMetadata) {
904 return This->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata);
905}
906static FORCEINLINE HRESULT IVssComponent_SetRestoreTarget(IVssComponent* This,VSS_RESTORE_TARGET target) {
907 return This->lpVtbl->SetRestoreTarget(This,target);
908}
909static FORCEINLINE HRESULT IVssComponent_GetRestoreTarget(IVssComponent* This,VSS_RESTORE_TARGET *pTarget) {
910 return This->lpVtbl->GetRestoreTarget(This,pTarget);
911}
912static FORCEINLINE HRESULT IVssComponent_SetPreRestoreFailureMsg(IVssComponent* This,LPCWSTR wszPreRestoreFailureMsg) {
913 return This->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg);
914}
915static FORCEINLINE HRESULT IVssComponent_GetPreRestoreFailureMsg(IVssComponent* This,BSTR *pbstrPreRestoreFailureMsg) {
916 return This->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg);
917}
918static FORCEINLINE HRESULT IVssComponent_SetPostRestoreFailureMsg(IVssComponent* This,LPCWSTR wszPostRestoreFailureMsg) {
919 return This->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg);
920}
921static FORCEINLINE HRESULT IVssComponent_GetPostRestoreFailureMsg(IVssComponent* This,BSTR *pbstrPostRestoreFailureMsg) {
922 return This->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg);
923}
924static FORCEINLINE HRESULT IVssComponent_SetBackupStamp(IVssComponent* This,LPCWSTR wszBackupStamp) {
925 return This->lpVtbl->SetBackupStamp(This,wszBackupStamp);
926}
927static FORCEINLINE HRESULT IVssComponent_GetBackupStamp(IVssComponent* This,BSTR *pbstrBackupStamp) {
928 return This->lpVtbl->GetBackupStamp(This,pbstrBackupStamp);
929}
930static FORCEINLINE HRESULT IVssComponent_GetPreviousBackupStamp(IVssComponent* This,BSTR *pbstrBackupStamp) {
931 return This->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp);
932}
933static FORCEINLINE HRESULT IVssComponent_GetBackupOptions(IVssComponent* This,BSTR *pbstrBackupOptions) {
934 return This->lpVtbl->GetBackupOptions(This,pbstrBackupOptions);
935}
936static FORCEINLINE HRESULT IVssComponent_GetRestoreOptions(IVssComponent* This,BSTR *pbstrRestoreOptions) {
937 return This->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions);
938}
939static FORCEINLINE HRESULT IVssComponent_GetRestoreSubcomponentCount(IVssComponent* This,UINT *pcRestoreSubcomponent) {
940 return This->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent);
941}
942static FORCEINLINE HRESULT IVssComponent_GetRestoreSubcomponent(IVssComponent* This,UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,boolean *pbRepair) {
943 return This->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair);
944}
945static FORCEINLINE HRESULT IVssComponent_GetFileRestoreStatus(IVssComponent* This,VSS_FILE_RESTORE_STATUS *pStatus) {
946 return This->lpVtbl->GetFileRestoreStatus(This,pStatus);
947}
948static FORCEINLINE HRESULT IVssComponent_AddDifferencedFilesByLastModifyTime(IVssComponent* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) {
949 return This->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime);
950}
951static FORCEINLINE HRESULT IVssComponent_AddDifferencedFilesByLastModifyLSN(IVssComponent* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,BSTR bstrLsnString) {
952 return This->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString);
953}
954static FORCEINLINE HRESULT IVssComponent_GetDifferencedFilesCount(IVssComponent* This,UINT *pcDifferencedFiles) {
955 return This->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles);
956}
957static FORCEINLINE HRESULT IVssComponent_GetDifferencedFile(IVssComponent* This,UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) {
958 return This->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime);
959}
960#endif
961#endif
370962
371#if (_WIN32_WINNT >= 0x600)
372#undef INTERFACE
373#define INTERFACE IVssComponentEx
374#ifdef __GNUC__
375#warning COM interfaces layout in this header has not been verified.
376#warning COM interfaces with incorrect layout may not work at all.
377__MINGW_BROKEN_INTERFACE(INTERFACE)
378963#endif
379DECLARE_INTERFACE_(IVssComponentEx,IVssComponent)
964
965
966#endif /* __IVssComponent_INTERFACE_DEFINED__ */
967
968/*****************************************************************************
969 * IVssWriterComponents interface
970 */
971#ifndef __IVssWriterComponents_INTERFACE_DEFINED__
972#define __IVssWriterComponents_INTERFACE_DEFINED__
973
974DEFINE_GUID(IID_IVssWriterComponents, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
975#if defined(__cplusplus) && !defined(CINTERFACE)
976MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
977IVssWriterComponents
380978{
979
980 BEGIN_INTERFACE
981
982 virtual HRESULT STDMETHODCALLTYPE GetComponentCount(
983 UINT *pcComponents) = 0;
984
985 virtual HRESULT STDMETHODCALLTYPE GetWriterInfo(
986 VSS_ID *pidInstance,
987 VSS_ID *pidWriter) = 0;
988
989 virtual HRESULT STDMETHODCALLTYPE GetComponent(
990 UINT iComponent,
991 IVssComponent **ppComponent) = 0;
992
993 END_INTERFACE
994
995};
996#ifdef __CRT_UUID_DECL
997__CRT_UUID_DECL(IVssWriterComponents, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
998#endif
999#else
1000typedef struct IVssWriterComponentsVtbl {
3811001 BEGIN_INTERFACE
3821002
383 /* IUnknown methods */
384 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
385 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
386 STDMETHOD_(ULONG, Release)(THIS) PURE;
387
388 /* IVssComponent methods */
389 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;
390 STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;
391 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;
392 STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;
393 STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;
394 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;
395 STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;
396 STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;
397 STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;
398 STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;
399 STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;
400 STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;
401 STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;
402 STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;
403 STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;
404 STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;
405 STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;
406 STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;
407 STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;
408 STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;
409 STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;
410 STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;
411 STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;
412 STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;
413 STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;
414 STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;
415 STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;
416 STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
417 STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
418 STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;
419 STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;
420 STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;
421 STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;
422 STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;
423 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;
424 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;
425 STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;
426 STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;
427
428 /* IVssComponentEx methods */
429 STDMETHOD_(HRESULT,SetPrepareForBackupFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
430 STDMETHOD_(HRESULT,SetPostSnapshotFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
431 STDMETHOD_(HRESULT,GetPrepareForBackupFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
432 STDMETHOD_(HRESULT,GetPostSnapshotFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
433 STDMETHOD_(HRESULT,GetAuthoritativeRestore)(THIS_ BOOLEAN *pbAuth) PURE;
434 STDMETHOD_(HRESULT,GetRollForward)(THIS_ VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) PURE;
435 STDMETHOD_(HRESULT,GetRestoreName)(THIS_ BSTR *pbstrName) PURE;
1003 /*** IVssWriterComponents methods ***/
1004 HRESULT (STDMETHODCALLTYPE *GetComponentCount)(
1005 IVssWriterComponents *This,
1006 UINT *pcComponents);
1007
1008 HRESULT (STDMETHODCALLTYPE *GetWriterInfo)(
1009 IVssWriterComponents *This,
1010 VSS_ID *pidInstance,
1011 VSS_ID *pidWriter);
1012
1013 HRESULT (STDMETHODCALLTYPE *GetComponent)(
1014 IVssWriterComponents *This,
1015 UINT iComponent,
1016 IVssComponent **ppComponent);
4361017
4371018 END_INTERFACE
1019} IVssWriterComponentsVtbl;
1020
1021interface IVssWriterComponents {
1022 CONST_VTBL IVssWriterComponentsVtbl* lpVtbl;
4381023};
1024
4391025#ifdef COBJMACROS
440#define IVssComponentEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
441#define IVssComponentEx_AddRef(This) (This)->lpVtbl->AddRef(This)
442#define IVssComponentEx_Release(This) (This)->lpVtbl->Release(This)
443#define IVssComponentEx_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
444#define IVssComponentEx_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
445#define IVssComponentEx_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)
446#define IVssComponentEx_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
447#define IVssComponentEx_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
448#define IVssComponentEx_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)
449#define IVssComponentEx_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)
450#define IVssComponentEx_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)
451#define IVssComponentEx_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
452#define IVssComponentEx_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
453#define IVssComponentEx_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
454#define IVssComponentEx_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
455#define IVssComponentEx_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
456#define IVssComponentEx_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
457#define IVssComponentEx_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)
458#define IVssComponentEx_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
459#define IVssComponentEx_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
460#define IVssComponentEx_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
461#define IVssComponentEx_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata)
462#define IVssComponentEx_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata)
463#define IVssComponentEx_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target)
464#define IVssComponentEx_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget)
465#define IVssComponentEx_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg)
466#define IVssComponentEx_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg)
467#define IVssComponentEx_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg)
468#define IVssComponentEx_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg)
469#define IVssComponentEx_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp)
470#define IVssComponentEx_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp)
471#define IVssComponentEx_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp)
472#define IVssComponentEx_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions)
473#define IVssComponentEx_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions)
474#define IVssComponentEx_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent)
475#define IVssComponentEx_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
476#define IVssComponentEx_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
1026#ifndef WIDL_C_INLINE_WRAPPERS
1027/*** IVssWriterComponents methods ***/
1028#define IVssWriterComponents_GetComponentCount(This,pcComponents) (This)->lpVtbl->GetComponentCount(This,pcComponents)
1029#define IVssWriterComponents_GetWriterInfo(This,pidInstance,pidWriter) (This)->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter)
1030#define IVssWriterComponents_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent)
1031#else
1032/*** IVssWriterComponents methods ***/
1033static FORCEINLINE HRESULT IVssWriterComponents_GetComponentCount(IVssWriterComponents* This,UINT *pcComponents) {
1034 return This->lpVtbl->GetComponentCount(This,pcComponents);
1035}
1036static FORCEINLINE HRESULT IVssWriterComponents_GetWriterInfo(IVssWriterComponents* This,VSS_ID *pidInstance,VSS_ID *pidWriter) {
1037 return This->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter);
1038}
1039static FORCEINLINE HRESULT IVssWriterComponents_GetComponent(IVssWriterComponents* This,UINT iComponent,IVssComponent **ppComponent) {
1040 return This->lpVtbl->GetComponent(This,iComponent,ppComponent);
1041}
1042#endif
1043#endif
1044
1045#endif
1046
1047
1048#endif /* __IVssWriterComponents_INTERFACE_DEFINED__ */
1049
1050/*****************************************************************************
1051 * IVssComponentEx interface
1052 */
1053#ifndef __IVssComponentEx_INTERFACE_DEFINED__
1054#define __IVssComponentEx_INTERFACE_DEFINED__
1055
1056DEFINE_GUID(IID_IVssComponentEx, 0x156c8b5e, 0xf131, 0x4bd7, 0x9c,0x97, 0xd1,0x92,0x3b,0xe7,0xe1,0xfa);
1057#if defined(__cplusplus) && !defined(CINTERFACE)
1058MIDL_INTERFACE("156c8b5e-f131-4bd7-9c97-d1923be7e1fa")
1059IVssComponentEx : public IVssComponent
1060{
1061 virtual HRESULT STDMETHODCALLTYPE SetPrepareForBackupFailureMsg(
1062 LPCWSTR wszFailureMsg) = 0;
1063
1064 virtual HRESULT STDMETHODCALLTYPE SetPostSnapshotFailureMsg(
1065 LPCWSTR wszFailureMsg) = 0;
1066
1067 virtual HRESULT STDMETHODCALLTYPE GetPrepareForBackupFailureMsg(
1068 BSTR *pbstrFailureMsg) = 0;
1069
1070 virtual HRESULT STDMETHODCALLTYPE GetPostSnapshotFailureMsg(
1071 BSTR *pbstrFailureMsg) = 0;
1072
1073 virtual HRESULT STDMETHODCALLTYPE GetAuthoritativeRestore(
1074 boolean *pbAuth) = 0;
1075
1076 virtual HRESULT STDMETHODCALLTYPE GetRollForward(
1077 VSS_ROLLFORWARD_TYPE *pRollType,
1078 BSTR *pbstrPoint) = 0;
1079
1080 virtual HRESULT STDMETHODCALLTYPE GetRestoreName(
1081 BSTR *pbstrName) = 0;
1082
1083};
1084#ifdef __CRT_UUID_DECL
1085__CRT_UUID_DECL(IVssComponentEx, 0x156c8b5e, 0xf131, 0x4bd7, 0x9c,0x97, 0xd1,0x92,0x3b,0xe7,0xe1,0xfa)
1086#endif
1087#else
1088typedef struct IVssComponentExVtbl {
1089 BEGIN_INTERFACE
1090
1091 /*** IUnknown methods ***/
1092 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1093 IVssComponentEx *This,
1094 REFIID riid,
1095 void **ppvObject);
1096
1097 ULONG (STDMETHODCALLTYPE *AddRef)(
1098 IVssComponentEx *This);
1099
1100 ULONG (STDMETHODCALLTYPE *Release)(
1101 IVssComponentEx *This);
1102
1103 /*** IVssComponent methods ***/
1104 HRESULT (STDMETHODCALLTYPE *GetLogicalPath)(
1105 IVssComponentEx *This,
1106 BSTR *pbstrPath);
1107
1108 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
1109 IVssComponentEx *This,
1110 VSS_COMPONENT_TYPE *pct);
1111
1112 HRESULT (STDMETHODCALLTYPE *GetComponentName)(
1113 IVssComponentEx *This,
1114 BSTR *pbstrName);
1115
1116 HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)(
1117 IVssComponentEx *This,
1118 boolean *pbSucceeded);
1119
1120 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)(
1121 IVssComponentEx *This,
1122 UINT *pcMappings);
1123
1124 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
1125 IVssComponentEx *This,
1126 UINT iMapping,
1127 IVssWMFiledesc **ppFiledesc);
1128
1129 HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)(
1130 IVssComponentEx *This,
1131 LPCWSTR wszData);
1132
1133 HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)(
1134 IVssComponentEx *This,
1135 BSTR *pbstrData);
1136
1137 HRESULT (STDMETHODCALLTYPE *AddPartialFile)(
1138 IVssComponentEx *This,
1139 LPCWSTR wszPath,
1140 LPCWSTR wszFilename,
1141 LPCWSTR wszRanges,
1142 LPCWSTR wszMetadata);
1143
1144 HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)(
1145 IVssComponentEx *This,
1146 UINT *pcPartialFiles);
1147
1148 HRESULT (STDMETHODCALLTYPE *GetPartialFile)(
1149 IVssComponentEx *This,
1150 UINT iPartialFile,
1151 BSTR *pbstrPath,
1152 BSTR *pbstrFilename,
1153 BSTR *pbstrRange,
1154 BSTR *pbstrMetadata);
1155
1156 HRESULT (STDMETHODCALLTYPE *IsSelectedForRestore)(
1157 IVssComponentEx *This,
1158 boolean *pbSelectedForRestore);
1159
1160 HRESULT (STDMETHODCALLTYPE *GetAdditionalRestores)(
1161 IVssComponentEx *This,
1162 boolean *pbAdditionalRestores);
1163
1164 HRESULT (STDMETHODCALLTYPE *GetNewTargetCount)(
1165 IVssComponentEx *This,
1166 UINT *pcNewTarget);
1167
1168 HRESULT (STDMETHODCALLTYPE *GetNewTarget)(
1169 IVssComponentEx *This,
1170 UINT iNewTarget,
1171 IVssWMFiledesc **ppFiledesc);
1172
1173 HRESULT (STDMETHODCALLTYPE *AddDirectedTarget)(
1174 IVssComponentEx *This,
1175 LPCWSTR wszSourcePath,
1176 LPCWSTR wszSourceFilename,
1177 LPCWSTR wszSourceRangeList,
1178 LPCWSTR wszDestinationPath,
1179 LPCWSTR wszDestinationFilename,
1180 LPCWSTR wszDestinationRangeList);
1181
1182 HRESULT (STDMETHODCALLTYPE *GetDirectedTargetCount)(
1183 IVssComponentEx *This,
1184 UINT *pcDirectedTarget);
1185
1186 HRESULT (STDMETHODCALLTYPE *GetDirectedTarget)(
1187 IVssComponentEx *This,
1188 UINT iDirectedTarget,
1189 BSTR *pbstrSourcePath,
1190 BSTR *pbstrSourceFileName,
1191 BSTR *pbstrSourceRangeList,
1192 BSTR *pbstrDestinationPath,
1193 BSTR *pbstrDestinationFilename,
1194 BSTR *pbstrDestinationRangeList);
1195
1196 HRESULT (STDMETHODCALLTYPE *SetRestoreMetadata)(
1197 IVssComponentEx *This,
1198 LPCWSTR wszRestoreMetadata);
1199
1200 HRESULT (STDMETHODCALLTYPE *GetRestoreMetadata)(
1201 IVssComponentEx *This,
1202 BSTR *pbstrRestoreMetadata);
1203
1204 HRESULT (STDMETHODCALLTYPE *SetRestoreTarget)(
1205 IVssComponentEx *This,
1206 VSS_RESTORE_TARGET target);
1207
1208 HRESULT (STDMETHODCALLTYPE *GetRestoreTarget)(
1209 IVssComponentEx *This,
1210 VSS_RESTORE_TARGET *pTarget);
1211
1212 HRESULT (STDMETHODCALLTYPE *SetPreRestoreFailureMsg)(
1213 IVssComponentEx *This,
1214 LPCWSTR wszPreRestoreFailureMsg);
1215
1216 HRESULT (STDMETHODCALLTYPE *GetPreRestoreFailureMsg)(
1217 IVssComponentEx *This,
1218 BSTR *pbstrPreRestoreFailureMsg);
1219
1220 HRESULT (STDMETHODCALLTYPE *SetPostRestoreFailureMsg)(
1221 IVssComponentEx *This,
1222 LPCWSTR wszPostRestoreFailureMsg);
1223
1224 HRESULT (STDMETHODCALLTYPE *GetPostRestoreFailureMsg)(
1225 IVssComponentEx *This,
1226 BSTR *pbstrPostRestoreFailureMsg);
1227
1228 HRESULT (STDMETHODCALLTYPE *SetBackupStamp)(
1229 IVssComponentEx *This,
1230 LPCWSTR wszBackupStamp);
1231
1232 HRESULT (STDMETHODCALLTYPE *GetBackupStamp)(
1233 IVssComponentEx *This,
1234 BSTR *pbstrBackupStamp);
1235
1236 HRESULT (STDMETHODCALLTYPE *GetPreviousBackupStamp)(
1237 IVssComponentEx *This,
1238 BSTR *pbstrBackupStamp);
1239
1240 HRESULT (STDMETHODCALLTYPE *GetBackupOptions)(
1241 IVssComponentEx *This,
1242 BSTR *pbstrBackupOptions);
1243
1244 HRESULT (STDMETHODCALLTYPE *GetRestoreOptions)(
1245 IVssComponentEx *This,
1246 BSTR *pbstrRestoreOptions);
1247
1248 HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponentCount)(
1249 IVssComponentEx *This,
1250 UINT *pcRestoreSubcomponent);
1251
1252 HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponent)(
1253 IVssComponentEx *This,
1254 UINT iComponent,
1255 BSTR *pbstrLogicalPath,
1256 BSTR *pbstrComponentName,
1257 boolean *pbRepair);
1258
1259 HRESULT (STDMETHODCALLTYPE *GetFileRestoreStatus)(
1260 IVssComponentEx *This,
1261 VSS_FILE_RESTORE_STATUS *pStatus);
1262
1263 HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyTime)(
1264 IVssComponentEx *This,
1265 LPCWSTR wszPath,
1266 LPCWSTR wszFilespec,
1267 WINBOOL bRecursive,
1268 FILETIME ftLastModifyTime);
1269
1270 HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyLSN)(
1271 IVssComponentEx *This,
1272 LPCWSTR wszPath,
1273 LPCWSTR wszFilespec,
1274 WINBOOL bRecursive,
1275 BSTR bstrLsnString);
1276
1277 HRESULT (STDMETHODCALLTYPE *GetDifferencedFilesCount)(
1278 IVssComponentEx *This,
1279 UINT *pcDifferencedFiles);
1280
1281 HRESULT (STDMETHODCALLTYPE *GetDifferencedFile)(
1282 IVssComponentEx *This,
1283 UINT iDifferencedFile,
1284 BSTR *pbstrPath,
1285 BSTR *pbstrFilespec,
1286 WINBOOL *pbRecursive,
1287 BSTR *pbstrLsnString,
1288 FILETIME *pftLastModifyTime);
1289
1290 /*** IVssComponentEx methods ***/
1291 HRESULT (STDMETHODCALLTYPE *SetPrepareForBackupFailureMsg)(
1292 IVssComponentEx *This,
1293 LPCWSTR wszFailureMsg);
1294
1295 HRESULT (STDMETHODCALLTYPE *SetPostSnapshotFailureMsg)(
1296 IVssComponentEx *This,
1297 LPCWSTR wszFailureMsg);
1298
1299 HRESULT (STDMETHODCALLTYPE *GetPrepareForBackupFailureMsg)(
1300 IVssComponentEx *This,
1301 BSTR *pbstrFailureMsg);
1302
1303 HRESULT (STDMETHODCALLTYPE *GetPostSnapshotFailureMsg)(
1304 IVssComponentEx *This,
1305 BSTR *pbstrFailureMsg);
1306
1307 HRESULT (STDMETHODCALLTYPE *GetAuthoritativeRestore)(
1308 IVssComponentEx *This,
1309 boolean *pbAuth);
1310
1311 HRESULT (STDMETHODCALLTYPE *GetRollForward)(
1312 IVssComponentEx *This,
1313 VSS_ROLLFORWARD_TYPE *pRollType,
1314 BSTR *pbstrPoint);
1315
1316 HRESULT (STDMETHODCALLTYPE *GetRestoreName)(
1317 IVssComponentEx *This,
1318 BSTR *pbstrName);
1319
1320 END_INTERFACE
1321} IVssComponentExVtbl;
1322
1323interface IVssComponentEx {
1324 CONST_VTBL IVssComponentExVtbl* lpVtbl;
1325};
1326
1327#ifdef COBJMACROS
1328#ifndef WIDL_C_INLINE_WRAPPERS
1329/*** IUnknown methods ***/
1330#define IVssComponentEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1331#define IVssComponentEx_AddRef(This) (This)->lpVtbl->AddRef(This)
1332#define IVssComponentEx_Release(This) (This)->lpVtbl->Release(This)
1333/*** IVssComponent methods ***/
1334#define IVssComponentEx_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
1335#define IVssComponentEx_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct)
1336#define IVssComponentEx_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName)
1337#define IVssComponentEx_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
1338#define IVssComponentEx_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
1339#define IVssComponentEx_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
1340#define IVssComponentEx_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData)
1341#define IVssComponentEx_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData)
1342#define IVssComponentEx_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
1343#define IVssComponentEx_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
1344#define IVssComponentEx_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
1345#define IVssComponentEx_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
1346#define IVssComponentEx_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
1347#define IVssComponentEx_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
1348#define IVssComponentEx_GetNewTarget(This,iNewTarget,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc)
1349#define IVssComponentEx_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
1350#define IVssComponentEx_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
1351#define IVssComponentEx_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
1352#define IVssComponentEx_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata)
1353#define IVssComponentEx_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata)
1354#define IVssComponentEx_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target)
1355#define IVssComponentEx_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget)
1356#define IVssComponentEx_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg)
1357#define IVssComponentEx_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg)
1358#define IVssComponentEx_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg)
1359#define IVssComponentEx_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg)
1360#define IVssComponentEx_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp)
1361#define IVssComponentEx_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp)
1362#define IVssComponentEx_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp)
1363#define IVssComponentEx_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions)
1364#define IVssComponentEx_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions)
1365#define IVssComponentEx_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent)
1366#define IVssComponentEx_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
1367#define IVssComponentEx_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
4771368#define IVssComponentEx_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)
478#define IVssComponentEx_AddDifferencedFilesByLastModifyLSN() (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This)
1369#define IVssComponentEx_AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString)
4791370#define IVssComponentEx_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
4801371#define IVssComponentEx_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
1372/*** IVssComponentEx methods ***/
4811373#define IVssComponentEx_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)
4821374#define IVssComponentEx_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)
4831375#define IVssComponentEx_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)
......@@ -485,100 +1377,466 @@ DECLARE_INTERFACE_(IVssComponentEx,IVssComponent)
4851377#define IVssComponentEx_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)
4861378#define IVssComponentEx_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)
4871379#define IVssComponentEx_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)
488#endif /*COBJMACROS*/
489#endif /*(_WIN32_WINNT >= 0x600)*/
490
491#if (_WIN32_WINNT >= 0x601)
492#undef INTERFACE
493#define INTERFACE IVssComponentEx2
494#ifdef __GNUC__
495#warning COM interfaces layout in this header has not been verified.
496#warning COM interfaces with incorrect layout may not work at all.
497__MINGW_BROKEN_INTERFACE(INTERFACE)
498#endif
499DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)
1380#else
1381/*** IUnknown methods ***/
1382static FORCEINLINE HRESULT IVssComponentEx_QueryInterface(IVssComponentEx* This,REFIID riid,void **ppvObject) {
1383 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1384}
1385static FORCEINLINE ULONG IVssComponentEx_AddRef(IVssComponentEx* This) {
1386 return This->lpVtbl->AddRef(This);
1387}
1388static FORCEINLINE ULONG IVssComponentEx_Release(IVssComponentEx* This) {
1389 return This->lpVtbl->Release(This);
1390}
1391/*** IVssComponent methods ***/
1392static FORCEINLINE HRESULT IVssComponentEx_GetLogicalPath(IVssComponentEx* This,BSTR *pbstrPath) {
1393 return This->lpVtbl->GetLogicalPath(This,pbstrPath);
1394}
1395static FORCEINLINE HRESULT IVssComponentEx_GetComponentType(IVssComponentEx* This,VSS_COMPONENT_TYPE *pct) {
1396 return This->lpVtbl->GetComponentType(This,pct);
1397}
1398static FORCEINLINE HRESULT IVssComponentEx_GetComponentName(IVssComponentEx* This,BSTR *pbstrName) {
1399 return This->lpVtbl->GetComponentName(This,pbstrName);
1400}
1401static FORCEINLINE HRESULT IVssComponentEx_GetBackupSucceeded(IVssComponentEx* This,boolean *pbSucceeded) {
1402 return This->lpVtbl->GetBackupSucceeded(This,pbSucceeded);
1403}
1404static FORCEINLINE HRESULT IVssComponentEx_GetAlternateLocationMappingCount(IVssComponentEx* This,UINT *pcMappings) {
1405 return This->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings);
1406}
1407static FORCEINLINE HRESULT IVssComponentEx_GetAlternateLocationMapping(IVssComponentEx* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) {
1408 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc);
1409}
1410static FORCEINLINE HRESULT IVssComponentEx_SetBackupMetadata(IVssComponentEx* This,LPCWSTR wszData) {
1411 return This->lpVtbl->SetBackupMetadata(This,wszData);
1412}
1413static FORCEINLINE HRESULT IVssComponentEx_GetBackupMetadata(IVssComponentEx* This,BSTR *pbstrData) {
1414 return This->lpVtbl->GetBackupMetadata(This,pbstrData);
1415}
1416static FORCEINLINE HRESULT IVssComponentEx_AddPartialFile(IVssComponentEx* This,LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) {
1417 return This->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata);
1418}
1419static FORCEINLINE HRESULT IVssComponentEx_GetPartialFileCount(IVssComponentEx* This,UINT *pcPartialFiles) {
1420 return This->lpVtbl->GetPartialFileCount(This,pcPartialFiles);
1421}
1422static FORCEINLINE HRESULT IVssComponentEx_GetPartialFile(IVssComponentEx* This,UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) {
1423 return This->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata);
1424}
1425static FORCEINLINE HRESULT IVssComponentEx_IsSelectedForRestore(IVssComponentEx* This,boolean *pbSelectedForRestore) {
1426 return This->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore);
1427}
1428static FORCEINLINE HRESULT IVssComponentEx_GetAdditionalRestores(IVssComponentEx* This,boolean *pbAdditionalRestores) {
1429 return This->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores);
1430}
1431static FORCEINLINE HRESULT IVssComponentEx_GetNewTargetCount(IVssComponentEx* This,UINT *pcNewTarget) {
1432 return This->lpVtbl->GetNewTargetCount(This,pcNewTarget);
1433}
1434static FORCEINLINE HRESULT IVssComponentEx_GetNewTarget(IVssComponentEx* This,UINT iNewTarget,IVssWMFiledesc **ppFiledesc) {
1435 return This->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc);
1436}
1437static FORCEINLINE HRESULT IVssComponentEx_AddDirectedTarget(IVssComponentEx* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) {
1438 return This->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList);
1439}
1440static FORCEINLINE HRESULT IVssComponentEx_GetDirectedTargetCount(IVssComponentEx* This,UINT *pcDirectedTarget) {
1441 return This->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget);
1442}
1443static FORCEINLINE HRESULT IVssComponentEx_GetDirectedTarget(IVssComponentEx* This,UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) {
1444 return This->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList);
1445}
1446static FORCEINLINE HRESULT IVssComponentEx_SetRestoreMetadata(IVssComponentEx* This,LPCWSTR wszRestoreMetadata) {
1447 return This->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata);
1448}
1449static FORCEINLINE HRESULT IVssComponentEx_GetRestoreMetadata(IVssComponentEx* This,BSTR *pbstrRestoreMetadata) {
1450 return This->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata);
1451}
1452static FORCEINLINE HRESULT IVssComponentEx_SetRestoreTarget(IVssComponentEx* This,VSS_RESTORE_TARGET target) {
1453 return This->lpVtbl->SetRestoreTarget(This,target);
1454}
1455static FORCEINLINE HRESULT IVssComponentEx_GetRestoreTarget(IVssComponentEx* This,VSS_RESTORE_TARGET *pTarget) {
1456 return This->lpVtbl->GetRestoreTarget(This,pTarget);
1457}
1458static FORCEINLINE HRESULT IVssComponentEx_SetPreRestoreFailureMsg(IVssComponentEx* This,LPCWSTR wszPreRestoreFailureMsg) {
1459 return This->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg);
1460}
1461static FORCEINLINE HRESULT IVssComponentEx_GetPreRestoreFailureMsg(IVssComponentEx* This,BSTR *pbstrPreRestoreFailureMsg) {
1462 return This->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg);
1463}
1464static FORCEINLINE HRESULT IVssComponentEx_SetPostRestoreFailureMsg(IVssComponentEx* This,LPCWSTR wszPostRestoreFailureMsg) {
1465 return This->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg);
1466}
1467static FORCEINLINE HRESULT IVssComponentEx_GetPostRestoreFailureMsg(IVssComponentEx* This,BSTR *pbstrPostRestoreFailureMsg) {
1468 return This->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg);
1469}
1470static FORCEINLINE HRESULT IVssComponentEx_SetBackupStamp(IVssComponentEx* This,LPCWSTR wszBackupStamp) {
1471 return This->lpVtbl->SetBackupStamp(This,wszBackupStamp);
1472}
1473static FORCEINLINE HRESULT IVssComponentEx_GetBackupStamp(IVssComponentEx* This,BSTR *pbstrBackupStamp) {
1474 return This->lpVtbl->GetBackupStamp(This,pbstrBackupStamp);
1475}
1476static FORCEINLINE HRESULT IVssComponentEx_GetPreviousBackupStamp(IVssComponentEx* This,BSTR *pbstrBackupStamp) {
1477 return This->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp);
1478}
1479static FORCEINLINE HRESULT IVssComponentEx_GetBackupOptions(IVssComponentEx* This,BSTR *pbstrBackupOptions) {
1480 return This->lpVtbl->GetBackupOptions(This,pbstrBackupOptions);
1481}
1482static FORCEINLINE HRESULT IVssComponentEx_GetRestoreOptions(IVssComponentEx* This,BSTR *pbstrRestoreOptions) {
1483 return This->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions);
1484}
1485static FORCEINLINE HRESULT IVssComponentEx_GetRestoreSubcomponentCount(IVssComponentEx* This,UINT *pcRestoreSubcomponent) {
1486 return This->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent);
1487}
1488static FORCEINLINE HRESULT IVssComponentEx_GetRestoreSubcomponent(IVssComponentEx* This,UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,boolean *pbRepair) {
1489 return This->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair);
1490}
1491static FORCEINLINE HRESULT IVssComponentEx_GetFileRestoreStatus(IVssComponentEx* This,VSS_FILE_RESTORE_STATUS *pStatus) {
1492 return This->lpVtbl->GetFileRestoreStatus(This,pStatus);
1493}
1494static FORCEINLINE HRESULT IVssComponentEx_AddDifferencedFilesByLastModifyTime(IVssComponentEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) {
1495 return This->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime);
1496}
1497static FORCEINLINE HRESULT IVssComponentEx_AddDifferencedFilesByLastModifyLSN(IVssComponentEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,BSTR bstrLsnString) {
1498 return This->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString);
1499}
1500static FORCEINLINE HRESULT IVssComponentEx_GetDifferencedFilesCount(IVssComponentEx* This,UINT *pcDifferencedFiles) {
1501 return This->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles);
1502}
1503static FORCEINLINE HRESULT IVssComponentEx_GetDifferencedFile(IVssComponentEx* This,UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) {
1504 return This->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime);
1505}
1506/*** IVssComponentEx methods ***/
1507static FORCEINLINE HRESULT IVssComponentEx_SetPrepareForBackupFailureMsg(IVssComponentEx* This,LPCWSTR wszFailureMsg) {
1508 return This->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg);
1509}
1510static FORCEINLINE HRESULT IVssComponentEx_SetPostSnapshotFailureMsg(IVssComponentEx* This,LPCWSTR wszFailureMsg) {
1511 return This->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg);
1512}
1513static FORCEINLINE HRESULT IVssComponentEx_GetPrepareForBackupFailureMsg(IVssComponentEx* This,BSTR *pbstrFailureMsg) {
1514 return This->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg);
1515}
1516static FORCEINLINE HRESULT IVssComponentEx_GetPostSnapshotFailureMsg(IVssComponentEx* This,BSTR *pbstrFailureMsg) {
1517 return This->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg);
1518}
1519static FORCEINLINE HRESULT IVssComponentEx_GetAuthoritativeRestore(IVssComponentEx* This,boolean *pbAuth) {
1520 return This->lpVtbl->GetAuthoritativeRestore(This,pbAuth);
1521}
1522static FORCEINLINE HRESULT IVssComponentEx_GetRollForward(IVssComponentEx* This,VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) {
1523 return This->lpVtbl->GetRollForward(This,pRollType,pbstrPoint);
1524}
1525static FORCEINLINE HRESULT IVssComponentEx_GetRestoreName(IVssComponentEx* This,BSTR *pbstrName) {
1526 return This->lpVtbl->GetRestoreName(This,pbstrName);
1527}
1528#endif
1529#endif
1530
1531#endif
1532
1533
1534#endif /* __IVssComponentEx_INTERFACE_DEFINED__ */
1535
1536/*****************************************************************************
1537 * IVssComponentEx2 interface
1538 */
1539#ifndef __IVssComponentEx2_INTERFACE_DEFINED__
1540#define __IVssComponentEx2_INTERFACE_DEFINED__
1541
1542DEFINE_GUID(IID_IVssComponentEx2, 0x3b5be0f2, 0x07a9, 0x4e4b, 0xbd,0xd3, 0xcf,0xdc,0x8e,0x2c,0x0d,0x2d);
1543#if defined(__cplusplus) && !defined(CINTERFACE)
1544MIDL_INTERFACE("3b5be0f2-07a9-4e4b-bdd3-cfdc8e2c0d2d")
1545IVssComponentEx2 : public IVssComponentEx
5001546{
1547 virtual HRESULT STDMETHODCALLTYPE SetFailure(
1548 HRESULT hr,
1549 HRESULT hrApplication,
1550 LPCWSTR wszApplicationMessage,
1551 DWORD dwReserved) = 0;
1552
1553 virtual HRESULT STDMETHODCALLTYPE GetFailure(
1554 HRESULT *phr,
1555 HRESULT *phrApplication,
1556 BSTR *pbstrApplicationMessage,
1557 DWORD *pdwReserved) = 0;
1558
1559};
1560#ifdef __CRT_UUID_DECL
1561__CRT_UUID_DECL(IVssComponentEx2, 0x3b5be0f2, 0x07a9, 0x4e4b, 0xbd,0xd3, 0xcf,0xdc,0x8e,0x2c,0x0d,0x2d)
1562#endif
1563#else
1564typedef struct IVssComponentEx2Vtbl {
5011565 BEGIN_INTERFACE
5021566
503 /* IUnknown methods */
504 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
505 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
506 STDMETHOD_(ULONG, Release)(THIS) PURE;
507
508 /* IVssComponent methods */
509 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;
510 STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;
511 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;
512 STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;
513 STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;
514 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;
515 STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;
516 STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;
517 STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;
518 STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;
519 STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;
520 STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;
521 STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;
522 STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;
523 STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;
524 STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;
525 STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;
526 STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;
527 STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;
528 STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;
529 STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;
530 STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;
531 STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;
532 STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;
533 STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;
534 STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;
535 STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;
536 STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
537 STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
538 STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;
539 STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;
540 STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;
541 STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;
542 STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;
543 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;
544 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;
545 STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;
546 STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;
547
548 /* IVssComponentEx methods */
549 STDMETHOD_(HRESULT,SetPrepareForBackupFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
550 STDMETHOD_(HRESULT,SetPostSnapshotFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
551 STDMETHOD_(HRESULT,GetPrepareForBackupFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
552 STDMETHOD_(HRESULT,GetPostSnapshotFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
553 STDMETHOD_(HRESULT,GetAuthoritativeRestore)(THIS_ BOOLEAN *pbAuth) PURE;
554 STDMETHOD_(HRESULT,GetRollForward)(THIS_ VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) PURE;
555 STDMETHOD_(HRESULT,GetRestoreName)(THIS_ BSTR *pbstrName) PURE;
556
557 /* IVssComponentEx2 methods */
558 STDMETHOD_(HRESULT,GetFailure)(THIS_ HRESULT *phr,HRESULT *phrApplication,BSTR *pbstrApplicationMessage,DWORD *pdwReserved) PURE;
559 STDMETHOD_(HRESULT,SetFailure)(THIS_ HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage,DWORD dwReserved) PURE;
1567 /*** IUnknown methods ***/
1568 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1569 IVssComponentEx2 *This,
1570 REFIID riid,
1571 void **ppvObject);
1572
1573 ULONG (STDMETHODCALLTYPE *AddRef)(
1574 IVssComponentEx2 *This);
1575
1576 ULONG (STDMETHODCALLTYPE *Release)(
1577 IVssComponentEx2 *This);
1578
1579 /*** IVssComponent methods ***/
1580 HRESULT (STDMETHODCALLTYPE *GetLogicalPath)(
1581 IVssComponentEx2 *This,
1582 BSTR *pbstrPath);
1583
1584 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
1585 IVssComponentEx2 *This,
1586 VSS_COMPONENT_TYPE *pct);
1587
1588 HRESULT (STDMETHODCALLTYPE *GetComponentName)(
1589 IVssComponentEx2 *This,
1590 BSTR *pbstrName);
1591
1592 HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)(
1593 IVssComponentEx2 *This,
1594 boolean *pbSucceeded);
1595
1596 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)(
1597 IVssComponentEx2 *This,
1598 UINT *pcMappings);
1599
1600 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
1601 IVssComponentEx2 *This,
1602 UINT iMapping,
1603 IVssWMFiledesc **ppFiledesc);
1604
1605 HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)(
1606 IVssComponentEx2 *This,
1607 LPCWSTR wszData);
1608
1609 HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)(
1610 IVssComponentEx2 *This,
1611 BSTR *pbstrData);
1612
1613 HRESULT (STDMETHODCALLTYPE *AddPartialFile)(
1614 IVssComponentEx2 *This,
1615 LPCWSTR wszPath,
1616 LPCWSTR wszFilename,
1617 LPCWSTR wszRanges,
1618 LPCWSTR wszMetadata);
1619
1620 HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)(
1621 IVssComponentEx2 *This,
1622 UINT *pcPartialFiles);
1623
1624 HRESULT (STDMETHODCALLTYPE *GetPartialFile)(
1625 IVssComponentEx2 *This,
1626 UINT iPartialFile,
1627 BSTR *pbstrPath,
1628 BSTR *pbstrFilename,
1629 BSTR *pbstrRange,
1630 BSTR *pbstrMetadata);
1631
1632 HRESULT (STDMETHODCALLTYPE *IsSelectedForRestore)(
1633 IVssComponentEx2 *This,
1634 boolean *pbSelectedForRestore);
1635
1636 HRESULT (STDMETHODCALLTYPE *GetAdditionalRestores)(
1637 IVssComponentEx2 *This,
1638 boolean *pbAdditionalRestores);
1639
1640 HRESULT (STDMETHODCALLTYPE *GetNewTargetCount)(
1641 IVssComponentEx2 *This,
1642 UINT *pcNewTarget);
1643
1644 HRESULT (STDMETHODCALLTYPE *GetNewTarget)(
1645 IVssComponentEx2 *This,
1646 UINT iNewTarget,
1647 IVssWMFiledesc **ppFiledesc);
1648
1649 HRESULT (STDMETHODCALLTYPE *AddDirectedTarget)(
1650 IVssComponentEx2 *This,
1651 LPCWSTR wszSourcePath,
1652 LPCWSTR wszSourceFilename,
1653 LPCWSTR wszSourceRangeList,
1654 LPCWSTR wszDestinationPath,
1655 LPCWSTR wszDestinationFilename,
1656 LPCWSTR wszDestinationRangeList);
1657
1658 HRESULT (STDMETHODCALLTYPE *GetDirectedTargetCount)(
1659 IVssComponentEx2 *This,
1660 UINT *pcDirectedTarget);
1661
1662 HRESULT (STDMETHODCALLTYPE *GetDirectedTarget)(
1663 IVssComponentEx2 *This,
1664 UINT iDirectedTarget,
1665 BSTR *pbstrSourcePath,
1666 BSTR *pbstrSourceFileName,
1667 BSTR *pbstrSourceRangeList,
1668 BSTR *pbstrDestinationPath,
1669 BSTR *pbstrDestinationFilename,
1670 BSTR *pbstrDestinationRangeList);
1671
1672 HRESULT (STDMETHODCALLTYPE *SetRestoreMetadata)(
1673 IVssComponentEx2 *This,
1674 LPCWSTR wszRestoreMetadata);
1675
1676 HRESULT (STDMETHODCALLTYPE *GetRestoreMetadata)(
1677 IVssComponentEx2 *This,
1678 BSTR *pbstrRestoreMetadata);
1679
1680 HRESULT (STDMETHODCALLTYPE *SetRestoreTarget)(
1681 IVssComponentEx2 *This,
1682 VSS_RESTORE_TARGET target);
1683
1684 HRESULT (STDMETHODCALLTYPE *GetRestoreTarget)(
1685 IVssComponentEx2 *This,
1686 VSS_RESTORE_TARGET *pTarget);
1687
1688 HRESULT (STDMETHODCALLTYPE *SetPreRestoreFailureMsg)(
1689 IVssComponentEx2 *This,
1690 LPCWSTR wszPreRestoreFailureMsg);
1691
1692 HRESULT (STDMETHODCALLTYPE *GetPreRestoreFailureMsg)(
1693 IVssComponentEx2 *This,
1694 BSTR *pbstrPreRestoreFailureMsg);
1695
1696 HRESULT (STDMETHODCALLTYPE *SetPostRestoreFailureMsg)(
1697 IVssComponentEx2 *This,
1698 LPCWSTR wszPostRestoreFailureMsg);
1699
1700 HRESULT (STDMETHODCALLTYPE *GetPostRestoreFailureMsg)(
1701 IVssComponentEx2 *This,
1702 BSTR *pbstrPostRestoreFailureMsg);
1703
1704 HRESULT (STDMETHODCALLTYPE *SetBackupStamp)(
1705 IVssComponentEx2 *This,
1706 LPCWSTR wszBackupStamp);
1707
1708 HRESULT (STDMETHODCALLTYPE *GetBackupStamp)(
1709 IVssComponentEx2 *This,
1710 BSTR *pbstrBackupStamp);
1711
1712 HRESULT (STDMETHODCALLTYPE *GetPreviousBackupStamp)(
1713 IVssComponentEx2 *This,
1714 BSTR *pbstrBackupStamp);
1715
1716 HRESULT (STDMETHODCALLTYPE *GetBackupOptions)(
1717 IVssComponentEx2 *This,
1718 BSTR *pbstrBackupOptions);
1719
1720 HRESULT (STDMETHODCALLTYPE *GetRestoreOptions)(
1721 IVssComponentEx2 *This,
1722 BSTR *pbstrRestoreOptions);
1723
1724 HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponentCount)(
1725 IVssComponentEx2 *This,
1726 UINT *pcRestoreSubcomponent);
1727
1728 HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponent)(
1729 IVssComponentEx2 *This,
1730 UINT iComponent,
1731 BSTR *pbstrLogicalPath,
1732 BSTR *pbstrComponentName,
1733 boolean *pbRepair);
1734
1735 HRESULT (STDMETHODCALLTYPE *GetFileRestoreStatus)(
1736 IVssComponentEx2 *This,
1737 VSS_FILE_RESTORE_STATUS *pStatus);
1738
1739 HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyTime)(
1740 IVssComponentEx2 *This,
1741 LPCWSTR wszPath,
1742 LPCWSTR wszFilespec,
1743 WINBOOL bRecursive,
1744 FILETIME ftLastModifyTime);
1745
1746 HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyLSN)(
1747 IVssComponentEx2 *This,
1748 LPCWSTR wszPath,
1749 LPCWSTR wszFilespec,
1750 WINBOOL bRecursive,
1751 BSTR bstrLsnString);
1752
1753 HRESULT (STDMETHODCALLTYPE *GetDifferencedFilesCount)(
1754 IVssComponentEx2 *This,
1755 UINT *pcDifferencedFiles);
1756
1757 HRESULT (STDMETHODCALLTYPE *GetDifferencedFile)(
1758 IVssComponentEx2 *This,
1759 UINT iDifferencedFile,
1760 BSTR *pbstrPath,
1761 BSTR *pbstrFilespec,
1762 WINBOOL *pbRecursive,
1763 BSTR *pbstrLsnString,
1764 FILETIME *pftLastModifyTime);
1765
1766 /*** IVssComponentEx methods ***/
1767 HRESULT (STDMETHODCALLTYPE *SetPrepareForBackupFailureMsg)(
1768 IVssComponentEx2 *This,
1769 LPCWSTR wszFailureMsg);
1770
1771 HRESULT (STDMETHODCALLTYPE *SetPostSnapshotFailureMsg)(
1772 IVssComponentEx2 *This,
1773 LPCWSTR wszFailureMsg);
1774
1775 HRESULT (STDMETHODCALLTYPE *GetPrepareForBackupFailureMsg)(
1776 IVssComponentEx2 *This,
1777 BSTR *pbstrFailureMsg);
1778
1779 HRESULT (STDMETHODCALLTYPE *GetPostSnapshotFailureMsg)(
1780 IVssComponentEx2 *This,
1781 BSTR *pbstrFailureMsg);
1782
1783 HRESULT (STDMETHODCALLTYPE *GetAuthoritativeRestore)(
1784 IVssComponentEx2 *This,
1785 boolean *pbAuth);
1786
1787 HRESULT (STDMETHODCALLTYPE *GetRollForward)(
1788 IVssComponentEx2 *This,
1789 VSS_ROLLFORWARD_TYPE *pRollType,
1790 BSTR *pbstrPoint);
1791
1792 HRESULT (STDMETHODCALLTYPE *GetRestoreName)(
1793 IVssComponentEx2 *This,
1794 BSTR *pbstrName);
1795
1796 /*** IVssComponentEx2 methods ***/
1797 HRESULT (STDMETHODCALLTYPE *SetFailure)(
1798 IVssComponentEx2 *This,
1799 HRESULT hr,
1800 HRESULT hrApplication,
1801 LPCWSTR wszApplicationMessage,
1802 DWORD dwReserved);
1803
1804 HRESULT (STDMETHODCALLTYPE *GetFailure)(
1805 IVssComponentEx2 *This,
1806 HRESULT *phr,
1807 HRESULT *phrApplication,
1808 BSTR *pbstrApplicationMessage,
1809 DWORD *pdwReserved);
5601810
5611811 END_INTERFACE
1812} IVssComponentEx2Vtbl;
1813
1814interface IVssComponentEx2 {
1815 CONST_VTBL IVssComponentEx2Vtbl* lpVtbl;
5621816};
1817
5631818#ifdef COBJMACROS
1819#ifndef WIDL_C_INLINE_WRAPPERS
1820/*** IUnknown methods ***/
5641821#define IVssComponentEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5651822#define IVssComponentEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
5661823#define IVssComponentEx2_Release(This) (This)->lpVtbl->Release(This)
1824/*** IVssComponent methods ***/
5671825#define IVssComponentEx2_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
568#define IVssComponentEx2_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
569#define IVssComponentEx2_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)
1826#define IVssComponentEx2_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct)
1827#define IVssComponentEx2_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName)
5701828#define IVssComponentEx2_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
5711829#define IVssComponentEx2_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
572#define IVssComponentEx2_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)
573#define IVssComponentEx2_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)
574#define IVssComponentEx2_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)
1830#define IVssComponentEx2_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
1831#define IVssComponentEx2_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData)
1832#define IVssComponentEx2_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData)
5751833#define IVssComponentEx2_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
5761834#define IVssComponentEx2_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
5771835#define IVssComponentEx2_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
5781836#define IVssComponentEx2_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
5791837#define IVssComponentEx2_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
5801838#define IVssComponentEx2_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
581#define IVssComponentEx2_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)
1839#define IVssComponentEx2_GetNewTarget(This,iNewTarget,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc)
5821840#define IVssComponentEx2_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
5831841#define IVssComponentEx2_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
5841842#define IVssComponentEx2_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
......@@ -599,9 +1857,10 @@ DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)
5991857#define IVssComponentEx2_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
6001858#define IVssComponentEx2_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
6011859#define IVssComponentEx2_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)
602#define IVssComponentEx2_AddDifferencedFilesByLastModifyLSN() (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This)
1860#define IVssComponentEx2_AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString)
6031861#define IVssComponentEx2_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
6041862#define IVssComponentEx2_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
1863/*** IVssComponentEx methods ***/
6051864#define IVssComponentEx2_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)
6061865#define IVssComponentEx2_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)
6071866#define IVssComponentEx2_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)
......@@ -609,182 +1868,1298 @@ DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)
6091868#define IVssComponentEx2_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)
6101869#define IVssComponentEx2_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)
6111870#define IVssComponentEx2_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)
612#define IVssComponentEx2_GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved) (This)->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved)
1871/*** IVssComponentEx2 methods ***/
6131872#define IVssComponentEx2_SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved) (This)->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved)
614#endif /*COBJMACROS*/
615#endif /*(_WIN32_WINNT >= 0x601)*/
1873#define IVssComponentEx2_GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved) (This)->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved)
1874#else
1875/*** IUnknown methods ***/
1876static FORCEINLINE HRESULT IVssComponentEx2_QueryInterface(IVssComponentEx2* This,REFIID riid,void **ppvObject) {
1877 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1878}
1879static FORCEINLINE ULONG IVssComponentEx2_AddRef(IVssComponentEx2* This) {
1880 return This->lpVtbl->AddRef(This);
1881}
1882static FORCEINLINE ULONG IVssComponentEx2_Release(IVssComponentEx2* This) {
1883 return This->lpVtbl->Release(This);
1884}
1885/*** IVssComponent methods ***/
1886static FORCEINLINE HRESULT IVssComponentEx2_GetLogicalPath(IVssComponentEx2* This,BSTR *pbstrPath) {
1887 return This->lpVtbl->GetLogicalPath(This,pbstrPath);
1888}
1889static FORCEINLINE HRESULT IVssComponentEx2_GetComponentType(IVssComponentEx2* This,VSS_COMPONENT_TYPE *pct) {
1890 return This->lpVtbl->GetComponentType(This,pct);
1891}
1892static FORCEINLINE HRESULT IVssComponentEx2_GetComponentName(IVssComponentEx2* This,BSTR *pbstrName) {
1893 return This->lpVtbl->GetComponentName(This,pbstrName);
1894}
1895static FORCEINLINE HRESULT IVssComponentEx2_GetBackupSucceeded(IVssComponentEx2* This,boolean *pbSucceeded) {
1896 return This->lpVtbl->GetBackupSucceeded(This,pbSucceeded);
1897}
1898static FORCEINLINE HRESULT IVssComponentEx2_GetAlternateLocationMappingCount(IVssComponentEx2* This,UINT *pcMappings) {
1899 return This->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings);
1900}
1901static FORCEINLINE HRESULT IVssComponentEx2_GetAlternateLocationMapping(IVssComponentEx2* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) {
1902 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc);
1903}
1904static FORCEINLINE HRESULT IVssComponentEx2_SetBackupMetadata(IVssComponentEx2* This,LPCWSTR wszData) {
1905 return This->lpVtbl->SetBackupMetadata(This,wszData);
1906}
1907static FORCEINLINE HRESULT IVssComponentEx2_GetBackupMetadata(IVssComponentEx2* This,BSTR *pbstrData) {
1908 return This->lpVtbl->GetBackupMetadata(This,pbstrData);
1909}
1910static FORCEINLINE HRESULT IVssComponentEx2_AddPartialFile(IVssComponentEx2* This,LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) {
1911 return This->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata);
1912}
1913static FORCEINLINE HRESULT IVssComponentEx2_GetPartialFileCount(IVssComponentEx2* This,UINT *pcPartialFiles) {
1914 return This->lpVtbl->GetPartialFileCount(This,pcPartialFiles);
1915}
1916static FORCEINLINE HRESULT IVssComponentEx2_GetPartialFile(IVssComponentEx2* This,UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) {
1917 return This->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata);
1918}
1919static FORCEINLINE HRESULT IVssComponentEx2_IsSelectedForRestore(IVssComponentEx2* This,boolean *pbSelectedForRestore) {
1920 return This->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore);
1921}
1922static FORCEINLINE HRESULT IVssComponentEx2_GetAdditionalRestores(IVssComponentEx2* This,boolean *pbAdditionalRestores) {
1923 return This->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores);
1924}
1925static FORCEINLINE HRESULT IVssComponentEx2_GetNewTargetCount(IVssComponentEx2* This,UINT *pcNewTarget) {
1926 return This->lpVtbl->GetNewTargetCount(This,pcNewTarget);
1927}
1928static FORCEINLINE HRESULT IVssComponentEx2_GetNewTarget(IVssComponentEx2* This,UINT iNewTarget,IVssWMFiledesc **ppFiledesc) {
1929 return This->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc);
1930}
1931static FORCEINLINE HRESULT IVssComponentEx2_AddDirectedTarget(IVssComponentEx2* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) {
1932 return This->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList);
1933}
1934static FORCEINLINE HRESULT IVssComponentEx2_GetDirectedTargetCount(IVssComponentEx2* This,UINT *pcDirectedTarget) {
1935 return This->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget);
1936}
1937static FORCEINLINE HRESULT IVssComponentEx2_GetDirectedTarget(IVssComponentEx2* This,UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) {
1938 return This->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList);
1939}
1940static FORCEINLINE HRESULT IVssComponentEx2_SetRestoreMetadata(IVssComponentEx2* This,LPCWSTR wszRestoreMetadata) {
1941 return This->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata);
1942}
1943static FORCEINLINE HRESULT IVssComponentEx2_GetRestoreMetadata(IVssComponentEx2* This,BSTR *pbstrRestoreMetadata) {
1944 return This->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata);
1945}
1946static FORCEINLINE HRESULT IVssComponentEx2_SetRestoreTarget(IVssComponentEx2* This,VSS_RESTORE_TARGET target) {
1947 return This->lpVtbl->SetRestoreTarget(This,target);
1948}
1949static FORCEINLINE HRESULT IVssComponentEx2_GetRestoreTarget(IVssComponentEx2* This,VSS_RESTORE_TARGET *pTarget) {
1950 return This->lpVtbl->GetRestoreTarget(This,pTarget);
1951}
1952static FORCEINLINE HRESULT IVssComponentEx2_SetPreRestoreFailureMsg(IVssComponentEx2* This,LPCWSTR wszPreRestoreFailureMsg) {
1953 return This->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg);
1954}
1955static FORCEINLINE HRESULT IVssComponentEx2_GetPreRestoreFailureMsg(IVssComponentEx2* This,BSTR *pbstrPreRestoreFailureMsg) {
1956 return This->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg);
1957}
1958static FORCEINLINE HRESULT IVssComponentEx2_SetPostRestoreFailureMsg(IVssComponentEx2* This,LPCWSTR wszPostRestoreFailureMsg) {
1959 return This->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg);
1960}
1961static FORCEINLINE HRESULT IVssComponentEx2_GetPostRestoreFailureMsg(IVssComponentEx2* This,BSTR *pbstrPostRestoreFailureMsg) {
1962 return This->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg);
1963}
1964static FORCEINLINE HRESULT IVssComponentEx2_SetBackupStamp(IVssComponentEx2* This,LPCWSTR wszBackupStamp) {
1965 return This->lpVtbl->SetBackupStamp(This,wszBackupStamp);
1966}
1967static FORCEINLINE HRESULT IVssComponentEx2_GetBackupStamp(IVssComponentEx2* This,BSTR *pbstrBackupStamp) {
1968 return This->lpVtbl->GetBackupStamp(This,pbstrBackupStamp);
1969}
1970static FORCEINLINE HRESULT IVssComponentEx2_GetPreviousBackupStamp(IVssComponentEx2* This,BSTR *pbstrBackupStamp) {
1971 return This->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp);
1972}
1973static FORCEINLINE HRESULT IVssComponentEx2_GetBackupOptions(IVssComponentEx2* This,BSTR *pbstrBackupOptions) {
1974 return This->lpVtbl->GetBackupOptions(This,pbstrBackupOptions);
1975}
1976static FORCEINLINE HRESULT IVssComponentEx2_GetRestoreOptions(IVssComponentEx2* This,BSTR *pbstrRestoreOptions) {
1977 return This->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions);
1978}
1979static FORCEINLINE HRESULT IVssComponentEx2_GetRestoreSubcomponentCount(IVssComponentEx2* This,UINT *pcRestoreSubcomponent) {
1980 return This->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent);
1981}
1982static FORCEINLINE HRESULT IVssComponentEx2_GetRestoreSubcomponent(IVssComponentEx2* This,UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,boolean *pbRepair) {
1983 return This->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair);
1984}
1985static FORCEINLINE HRESULT IVssComponentEx2_GetFileRestoreStatus(IVssComponentEx2* This,VSS_FILE_RESTORE_STATUS *pStatus) {
1986 return This->lpVtbl->GetFileRestoreStatus(This,pStatus);
1987}
1988static FORCEINLINE HRESULT IVssComponentEx2_AddDifferencedFilesByLastModifyTime(IVssComponentEx2* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) {
1989 return This->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime);
1990}
1991static FORCEINLINE HRESULT IVssComponentEx2_AddDifferencedFilesByLastModifyLSN(IVssComponentEx2* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,BSTR bstrLsnString) {
1992 return This->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString);
1993}
1994static FORCEINLINE HRESULT IVssComponentEx2_GetDifferencedFilesCount(IVssComponentEx2* This,UINT *pcDifferencedFiles) {
1995 return This->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles);
1996}
1997static FORCEINLINE HRESULT IVssComponentEx2_GetDifferencedFile(IVssComponentEx2* This,UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) {
1998 return This->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime);
1999}
2000/*** IVssComponentEx methods ***/
2001static FORCEINLINE HRESULT IVssComponentEx2_SetPrepareForBackupFailureMsg(IVssComponentEx2* This,LPCWSTR wszFailureMsg) {
2002 return This->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg);
2003}
2004static FORCEINLINE HRESULT IVssComponentEx2_SetPostSnapshotFailureMsg(IVssComponentEx2* This,LPCWSTR wszFailureMsg) {
2005 return This->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg);
2006}
2007static FORCEINLINE HRESULT IVssComponentEx2_GetPrepareForBackupFailureMsg(IVssComponentEx2* This,BSTR *pbstrFailureMsg) {
2008 return This->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg);
2009}
2010static FORCEINLINE HRESULT IVssComponentEx2_GetPostSnapshotFailureMsg(IVssComponentEx2* This,BSTR *pbstrFailureMsg) {
2011 return This->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg);
2012}
2013static FORCEINLINE HRESULT IVssComponentEx2_GetAuthoritativeRestore(IVssComponentEx2* This,boolean *pbAuth) {
2014 return This->lpVtbl->GetAuthoritativeRestore(This,pbAuth);
2015}
2016static FORCEINLINE HRESULT IVssComponentEx2_GetRollForward(IVssComponentEx2* This,VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) {
2017 return This->lpVtbl->GetRollForward(This,pRollType,pbstrPoint);
2018}
2019static FORCEINLINE HRESULT IVssComponentEx2_GetRestoreName(IVssComponentEx2* This,BSTR *pbstrName) {
2020 return This->lpVtbl->GetRestoreName(This,pbstrName);
2021}
2022/*** IVssComponentEx2 methods ***/
2023static FORCEINLINE HRESULT IVssComponentEx2_SetFailure(IVssComponentEx2* This,HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage,DWORD dwReserved) {
2024 return This->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved);
2025}
2026static FORCEINLINE HRESULT IVssComponentEx2_GetFailure(IVssComponentEx2* This,HRESULT *phr,HRESULT *phrApplication,BSTR *pbstrApplicationMessage,DWORD *pdwReserved) {
2027 return This->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved);
2028}
2029#endif
2030#endif
2031
2032#endif
6162033
2034
2035#endif /* __IVssComponentEx2_INTERFACE_DEFINED__ */
2036
2037#ifndef __IXMLDOMDocument_FWD_DEFINED__
2038#define __IXMLDOMDocument_FWD_DEFINED__
2039typedef interface IXMLDOMDocument IXMLDOMDocument;
6172040#ifdef __cplusplus
618/* Is a C++ interface instead of a COM */
619#undef INTERFACE
620#define INTERFACE IVssWMDependency
621#ifdef __GNUC__
622#warning COM interfaces layout in this header has not been verified.
623#warning COM interfaces with incorrect layout may not work at all.
624__MINGW_BROKEN_INTERFACE(INTERFACE)
625#endif
626DECLARE_INTERFACE_(IVssWMDependency,IUnknown)
2041interface IXMLDOMDocument;
2042#endif /* __cplusplus */
2043#endif
2044
2045/*****************************************************************************
2046 * IVssCreateWriterMetadata interface
2047 */
2048#ifndef __IVssCreateWriterMetadata_INTERFACE_DEFINED__
2049#define __IVssCreateWriterMetadata_INTERFACE_DEFINED__
2050
2051DEFINE_GUID(IID_IVssCreateWriterMetadata, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
2052#if defined(__cplusplus) && !defined(CINTERFACE)
2053MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
2054IVssCreateWriterMetadata
6272055{
2056
6282057 BEGIN_INTERFACE
6292058
630 /* IUnknown methods */
631 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
632 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
633 STDMETHOD_(ULONG, Release)(THIS) PURE;
2059 virtual HRESULT STDMETHODCALLTYPE AddIncludeFiles(
2060 LPCWSTR wszPath,
2061 LPCWSTR wszFilespec,
2062 boolean bRecursive,
2063 LPCWSTR wszAlternateLocation) = 0;
2064
2065 virtual HRESULT STDMETHODCALLTYPE AddExcludeFiles(
2066 LPCWSTR wszPath,
2067 LPCWSTR wszFilespec,
2068 boolean bRecursive) = 0;
2069
2070 virtual HRESULT STDMETHODCALLTYPE AddComponent(
2071 VSS_COMPONENT_TYPE ct,
2072 LPCWSTR wszLogicalPath,
2073 LPCWSTR wszComponentName,
2074 LPCWSTR wszCaption,
2075 const BYTE *pbIcon,
2076 UINT cbIcon,
2077 boolean bRestoreMetadata,
2078 boolean bNotifyOnBackupComplete,
2079 boolean bSelectable,
2080 boolean bSelectableForRestore = 0,
2081 DWORD dwComponentFlags = 0) = 0;
2082
2083 virtual HRESULT STDMETHODCALLTYPE AddDatabaseFiles(
2084 LPCWSTR wszLogicalPath,
2085 LPCWSTR wszDatabaseName,
2086 LPCWSTR wszPath,
2087 LPCWSTR wszFilespec,
2088 DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0;
2089
2090 virtual HRESULT STDMETHODCALLTYPE AddDatabaseLogFiles(
2091 LPCWSTR wszLogicalPath,
2092 LPCWSTR wszDatabaseName,
2093 LPCWSTR wszPath,
2094 LPCWSTR wszFilespec,
2095 DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0;
2096
2097 virtual HRESULT STDMETHODCALLTYPE AddFilesToFileGroup(
2098 LPCWSTR wszLogicalPath,
2099 LPCWSTR wszGroupName,
2100 LPCWSTR wszPath,
2101 LPCWSTR wszFilespec,
2102 boolean bRecursive,
2103 LPCWSTR wszAlternateLocation,
2104 DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0;
2105
2106 virtual HRESULT STDMETHODCALLTYPE SetRestoreMethod(
2107 VSS_RESTOREMETHOD_ENUM method,
2108 LPCWSTR wszService,
2109 LPCWSTR wszUserProcedure,
2110 VSS_WRITERRESTORE_ENUM writerRestore,
2111 boolean bRebootRequired) = 0;
6342112
635 /* IVssWMDependency methods */
636 STDMETHOD_(HRESULT,GetWriterId)(THIS_ VSS_ID *pWriterId) PURE;
637 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrLogicalPath) PURE;
638 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pbstrComponentName) PURE;
2113 virtual HRESULT STDMETHODCALLTYPE AddAlternateLocationMapping(
2114 LPCWSTR wszSourcePath,
2115 LPCWSTR wszSourceFilespec,
2116 boolean bRecursive,
2117 LPCWSTR wszDestination) = 0;
2118
2119 virtual HRESULT STDMETHODCALLTYPE AddComponentDependency(
2120 LPCWSTR wszForLogicalPath,
2121 LPCWSTR wszForComponentName,
2122 VSS_ID onWriterId,
2123 LPCWSTR wszOnLogicalPath,
2124 LPCWSTR wszOnComponentName) = 0;
2125
2126 virtual HRESULT STDMETHODCALLTYPE SetBackupSchema(
2127 DWORD dwSchemaMask) = 0;
2128
2129 virtual HRESULT STDMETHODCALLTYPE GetDocument(
2130 IXMLDOMDocument **pDoc) = 0;
2131
2132 virtual HRESULT STDMETHODCALLTYPE SaveAsXML(
2133 BSTR *pbstrXML) = 0;
6392134
6402135 END_INTERFACE
2136
6412137};
2138#ifdef __CRT_UUID_DECL
2139__CRT_UUID_DECL(IVssCreateWriterMetadata, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
2140#endif
2141#else
2142typedef struct IVssCreateWriterMetadataVtbl {
2143 BEGIN_INTERFACE
2144
2145 /*** IVssCreateWriterMetadata methods ***/
2146 HRESULT (STDMETHODCALLTYPE *AddIncludeFiles)(
2147 IVssCreateWriterMetadata *This,
2148 LPCWSTR wszPath,
2149 LPCWSTR wszFilespec,
2150 boolean bRecursive,
2151 LPCWSTR wszAlternateLocation);
2152
2153 HRESULT (STDMETHODCALLTYPE *AddExcludeFiles)(
2154 IVssCreateWriterMetadata *This,
2155 LPCWSTR wszPath,
2156 LPCWSTR wszFilespec,
2157 boolean bRecursive);
2158
2159 HRESULT (STDMETHODCALLTYPE *AddComponent)(
2160 IVssCreateWriterMetadata *This,
2161 VSS_COMPONENT_TYPE ct,
2162 LPCWSTR wszLogicalPath,
2163 LPCWSTR wszComponentName,
2164 LPCWSTR wszCaption,
2165 const BYTE *pbIcon,
2166 UINT cbIcon,
2167 boolean bRestoreMetadata,
2168 boolean bNotifyOnBackupComplete,
2169 boolean bSelectable,
2170 boolean bSelectableForRestore,
2171 DWORD dwComponentFlags);
2172
2173 HRESULT (STDMETHODCALLTYPE *AddDatabaseFiles)(
2174 IVssCreateWriterMetadata *This,
2175 LPCWSTR wszLogicalPath,
2176 LPCWSTR wszDatabaseName,
2177 LPCWSTR wszPath,
2178 LPCWSTR wszFilespec,
2179 DWORD dwBackupTypeMask);
2180
2181 HRESULT (STDMETHODCALLTYPE *AddDatabaseLogFiles)(
2182 IVssCreateWriterMetadata *This,
2183 LPCWSTR wszLogicalPath,
2184 LPCWSTR wszDatabaseName,
2185 LPCWSTR wszPath,
2186 LPCWSTR wszFilespec,
2187 DWORD dwBackupTypeMask);
6422188
643#undef INTERFACE
644#define INTERFACE IVssWMFiledesc
645#ifdef __GNUC__
646#warning COM interfaces layout in this header has not been verified.
647#warning COM interfaces with incorrect layout may not work at all.
648__MINGW_BROKEN_INTERFACE(INTERFACE)
2189 HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)(
2190 IVssCreateWriterMetadata *This,
2191 LPCWSTR wszLogicalPath,
2192 LPCWSTR wszGroupName,
2193 LPCWSTR wszPath,
2194 LPCWSTR wszFilespec,
2195 boolean bRecursive,
2196 LPCWSTR wszAlternateLocation,
2197 DWORD dwBackupTypeMask);
2198
2199 HRESULT (STDMETHODCALLTYPE *SetRestoreMethod)(
2200 IVssCreateWriterMetadata *This,
2201 VSS_RESTOREMETHOD_ENUM method,
2202 LPCWSTR wszService,
2203 LPCWSTR wszUserProcedure,
2204 VSS_WRITERRESTORE_ENUM writerRestore,
2205 boolean bRebootRequired);
2206
2207 HRESULT (STDMETHODCALLTYPE *AddAlternateLocationMapping)(
2208 IVssCreateWriterMetadata *This,
2209 LPCWSTR wszSourcePath,
2210 LPCWSTR wszSourceFilespec,
2211 boolean bRecursive,
2212 LPCWSTR wszDestination);
2213
2214 HRESULT (STDMETHODCALLTYPE *AddComponentDependency)(
2215 IVssCreateWriterMetadata *This,
2216 LPCWSTR wszForLogicalPath,
2217 LPCWSTR wszForComponentName,
2218 VSS_ID onWriterId,
2219 LPCWSTR wszOnLogicalPath,
2220 LPCWSTR wszOnComponentName);
2221
2222 HRESULT (STDMETHODCALLTYPE *SetBackupSchema)(
2223 IVssCreateWriterMetadata *This,
2224 DWORD dwSchemaMask);
2225
2226 HRESULT (STDMETHODCALLTYPE *GetDocument)(
2227 IVssCreateWriterMetadata *This,
2228 IXMLDOMDocument **pDoc);
2229
2230 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
2231 IVssCreateWriterMetadata *This,
2232 BSTR *pbstrXML);
2233
2234 END_INTERFACE
2235} IVssCreateWriterMetadataVtbl;
2236
2237interface IVssCreateWriterMetadata {
2238 CONST_VTBL IVssCreateWriterMetadataVtbl* lpVtbl;
2239};
2240
2241#ifdef COBJMACROS
2242#ifndef WIDL_C_INLINE_WRAPPERS
2243/*** IVssCreateWriterMetadata methods ***/
2244#define IVssCreateWriterMetadata_AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) (This)->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation)
2245#define IVssCreateWriterMetadata_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive)
2246#define IVssCreateWriterMetadata_AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags)
2247#define IVssCreateWriterMetadata_AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask)
2248#define IVssCreateWriterMetadata_AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask)
2249#define IVssCreateWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)
2250#define IVssCreateWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired)
2251#define IVssCreateWriterMetadata_AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination)
2252#define IVssCreateWriterMetadata_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName)
2253#define IVssCreateWriterMetadata_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask)
2254#define IVssCreateWriterMetadata_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc)
2255#define IVssCreateWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
2256#else
2257/*** IVssCreateWriterMetadata methods ***/
2258static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddIncludeFiles(IVssCreateWriterMetadata* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation) {
2259 return This->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation);
2260}
2261static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddExcludeFiles(IVssCreateWriterMetadata* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) {
2262 return This->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive);
2263}
2264static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddComponent(IVssCreateWriterMetadata* This,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,boolean bRestoreMetadata,boolean bNotifyOnBackupComplete,boolean bSelectable,boolean bSelectableForRestore,DWORD dwComponentFlags) {
2265 return This->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags);
2266}
2267static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddDatabaseFiles(IVssCreateWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) {
2268 return This->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask);
2269}
2270static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddDatabaseLogFiles(IVssCreateWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) {
2271 return This->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask);
2272}
2273static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddFilesToFileGroup(IVssCreateWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation,DWORD dwBackupTypeMask) {
2274 return This->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask);
2275}
2276static FORCEINLINE HRESULT IVssCreateWriterMetadata_SetRestoreMethod(IVssCreateWriterMetadata* This,VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM writerRestore,boolean bRebootRequired) {
2277 return This->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired);
2278}
2279static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddAlternateLocationMapping(IVssCreateWriterMetadata* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilespec,boolean bRecursive,LPCWSTR wszDestination) {
2280 return This->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination);
2281}
2282static FORCEINLINE HRESULT IVssCreateWriterMetadata_AddComponentDependency(IVssCreateWriterMetadata* This,LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) {
2283 return This->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName);
2284}
2285static FORCEINLINE HRESULT IVssCreateWriterMetadata_SetBackupSchema(IVssCreateWriterMetadata* This,DWORD dwSchemaMask) {
2286 return This->lpVtbl->SetBackupSchema(This,dwSchemaMask);
2287}
2288static FORCEINLINE HRESULT IVssCreateWriterMetadata_GetDocument(IVssCreateWriterMetadata* This,IXMLDOMDocument **pDoc) {
2289 return This->lpVtbl->GetDocument(This,pDoc);
2290}
2291static FORCEINLINE HRESULT IVssCreateWriterMetadata_SaveAsXML(IVssCreateWriterMetadata* This,BSTR *pbstrXML) {
2292 return This->lpVtbl->SaveAsXML(This,pbstrXML);
2293}
2294#endif
6492295#endif
650DECLARE_INTERFACE_(IVssWMFiledesc,IUnknown)
2296
2297#endif
2298
2299
2300#endif /* __IVssCreateWriterMetadata_INTERFACE_DEFINED__ */
2301
2302/*****************************************************************************
2303 * IVssCreateWriterMetadataEx interface
2304 */
2305#ifndef __IVssCreateWriterMetadataEx_INTERFACE_DEFINED__
2306#define __IVssCreateWriterMetadataEx_INTERFACE_DEFINED__
2307
2308DEFINE_GUID(IID_IVssCreateWriterMetadataEx, 0x9f21981d, 0xd469, 0x4349, 0xb8,0x07, 0x39,0xe6,0x4e,0x46,0x74,0xe1);
2309#if defined(__cplusplus) && !defined(CINTERFACE)
2310MIDL_INTERFACE("9f21981d-d469-4349-b807-39e64e4674e1")
2311IVssCreateWriterMetadataEx : public IVssCreateWriterMetadata
6512312{
2313 virtual HRESULT STDMETHODCALLTYPE AddExcludeFilesFromSnapshot(
2314 LPCWSTR wszPath,
2315 LPCWSTR wszFilespec,
2316 boolean bRecursive) = 0;
2317
2318};
2319#ifdef __CRT_UUID_DECL
2320__CRT_UUID_DECL(IVssCreateWriterMetadataEx, 0x9f21981d, 0xd469, 0x4349, 0xb8,0x07, 0x39,0xe6,0x4e,0x46,0x74,0xe1)
2321#endif
2322#else
2323typedef struct IVssCreateWriterMetadataExVtbl {
6522324 BEGIN_INTERFACE
6532325
654 /* IUnknown methods */
655 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
656 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
657 STDMETHOD_(ULONG, Release)(THIS) PURE;
2326 /*** IVssCreateWriterMetadata methods ***/
2327 HRESULT (STDMETHODCALLTYPE *AddIncludeFiles)(
2328 IVssCreateWriterMetadataEx *This,
2329 LPCWSTR wszPath,
2330 LPCWSTR wszFilespec,
2331 boolean bRecursive,
2332 LPCWSTR wszAlternateLocation);
2333
2334 HRESULT (STDMETHODCALLTYPE *AddExcludeFiles)(
2335 IVssCreateWriterMetadataEx *This,
2336 LPCWSTR wszPath,
2337 LPCWSTR wszFilespec,
2338 boolean bRecursive);
2339
2340 HRESULT (STDMETHODCALLTYPE *AddComponent)(
2341 IVssCreateWriterMetadataEx *This,
2342 VSS_COMPONENT_TYPE ct,
2343 LPCWSTR wszLogicalPath,
2344 LPCWSTR wszComponentName,
2345 LPCWSTR wszCaption,
2346 const BYTE *pbIcon,
2347 UINT cbIcon,
2348 boolean bRestoreMetadata,
2349 boolean bNotifyOnBackupComplete,
2350 boolean bSelectable,
2351 boolean bSelectableForRestore,
2352 DWORD dwComponentFlags);
2353
2354 HRESULT (STDMETHODCALLTYPE *AddDatabaseFiles)(
2355 IVssCreateWriterMetadataEx *This,
2356 LPCWSTR wszLogicalPath,
2357 LPCWSTR wszDatabaseName,
2358 LPCWSTR wszPath,
2359 LPCWSTR wszFilespec,
2360 DWORD dwBackupTypeMask);
6582361
659 /* IVssWMFiledesc methods */
660 STDMETHOD_(HRESULT,GetPath)(THIS_ BSTR *pbstrPath) PURE;
661 STDMETHOD_(HRESULT,GetFilespec)(THIS_ BSTR *pbstrFilespec) PURE;
662 STDMETHOD_(HRESULT,GetRecursive)(THIS_ BOOLEAN *pbRecursive) PURE;
663 STDMETHOD_(HRESULT,GetAlternateLocation)(THIS_ BSTR *pbstrAlternateLocation) PURE;
664 STDMETHOD_(HRESULT,GetBackupTypeMask)(THIS_ DWORD *pdwTypeMask) PURE;
2362 HRESULT (STDMETHODCALLTYPE *AddDatabaseLogFiles)(
2363 IVssCreateWriterMetadataEx *This,
2364 LPCWSTR wszLogicalPath,
2365 LPCWSTR wszDatabaseName,
2366 LPCWSTR wszPath,
2367 LPCWSTR wszFilespec,
2368 DWORD dwBackupTypeMask);
2369
2370 HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)(
2371 IVssCreateWriterMetadataEx *This,
2372 LPCWSTR wszLogicalPath,
2373 LPCWSTR wszGroupName,
2374 LPCWSTR wszPath,
2375 LPCWSTR wszFilespec,
2376 boolean bRecursive,
2377 LPCWSTR wszAlternateLocation,
2378 DWORD dwBackupTypeMask);
2379
2380 HRESULT (STDMETHODCALLTYPE *SetRestoreMethod)(
2381 IVssCreateWriterMetadataEx *This,
2382 VSS_RESTOREMETHOD_ENUM method,
2383 LPCWSTR wszService,
2384 LPCWSTR wszUserProcedure,
2385 VSS_WRITERRESTORE_ENUM writerRestore,
2386 boolean bRebootRequired);
2387
2388 HRESULT (STDMETHODCALLTYPE *AddAlternateLocationMapping)(
2389 IVssCreateWriterMetadataEx *This,
2390 LPCWSTR wszSourcePath,
2391 LPCWSTR wszSourceFilespec,
2392 boolean bRecursive,
2393 LPCWSTR wszDestination);
2394
2395 HRESULT (STDMETHODCALLTYPE *AddComponentDependency)(
2396 IVssCreateWriterMetadataEx *This,
2397 LPCWSTR wszForLogicalPath,
2398 LPCWSTR wszForComponentName,
2399 VSS_ID onWriterId,
2400 LPCWSTR wszOnLogicalPath,
2401 LPCWSTR wszOnComponentName);
2402
2403 HRESULT (STDMETHODCALLTYPE *SetBackupSchema)(
2404 IVssCreateWriterMetadataEx *This,
2405 DWORD dwSchemaMask);
2406
2407 HRESULT (STDMETHODCALLTYPE *GetDocument)(
2408 IVssCreateWriterMetadataEx *This,
2409 IXMLDOMDocument **pDoc);
2410
2411 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
2412 IVssCreateWriterMetadataEx *This,
2413 BSTR *pbstrXML);
2414
2415 /*** IVssCreateWriterMetadataEx methods ***/
2416 HRESULT (STDMETHODCALLTYPE *AddExcludeFilesFromSnapshot)(
2417 IVssCreateWriterMetadataEx *This,
2418 LPCWSTR wszPath,
2419 LPCWSTR wszFilespec,
2420 boolean bRecursive);
6652421
6662422 END_INTERFACE
2423} IVssCreateWriterMetadataExVtbl;
2424
2425interface IVssCreateWriterMetadataEx {
2426 CONST_VTBL IVssCreateWriterMetadataExVtbl* lpVtbl;
6672427};
668#endif /*__cplusplus*/
6692428
670#ifdef __cplusplus
671#if __MINGW_GNUC_PREREQ(4,6)
672/* We need __thiscall support */
673class CVssWriter {
674protected:
675 bool WINAPI AreComponentsSelected() const;
676 VSS_BACKUP_TYPE WINAPI GetBackupType() const;
677 LONG WINAPI GetContext() const;
678 VSS_APPLICATION_LEVEL WINAPI GetCurrentLevel() const;
679 VSS_ID WINAPI GetCurrentSnapshotSetId() const;
680 LPCWSTR* WINAPI GetCurrentVolumeArray() const;
681 UINT WINAPI GetCurrentVolumeCount() const;
682 VSS_RESTORE_TYPE WINAPI GetRestoreType() const;
683 HRESULT WINAPI GetSnapshotDeviceName(
2429#ifdef COBJMACROS
2430#ifndef WIDL_C_INLINE_WRAPPERS
2431/*** IVssCreateWriterMetadata methods ***/
2432#define IVssCreateWriterMetadataEx_AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) (This)->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation)
2433#define IVssCreateWriterMetadataEx_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive)
2434#define IVssCreateWriterMetadataEx_AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags)
2435#define IVssCreateWriterMetadataEx_AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask)
2436#define IVssCreateWriterMetadataEx_AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask)
2437#define IVssCreateWriterMetadataEx_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)
2438#define IVssCreateWriterMetadataEx_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired)
2439#define IVssCreateWriterMetadataEx_AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination)
2440#define IVssCreateWriterMetadataEx_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName)
2441#define IVssCreateWriterMetadataEx_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask)
2442#define IVssCreateWriterMetadataEx_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc)
2443#define IVssCreateWriterMetadataEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
2444/*** IVssCreateWriterMetadataEx methods ***/
2445#define IVssCreateWriterMetadataEx_AddExcludeFilesFromSnapshot(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFilesFromSnapshot(This,wszPath,wszFilespec,bRecursive)
2446#else
2447/*** IVssCreateWriterMetadata methods ***/
2448static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddIncludeFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation) {
2449 return This->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation);
2450}
2451static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddExcludeFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) {
2452 return This->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive);
2453}
2454static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddComponent(IVssCreateWriterMetadataEx* This,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,boolean bRestoreMetadata,boolean bNotifyOnBackupComplete,boolean bSelectable,boolean bSelectableForRestore,DWORD dwComponentFlags) {
2455 return This->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags);
2456}
2457static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddDatabaseFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) {
2458 return This->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask);
2459}
2460static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddDatabaseLogFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) {
2461 return This->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask);
2462}
2463static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddFilesToFileGroup(IVssCreateWriterMetadataEx* This,LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation,DWORD dwBackupTypeMask) {
2464 return This->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask);
2465}
2466static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_SetRestoreMethod(IVssCreateWriterMetadataEx* This,VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM writerRestore,boolean bRebootRequired) {
2467 return This->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired);
2468}
2469static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddAlternateLocationMapping(IVssCreateWriterMetadataEx* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilespec,boolean bRecursive,LPCWSTR wszDestination) {
2470 return This->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination);
2471}
2472static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddComponentDependency(IVssCreateWriterMetadataEx* This,LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) {
2473 return This->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName);
2474}
2475static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_SetBackupSchema(IVssCreateWriterMetadataEx* This,DWORD dwSchemaMask) {
2476 return This->lpVtbl->SetBackupSchema(This,dwSchemaMask);
2477}
2478static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_GetDocument(IVssCreateWriterMetadataEx* This,IXMLDOMDocument **pDoc) {
2479 return This->lpVtbl->GetDocument(This,pDoc);
2480}
2481static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_SaveAsXML(IVssCreateWriterMetadataEx* This,BSTR *pbstrXML) {
2482 return This->lpVtbl->SaveAsXML(This,pbstrXML);
2483}
2484/*** IVssCreateWriterMetadataEx methods ***/
2485static FORCEINLINE HRESULT IVssCreateWriterMetadataEx_AddExcludeFilesFromSnapshot(IVssCreateWriterMetadataEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) {
2486 return This->lpVtbl->AddExcludeFilesFromSnapshot(This,wszPath,wszFilespec,bRecursive);
2487}
2488#endif
2489#endif
2490
2491#endif
2492
2493
2494#endif /* __IVssCreateWriterMetadataEx_INTERFACE_DEFINED__ */
2495
2496/*****************************************************************************
2497 * IVssWriterImpl interface
2498 */
2499#ifndef __IVssWriterImpl_INTERFACE_DEFINED__
2500#define __IVssWriterImpl_INTERFACE_DEFINED__
2501
2502DEFINE_GUID(IID_IVssWriterImpl, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
2503#if defined(__cplusplus) && !defined(CINTERFACE)
2504MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
2505IVssWriterImpl : public IUnknown
2506{
2507 virtual HRESULT STDMETHODCALLTYPE Initialize(
2508 VSS_ID writerId,
2509 LPCWSTR wszWriterName,
2510 LPCWSTR wszWriterInstanceName,
2511 DWORD dwMajorVersion,
2512 DWORD dwMinorVersion,
2513 VSS_USAGE_TYPE ut,
2514 VSS_SOURCE_TYPE st,
2515 VSS_APPLICATION_LEVEL nLevel,
2516 DWORD dwTimeout,
2517 VSS_ALTERNATE_WRITER_STATE aws,
2518 boolean bIOThrottlingOnly) = 0;
2519
2520 virtual HRESULT STDMETHODCALLTYPE Subscribe(
2521 DWORD dwSubscribeTimeout,
2522 DWORD dwEventFlags) = 0;
2523
2524 virtual HRESULT STDMETHODCALLTYPE Unsubscribe(
2525 ) = 0;
2526
2527 virtual void STDMETHODCALLTYPE Uninitialize(
2528 ) = 0;
2529
2530 virtual LPCWSTR * STDMETHODCALLTYPE GetCurrentVolumeArray(
2531 ) = 0;
2532
2533 virtual UINT STDMETHODCALLTYPE GetCurrentVolumeCount(
2534 ) = 0;
2535
2536 virtual HRESULT STDMETHODCALLTYPE GetSnapshotDeviceName(
6842537 LPCWSTR wszOriginalVolume,
685 LPCWSTR *ppwszSnapshotDevice) const;
686 bool WINAPI IsBootableSystemStateBackedUp() const;
687 bool WINAPI IsPartialFileSupportEnabled() const;
688 bool WINAPI IsPathAffected(
689 LPCWSTR wszPath) const;
690 HRESULT WINAPI SetWriterFailure(
691 HRESULT hr);
692public:
693 //Pure virtuals
694 virtual bool WINAPI OnAbort() = 0;
695 virtual bool WINAPI OnFreeze() = 0;
696 virtual bool WINAPI OnPrepareSnapshot() = 0;
697 virtual bool WINAPI OnThaw() = 0;
698 //Virtuals
699 virtual __thiscall ~CVssWriter();
700 virtual bool WINAPI OnBackupComplete(
701 IVssWriterComponents *pComponent);
702 virtual bool WINAPI OnBackupShutdown(
703 VSS_ID SnapshotSetId);
704 virtual bool WINAPI OnIdentify(
705 IVssCreateWriterMetadata *pMetadata);
706 virtual bool WINAPI OnPostRestore(
707 IVssWriterComponents *pComponent);
708 virtual bool WINAPI OnPostSnapshot(
709 IVssWriterComponents *pComponent);
710 virtual bool WINAPI OnPrepareBackup(
711 IVssWriterComponents *pComponent);
712 virtual bool WINAPI OnPreRestore(
713 IVssWriterComponents *pComponent);
714 //gendef says public: virtual bool __stdcall CVssWriter::OnBackOffIOOnVolume(unsigned short *,struct _GUID,struct _GUID)
715 //Method unsupported
716 virtual bool WINAPI OnBackOffIOOnVolume(
717 VSS_PWSZ _vss_pwsz,
718 VSS_ID _id1,
719 VSS_ID _id2);
720 //gendef says public: virtual bool __stdcall CVssWriter::OnContinueIOOnVolume(unsigned short *,struct _GUID,struct _GUID)
721 //Method unsupported
722 virtual bool WINAPI OnContinueIOOnVolume(
723 VSS_PWSZ _vss_pwsz,
724 VSS_ID _id1,
725 VSS_ID _id2);
726 //gendef says public: virtual bool __stdcall CVssWriter::OnVSSShutdown(void)
727 //Method unsupported
728 virtual bool WINAPI OnVssShutdown();
729 //Non-virtuals
730 __thiscall CVssWriter();
731 HRESULT WINAPI Initialize(
732 VSS_ID WriterId,
733 LPCWSTR WriterName,
734 VSS_USAGE_TYPE UsageType,
735 VSS_SOURCE_TYPE SourceType,
736 VSS_APPLICATION_LEVEL AppLevel,
737 DWORD dwTimeoutFreeze = 60000,
738 VSS_ALTERNATE_WRITER_STATE aws = VSS_AWS_NO_ALTERNATE_WRITER,
739 bool bIOThrottlingOnly = false,
740 LPCWSTR wszWriterInstanceName = NULL);
741 HRESULT WINAPI Subscribe(
742 DWORD dwEventFlags);
743 HRESULT WINAPI Unsubscribe();
744 //gendef says public: long __stdcall CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID)
745 //Method unsupported
746 HRESULT WINAPI InstallAlternateWriter(
747 VSS_ID _id1,
748 VSS_ID _id2);
2538 LPCWSTR *ppwszSnapshotDevice) = 0;
2539
2540#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
2541 virtual VSS_ID* STDMETHODCALLTYPE GetCurrentSnapshotSetId(
2542 VSS_ID *__ret) = 0;
2543 VSS_ID STDMETHODCALLTYPE GetCurrentSnapshotSetId(
2544 )
2545 {
2546 VSS_ID __ret;
2547 return *GetCurrentSnapshotSetId(&__ret);
2548 }
2549#else
2550 virtual VSS_ID STDMETHODCALLTYPE GetCurrentSnapshotSetId(
2551 ) = 0;
2552#endif
2553
2554 virtual LONG STDMETHODCALLTYPE GetContext(
2555 ) = 0;
2556
2557 virtual VSS_APPLICATION_LEVEL STDMETHODCALLTYPE GetCurrentLevel(
2558 ) = 0;
2559
2560 virtual boolean STDMETHODCALLTYPE IsPathAffected(
2561 LPCWSTR wszPath) = 0;
2562
2563 virtual boolean STDMETHODCALLTYPE IsBootableSystemStateBackedUp(
2564 ) = 0;
2565
2566 virtual boolean STDMETHODCALLTYPE AreComponentsSelected(
2567 ) = 0;
2568
2569 virtual VSS_BACKUP_TYPE STDMETHODCALLTYPE GetBackupType(
2570 ) = 0;
2571
2572 virtual VSS_RESTORE_TYPE STDMETHODCALLTYPE GetRestoreType(
2573 ) = 0;
2574
2575 virtual HRESULT STDMETHODCALLTYPE SetWriterFailure(
2576 HRESULT hr) = 0;
2577
2578 virtual boolean STDMETHODCALLTYPE IsPartialFileSupportEnabled(
2579 ) = 0;
2580
2581 virtual HRESULT STDMETHODCALLTYPE InstallAlternateWriter(
2582 VSS_ID idWriter,
2583 CLSID clsid) = 0;
2584
2585 virtual IVssExamineWriterMetadata * STDMETHODCALLTYPE GetIdentityInformation(
2586 ) = 0;
2587
2588 virtual HRESULT STDMETHODCALLTYPE SetWriterFailureEx(
2589 HRESULT hr,
2590 HRESULT hrApplication,
2591 LPCWSTR wszApplicationMessage) = 0;
2592
2593 virtual HRESULT STDMETHODCALLTYPE GetSessionId(
2594 VSS_ID *idSession) = 0;
2595
2596 virtual boolean STDMETHODCALLTYPE IsWriterShuttingDown(
2597 ) = 0;
2598
7492599};
2600#ifdef __CRT_UUID_DECL
2601__CRT_UUID_DECL(IVssWriterImpl, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
2602#endif
2603#else
2604typedef struct IVssWriterImplVtbl {
2605 BEGIN_INTERFACE
7502606
751class CVssWriterEx : public CVssWriter {
752 protected:
753 HRESULT WINAPI GetIdentifyInformation(
754 IVssExamineWriterMetadata **ppMetadata) const;
755 HRESULT WINAPI SubscribeEx(
756 DWORD dwUnsubscribeTimeout,
757 DWORD dwEventFlags);
758 public:
759 virtual bool WINAPI OnIdentifyEx(
760 IVssCreateWriterMetadataEx *pMetadata) const;
761 HRESULT WINAPI InitializeEx(
762 VSS_ID WriterId,
2607 /*** IUnknown methods ***/
2608 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2609 IVssWriterImpl *This,
2610 REFIID riid,
2611 void **ppvObject);
2612
2613 ULONG (STDMETHODCALLTYPE *AddRef)(
2614 IVssWriterImpl *This);
2615
2616 ULONG (STDMETHODCALLTYPE *Release)(
2617 IVssWriterImpl *This);
2618
2619 /*** IVssWriterImpl methods ***/
2620 HRESULT (STDMETHODCALLTYPE *Initialize)(
2621 IVssWriterImpl *This,
2622 VSS_ID writerId,
7632623 LPCWSTR wszWriterName,
2624 LPCWSTR wszWriterInstanceName,
7642625 DWORD dwMajorVersion,
7652626 DWORD dwMinorVersion,
7662627 VSS_USAGE_TYPE ut,
7672628 VSS_SOURCE_TYPE st,
7682629 VSS_APPLICATION_LEVEL nLevel,
769 DWORD dwTimeoutFreeze = 60000,
770 VSS_ALTERNATE_WRITER_STATE aws = VSS_AWS_NO_ALTERNATE_WRITER,
771 bool bIOThrottlingOnly = false,
772 LPCWSTR wszWriterInstanceName = NULL);
773};
2630 DWORD dwTimeout,
2631 VSS_ALTERNATE_WRITER_STATE aws,
2632 boolean bIOThrottlingOnly);
2633
2634 HRESULT (STDMETHODCALLTYPE *Subscribe)(
2635 IVssWriterImpl *This,
2636 DWORD dwSubscribeTimeout,
2637 DWORD dwEventFlags);
2638
2639 HRESULT (STDMETHODCALLTYPE *Unsubscribe)(
2640 IVssWriterImpl *This);
2641
2642 void (STDMETHODCALLTYPE *Uninitialize)(
2643 IVssWriterImpl *This);
2644
2645 LPCWSTR * (STDMETHODCALLTYPE *GetCurrentVolumeArray)(
2646 IVssWriterImpl *This);
2647
2648 UINT (STDMETHODCALLTYPE *GetCurrentVolumeCount)(
2649 IVssWriterImpl *This);
2650
2651 HRESULT (STDMETHODCALLTYPE *GetSnapshotDeviceName)(
2652 IVssWriterImpl *This,
2653 LPCWSTR wszOriginalVolume,
2654 LPCWSTR *ppwszSnapshotDevice);
2655
2656 VSS_ID * (STDMETHODCALLTYPE *GetCurrentSnapshotSetId)(
2657 IVssWriterImpl *This,
2658 VSS_ID *__ret);
2659
2660 LONG (STDMETHODCALLTYPE *GetContext)(
2661 IVssWriterImpl *This);
2662
2663 VSS_APPLICATION_LEVEL (STDMETHODCALLTYPE *GetCurrentLevel)(
2664 IVssWriterImpl *This);
2665
2666 boolean (STDMETHODCALLTYPE *IsPathAffected)(
2667 IVssWriterImpl *This,
2668 LPCWSTR wszPath);
2669
2670 boolean (STDMETHODCALLTYPE *IsBootableSystemStateBackedUp)(
2671 IVssWriterImpl *This);
2672
2673 boolean (STDMETHODCALLTYPE *AreComponentsSelected)(
2674 IVssWriterImpl *This);
2675
2676 VSS_BACKUP_TYPE (STDMETHODCALLTYPE *GetBackupType)(
2677 IVssWriterImpl *This);
7742678
775class CVssWriterEx2: public CVssWriterEx {
776 public:
777 HRESULT WINAPI GetSessionId(
778 VSS_ID *idSession) const;
779 bool WINAPI IsWriterShuttingDown() const;
780 HRESULT WINAPI SetWriterFailureEx(
781 HRESULT hrWriter,
2679 VSS_RESTORE_TYPE (STDMETHODCALLTYPE *GetRestoreType)(
2680 IVssWriterImpl *This);
2681
2682 HRESULT (STDMETHODCALLTYPE *SetWriterFailure)(
2683 IVssWriterImpl *This,
2684 HRESULT hr);
2685
2686 boolean (STDMETHODCALLTYPE *IsPartialFileSupportEnabled)(
2687 IVssWriterImpl *This);
2688
2689 HRESULT (STDMETHODCALLTYPE *InstallAlternateWriter)(
2690 IVssWriterImpl *This,
2691 VSS_ID idWriter,
2692 CLSID clsid);
2693
2694 IVssExamineWriterMetadata * (STDMETHODCALLTYPE *GetIdentityInformation)(
2695 IVssWriterImpl *This);
2696
2697 HRESULT (STDMETHODCALLTYPE *SetWriterFailureEx)(
2698 IVssWriterImpl *This,
2699 HRESULT hr,
7822700 HRESULT hrApplication,
7832701 LPCWSTR wszApplicationMessage);
2702
2703 HRESULT (STDMETHODCALLTYPE *GetSessionId)(
2704 IVssWriterImpl *This,
2705 VSS_ID *idSession);
2706
2707 boolean (STDMETHODCALLTYPE *IsWriterShuttingDown)(
2708 IVssWriterImpl *This);
2709
2710 END_INTERFACE
2711} IVssWriterImplVtbl;
2712
2713interface IVssWriterImpl {
2714 CONST_VTBL IVssWriterImplVtbl* lpVtbl;
2715};
2716
2717#ifdef COBJMACROS
2718#ifndef WIDL_C_INLINE_WRAPPERS
2719/*** IUnknown methods ***/
2720#define IVssWriterImpl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2721#define IVssWriterImpl_AddRef(This) (This)->lpVtbl->AddRef(This)
2722#define IVssWriterImpl_Release(This) (This)->lpVtbl->Release(This)
2723/*** IVssWriterImpl methods ***/
2724#define IVssWriterImpl_Initialize(This,writerId,wszWriterName,wszWriterInstanceName,dwMajorVersion,dwMinorVersion,ut,st,nLevel,dwTimeout,aws,bIOThrottlingOnly) (This)->lpVtbl->Initialize(This,writerId,wszWriterName,wszWriterInstanceName,dwMajorVersion,dwMinorVersion,ut,st,nLevel,dwTimeout,aws,bIOThrottlingOnly)
2725#define IVssWriterImpl_Subscribe(This,dwSubscribeTimeout,dwEventFlags) (This)->lpVtbl->Subscribe(This,dwSubscribeTimeout,dwEventFlags)
2726#define IVssWriterImpl_Unsubscribe(This) (This)->lpVtbl->Unsubscribe(This)
2727#define IVssWriterImpl_Uninitialize(This) (This)->lpVtbl->Uninitialize(This)
2728#define IVssWriterImpl_GetCurrentVolumeArray(This) (This)->lpVtbl->GetCurrentVolumeArray(This)
2729#define IVssWriterImpl_GetCurrentVolumeCount(This) (This)->lpVtbl->GetCurrentVolumeCount(This)
2730#define IVssWriterImpl_GetSnapshotDeviceName(This,wszOriginalVolume,ppwszSnapshotDevice) (This)->lpVtbl->GetSnapshotDeviceName(This,wszOriginalVolume,ppwszSnapshotDevice)
2731#define IVssWriterImpl_GetCurrentSnapshotSetId(This) IVssWriterImpl_GetCurrentSnapshotSetId_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
2732#define IVssWriterImpl_GetContext(This) (This)->lpVtbl->GetContext(This)
2733#define IVssWriterImpl_GetCurrentLevel(This) (This)->lpVtbl->GetCurrentLevel(This)
2734#define IVssWriterImpl_IsPathAffected(This,wszPath) (This)->lpVtbl->IsPathAffected(This,wszPath)
2735#define IVssWriterImpl_IsBootableSystemStateBackedUp(This) (This)->lpVtbl->IsBootableSystemStateBackedUp(This)
2736#define IVssWriterImpl_AreComponentsSelected(This) (This)->lpVtbl->AreComponentsSelected(This)
2737#define IVssWriterImpl_GetBackupType(This) (This)->lpVtbl->GetBackupType(This)
2738#define IVssWriterImpl_GetRestoreType(This) (This)->lpVtbl->GetRestoreType(This)
2739#define IVssWriterImpl_SetWriterFailure(This,hr) (This)->lpVtbl->SetWriterFailure(This,hr)
2740#define IVssWriterImpl_IsPartialFileSupportEnabled(This) (This)->lpVtbl->IsPartialFileSupportEnabled(This)
2741#define IVssWriterImpl_InstallAlternateWriter(This,idWriter,clsid) (This)->lpVtbl->InstallAlternateWriter(This,idWriter,clsid)
2742#define IVssWriterImpl_GetIdentityInformation(This) (This)->lpVtbl->GetIdentityInformation(This)
2743#define IVssWriterImpl_SetWriterFailureEx(This,hr,hrApplication,wszApplicationMessage) (This)->lpVtbl->SetWriterFailureEx(This,hr,hrApplication,wszApplicationMessage)
2744#define IVssWriterImpl_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession)
2745#define IVssWriterImpl_IsWriterShuttingDown(This) (This)->lpVtbl->IsWriterShuttingDown(This)
2746#else
2747/*** IUnknown methods ***/
2748static FORCEINLINE HRESULT IVssWriterImpl_QueryInterface(IVssWriterImpl* This,REFIID riid,void **ppvObject) {
2749 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2750}
2751static FORCEINLINE ULONG IVssWriterImpl_AddRef(IVssWriterImpl* This) {
2752 return This->lpVtbl->AddRef(This);
2753}
2754static FORCEINLINE ULONG IVssWriterImpl_Release(IVssWriterImpl* This) {
2755 return This->lpVtbl->Release(This);
2756}
2757/*** IVssWriterImpl methods ***/
2758static FORCEINLINE HRESULT IVssWriterImpl_Initialize(IVssWriterImpl* This,VSS_ID writerId,LPCWSTR wszWriterName,LPCWSTR wszWriterInstanceName,DWORD dwMajorVersion,DWORD dwMinorVersion,VSS_USAGE_TYPE ut,VSS_SOURCE_TYPE st,VSS_APPLICATION_LEVEL nLevel,DWORD dwTimeout,VSS_ALTERNATE_WRITER_STATE aws,boolean bIOThrottlingOnly) {
2759 return This->lpVtbl->Initialize(This,writerId,wszWriterName,wszWriterInstanceName,dwMajorVersion,dwMinorVersion,ut,st,nLevel,dwTimeout,aws,bIOThrottlingOnly);
2760}
2761static FORCEINLINE HRESULT IVssWriterImpl_Subscribe(IVssWriterImpl* This,DWORD dwSubscribeTimeout,DWORD dwEventFlags) {
2762 return This->lpVtbl->Subscribe(This,dwSubscribeTimeout,dwEventFlags);
2763}
2764static FORCEINLINE HRESULT IVssWriterImpl_Unsubscribe(IVssWriterImpl* This) {
2765 return This->lpVtbl->Unsubscribe(This);
2766}
2767static FORCEINLINE void IVssWriterImpl_Uninitialize(IVssWriterImpl* This) {
2768 This->lpVtbl->Uninitialize(This);
2769}
2770static FORCEINLINE LPCWSTR * IVssWriterImpl_GetCurrentVolumeArray(IVssWriterImpl* This) {
2771 return This->lpVtbl->GetCurrentVolumeArray(This);
2772}
2773static FORCEINLINE UINT IVssWriterImpl_GetCurrentVolumeCount(IVssWriterImpl* This) {
2774 return This->lpVtbl->GetCurrentVolumeCount(This);
2775}
2776static FORCEINLINE HRESULT IVssWriterImpl_GetSnapshotDeviceName(IVssWriterImpl* This,LPCWSTR wszOriginalVolume,LPCWSTR *ppwszSnapshotDevice) {
2777 return This->lpVtbl->GetSnapshotDeviceName(This,wszOriginalVolume,ppwszSnapshotDevice);
2778}
2779static FORCEINLINE VSS_ID IVssWriterImpl_GetCurrentSnapshotSetId(IVssWriterImpl* This) {
2780 VSS_ID __ret;
2781 return *This->lpVtbl->GetCurrentSnapshotSetId(This,&__ret);
2782}
2783static FORCEINLINE LONG IVssWriterImpl_GetContext(IVssWriterImpl* This) {
2784 return This->lpVtbl->GetContext(This);
2785}
2786static FORCEINLINE VSS_APPLICATION_LEVEL IVssWriterImpl_GetCurrentLevel(IVssWriterImpl* This) {
2787 return This->lpVtbl->GetCurrentLevel(This);
2788}
2789static FORCEINLINE boolean IVssWriterImpl_IsPathAffected(IVssWriterImpl* This,LPCWSTR wszPath) {
2790 return This->lpVtbl->IsPathAffected(This,wszPath);
2791}
2792static FORCEINLINE boolean IVssWriterImpl_IsBootableSystemStateBackedUp(IVssWriterImpl* This) {
2793 return This->lpVtbl->IsBootableSystemStateBackedUp(This);
2794}
2795static FORCEINLINE boolean IVssWriterImpl_AreComponentsSelected(IVssWriterImpl* This) {
2796 return This->lpVtbl->AreComponentsSelected(This);
2797}
2798static FORCEINLINE VSS_BACKUP_TYPE IVssWriterImpl_GetBackupType(IVssWriterImpl* This) {
2799 return This->lpVtbl->GetBackupType(This);
2800}
2801static FORCEINLINE VSS_RESTORE_TYPE IVssWriterImpl_GetRestoreType(IVssWriterImpl* This) {
2802 return This->lpVtbl->GetRestoreType(This);
2803}
2804static FORCEINLINE HRESULT IVssWriterImpl_SetWriterFailure(IVssWriterImpl* This,HRESULT hr) {
2805 return This->lpVtbl->SetWriterFailure(This,hr);
2806}
2807static FORCEINLINE boolean IVssWriterImpl_IsPartialFileSupportEnabled(IVssWriterImpl* This) {
2808 return This->lpVtbl->IsPartialFileSupportEnabled(This);
2809}
2810static FORCEINLINE HRESULT IVssWriterImpl_InstallAlternateWriter(IVssWriterImpl* This,VSS_ID idWriter,CLSID clsid) {
2811 return This->lpVtbl->InstallAlternateWriter(This,idWriter,clsid);
2812}
2813static FORCEINLINE IVssExamineWriterMetadata * IVssWriterImpl_GetIdentityInformation(IVssWriterImpl* This) {
2814 return This->lpVtbl->GetIdentityInformation(This);
2815}
2816static FORCEINLINE HRESULT IVssWriterImpl_SetWriterFailureEx(IVssWriterImpl* This,HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage) {
2817 return This->lpVtbl->SetWriterFailureEx(This,hr,hrApplication,wszApplicationMessage);
2818}
2819static FORCEINLINE HRESULT IVssWriterImpl_GetSessionId(IVssWriterImpl* This,VSS_ID *idSession) {
2820 return This->lpVtbl->GetSessionId(This,idSession);
2821}
2822static FORCEINLINE boolean IVssWriterImpl_IsWriterShuttingDown(IVssWriterImpl* This) {
2823 return This->lpVtbl->IsWriterShuttingDown(This);
2824}
2825#endif
2826#endif
2827
2828#endif
2829
2830
2831#endif /* __IVssWriterImpl_INTERFACE_DEFINED__ */
2832
2833/*****************************************************************************
2834 * IVssCreateExpressWriterMetadata interface
2835 */
2836#ifndef __IVssCreateExpressWriterMetadata_INTERFACE_DEFINED__
2837#define __IVssCreateExpressWriterMetadata_INTERFACE_DEFINED__
2838
2839DEFINE_GUID(IID_IVssCreateExpressWriterMetadata, 0x9c772e77, 0xb26e, 0x427f, 0x92,0xdd, 0xc9,0x96,0xf4,0x1e,0xa5,0xe3);
2840#if defined(__cplusplus) && !defined(CINTERFACE)
2841MIDL_INTERFACE("9c772e77-b26e-427f-92dd-c996f41ea5e3")
2842IVssCreateExpressWriterMetadata : public IUnknown
2843{
2844 virtual HRESULT STDMETHODCALLTYPE AddExcludeFiles(
2845 LPCWSTR wszPath,
2846 LPCWSTR wszFilespec,
2847 boolean bRecursive) = 0;
2848
2849 virtual HRESULT STDMETHODCALLTYPE AddComponent(
2850 VSS_COMPONENT_TYPE ct,
2851 LPCWSTR wszLogicalPath,
2852 LPCWSTR wszComponentName,
2853 LPCWSTR wszCaption,
2854 const BYTE *pbIcon,
2855 UINT cbIcon,
2856 boolean bRestoreMetadata,
2857 boolean bNotifyOnBackupComplete,
2858 boolean bSelectable,
2859 boolean bSelectableForRestore = 0,
2860 DWORD dwComponentFlags = 0) = 0;
2861
2862 virtual HRESULT STDMETHODCALLTYPE AddFilesToFileGroup(
2863 LPCWSTR wszLogicalPath,
2864 LPCWSTR wszGroupName,
2865 LPCWSTR wszPath,
2866 LPCWSTR wszFilespec,
2867 boolean bRecursive,
2868 LPCWSTR wszAlternateLocation,
2869 DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0;
2870
2871 virtual HRESULT STDMETHODCALLTYPE SetRestoreMethod(
2872 VSS_RESTOREMETHOD_ENUM method,
2873 LPCWSTR wszService,
2874 LPCWSTR wszUserProcedure,
2875 VSS_WRITERRESTORE_ENUM writerRestore,
2876 boolean bRebootRequired) = 0;
2877
2878 virtual HRESULT STDMETHODCALLTYPE AddComponentDependency(
2879 LPCWSTR wszForLogicalPath,
2880 LPCWSTR wszForComponentName,
2881 VSS_ID onWriterId,
2882 LPCWSTR wszOnLogicalPath,
2883 LPCWSTR wszOnComponentName) = 0;
2884
2885 virtual HRESULT STDMETHODCALLTYPE SetBackupSchema(
2886 DWORD dwSchemaMask) = 0;
2887
2888 virtual HRESULT STDMETHODCALLTYPE SaveAsXML(
2889 BSTR *pbstrXML) = 0;
2890
2891};
2892#ifdef __CRT_UUID_DECL
2893__CRT_UUID_DECL(IVssCreateExpressWriterMetadata, 0x9c772e77, 0xb26e, 0x427f, 0x92,0xdd, 0xc9,0x96,0xf4,0x1e,0xa5,0xe3)
2894#endif
2895#else
2896typedef struct IVssCreateExpressWriterMetadataVtbl {
2897 BEGIN_INTERFACE
2898
2899 /*** IUnknown methods ***/
2900 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2901 IVssCreateExpressWriterMetadata *This,
2902 REFIID riid,
2903 void **ppvObject);
2904
2905 ULONG (STDMETHODCALLTYPE *AddRef)(
2906 IVssCreateExpressWriterMetadata *This);
2907
2908 ULONG (STDMETHODCALLTYPE *Release)(
2909 IVssCreateExpressWriterMetadata *This);
2910
2911 /*** IVssCreateExpressWriterMetadata methods ***/
2912 HRESULT (STDMETHODCALLTYPE *AddExcludeFiles)(
2913 IVssCreateExpressWriterMetadata *This,
2914 LPCWSTR wszPath,
2915 LPCWSTR wszFilespec,
2916 boolean bRecursive);
2917
2918 HRESULT (STDMETHODCALLTYPE *AddComponent)(
2919 IVssCreateExpressWriterMetadata *This,
2920 VSS_COMPONENT_TYPE ct,
2921 LPCWSTR wszLogicalPath,
2922 LPCWSTR wszComponentName,
2923 LPCWSTR wszCaption,
2924 const BYTE *pbIcon,
2925 UINT cbIcon,
2926 boolean bRestoreMetadata,
2927 boolean bNotifyOnBackupComplete,
2928 boolean bSelectable,
2929 boolean bSelectableForRestore,
2930 DWORD dwComponentFlags);
2931
2932 HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)(
2933 IVssCreateExpressWriterMetadata *This,
2934 LPCWSTR wszLogicalPath,
2935 LPCWSTR wszGroupName,
2936 LPCWSTR wszPath,
2937 LPCWSTR wszFilespec,
2938 boolean bRecursive,
2939 LPCWSTR wszAlternateLocation,
2940 DWORD dwBackupTypeMask);
2941
2942 HRESULT (STDMETHODCALLTYPE *SetRestoreMethod)(
2943 IVssCreateExpressWriterMetadata *This,
2944 VSS_RESTOREMETHOD_ENUM method,
2945 LPCWSTR wszService,
2946 LPCWSTR wszUserProcedure,
2947 VSS_WRITERRESTORE_ENUM writerRestore,
2948 boolean bRebootRequired);
2949
2950 HRESULT (STDMETHODCALLTYPE *AddComponentDependency)(
2951 IVssCreateExpressWriterMetadata *This,
2952 LPCWSTR wszForLogicalPath,
2953 LPCWSTR wszForComponentName,
2954 VSS_ID onWriterId,
2955 LPCWSTR wszOnLogicalPath,
2956 LPCWSTR wszOnComponentName);
2957
2958 HRESULT (STDMETHODCALLTYPE *SetBackupSchema)(
2959 IVssCreateExpressWriterMetadata *This,
2960 DWORD dwSchemaMask);
2961
2962 HRESULT (STDMETHODCALLTYPE *SaveAsXML)(
2963 IVssCreateExpressWriterMetadata *This,
2964 BSTR *pbstrXML);
2965
2966 END_INTERFACE
2967} IVssCreateExpressWriterMetadataVtbl;
2968
2969interface IVssCreateExpressWriterMetadata {
2970 CONST_VTBL IVssCreateExpressWriterMetadataVtbl* lpVtbl;
2971};
2972
2973#ifdef COBJMACROS
2974#ifndef WIDL_C_INLINE_WRAPPERS
2975/*** IUnknown methods ***/
2976#define IVssCreateExpressWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2977#define IVssCreateExpressWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This)
2978#define IVssCreateExpressWriterMetadata_Release(This) (This)->lpVtbl->Release(This)
2979/*** IVssCreateExpressWriterMetadata methods ***/
2980#define IVssCreateExpressWriterMetadata_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive)
2981#define IVssCreateExpressWriterMetadata_AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags)
2982#define IVssCreateExpressWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)
2983#define IVssCreateExpressWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired)
2984#define IVssCreateExpressWriterMetadata_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName)
2985#define IVssCreateExpressWriterMetadata_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask)
2986#define IVssCreateExpressWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
2987#else
2988/*** IUnknown methods ***/
2989static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_QueryInterface(IVssCreateExpressWriterMetadata* This,REFIID riid,void **ppvObject) {
2990 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2991}
2992static FORCEINLINE ULONG IVssCreateExpressWriterMetadata_AddRef(IVssCreateExpressWriterMetadata* This) {
2993 return This->lpVtbl->AddRef(This);
2994}
2995static FORCEINLINE ULONG IVssCreateExpressWriterMetadata_Release(IVssCreateExpressWriterMetadata* This) {
2996 return This->lpVtbl->Release(This);
2997}
2998/*** IVssCreateExpressWriterMetadata methods ***/
2999static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_AddExcludeFiles(IVssCreateExpressWriterMetadata* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) {
3000 return This->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive);
3001}
3002static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_AddComponent(IVssCreateExpressWriterMetadata* This,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,boolean bRestoreMetadata,boolean bNotifyOnBackupComplete,boolean bSelectable,boolean bSelectableForRestore,DWORD dwComponentFlags) {
3003 return This->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags);
3004}
3005static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_AddFilesToFileGroup(IVssCreateExpressWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation,DWORD dwBackupTypeMask) {
3006 return This->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask);
3007}
3008static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_SetRestoreMethod(IVssCreateExpressWriterMetadata* This,VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM writerRestore,boolean bRebootRequired) {
3009 return This->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired);
3010}
3011static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_AddComponentDependency(IVssCreateExpressWriterMetadata* This,LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) {
3012 return This->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName);
3013}
3014static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_SetBackupSchema(IVssCreateExpressWriterMetadata* This,DWORD dwSchemaMask) {
3015 return This->lpVtbl->SetBackupSchema(This,dwSchemaMask);
3016}
3017static FORCEINLINE HRESULT IVssCreateExpressWriterMetadata_SaveAsXML(IVssCreateExpressWriterMetadata* This,BSTR *pbstrXML) {
3018 return This->lpVtbl->SaveAsXML(This,pbstrXML);
3019}
3020#endif
3021#endif
3022
3023#endif
3024
3025
3026#endif /* __IVssCreateExpressWriterMetadata_INTERFACE_DEFINED__ */
3027
3028/*****************************************************************************
3029 * IVssExpressWriter interface
3030 */
3031#ifndef __IVssExpressWriter_INTERFACE_DEFINED__
3032#define __IVssExpressWriter_INTERFACE_DEFINED__
3033
3034DEFINE_GUID(IID_IVssExpressWriter, 0xe33affdc, 0x59c7, 0x47b1, 0x97,0xd5, 0x42,0x66,0x59,0x8f,0x62,0x35);
3035#if defined(__cplusplus) && !defined(CINTERFACE)
3036MIDL_INTERFACE("e33affdc-59c7-47b1-97d5-4266598f6235")
3037IVssExpressWriter : public IUnknown
3038{
3039 virtual HRESULT STDMETHODCALLTYPE CreateMetadata(
3040 VSS_ID writerId,
3041 LPCWSTR writerName,
3042 VSS_USAGE_TYPE usageType,
3043 DWORD versionMajor,
3044 DWORD versionMinor,
3045 DWORD reserved,
3046 IVssCreateExpressWriterMetadata **ppMetadata) = 0;
3047
3048 virtual HRESULT STDMETHODCALLTYPE LoadMetadata(
3049 LPCWSTR metadata,
3050 DWORD reserved) = 0;
3051
3052 virtual HRESULT STDMETHODCALLTYPE Register(
3053 ) = 0;
3054
3055 virtual HRESULT STDMETHODCALLTYPE Unregister(
3056 VSS_ID writerId) = 0;
3057
3058};
3059#ifdef __CRT_UUID_DECL
3060__CRT_UUID_DECL(IVssExpressWriter, 0xe33affdc, 0x59c7, 0x47b1, 0x97,0xd5, 0x42,0x66,0x59,0x8f,0x62,0x35)
3061#endif
3062#else
3063typedef struct IVssExpressWriterVtbl {
3064 BEGIN_INTERFACE
3065
3066 /*** IUnknown methods ***/
3067 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3068 IVssExpressWriter *This,
3069 REFIID riid,
3070 void **ppvObject);
3071
3072 ULONG (STDMETHODCALLTYPE *AddRef)(
3073 IVssExpressWriter *This);
3074
3075 ULONG (STDMETHODCALLTYPE *Release)(
3076 IVssExpressWriter *This);
3077
3078 /*** IVssExpressWriter methods ***/
3079 HRESULT (STDMETHODCALLTYPE *CreateMetadata)(
3080 IVssExpressWriter *This,
3081 VSS_ID writerId,
3082 LPCWSTR writerName,
3083 VSS_USAGE_TYPE usageType,
3084 DWORD versionMajor,
3085 DWORD versionMinor,
3086 DWORD reserved,
3087 IVssCreateExpressWriterMetadata **ppMetadata);
3088
3089 HRESULT (STDMETHODCALLTYPE *LoadMetadata)(
3090 IVssExpressWriter *This,
3091 LPCWSTR metadata,
3092 DWORD reserved);
3093
3094 HRESULT (STDMETHODCALLTYPE *Register)(
3095 IVssExpressWriter *This);
3096
3097 HRESULT (STDMETHODCALLTYPE *Unregister)(
3098 IVssExpressWriter *This,
3099 VSS_ID writerId);
3100
3101 END_INTERFACE
3102} IVssExpressWriterVtbl;
3103
3104interface IVssExpressWriter {
3105 CONST_VTBL IVssExpressWriterVtbl* lpVtbl;
7843106};
785#endif /*__MINGW_GNUC_PREREQ(4,6)*/
786#endif /*__cplusplus*/
7873107
788#include <vsbackup.h>
3108#ifdef COBJMACROS
3109#ifndef WIDL_C_INLINE_WRAPPERS
3110/*** IUnknown methods ***/
3111#define IVssExpressWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3112#define IVssExpressWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
3113#define IVssExpressWriter_Release(This) (This)->lpVtbl->Release(This)
3114/*** IVssExpressWriter methods ***/
3115#define IVssExpressWriter_CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata) (This)->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata)
3116#define IVssExpressWriter_LoadMetadata(This,metadata,reserved) (This)->lpVtbl->LoadMetadata(This,metadata,reserved)
3117#define IVssExpressWriter_Register(This) (This)->lpVtbl->Register(This)
3118#define IVssExpressWriter_Unregister(This,writerId) (This)->lpVtbl->Unregister(This,writerId)
3119#else
3120/*** IUnknown methods ***/
3121static FORCEINLINE HRESULT IVssExpressWriter_QueryInterface(IVssExpressWriter* This,REFIID riid,void **ppvObject) {
3122 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3123}
3124static FORCEINLINE ULONG IVssExpressWriter_AddRef(IVssExpressWriter* This) {
3125 return This->lpVtbl->AddRef(This);
3126}
3127static FORCEINLINE ULONG IVssExpressWriter_Release(IVssExpressWriter* This) {
3128 return This->lpVtbl->Release(This);
3129}
3130/*** IVssExpressWriter methods ***/
3131static FORCEINLINE HRESULT IVssExpressWriter_CreateMetadata(IVssExpressWriter* This,VSS_ID writerId,LPCWSTR writerName,VSS_USAGE_TYPE usageType,DWORD versionMajor,DWORD versionMinor,DWORD reserved,IVssCreateExpressWriterMetadata **ppMetadata) {
3132 return This->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata);
3133}
3134static FORCEINLINE HRESULT IVssExpressWriter_LoadMetadata(IVssExpressWriter* This,LPCWSTR metadata,DWORD reserved) {
3135 return This->lpVtbl->LoadMetadata(This,metadata,reserved);
3136}
3137static FORCEINLINE HRESULT IVssExpressWriter_Register(IVssExpressWriter* This) {
3138 return This->lpVtbl->Register(This);
3139}
3140static FORCEINLINE HRESULT IVssExpressWriter_Unregister(IVssExpressWriter* This,VSS_ID writerId) {
3141 return This->lpVtbl->Unregister(This,writerId);
3142}
3143#endif
3144#endif
3145
3146#endif
3147
3148
3149#endif /* __IVssExpressWriter_INTERFACE_DEFINED__ */
3150
3151#endif /* WINAPI_PARTITION_DESKTOP */
3152/* Begin additional prototypes for all interfaces */
3153
3154ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
3155unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
3156unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
3157void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
3158
3159/* End additional prototypes */
3160
3161#ifdef __cplusplus
3162}
3163#endif
7893164
790#endif /*_INC_VSWRITER*/
3165#endif /* __vswriter_h__ */
lib/libc/include/any-windows-any/wbemads.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wbemads.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wbemads.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemcli.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wbemcli.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wbemcli.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemdisp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wbemdisp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wbemdisp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemprov.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wbemprov.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wbemprov.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemtran.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wbemtran.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wbemtran.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wchar.h+1-1
......@@ -281,7 +281,7 @@ extern FILE (* __MINGW_IMP_SYMBOL(_iob))[]; /* A pointer to an array of FILE */
281281 int __cdecl is_wctype(wint_t _C,wctype_t _Type);
282282#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */
283283
284#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
284#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus)
285285 int __cdecl iswblank(wint_t _C);
286286#endif
287287
lib/libc/include/any-windows-any/wdstptmgmt.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wdstptmgmt.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wdstptmgmt.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/webauthn.h created+369
......@@ -0,0 +1,369 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _WEBAUTHN_H_
8#define _WEBAUTHN_H_
9
10#include <winapifamily.h>
11
12#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#ifndef WINAPI
19#if defined(_ARM_)
20#define WINAPI
21#else
22#define WINAPI __stdcall
23#endif
24#endif
25
26#ifndef INITGUID
27#define INITGUID
28#include <guiddef.h>
29#undef INITGUID
30#else
31#include <guiddef.h>
32#endif
33
34#define WEBAUTHN_API_VERSION_1 1
35#define WEBAUTHN_API_VERSION_2 2
36#define WEBAUTHN_API_VERSION_3 3
37#define WEBAUTHN_API_CURRENT_VERSION WEBAUTHN_API_VERSION_3
38
39#define WEBAUTHN_RP_ENTITY_INFORMATION_CURRENT_VERSION 1
40
41typedef struct _WEBAUTHN_RP_ENTITY_INFORMATION {
42 DWORD dwVersion;
43 PCWSTR pwszId;
44 PCWSTR pwszName;
45 PCWSTR pwszIcon;
46} WEBAUTHN_RP_ENTITY_INFORMATION, *PWEBAUTHN_RP_ENTITY_INFORMATION;
47typedef const WEBAUTHN_RP_ENTITY_INFORMATION *PCWEBAUTHN_RP_ENTITY_INFORMATION;
48
49#define WEBAUTHN_MAX_USER_ID_LENGTH 64
50
51#define WEBAUTHN_USER_ENTITY_INFORMATION_CURRENT_VERSION 1
52
53typedef struct _WEBAUTHN_USER_ENTITY_INFORMATION {
54 DWORD dwVersion;
55 DWORD cbId;
56 PBYTE pbId;
57 PCWSTR pwszName;
58 PCWSTR pwszIcon;
59 PCWSTR pwszDisplayName;
60} WEBAUTHN_USER_ENTITY_INFORMATION, *PWEBAUTHN_USER_ENTITY_INFORMATION;
61typedef const WEBAUTHN_USER_ENTITY_INFORMATION *PCWEBAUTHN_USER_ENTITY_INFORMATION;
62
63#define WEBAUTHN_HASH_ALGORITHM_SHA_256 L"SHA-256"
64#define WEBAUTHN_HASH_ALGORITHM_SHA_384 L"SHA-384"
65#define WEBAUTHN_HASH_ALGORITHM_SHA_512 L"SHA-512"
66
67#define WEBAUTHN_CLIENT_DATA_CURRENT_VERSION 1
68
69typedef struct _WEBAUTHN_CLIENT_DATA {
70 DWORD dwVersion;
71 DWORD cbClientDataJSON;
72 PBYTE pbClientDataJSON;
73 LPCWSTR pwszHashAlgId;
74} WEBAUTHN_CLIENT_DATA, *PWEBAUTHN_CLIENT_DATA;
75typedef const WEBAUTHN_CLIENT_DATA *PCWEBAUTHN_CLIENT_DATA;
76
77#define WEBAUTHN_CREDENTIAL_TYPE_PUBLIC_KEY L"public-key"
78
79#define WEBAUTHN_COSE_ALGORITHM_ECDSA_P256_WITH_SHA256 -7
80#define WEBAUTHN_COSE_ALGORITHM_ECDSA_P384_WITH_SHA384 -35
81#define WEBAUTHN_COSE_ALGORITHM_ECDSA_P521_WITH_SHA512 -36
82
83#define WEBAUTHN_COSE_ALGORITHM_RSASSA_PKCS1_V1_5_WITH_SHA256 -257
84#define WEBAUTHN_COSE_ALGORITHM_RSASSA_PKCS1_V1_5_WITH_SHA384 -258
85#define WEBAUTHN_COSE_ALGORITHM_RSASSA_PKCS1_V1_5_WITH_SHA512 -259
86
87#define WEBAUTHN_COSE_ALGORITHM_RSA_PSS_WITH_SHA256 -37
88#define WEBAUTHN_COSE_ALGORITHM_RSA_PSS_WITH_SHA384 -38
89#define WEBAUTHN_COSE_ALGORITHM_RSA_PSS_WITH_SHA512 -39
90
91#define WEBAUTHN_COSE_CREDENTIAL_PARAMETER_CURRENT_VERSION 1
92
93typedef struct _WEBAUTHN_COSE_CREDENTIAL_PARAMETER {
94 DWORD dwVersion;
95 LPCWSTR pwszCredentialType;
96 LONG lAlg;
97} WEBAUTHN_COSE_CREDENTIAL_PARAMETER, *PWEBAUTHN_COSE_CREDENTIAL_PARAMETER;
98typedef const WEBAUTHN_COSE_CREDENTIAL_PARAMETER *PCWEBAUTHN_COSE_CREDENTIAL_PARAMETER;
99
100typedef struct _WEBAUTHN_COSE_CREDENTIAL_PARAMETERS {
101 DWORD cCredentialParameters;
102 PWEBAUTHN_COSE_CREDENTIAL_PARAMETER pCredentialParameters;
103} WEBAUTHN_COSE_CREDENTIAL_PARAMETERS, *PWEBAUTHN_COSE_CREDENTIAL_PARAMETERS;
104typedef const WEBAUTHN_COSE_CREDENTIAL_PARAMETERS *PCWEBAUTHN_COSE_CREDENTIAL_PARAMETERS;
105
106#define WEBAUTHN_CREDENTIAL_CURRENT_VERSION 1
107
108typedef struct _WEBAUTHN_CREDENTIAL {
109 DWORD dwVersion;
110 DWORD cbId;
111 PBYTE pbId;
112 LPCWSTR pwszCredentialType;
113} WEBAUTHN_CREDENTIAL, *PWEBAUTHN_CREDENTIAL;
114typedef const WEBAUTHN_CREDENTIAL *PCWEBAUTHN_CREDENTIAL;
115
116typedef struct _WEBAUTHN_CREDENTIALS {
117 DWORD cCredentials;
118 PWEBAUTHN_CREDENTIAL pCredentials;
119} WEBAUTHN_CREDENTIALS, *PWEBAUTHN_CREDENTIALS;
120typedef const WEBAUTHN_CREDENTIALS *PCWEBAUTHN_CREDENTIALS;
121
122#define WEBAUTHN_CTAP_TRANSPORT_USB 0x00000001
123#define WEBAUTHN_CTAP_TRANSPORT_NFC 0x00000002
124#define WEBAUTHN_CTAP_TRANSPORT_BLE 0x00000004
125#define WEBAUTHN_CTAP_TRANSPORT_TEST 0x00000008
126#define WEBAUTHN_CTAP_TRANSPORT_INTERNAL 0x00000010
127#define WEBAUTHN_CTAP_TRANSPORT_FLAGS_MASK 0x0000001F
128
129#define WEBAUTHN_CREDENTIAL_EX_CURRENT_VERSION 1
130
131typedef struct _WEBAUTHN_CREDENTIAL_EX {
132 DWORD dwVersion;
133 DWORD cbId;
134 PBYTE pbId;
135 LPCWSTR pwszCredentialType;
136 DWORD dwTransports;
137} WEBAUTHN_CREDENTIAL_EX, *PWEBAUTHN_CREDENTIAL_EX;
138typedef const WEBAUTHN_CREDENTIAL_EX *PCWEBAUTHN_CREDENTIAL_EX;
139
140typedef struct _WEBAUTHN_CREDENTIAL_LIST {
141 DWORD cCredentials;
142 PWEBAUTHN_CREDENTIAL_EX *ppCredentials;
143} WEBAUTHN_CREDENTIAL_LIST, *PWEBAUTHN_CREDENTIAL_LIST;
144typedef const WEBAUTHN_CREDENTIAL_LIST *PCWEBAUTHN_CREDENTIAL_LIST;
145
146#define WEBAUTHN_EXTENSIONS_IDENTIFIER_HMAC_SECRET L"hmac-secret"
147
148#define WEBAUTHN_USER_VERIFICATION_ANY 0
149#define WEBAUTHN_USER_VERIFICATION_OPTIONAL 1
150#define WEBAUTHN_USER_VERIFICATION_OPTIONAL_WITH_CREDENTIAL_ID_LIST 2
151#define WEBAUTHN_USER_VERIFICATION_REQUIRED 3
152
153typedef struct _WEBAUTHN_CRED_PROTECT_EXTENSION_IN {
154 DWORD dwCredProtect;
155 WINBOOL bRequireCredProtect;
156} WEBAUTHN_CRED_PROTECT_EXTENSION_IN, *PWEBAUTHN_CRED_PROTECT_EXTENSION_IN;
157typedef const WEBAUTHN_CRED_PROTECT_EXTENSION_IN *PCWEBAUTHN_CRED_PROTECT_EXTENSION_IN;
158
159#define WEBAUTHN_EXTENSIONS_IDENTIFIER_CRED_PROTECT L"credProtect"
160
161typedef struct _WEBAUTHN_CRED_BLOB_EXTENSION {
162 DWORD cbCredBlob;
163 PBYTE pbCredBlob;
164} WEBAUTHN_CRED_BLOB_EXTENSION, *PWEBAUTHN_CRED_BLOB_EXTENSION;
165typedef const WEBAUTHN_CRED_BLOB_EXTENSION *PCWEBAUTHN_CRED_BLOB_EXTENSION;
166
167#define WEBAUTHN_EXTENSIONS_IDENTIFIER_CRED_BLOB L"credBlob"
168
169#define WEBAUTHN_EXTENSIONS_IDENTIFIER_MIN_PIN_LENGTH L"minPinLength"
170
171typedef struct _WEBAUTHN_EXTENSION {
172 LPCWSTR pwszExtensionIdentifier;
173 DWORD cbExtension;
174 PVOID pvExtension;
175} WEBAUTHN_EXTENSION, *PWEBAUTHN_EXTENSION;
176typedef const WEBAUTHN_EXTENSION *PCWEBAUTHN_EXTENSION;
177
178typedef struct _WEBAUTHN_EXTENSIONS {
179 DWORD cExtensions;
180 PWEBAUTHN_EXTENSION pExtensions;
181} WEBAUTHN_EXTENSIONS, *PWEBAUTHN_EXTENSIONS;
182typedef const WEBAUTHN_EXTENSIONS *PCWEBAUTHN_EXTENSIONS;
183
184#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_ANY 0
185#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_PLATFORM 1
186#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM 2
187#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM_U2F_V2 3
188
189#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_ANY 0
190#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_REQUIRED 1
191#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_PREFERRED 2
192#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_DISCOURAGED 3
193
194#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_ANY 0
195#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_NONE 1
196#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_INDIRECT 2
197#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_DIRECT 3
198
199#define WEBAUTHN_ENTERPRISE_ATTESTATION_NONE 0
200#define WEBAUTHN_ENTERPRISE_ATTESTATION_VENDOR_FACILITATED 1
201#define WEBAUTHN_ENTERPRISE_ATTESTATION_PLATFORM_MANAGED 2
202
203#define WEBAUTHN_LARGE_BLOB_SUPPORT_NONE 0
204#define WEBAUTHN_LARGE_BLOB_SUPPORT_REQUIRED 1
205#define WEBAUTHN_LARGE_BLOB_SUPPORT_PREFERRED 2
206
207#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_1 1
208#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_2 2
209#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_3 3
210#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_4 4
211#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_4
212
213typedef struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS {
214 DWORD dwVersion;
215 DWORD dwTimeoutMilliseconds;
216 WEBAUTHN_CREDENTIALS CredentialList;
217 WEBAUTHN_EXTENSIONS Extensions;
218 DWORD dwAuthenticatorAttachment;
219 WINBOOL bRequireResidentKey;
220 DWORD dwUserVerificationRequirement;
221 DWORD dwAttestationConveyancePreference;
222 DWORD dwFlags;
223 GUID *pCancellationId;
224 PWEBAUTHN_CREDENTIAL_LIST pExcludeCredentialList;
225 DWORD dwEnterpriseAttestation;
226 DWORD dwLargeBlobSupport;
227 WINBOOL bPreferResidentKey;
228} WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS;
229typedef const WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS;
230
231#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_NONE 0
232#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_GET 1
233#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_SET 2
234#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_DELETE 3
235
236#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_1 1
237#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_2 2
238#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_3 3
239#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_4 4
240#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_5 5
241#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_5
242
243typedef struct _WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS {
244 DWORD dwVersion;
245 DWORD dwTimeoutMilliseconds;
246 WEBAUTHN_CREDENTIALS CredentialList;
247 WEBAUTHN_EXTENSIONS Extensions;
248 DWORD dwAuthenticatorAttachment;
249 DWORD dwUserVerificationRequirement;
250 DWORD dwFlags;
251 PCWSTR pwszU2fAppId;
252 WINBOOL *pbU2fAppId;
253 GUID *pCancellationId;
254 PWEBAUTHN_CREDENTIAL_LIST pAllowCredentialList;
255 DWORD dwCredLargeBlobOperation;
256 DWORD cbCredLargeBlob;
257 PBYTE pbCredLargeBlob;
258} WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS;
259typedef const WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS;
260
261#define WEBAUTHN_ATTESTATION_DECODE_NONE 0
262#define WEBAUTHN_ATTESTATION_DECODE_COMMON 1
263
264#define WEBAUTHN_ATTESTATION_VER_TPM_2_0 L"2.0"
265
266typedef struct _WEBAUTHN_X5C {
267 DWORD cbData;
268 PBYTE pbData;
269} WEBAUTHN_X5C, *PWEBAUTHN_X5C;
270
271#define WEBAUTHN_COMMON_ATTESTATION_CURRENT_VERSION 1
272
273typedef struct _WEBAUTHN_COMMON_ATTESTATION {
274 DWORD dwVersion;
275 PCWSTR pwszAlg;
276 LONG lAlg;
277 DWORD cbSignature;
278 PBYTE pbSignature;
279 DWORD cX5c;
280 PWEBAUTHN_X5C pX5c;
281 PCWSTR pwszVer;
282 DWORD cbCertInfo;
283 PBYTE pbCertInfo;
284 DWORD cbPubArea;
285 PBYTE pbPubArea;
286} WEBAUTHN_COMMON_ATTESTATION, *PWEBAUTHN_COMMON_ATTESTATION;
287typedef const WEBAUTHN_COMMON_ATTESTATION *PCWEBAUTHN_COMMON_ATTESTATION;
288
289#define WEBAUTHN_ATTESTATION_TYPE_PACKED L"packed"
290#define WEBAUTHN_ATTESTATION_TYPE_U2F L"fido-u2f"
291#define WEBAUTHN_ATTESTATION_TYPE_TPM L"tpm"
292#define WEBAUTHN_ATTESTATION_TYPE_NONE L"none"
293
294#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_1 1
295#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_2 2
296#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_3 3
297#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_4 4
298#define WEBAUTHN_CREDENTIAL_ATTESTATION_CURRENT_VERSION WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_4
299
300typedef struct _WEBAUTHN_CREDENTIAL_ATTESTATION {
301 DWORD dwVersion;
302 PCWSTR pwszFormatType;
303 DWORD cbAuthenticatorData;
304 PBYTE pbAuthenticatorData;
305 DWORD cbAttestation;
306 PBYTE pbAttestation;
307 DWORD dwAttestationDecodeType;
308 PVOID pvAttestationDecode;
309 DWORD cbAttestationObject;
310 PBYTE pbAttestationObject;
311 DWORD cbCredentialId;
312 PBYTE pbCredentialId;
313 WEBAUTHN_EXTENSIONS Extensions;
314 DWORD dwUsedTransport;
315 WINBOOL bEpAtt;
316 WINBOOL bLargeBlobSupported;
317 WINBOOL bResidentKey;
318} WEBAUTHN_CREDENTIAL_ATTESTATION, *PWEBAUTHN_CREDENTIAL_ATTESTATION;
319typedef const WEBAUTHN_CREDENTIAL_ATTESTATION *PCWEBAUTHN_CREDENTIAL_ATTESTATION;
320
321#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_NONE 0
322#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_SUCCESS 1
323#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_NOT_SUPPORTED 2
324#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_INVALID_DATA 3
325#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_INVALID_PARAMETER 4
326#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_NOT_FOUND 5
327#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_MULTIPLE_CREDENTIALS 6
328#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_LACK_OF_SPACE 7
329#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_PLATFORM_ERROR 8
330#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_AUTHENTICATOR_ERROR 9
331
332#define WEBAUTHN_ASSERTION_VERSION_1 1
333#define WEBAUTHN_ASSERTION_VERSION_2 2
334#define WEBAUTHN_ASSERTION_CURRENT_VERSION WEBAUTHN_ASSERTION_VERSION_2
335
336typedef struct _WEBAUTHN_ASSERTION {
337 DWORD dwVersion;
338 DWORD cbAuthenticatorData;
339 PBYTE pbAuthenticatorData;
340 DWORD cbSignature;
341 PBYTE pbSignature;
342 WEBAUTHN_CREDENTIAL Credential;
343 DWORD cbUserId;
344 PBYTE pbUserId;
345 WEBAUTHN_EXTENSIONS Extensions;
346 DWORD cbCredLargeBlob;
347 PBYTE pbCredLargeBlob;
348 DWORD dwCredLargeBlobStatus;
349} WEBAUTHN_ASSERTION, *PWEBAUTHN_ASSERTION;
350typedef const WEBAUTHN_ASSERTION *PCWEBAUTHN_ASSERTION;
351
352DWORD WINAPI WebAuthNGetApiVersionNumber(void);
353HRESULT WINAPI WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable(WINBOOL *pbIsUserVerifyingPlatformAuthenticatorAvailable);
354HRESULT WINAPI WebAuthNAuthenticatorMakeCredential(HWND hWnd, PCWEBAUTHN_RP_ENTITY_INFORMATION pRpInformation, PCWEBAUTHN_USER_ENTITY_INFORMATION pUserInformation, PCWEBAUTHN_COSE_CREDENTIAL_PARAMETERS pPubKeyCredParams, PCWEBAUTHN_CLIENT_DATA pWebAuthNClientData, PCWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS pWebAuthNMakeCredentialOptions, PWEBAUTHN_CREDENTIAL_ATTESTATION *ppWebAuthNCredentialAttestation);
355HRESULT WINAPI WebAuthNAuthenticatorGetAssertion(HWND hWnd, LPCWSTR pwszRpId, PCWEBAUTHN_CLIENT_DATA pWebAuthNClientData, PCWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS pWebAuthNGetAssertionOptions, PWEBAUTHN_ASSERTION *ppWebAuthNAssertion);
356void WINAPI WebAuthNFreeCredentialAttestation(PWEBAUTHN_CREDENTIAL_ATTESTATION pWebAuthNCredentialAttestation);
357void WINAPI WebAuthNFreeAssertion(PWEBAUTHN_ASSERTION pWebAuthNAssertion);
358HRESULT WINAPI WebAuthNGetCancellationId(GUID* pCancellationId);
359HRESULT WINAPI WebAuthNCancelCurrentOperation(const GUID* pCancellationId);
360PCWSTR WINAPI WebAuthNGetErrorName(HRESULT hr);
361HRESULT WINAPI WebAuthNGetW3CExceptionDOMError(HRESULT hr);
362
363#ifdef __cplusplus
364}
365#endif
366
367#endif /* WINAPI_FAMILY_PARTITION */
368
369#endif /* _WEBAUTHN_H_ */
lib/libc/include/any-windows-any/winbase.h-17
......@@ -1594,25 +1594,8 @@ extern "C" {
15941594#endif
15951595#endif
15961596
1597#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
1598 typedef enum _PROCESS_INFORMATION_CLASS {
1599 ProcessMemoryPriority,
1600 ProcessMemoryExhaustionInfo,
1601 ProcessAppMemoryInfo,
1602 ProcessInPrivateInfo,
1603 ProcessPowerThrottling,
1604 ProcessReservedValue1,
1605 ProcessTelemetryCoverageInfo,
1606 ProcessProtectionLevelInfo,
1607 ProcessLeapSecondInfo,
1608 ProcessInformationClassMax
1609 } PROCESS_INFORMATION_CLASS;
1610#endif
1611
16121597#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) && _WIN32_WINNT >= 0x0602
16131598 WINBASEAPI HMODULE WINAPI LoadPackagedLibrary (LPCWSTR lpwLibFileName, DWORD Reserved);
1614 WINBASEAPI WINBOOL WINAPI GetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize);
1615 WINBASEAPI WINBOOL WINAPI SetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize);
16161599#endif
16171600
16181601#if _WIN32_WINNT >= 0x0600
lib/libc/include/any-windows-any/wincodec.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wincodec.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wincodec.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wincodecsdk.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wincodecsdk.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wincodecsdk.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wincon.h+15-15
......@@ -314,9 +314,7 @@ WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryA(LPSTR Commands, DWORD CommandB
314314WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryW(LPWSTR Commands, DWORD CommandBufferLength, LPWSTR ExeName);
315315#define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory)
316316
317#ifndef LF_FACESIZE
318#define LF_FACESIZE 32
319#endif
317#ifndef NOGDI
320318
321319typedef struct _CONSOLE_FONT_INFOEX {
322320 ULONG cbSize;
......@@ -327,6 +325,20 @@ typedef struct _CONSOLE_FONT_INFOEX {
327325 WCHAR FaceName[LF_FACESIZE];
328326} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
329327
328WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx(
329 HANDLE hConsoleOutput,
330 WINBOOL bMaximumWindow,
331 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
332);
333
334WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx(
335 HANDLE hConsoleOutput,
336 WINBOOL bMaximumWindow,
337 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
338);
339
340#endif /* NOGDI */
341
330342#define HISTORY_NO_DUP_FLAG 0x1
331343
332344typedef struct _CONSOLE_HISTORY_INFO {
......@@ -378,12 +390,6 @@ WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx(
378390 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx
379391);
380392
381WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx(
382 HANDLE hConsoleOutput,
383 WINBOOL bMaximumWindow,
384 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
385);
386
387393WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo(
388394 PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo
389395);
......@@ -393,12 +399,6 @@ WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx(
393399 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx
394400);
395401
396WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx(
397 HANDLE hConsoleOutput,
398 WINBOOL bMaximumWindow,
399 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
400);
401
402402#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
403403
404404#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
lib/libc/include/any-windows-any/windns.h+521-17
......@@ -40,6 +40,7 @@ extern "C" {
4040#undef IP6_ADDRESS_STRING_LENGTH
4141#define IP6_ADDRESS_STRING_LENGTH (47)
4242#define IP6_ADDRESS_STRING_BUFFER_LENGTH (48)
43#define DNS_ADDRESS_STRING_LENGTH (IP6_ADDRESS_STRING_LENGTH)
4344
4445#define INLINE_WORD_FLIP(out,in) { WORD _in = (in); (out) = (_in << 8) | (_in >> 8); }
4546#define INLINE_HTONS(out,in) INLINE_WORD_FLIP(out,in)
......@@ -83,13 +84,22 @@ extern "C" {
8384 BYTE Opcode : 4;
8485 BYTE IsResponse : 1;
8586 BYTE ResponseCode : 4;
86 BYTE Reserved : 3;
87 BYTE CheckingDisabled : 1;
88 BYTE AuthenticatedData : 1;
89 BYTE Reserved : 1;
8790 BYTE RecursionAvailable : 1;
8891 WORD QuestionCount;
8992 WORD AnswerCount;
9093 WORD NameServerCount;
9194 WORD AdditionalCount;
92 } DNS_HEADER,*PDNS_HEADER;
95 } DNS_HEADER, *PDNS_HEADER;
96
97 typedef struct _DNS_HEADER_EXT {
98 WORD Reserved : 15;
99 WORD DnssecOk : 1;
100 BYTE chRcode;
101 BYTE chVersion;
102 } DNS_HEADER_EXT, *PDNS_HEADER_EXT;
93103
94104#define DNS_HEADER_FLAGS(pHead) (*((PWORD)(pHead)+1))
95105#define DNS_BYTE_FLIP_HEADER_COUNTS(pHeader) { PDNS_HEADER _head = (pHeader); INLINE_HTONS(_head->Xid,_head->Xid); INLINE_HTONS(_head->QuestionCount,_head->QuestionCount); INLINE_HTONS(_head->AnswerCount,_head->AnswerCount); INLINE_HTONS(_head->NameServerCount,_head->NameServerCount); INLINE_HTONS(_head->AdditionalCount,_head->AdditionalCount); }
......@@ -148,6 +158,7 @@ extern "C" {
148158#define DNS_CLASS_NONE 0x00fe
149159#define DNS_CLASS_ALL 0x00ff
150160#define DNS_CLASS_ANY 0x00ff
161#define DNS_CLASS_UNICAST_RESPONSE 0x8000
151162
152163#define DNS_RCLASS_INTERNET 0x0100
153164#define DNS_RCLASS_CSNET 0x0200
......@@ -156,6 +167,7 @@ extern "C" {
156167#define DNS_RCLASS_NONE 0xfe00
157168#define DNS_RCLASS_ALL 0xff00
158169#define DNS_RCLASS_ANY 0xff00
170#define DNS_RCLASS_UNICAST_RESPONSE 0x0080
159171
160172#define DNS_TYPE_ZERO 0x0000
161173#define DNS_TYPE_A 0x0001
......@@ -199,6 +211,14 @@ extern "C" {
199211#define DNS_TYPE_DNAME 0x0027
200212#define DNS_TYPE_SINK 0x0028
201213#define DNS_TYPE_OPT 0x0029
214#define DNS_TYPE_DS 0x002b
215#define DNS_TYPE_RRSIG 0x002e
216#define DNS_TYPE_NSEC 0x002f
217#define DNS_TYPE_DNSKEY 0x0030
218#define DNS_TYPE_DHCID 0x0031
219#define DNS_TYPE_NSEC3 0x0032
220#define DNS_TYPE_NSEC3PARAM 0x0033
221#define DNS_TYPE_TLSA 0x0034
202222#define DNS_TYPE_UINFO 0x0064
203223#define DNS_TYPE_UID 0x0065
204224#define DNS_TYPE_GID 0x0066
......@@ -257,6 +277,14 @@ extern "C" {
257277#define DNS_RTYPE_DNAME 0x2700
258278#define DNS_RTYPE_SINK 0x2800
259279#define DNS_RTYPE_OPT 0x2900
280#define DNS_RTYPE_DS 0x2b00
281#define DNS_RTYPE_RRSIG 0x2e00
282#define DNS_RTYPE_NSEC 0x2f00
283#define DNS_RTYPE_DNSKEY 0x3000
284#define DNS_RTYPE_DHCID 0x3100
285#define DNS_RTYPE_NSEC3 0x3200
286#define DNS_RTYPE_NSEC3PARAM 0x3300
287#define DNS_RTYPE_TLSA 0x3400
260288#define DNS_RTYPE_UINFO 0x6400
261289#define DNS_RTYPE_UID 0x6500
262290#define DNS_RTYPE_GID 0x6600
......@@ -286,9 +314,19 @@ extern "C" {
286314#define DNS_ATMA_MAX_RECORD_LENGTH (DNS_ATMA_MAX_ADDR_LENGTH+1)
287315
288316#define DNSSEC_ALGORITHM_RSAMD5 1
317#define DNSSEC_ALGORITHM_RSASHA1 5
318#define DNSSEC_ALGORITHM_RSASHA1_NSEC3 7
319#define DNSSEC_ALGORITHM_RSASHA256 8
320#define DNSSEC_ALGORITHM_RSASHA512 10
321#define DNSSEC_ALGORITHM_ECDSAP256_SHA256 13
322#define DNSSEC_ALGORITHM_ECDSAP384_SHA384 14
289323#define DNSSEC_ALGORITHM_NULL 253
290324#define DNSSEC_ALGORITHM_PRIVATE 254
291325
326#define DNSSEC_DIGEST_ALGORITHM_SHA1 1
327#define DNSSEC_DIGEST_ALGORITHM_SHA256 2
328#define DNSSEC_DIGEST_ALGORITHM_SHA384 4
329
292330#define DNSSEC_PROTOCOL_NONE 0
293331#define DNSSEC_PROTOCOL_TLS 1
294332#define DNSSEC_PROTOCOL_EMAIL 2
......@@ -343,10 +381,25 @@ extern "C" {
343381#define IS_QWORD_ALIGNED(p) (!((UINT_PTR)(p) & (UINT_PTR)7))
344382
345383 typedef enum {
346 DnsConfigPrimaryDomainName_W,DnsConfigPrimaryDomainName_A,DnsConfigPrimaryDomainName_UTF8,DnsConfigAdapterDomainName_W,
347 DnsConfigAdapterDomainName_A,DnsConfigAdapterDomainName_UTF8,DnsConfigDnsServerList,DnsConfigSearchList,
348 DnsConfigAdapterInfo,DnsConfigPrimaryHostNameRegistrationEnabled,DnsConfigAdapterHostNameRegistrationEnabled,DnsConfigAddressRegistrationMaxCount,
349 DnsConfigHostName_W,DnsConfigHostName_A,DnsConfigHostName_UTF8,DnsConfigFullHostName_W,DnsConfigFullHostName_A,DnsConfigFullHostName_UTF8
384 DnsConfigPrimaryDomainName_W,
385 DnsConfigPrimaryDomainName_A,
386 DnsConfigPrimaryDomainName_UTF8,
387 DnsConfigAdapterDomainName_W,
388 DnsConfigAdapterDomainName_A,
389 DnsConfigAdapterDomainName_UTF8,
390 DnsConfigDnsServerList,
391 DnsConfigSearchList,
392 DnsConfigAdapterInfo,
393 DnsConfigPrimaryHostNameRegistrationEnabled,
394 DnsConfigAdapterHostNameRegistrationEnabled,
395 DnsConfigAddressRegistrationMaxCount,
396 DnsConfigHostName_W,
397 DnsConfigHostName_A,
398 DnsConfigHostName_UTF8,
399 DnsConfigFullHostName_W,
400 DnsConfigFullHostName_A,
401 DnsConfigFullHostName_UTF8,
402 DnsConfigNameServer
350403 } DNS_CONFIG_TYPE;
351404
352405#define DNS_CONFIG_FLAG_ALLOC (0x00000001)
......@@ -433,7 +486,6 @@ extern "C" {
433486 } DNS_AAAA_DATA,*PDNS_AAAA_DATA;
434487
435488 typedef struct {
436 PWSTR pNameSigner;
437489 WORD wTypeCovered;
438490 BYTE chAlgorithm;
439491 BYTE chLabelCount;
......@@ -441,12 +493,12 @@ extern "C" {
441493 DWORD dwExpiration;
442494 DWORD dwTimeSigned;
443495 WORD wKeyTag;
444 WORD Pad;
496 WORD wSignatureLength;
497 PWSTR pNameSigner;
445498 BYTE Signature[1];
446 } DNS_SIG_DATAW,*PDNS_SIG_DATAW;
499 } DNS_SIG_DATAW, *PDNS_SIG_DATAW, DNS_RRSIG_DATAW, *PDNS_RRSIG_DATAW;
447500
448501 typedef struct {
449 PSTR pNameSigner;
450502 WORD wTypeCovered;
451503 BYTE chAlgorithm;
452504 BYTE chLabelCount;
......@@ -454,16 +506,81 @@ extern "C" {
454506 DWORD dwExpiration;
455507 DWORD dwTimeSigned;
456508 WORD wKeyTag;
457 WORD Pad;
509 WORD wSignatureLength;
510 PSTR pNameSigner;
458511 BYTE Signature[1];
459 } DNS_SIG_DATAA,*PDNS_SIG_DATAA;
512 } DNS_SIG_DATAA, *PDNS_SIG_DATAA, DNS_RRSIG_DATAA, *PDNS_RRSIG_DATAA;
460513
461514 typedef struct {
462515 WORD wFlags;
463516 BYTE chProtocol;
464517 BYTE chAlgorithm;
518 WORD wKeyLength;
519 WORD wPad;
465520 BYTE Key[1];
466 } DNS_KEY_DATA,*PDNS_KEY_DATA;
521 } DNS_KEY_DATA, *PDNS_KEY_DATA, DNS_DNSKEY_DATA, *PDNS_DNSKEY_DATA;
522
523 typedef struct {
524 DWORD dwByteCount;
525 BYTE DHCID[1];
526 } DNS_DHCID_DATA, *PDNS_DHCID_DATA;
527
528 typedef struct {
529 PWSTR pNextDomainName;
530 WORD wTypeBitMapsLength;
531 WORD wPad;
532 BYTE TypeBitMaps[1];
533 } DNS_NSEC_DATAW, *PDNS_NSEC_DATAW;
534
535 typedef struct {
536 PSTR pNextDomainName;
537 WORD wTypeBitMapsLength;
538 WORD wPad;
539 BYTE TypeBitMaps[1];
540 } DNS_NSEC_DATAA, *PDNS_NSEC_DATAA;
541
542 typedef struct {
543 BYTE chAlgorithm;
544 BYTE bFlags;
545 WORD wIterations;
546 BYTE bSaltLength;
547 BYTE bHashLength;
548 WORD wTypeBitMapsLength;
549 BYTE chData[1];
550 } DNS_NSEC3_DATA, *PDNS_NSEC3_DATA;
551
552 typedef struct {
553 BYTE chAlgorithm;
554 BYTE bFlags;
555 WORD wIterations;
556 BYTE bSaltLength;
557 BYTE bPad[3];
558 BYTE pbSalt[1];
559 } DNS_NSEC3PARAM_DATA, *PDNS_NSEC3PARAM_DATA;
560
561 typedef struct {
562 BYTE bCertUsage;
563 BYTE bSelector;
564 BYTE bMatchingType;
565 WORD bCertificateAssociationDataLength;
566 BYTE bPad[3];
567 BYTE bCertificateAssociationData[1];
568 } DNS_TLSA_DATA, *PDNS_TLSA_DATA;
569
570 typedef struct {
571 WORD wKeyTag;
572 BYTE chAlgorithm;
573 BYTE chDigestType;
574 WORD wDigestLength;
575 WORD wPad;
576 BYTE Digest[1];
577 } DNS_DS_DATA, *PDNS_DS_DATA;
578
579 typedef struct {
580 WORD wDataLength;
581 WORD wPad;
582 BYTE Data[1];
583 } DNS_OPT_DATA, *PDNS_OPT_DATA;
467584
468585 typedef struct {
469586 WORD wVersion;
......@@ -503,6 +620,24 @@ extern "C" {
503620 WORD Pad;
504621 } DNS_SRV_DATAA,*PDNS_SRV_DATAA;
505622
623 typedef struct {
624 WORD wOrder;
625 WORD wPreference;
626 PWSTR pFlags;
627 PWSTR pService;
628 PWSTR pRegularExpression;
629 PWSTR pReplacement;
630 } DNS_NAPTR_DATAW, *PDNS_NAPTR_DATAW;
631
632 typedef struct {
633 WORD wOrder;
634 WORD wPreference;
635 PSTR pFlags;
636 PSTR pService;
637 PSTR pRegularExpression;
638 PSTR pReplacement;
639 } DNS_NAPTR_DATAA, *PDNS_NAPTR_DATAA;
640
506641 typedef struct {
507642 BYTE AddressType;
508643 BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH ];
......@@ -568,6 +703,11 @@ extern "C" {
568703 WINBOOL bPacketPointers;
569704 } DNS_TSIG_DATAA,*PDNS_TSIG_DATAA;
570705
706 typedef struct {
707 DWORD dwByteCount;
708 BYTE bData[1];
709 } DNS_UNKNOWN_DATA, *PDNS_UNKNOWN_DATA;
710
571711 typedef struct {
572712 DWORD dwMappingFlag;
573713 DWORD dwLookupTimeout;
......@@ -606,6 +746,12 @@ extern "C" {
606746 __MINGW_TYPEDEF_AW(PDNS_NXT_DATA)
607747 __MINGW_TYPEDEF_AW(DNS_SRV_DATA)
608748 __MINGW_TYPEDEF_AW(PDNS_SRV_DATA)
749 __MINGW_TYPEDEF_AW(DNS_NAPTR_DATA)
750 __MINGW_TYPEDEF_AW(PDNS_NAPTR_DATA)
751 __MINGW_TYPEDEF_AW(DNS_RRSIG_DATA)
752 __MINGW_TYPEDEF_AW(PDNS_RRSIG_DATA)
753 __MINGW_TYPEDEF_AW(DNS_NSEC_DATA)
754 __MINGW_TYPEDEF_AW(PDNS_NSEC_DATA)
609755 __MINGW_TYPEDEF_AW(DNS_TKEY_DATA)
610756 __MINGW_TYPEDEF_AW(PDNS_TKEY_DATA)
611757 __MINGW_TYPEDEF_AW(DNS_TSIG_DATA)
......@@ -617,6 +763,16 @@ extern "C" {
617763#define DNS_NULL_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NULL_DATA,Data) + (ByteCount))
618764#define DNS_WKS_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_WKS_DATA,BitMask) + (ByteCount))
619765#define DNS_WINS_RECORD_LENGTH(IpCount) (FIELD_OFFSET(DNS_WINS_DATA,WinsServers) + ((IpCount) *sizeof(IP4_ADDRESS)))
766#define DNS_KEY_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_KEY_DATA,Key) + (ByteCount))
767#define DNS_SIG_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_SIG_DATA,Signature) + (ByteCount))
768#define DNS_NSEC_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NSEC_DATA,TypeBitMaps) + (ByteCount))
769#define DNS_DS_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_DS_DATA,Digest) + (ByteCount))
770#define DNS_OPT_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_OPT_DATA,Data) + (ByteCount))
771#define DNS_DHCID_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_DHCID_DATA,DHCID) + (ByteCount))
772#define DNS_NSEC3_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NSEC3_DATA,chData) + (ByteCount))
773#define DNS_NSEC3PARAM_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NSEC3PARAM_DATA,pbSalt) + (ByteCount))
774#define DNS_TLSA_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_TLSA_DATA,bCertificateAssociationData) + (ByteCount))
775#define DNS_UNKNOWN_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_UNKNOWN_DATA,bData) + (ByteCount))
620776
621777 typedef struct _DnsRecordFlags {
622778 DWORD Section : 2;
......@@ -661,7 +817,7 @@ extern "C" {
661817 union {
662818 DNS_A_DATA A;
663819 DNS_SOA_DATAW SOA,Soa;
664 DNS_PTR_DATAW PTR,Ptr,NS,Ns,CNAME,Cname,MB,Mb,MD,Md,MF,Mf,MG,Mg,MR,Mr;
820 DNS_PTR_DATAW PTR,Ptr,NS,Ns,CNAME,Cname,DNAME,Dname,MB,Mb,MD,Md,MF,Mf,MG,Mg,MR,Mr;
665821 DNS_MINFO_DATAW MINFO,Minfo,RP,Rp;
666822 DNS_MX_DATAW MX,Mx,AFSDB,Afsdb,RT,Rt;
667823 DNS_TXT_DATAW HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25;
......@@ -673,13 +829,42 @@ extern "C" {
673829 DNS_ATMA_DATA ATMA,Atma;
674830 DNS_NXT_DATAW NXT,Nxt;
675831 DNS_SRV_DATAW SRV,Srv;
832 DNS_NAPTR_DATAW NAPTR,Naptr;
833 DNS_OPT_DATA OPT,Opt;
834 DNS_DS_DATA DS,Ds;
835 DNS_RRSIG_DATAW RRSIG,Rrsig;
836 DNS_NSEC_DATAW NSEC,Nsec;
837 DNS_DNSKEY_DATA DNSKEY,Dnskey;
676838 DNS_TKEY_DATAW TKEY,Tkey;
677839 DNS_TSIG_DATAW TSIG,Tsig;
678840 DNS_WINS_DATA WINS,Wins;
679841 DNS_WINSR_DATAW WINSR,WinsR,NBSTAT,Nbstat;
842 DNS_DHCID_DATA DHCID;
843 DNS_NSEC3_DATA NSEC3,Nsec3;
844 DNS_NSEC3PARAM_DATA NSEC3PARAM,Nsec3Param;
845 DNS_TLSA_DATA TLSA,Tlsa;
846 DNS_UNKNOWN_DATA UNKNOWN,Unknown;
847 PBYTE pDataPtr;
680848 } Data;
681849 } DNS_RECORDW,*PDNS_RECORDW;
682850
851 typedef struct _DnsRecordOptW {
852 struct _DnsRecordW *pNext;
853 PWSTR pName;
854 WORD wType;
855 WORD wDataLength;
856 union {
857 DWORD DW;
858 DNS_RECORD_FLAGS S;
859 } Flags;
860 DNS_HEADER_EXT ExtHeader;
861 WORD wPayloadSize;
862 WORD wReserved;
863 union {
864 DNS_OPT_DATA OPT,Opt;
865 } Data;
866 } DNS_RECORD_OPTW, *PDNS_RECORD_OPTW;
867
683868 typedef struct _DnsRecordA {
684869 struct _DnsRecordA *pNext;
685870 PSTR pName;
......@@ -694,7 +879,7 @@ extern "C" {
694879 union {
695880 DNS_A_DATA A;
696881 DNS_SOA_DATAA SOA,Soa;
697 DNS_PTR_DATAA PTR,Ptr,NS,Ns,CNAME,Cname,MB,Mb,MD,Md,MF,Mf,MG,Mg,MR,Mr;
882 DNS_PTR_DATAA PTR,Ptr,NS,Ns,CNAME,Cname,DNAME,Dname,MB,Mb,MD,Md,MF,Mf,MG,Mg,MR,Mr;
698883 DNS_MINFO_DATAA MINFO,Minfo,RP,Rp;
699884 DNS_MX_DATAA MX,Mx,AFSDB,Afsdb,RT,Rt;
700885 DNS_TXT_DATAA HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25;
......@@ -706,17 +891,48 @@ extern "C" {
706891 DNS_ATMA_DATA ATMA,Atma;
707892 DNS_NXT_DATAA NXT,Nxt;
708893 DNS_SRV_DATAA SRV,Srv;
894 DNS_NAPTR_DATAA NAPTR,Naptr;
895 DNS_OPT_DATA OPT,Opt;
896 DNS_DS_DATA DS,Ds;
897 DNS_RRSIG_DATAA RRSIG,Rrsig;
898 DNS_NSEC_DATAA NSEC,Nsec;
899 DNS_DNSKEY_DATA DNSKEY,Dnskey;
709900 DNS_TKEY_DATAA TKEY,Tkey;
710901 DNS_TSIG_DATAA TSIG,Tsig;
711902 DNS_WINS_DATA WINS,Wins;
712903 DNS_WINSR_DATAA WINSR,WinsR,NBSTAT,Nbstat;
904 DNS_DHCID_DATA DHCID;
905 DNS_NSEC3_DATA NSEC3,Nsec3;
906 DNS_NSEC3PARAM_DATA NSEC3PARAM,Nsec3Param;
907 DNS_TLSA_DATA TLSA,Tlsa;
908 DNS_UNKNOWN_DATA UNKNOWN,Unknown;
909 PBYTE pDataPtr;
713910 } Data;
714911 } DNS_RECORDA,*PDNS_RECORDA;
715912
913 typedef struct _DnsRecordOptA {
914 struct _DnsRecordA *pNext;
915 PSTR pName;
916 WORD wType;
917 WORD wDataLength;
918 union {
919 DWORD DW;
920 DNS_RECORD_FLAGS S;
921 } Flags;
922 DNS_HEADER_EXT ExtHeader;
923 WORD wPayloadSize;
924 WORD wReserved;
925 union {
926 DNS_OPT_DATA OPT, Opt;
927 } Data;
928 } DNS_RECORD_OPTA, *PDNS_RECORD_OPTA;
929
716930#ifdef UNICODE
717931 typedef DNS_RECORDW DNS_RECORD, *PDNS_RECORD;
932 typedef DNS_RECORD_OPTW DNS_RECORD_OPT, *PDNS_RECORD_OPT;
718933#else
719934 typedef DNS_RECORDA DNS_RECORD, *PDNS_RECORD;
935 typedef DNS_RECORD_OPTA DNS_RECORD_OPT, *PDNS_RECORD_OPT;
720936#endif
721937
722938#define DNS_RECORD_FIXED_SIZE FIELD_OFFSET(DNS_RECORD,Data)
......@@ -731,6 +947,21 @@ extern "C" {
731947#define DNS_RRSET_ADD(rrset,pnewRR) { PDNS_RRSET _prrset = &(rrset); PDNS_RECORD _prrnew = (pnewRR); _prrset->pLastRR->pNext = _prrnew; _prrset->pLastRR = _prrnew; }
732948#define DNS_RRSET_TERMINATE(rrset) { PDNS_RRSET _prrset = &(rrset); _prrset->pLastRR->pNext = NULL; }
733949
950 typedef VOID (WINAPI *DNS_PROXY_COMPLETION_ROUTINE)(void *completionContext,DNS_STATUS status);
951
952 typedef enum DNS_PROXY_INFORMATION_TYPE {
953 DNS_PROXY_INFORMATION_DIRECT,
954 DNS_PROXY_INFORMATION_DEFAULT_SETTINGS,
955 DNS_PROXY_INFORMATION_PROXY_NAME,
956 DNS_PROXY_INFORMATION_DOES_NOT_EXIST
957 } DNS_PROXY_INFORMATION_TYPE;
958
959 typedef struct DNS_PROXY_INFORMATION {
960 ULONG version;
961 DNS_PROXY_INFORMATION_TYPE proxyInformationType;
962 PWSTR proxyName;
963 } DNS_PROXY_INFORMATION;
964
734965 typedef enum _DNS_CHARSET {
735966 DnsCharSetUnknown,DnsCharSetUnicode,DnsCharSetUtf8,DnsCharSetAnsi
736967 } DNS_CHARSET;
......@@ -779,8 +1010,14 @@ extern "C" {
7791010#define DNS_QUERY_NO_MULTICAST 0x00000800
7801011#define DNS_QUERY_TREAT_AS_FQDN 0x00001000
7811012#define DNS_QUERY_APPEND_MULTILABEL 0x00800000
1013#define DNS_QUERY_ADDRCONFIG 0x00002000
1014#define DNS_QUERY_DUAL_ADDR 0x00004000
7821015#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000
783#define DNS_QUERY_RESERVED 0xff000000
1016#define DNS_QUERY_DISABLE_IDN_ENCODING 0x00200000
1017#define DNS_QUERY_APPEND_MULTILABEL 0x00800000
1018#define DNS_QUERY_DNSSEC_OK 0x01000000
1019#define DNS_QUERY_DNSSEC_CHECKING_DISABLED 0x02000000
1020#define DNS_QUERY_RESERVED 0xf0000000
7841021#define DNS_QUERY_CACHE_ONLY DNS_QUERY_NO_WIRE_QUERY
7851022
7861023 DNS_STATUS WINAPI DnsQuery_A(PCSTR pszName,WORD wType,DWORD Options,PIP4_ARRAY aipServers,PDNS_RECORD *ppQueryResults,PVOID *pReserved);
......@@ -789,6 +1026,24 @@ extern "C" {
7891026
7901027#define DnsQuery __MINGW_NAME_UAW(DnsQuery)
7911028
1029#if !defined (USE_PRIVATE_DNS_ADDR) || defined (MIDL_PASS) || defined (__WIDL__)
1030#define DNS_QUERY_REQUEST_VERSION1 0x1
1031#define DNS_QUERY_REQUEST_VERSION2 0x2
1032#endif
1033
1034#define DNS_QUERY_RESULTS_VERSION1 0x1
1035
1036 typedef struct _DNS_QUERY_RESULT {
1037 ULONG Version;
1038 DNS_STATUS QueryStatus;
1039 ULONG64 QueryOptions;
1040 PDNS_RECORD pQueryRecords;
1041 PVOID Reserved;
1042 } DNS_QUERY_RESULT, *PDNS_QUERY_RESULT;
1043
1044 typedef VOID WINAPI DNS_QUERY_COMPLETION_ROUTINE(PVOID pQueryContext,PDNS_QUERY_RESULT pQueryResults);
1045 typedef DNS_QUERY_COMPLETION_ROUTINE *PDNS_QUERY_COMPLETION_ROUTINE;
1046
7921047#define DNS_UPDATE_SECURITY_USE_DEFAULT 0x00000000
7931048#define DNS_UPDATE_SECURITY_OFF 0x00000010
7941049#define DNS_UPDATE_SECURITY_ON 0x00000020
......@@ -818,12 +1073,33 @@ extern "C" {
8181073 DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORDA pNewSet,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved);
8191074
8201075 typedef enum _DNS_NAME_FORMAT {
821 DnsNameDomain,DnsNameDomainLabel,DnsNameHostnameFull,DnsNameHostnameLabel,DnsNameWildcard,DnsNameSrvRecord
1076 DnsNameDomain,
1077 DnsNameDomainLabel,
1078 DnsNameHostnameFull,
1079 DnsNameHostnameLabel,
1080 DnsNameWildcard,
1081 DnsNameSrvRecord,
1082 DnsNameValidateTld
8221083 } DNS_NAME_FORMAT;
8231084
8241085 DNS_STATUS DnsValidateName_UTF8(LPCSTR pszName,DNS_NAME_FORMAT Format);
8251086 DNS_STATUS DnsValidateName_W(LPCWSTR pwszName,DNS_NAME_FORMAT Format);
8261087 DNS_STATUS DnsValidateName_A(LPCSTR pszName,DNS_NAME_FORMAT Format);
1088
1089#define DNS_VALSVR_ERROR_INVALID_ADDR 0x01
1090#define DNS_VALSVR_ERROR_INVALID_NAME 0x02
1091#define DNS_VALSVR_ERROR_UNREACHABLE 0x03
1092#define DNS_VALSVR_ERROR_NO_RESPONSE 0x04
1093#define DNS_VALSVR_ERROR_NO_AUTH 0x05
1094#define DNS_VALSVR_ERROR_REFUSED 0x06
1095
1096#define DNS_VALSVR_ERROR_NO_TCP 0x10
1097#define DNS_VALSVR_ERROR_UNKNOWN 0xFF
1098
1099#ifdef _WS2DEF_
1100 DNS_STATUS DnsValidateServerStatus(PSOCKADDR server,PCWSTR queryName,PDWORD serverStatus);
1101#endif
1102
8271103 WINBOOL WINAPI DnsNameCompare_A(LPSTR pName1,LPSTR pName2);
8281104 WINBOOL WINAPI DnsNameCompare_W(LPWSTR pName1,LPWSTR pName2);
8291105
......@@ -837,6 +1113,234 @@ extern "C" {
8371113 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORD *ppRecord);
8381114 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORDA *ppRecord);
8391115
1116 DWORD WINAPI DnsGetProxyInformation(PCWSTR hostName,DNS_PROXY_INFORMATION *proxyInformation,DNS_PROXY_INFORMATION *defaultProxyInformation,DNS_PROXY_COMPLETION_ROUTINE completionRoutine,void *completionContext);
1117 VOID WINAPI DnsFreeProxyName(PWSTR proxyName);
1118
1119#define DNS_CONNECTION_NAME_MAX_LENGTH 64
1120#define DNS_CONNECTION_PROXY_INFO_CURRENT_VERSION 1
1121#define DNS_CONNECTION_PROXY_INFO_SERVER_MAX_LENGTH 256
1122#define DNS_CONNECTION_PROXY_INFO_FRIENDLY_NAME_MAX_LENGTH 64
1123#define DNS_CONNECTION_PROXY_INFO_USERNAME_MAX_LENGTH 128
1124#define DNS_CONNECTION_PROXY_INFO_PASSWORD_MAX_LENGTH 128
1125#define DNS_CONNECTION_PROXY_INFO_EXCEPTION_MAX_LENGTH 1024
1126#define DNS_CONNECTION_PROXY_INFO_EXTRA_INFO_MAX_LENGTH 1024
1127
1128 typedef enum _DNS_CONNECTION_PROXY_TYPE {
1129 DNS_CONNECTION_PROXY_TYPE_NULL = 0,
1130 DNS_CONNECTION_PROXY_TYPE_HTTP = 1,
1131 DNS_CONNECTION_PROXY_TYPE_WAP = 2,
1132 DNS_CONNECTION_PROXY_TYPE_SOCKS4 = 4,
1133 DNS_CONNECTION_PROXY_TYPE_SOCKS5 = 5
1134 } DNS_CONNECTION_PROXY_TYPE;
1135
1136 typedef enum _DNS_CONNECTION_PROXY_INFO_SWITCH {
1137 DNS_CONNECTION_PROXY_INFO_SWITCH_CONFIG = 0,
1138 DNS_CONNECTION_PROXY_INFO_SWITCH_SCRIPT,
1139 DNS_CONNECTION_PROXY_INFO_SWITCH_WPAD
1140 } DNS_CONNECTION_PROXY_INFO_SWITCH;
1141
1142#define DNS_CONNECTION_PROXY_INFO_FLAG_DISABLED 0x1
1143#define DNS_CONNECTION_PROXY_INFO_FLAG_BYPASSLOCAL 0x2
1144
1145 struct _DNS_CONNECTION_PROXY_INFO_CONFIG {
1146 WCHAR *pwszServer;
1147 WCHAR *pwszUsername;
1148 WCHAR *pwszPassword;
1149 WCHAR *pwszException;
1150 WCHAR *pwszExtraInfo;
1151 WORD Port;
1152 };
1153
1154 struct _DNS_CONNECTION_PROXY_INFO_SCRIPT {
1155 WCHAR *pwszScript;
1156 WCHAR *pwszUsername;
1157 WCHAR *pwszPassword;
1158 };
1159
1160 typedef struct _DNS_CONNECTION_PROXY_INFO {
1161 DWORD Version;
1162 WCHAR *pwszFriendlyName;
1163 DWORD Flags;
1164 DNS_CONNECTION_PROXY_INFO_SWITCH Switch;
1165 __C89_NAMELESS union {
1166 struct _DNS_CONNECTION_PROXY_INFO_CONFIG Config;
1167 struct _DNS_CONNECTION_PROXY_INFO_SCRIPT Script;
1168 };
1169 } DNS_CONNECTION_PROXY_INFO, *PDNS_CONNECTION_PROXY_INFO;
1170
1171 typedef struct _DNS_CONNECTION_PROXY_INFO_EX {
1172 DNS_CONNECTION_PROXY_INFO ProxyInfo;
1173 DWORD dwInterfaceIndex;
1174 WCHAR *pwszConnectionName;
1175 WINBOOL fDirectConfiguration;
1176 HANDLE hConnection;
1177 } DNS_CONNECTION_PROXY_INFO_EX, *PDNS_CONNECTION_PROXY_INFO_EX;
1178
1179 typedef struct _DNS_CONNECTION_PROXY_ELEMENT {
1180 DNS_CONNECTION_PROXY_TYPE Type;
1181 DNS_CONNECTION_PROXY_INFO Info;
1182 } DNS_CONNECTION_PROXY_ELEMENT;
1183
1184 typedef struct _DNS_CONNECTION_PROXY_LIST {
1185 DWORD cProxies;
1186 DNS_CONNECTION_PROXY_ELEMENT *pProxies;
1187 } DNS_CONNECTION_PROXY_LIST;
1188
1189 typedef struct _DNS_CONNECTION_NAME {
1190 WCHAR wszName[DNS_CONNECTION_NAME_MAX_LENGTH + 1];
1191 } DNS_CONNECTION_NAME;
1192
1193 typedef struct _DNS_CONNECTION_NAME_LIST {
1194 DWORD cNames;
1195 DNS_CONNECTION_NAME *pNames;
1196 } DNS_CONNECTION_NAME_LIST;
1197
1198 DWORD DnsConnectionGetProxyInfoForHostUrl(PCWSTR pwszHostUrl,BYTE *pSelectionContext,DWORD dwSelectionContextLength,DWORD dwExplicitInterfaceIndex,DNS_CONNECTION_PROXY_INFO_EX *pProxyInfoEx);
1199 VOID DnsConnectionFreeProxyInfoEx(DNS_CONNECTION_PROXY_INFO_EX *pProxyInfoEx);
1200 DWORD DnsConnectionGetProxyInfo(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_TYPE Type,DNS_CONNECTION_PROXY_INFO *pProxyInfo);
1201 VOID DnsConnectionFreeProxyInfo(DNS_CONNECTION_PROXY_INFO *pProxyInfo);
1202 DWORD DnsConnectionSetProxyInfo(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_TYPE Type,const DNS_CONNECTION_PROXY_INFO *pProxyInfo);
1203 DWORD DnsConnectionDeleteProxyInfo(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_TYPE Type);
1204 DWORD DnsConnectionGetProxyList(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_LIST *pProxyList);
1205 VOID DnsConnectionFreeProxyList(DNS_CONNECTION_PROXY_LIST *pProxyList);
1206 DWORD DnsConnectionGetNameList(DNS_CONNECTION_NAME_LIST *pNameList);
1207 VOID DnsConnectionFreeNameList(DNS_CONNECTION_NAME_LIST *pNameList);
1208
1209 typedef struct _DNS_CONNECTION_IFINDEX_ENTRY {
1210 PCWSTR pwszConnectionName;
1211 DWORD dwIfIndex;
1212 } DNS_CONNECTION_IFINDEX_ENTRY;
1213
1214 typedef struct _DNS_CONNECTION_IFINDEX_LIST {
1215 DNS_CONNECTION_IFINDEX_ENTRY *pConnectionIfIndexEntries;
1216 DWORD nEntries;
1217 } DNS_CONNECTION_IFINDEX_LIST;
1218
1219 DWORD DnsConnectionUpdateIfIndexTable(DNS_CONNECTION_IFINDEX_LIST *pConnectionIfIndexEntries);
1220
1221#define DNS_CONNECTION_POLICY_ENTRY_ONDEMAND 0x00000001
1222
1223 typedef struct _DNS_CONNECTION_POLICY_ENTRY {
1224 PCWSTR pwszHost;
1225 PCWSTR pwszAppId;
1226 DWORD cbAppSid;
1227 PBYTE pbAppSid;
1228 DWORD nConnections;
1229 PCWSTR *ppwszConnections;
1230 DWORD dwPolicyEntryFlags;
1231 } DNS_CONNECTION_POLICY_ENTRY, *PDNS_CONNECTION_POLICY_ENTRY;
1232
1233 typedef struct _DNS_CONNECTION_POLICY_ENTRY_LIST {
1234 DNS_CONNECTION_POLICY_ENTRY *pPolicyEntries;
1235 DWORD nEntries;
1236 } DNS_CONNECTION_POLICY_ENTRY_LIST;
1237
1238 typedef enum {
1239 TAG_DNS_CONNECTION_POLICY_TAG_DEFAULT = 0,
1240 TAG_DNS_CONNECTION_POLICY_TAG_CONNECTION_MANAGER,
1241 TAG_DNS_CONNECTION_POLICY_TAG_WWWPT
1242 } DNS_CONNECTION_POLICY_TAG;
1243
1244 DWORD DnsConnectionSetPolicyEntries(DNS_CONNECTION_POLICY_TAG PolicyEntryTag,DNS_CONNECTION_POLICY_ENTRY_LIST *pPolicyEntryList);
1245 DWORD DnsConnectionDeletePolicyEntries(DNS_CONNECTION_POLICY_TAG PolicyEntryTag);
1246
1247 typedef struct _DNS_SERVICE_INSTANCE {
1248 LPWSTR pszInstanceName;
1249 LPWSTR pszHostName;
1250 IP4_ADDRESS *ip4Address;
1251 IP6_ADDRESS *ip6Address;
1252 WORD wPort;
1253 WORD wPriority;
1254 WORD wWeight;
1255 DWORD dwPropertyCount;
1256 PWSTR *keys;
1257 PWSTR *values;
1258 DWORD dwInterfaceIndex;
1259 } DNS_SERVICE_INSTANCE, *PDNS_SERVICE_INSTANCE;
1260
1261 PDNS_SERVICE_INSTANCE WINAPI DnsServiceConstructInstance(PCWSTR pServiceName,PCWSTR pHostName,PIP4_ADDRESS pIp4,PIP6_ADDRESS pIp6,WORD wPort,WORD wPriority,WORD wWeight,DWORD dwPropertiesCount,PCWSTR *keys,PCWSTR *values);
1262 PDNS_SERVICE_INSTANCE WINAPI DnsServiceCopyInstance(PDNS_SERVICE_INSTANCE pOrig);
1263 VOID WINAPI DnsServiceFreeInstance(PDNS_SERVICE_INSTANCE pInstance);
1264
1265 typedef struct _DNS_SERVICE_CANCEL {
1266 PVOID reserved;
1267 } DNS_SERVICE_CANCEL, *PDNS_SERVICE_CANCEL;
1268
1269 typedef VOID WINAPI DNS_SERVICE_BROWSE_CALLBACK(DWORD Status,PVOID pQueryContext,PDNS_RECORD pDnsRecord);
1270 typedef DNS_SERVICE_BROWSE_CALLBACK *PDNS_SERVICE_BROWSE_CALLBACK;
1271
1272 typedef struct _DNS_SERVICE_BROWSE_REQUEST {
1273 ULONG Version;
1274 ULONG InterfaceIndex;
1275 PCWSTR QueryName;
1276 __C89_NAMELESS union {
1277 PDNS_SERVICE_BROWSE_CALLBACK pBrowseCallback;
1278 DNS_QUERY_COMPLETION_ROUTINE *pBrowseCallbackV2;
1279 };
1280 PVOID pQueryContext;
1281 } DNS_SERVICE_BROWSE_REQUEST, *PDNS_SERVICE_BROWSE_REQUEST;
1282
1283 DNS_STATUS WINAPI DnsServiceBrowse(PDNS_SERVICE_BROWSE_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel);
1284 DNS_STATUS WINAPI DnsServiceBrowseCancel(PDNS_SERVICE_CANCEL pCancelHandle);
1285
1286 typedef VOID WINAPI DNS_SERVICE_RESOLVE_COMPLETE(DWORD Status,PVOID pQueryContext,PDNS_SERVICE_INSTANCE pInstance);
1287 typedef DNS_SERVICE_RESOLVE_COMPLETE *PDNS_SERVICE_RESOLVE_COMPLETE;
1288
1289 typedef struct _DNS_SERVICE_RESOLVE_REQUEST{
1290 ULONG Version;
1291 ULONG InterfaceIndex;
1292 PWSTR QueryName;
1293 PDNS_SERVICE_RESOLVE_COMPLETE pResolveCompletionCallback;
1294 PVOID pQueryContext;
1295 } DNS_SERVICE_RESOLVE_REQUEST, *PDNS_SERVICE_RESOLVE_REQUEST;
1296
1297 DNS_STATUS WINAPI DnsServiceResolve(PDNS_SERVICE_RESOLVE_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel);
1298 DNS_STATUS WINAPI DnsServiceResolveCancel(PDNS_SERVICE_CANCEL pCancelHandle);
1299
1300 typedef VOID WINAPI DNS_SERVICE_REGISTER_COMPLETE(DWORD Status,PVOID pQueryContext,PDNS_SERVICE_INSTANCE pInstance);
1301 typedef DNS_SERVICE_REGISTER_COMPLETE *PDNS_SERVICE_REGISTER_COMPLETE;
1302
1303 typedef struct _DNS_SERVICE_REGISTER_REQUEST{
1304 ULONG Version;
1305 ULONG InterfaceIndex;
1306 PDNS_SERVICE_INSTANCE pServiceInstance;
1307 PDNS_SERVICE_REGISTER_COMPLETE pRegisterCompletionCallback;
1308 PVOID pQueryContext;
1309 HANDLE hCredentials;
1310 WINBOOL unicastEnabled;
1311 } DNS_SERVICE_REGISTER_REQUEST, *PDNS_SERVICE_REGISTER_REQUEST;
1312
1313 DWORD WINAPI DnsServiceRegister(PDNS_SERVICE_REGISTER_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel);
1314 DWORD WINAPI DnsServiceDeRegister(PDNS_SERVICE_REGISTER_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel);
1315 DWORD WINAPI DnsServiceRegisterCancel(PDNS_SERVICE_CANCEL pCancelHandle);
1316
1317 typedef struct _MDNS_QUERY_HANDLE {
1318 WCHAR nameBuf[DNS_MAX_NAME_BUFFER_LENGTH];
1319 WORD wType;
1320 PVOID pSubscription;
1321 PVOID pWnfCallbackParams;
1322 ULONG stateNameData[2];
1323 } MDNS_QUERY_HANDLE, *PMDNS_QUERY_HANDLE;
1324
1325 typedef VOID WINAPI MDNS_QUERY_CALLBACK(PVOID pQueryContext,PMDNS_QUERY_HANDLE pQueryHandle,PDNS_QUERY_RESULT pQueryResults);
1326 typedef MDNS_QUERY_CALLBACK *PMDNS_QUERY_CALLBACK;
1327
1328 typedef struct _MDNS_QUERY_REQUEST {
1329 ULONG Version;
1330 ULONG ulRefCount;
1331 PCWSTR Query;
1332 WORD QueryType;
1333 ULONG64 QueryOptions;
1334 ULONG InterfaceIndex;
1335 PMDNS_QUERY_CALLBACK pQueryCallback;
1336 PVOID pQueryContext;
1337 WINBOOL fAnswerReceived;
1338 ULONG ulResendCount;
1339 } MDNS_QUERY_REQUEST, *PMDNS_QUERY_REQUEST;
1340
1341 DNS_STATUS WINAPI DnsStartMulticastQuery(PMDNS_QUERY_REQUEST pQueryRequest,PMDNS_QUERY_HANDLE pHandle);
1342 DNS_STATUS WINAPI DnsStopMulticastQuery(PMDNS_QUERY_HANDLE pHandle);
1343
8401344#ifdef __cplusplus
8411345}
8421346#endif
lib/libc/include/any-windows-any/windows.foundation.collections.h+46-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.foundation.collections.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.foundation.collections.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -74,6 +74,22 @@ namespace ABI {
7474}
7575#endif
7676
77#if defined(__cplusplus) && !defined(CINTERFACE)
78namespace ABI {
79 namespace Windows {
80 namespace Foundation {
81 namespace Collections {
82 template <class K, class V>
83 struct IMapView_impl;
84
85 template <class K, class V>
86 struct IMapView : IMapView_impl<K, V> {};
87 }
88 }
89 }
90}
91#endif
92
7793#if defined(__cplusplus) && !defined(CINTERFACE)
7894namespace ABI {
7995 namespace Windows {
......@@ -232,6 +248,35 @@ namespace ABI {
232248extern "C" {
233249#endif
234250
251#if defined(__cplusplus) && !defined(CINTERFACE)
252} /* extern "C" */
253namespace ABI {
254 namespace Windows {
255 namespace Foundation {
256 namespace Collections {
257 template <class K, class V>
258 struct IMapView_impl : IInspectable
259 {
260 private:
261 typedef typename Windows::Foundation::Internal::GetAbiType<K>::type K_abi;
262 typedef typename Windows::Foundation::Internal::GetLogicalType<K>::type K_logical;
263 typedef typename Windows::Foundation::Internal::GetAbiType<V>::type V_abi;
264 typedef typename Windows::Foundation::Internal::GetLogicalType<V>::type V_logical;
265 public:
266 typedef K K_complex;
267 typedef V V_complex;
268 virtual HRESULT STDMETHODCALLTYPE Lookup(K_abi key,V_abi *value) = 0;
269 virtual HRESULT STDMETHODCALLTYPE get_Size(unsigned int *size) = 0;
270 virtual HRESULT STDMETHODCALLTYPE HasKey(K_abi key,boolean *found) = 0;
271 virtual HRESULT STDMETHODCALLTYPE Split(IMapView<K_logical, V_logical> **first,IMapView<K_logical, V_logical> **second) = 0;
272 };
273 }
274 }
275 }
276}
277extern "C" {
278#endif
279
235280#if defined(__cplusplus) && !defined(CINTERFACE)
236281} /* extern "C" */
237282namespace ABI {
lib/libc/include/any-windows-any/windows.foundation.h+213-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.foundation.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.foundation.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -33,6 +33,21 @@ namespace ABI {
3333#endif /* __cplusplus */
3434#endif
3535
36#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
37#define ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
38typedef interface __x_ABI_CWindows_CFoundation_CIClosable __x_ABI_CWindows_CFoundation_CIClosable;
39#ifdef __cplusplus
40#define __x_ABI_CWindows_CFoundation_CIClosable ABI::Windows::Foundation::IClosable
41namespace ABI {
42 namespace Windows {
43 namespace Foundation {
44 interface IClosable;
45 }
46 }
47}
48#endif /* __cplusplus */
49#endif
50
3651#ifndef ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__
3752#define ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__
3853typedef interface __FIAsyncOperationCompletedHandler_1_boolean __FIAsyncOperationCompletedHandler_1_boolean;
......@@ -68,6 +83,78 @@ typedef interface __FIVectorView_1_HSTRING __FIVectorView_1_HSTRING;
6883extern "C" {
6984#endif
7085
86#ifdef __cplusplus
87namespace ABI {
88 namespace Windows {
89 namespace Foundation {
90 typedef enum PropertyType PropertyType;
91 }
92 }
93}
94#else /* __cplusplus */
95typedef enum __x_ABI_CWindows_CFoundation_CPropertyType __x_ABI_CWindows_CFoundation_CPropertyType;
96#endif /* __cplusplus */
97
98#ifdef __cplusplus
99namespace ABI {
100 namespace Windows {
101 namespace Foundation {
102 typedef struct Point Point;
103 }
104 }
105}
106#else /* __cplusplus */
107typedef struct __x_ABI_CWindows_CFoundation_CPoint __x_ABI_CWindows_CFoundation_CPoint;
108#endif /* __cplusplus */
109
110#ifdef __cplusplus
111namespace ABI {
112 namespace Windows {
113 namespace Foundation {
114 typedef struct Size Size;
115 }
116 }
117}
118#else /* __cplusplus */
119typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;
120#endif /* __cplusplus */
121
122#ifdef __cplusplus
123namespace ABI {
124 namespace Windows {
125 namespace Foundation {
126 typedef struct Rect Rect;
127 }
128 }
129}
130#else /* __cplusplus */
131typedef struct __x_ABI_CWindows_CFoundation_CRect __x_ABI_CWindows_CFoundation_CRect;
132#endif /* __cplusplus */
133
134#ifdef __cplusplus
135namespace ABI {
136 namespace Windows {
137 namespace Foundation {
138 typedef struct DateTime DateTime;
139 }
140 }
141}
142#else /* __cplusplus */
143typedef struct __x_ABI_CWindows_CFoundation_CDateTime __x_ABI_CWindows_CFoundation_CDateTime;
144#endif /* __cplusplus */
145
146#ifdef __cplusplus
147namespace ABI {
148 namespace Windows {
149 namespace Foundation {
150 typedef struct TimeSpan TimeSpan;
151 }
152 }
153}
154#else /* __cplusplus */
155typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;
156#endif /* __cplusplus */
157
71158#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
72159#ifdef __cplusplus
73160} /* extern "C" */
......@@ -422,6 +509,131 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__
422509#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */
423510#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
424511
512/*****************************************************************************
513 * IClosable interface
514 */
515#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
516#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_INTERFACE_DEFINED__
517#define ____x_ABI_CWindows_CFoundation_CIClosable_INTERFACE_DEFINED__
518
519DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIClosable, 0x30d5a829, 0x7fa4, 0x4026, 0x83,0xbb, 0xd7,0x5b,0xae,0x4e,0xa9,0x9e);
520#if defined(__cplusplus) && !defined(CINTERFACE)
521} /* extern "C" */
522namespace ABI {
523 namespace Windows {
524 namespace Foundation {
525 MIDL_INTERFACE("30d5a829-7fa4-4026-83bb-d75bae4ea99e")
526 IClosable : public IInspectable
527 {
528 virtual HRESULT STDMETHODCALLTYPE Close(
529 ) = 0;
530
531 };
532 }
533 }
534}
535extern "C" {
536#ifdef __CRT_UUID_DECL
537__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIClosable, 0x30d5a829, 0x7fa4, 0x4026, 0x83,0xbb, 0xd7,0x5b,0xae,0x4e,0xa9,0x9e)
538#endif
539#else
540typedef struct __x_ABI_CWindows_CFoundation_CIClosableVtbl {
541 BEGIN_INTERFACE
542
543 /*** IUnknown methods ***/
544 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
545 __x_ABI_CWindows_CFoundation_CIClosable *This,
546 REFIID riid,
547 void **ppvObject);
548
549 ULONG (STDMETHODCALLTYPE *AddRef)(
550 __x_ABI_CWindows_CFoundation_CIClosable *This);
551
552 ULONG (STDMETHODCALLTYPE *Release)(
553 __x_ABI_CWindows_CFoundation_CIClosable *This);
554
555 /*** IInspectable methods ***/
556 HRESULT (STDMETHODCALLTYPE *GetIids)(
557 __x_ABI_CWindows_CFoundation_CIClosable *This,
558 ULONG *iidCount,
559 IID **iids);
560
561 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
562 __x_ABI_CWindows_CFoundation_CIClosable *This,
563 HSTRING *className);
564
565 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
566 __x_ABI_CWindows_CFoundation_CIClosable *This,
567 TrustLevel *trustLevel);
568
569 /*** IClosable methods ***/
570 HRESULT (STDMETHODCALLTYPE *Close)(
571 __x_ABI_CWindows_CFoundation_CIClosable *This);
572
573 END_INTERFACE
574} __x_ABI_CWindows_CFoundation_CIClosableVtbl;
575
576interface __x_ABI_CWindows_CFoundation_CIClosable {
577 CONST_VTBL __x_ABI_CWindows_CFoundation_CIClosableVtbl* lpVtbl;
578};
579
580#ifdef COBJMACROS
581#ifndef WIDL_C_INLINE_WRAPPERS
582/*** IUnknown methods ***/
583#define __x_ABI_CWindows_CFoundation_CIClosable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
584#define __x_ABI_CWindows_CFoundation_CIClosable_AddRef(This) (This)->lpVtbl->AddRef(This)
585#define __x_ABI_CWindows_CFoundation_CIClosable_Release(This) (This)->lpVtbl->Release(This)
586/*** IInspectable methods ***/
587#define __x_ABI_CWindows_CFoundation_CIClosable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
588#define __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
589#define __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
590/*** IClosable methods ***/
591#define __x_ABI_CWindows_CFoundation_CIClosable_Close(This) (This)->lpVtbl->Close(This)
592#else
593/*** IUnknown methods ***/
594static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_QueryInterface(__x_ABI_CWindows_CFoundation_CIClosable* This,REFIID riid,void **ppvObject) {
595 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
596}
597static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIClosable_AddRef(__x_ABI_CWindows_CFoundation_CIClosable* This) {
598 return This->lpVtbl->AddRef(This);
599}
600static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIClosable_Release(__x_ABI_CWindows_CFoundation_CIClosable* This) {
601 return This->lpVtbl->Release(This);
602}
603/*** IInspectable methods ***/
604static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetIids(__x_ABI_CWindows_CFoundation_CIClosable* This,ULONG *iidCount,IID **iids) {
605 return This->lpVtbl->GetIids(This,iidCount,iids);
606}
607static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIClosable* This,HSTRING *className) {
608 return This->lpVtbl->GetRuntimeClassName(This,className);
609}
610static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIClosable* This,TrustLevel *trustLevel) {
611 return This->lpVtbl->GetTrustLevel(This,trustLevel);
612}
613/*** IClosable methods ***/
614static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_Close(__x_ABI_CWindows_CFoundation_CIClosable* This) {
615 return This->lpVtbl->Close(This);
616}
617#endif
618#ifdef WIDL_using_Windows_Foundation
619#define IID_IClosable IID___x_ABI_CWindows_CFoundation_CIClosable
620#define IClosableVtbl __x_ABI_CWindows_CFoundation_CIClosableVtbl
621#define IClosable __x_ABI_CWindows_CFoundation_CIClosable
622#define IClosable_QueryInterface __x_ABI_CWindows_CFoundation_CIClosable_QueryInterface
623#define IClosable_AddRef __x_ABI_CWindows_CFoundation_CIClosable_AddRef
624#define IClosable_Release __x_ABI_CWindows_CFoundation_CIClosable_Release
625#define IClosable_GetIids __x_ABI_CWindows_CFoundation_CIClosable_GetIids
626#define IClosable_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName
627#define IClosable_GetTrustLevel __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel
628#define IClosable_Close __x_ABI_CWindows_CFoundation_CIClosable_Close
629#endif /* WIDL_using_Windows_Foundation */
630#endif
631
632#endif
633
634#endif /* ____x_ABI_CWindows_CFoundation_CIClosable_INTERFACE_DEFINED__ */
635#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
636
425637#ifndef ____FIAsyncOperation_1_boolean_FWD_DEFINED__
426638#define ____FIAsyncOperation_1_boolean_FWD_DEFINED__
427639typedef interface __FIAsyncOperation_1_boolean __FIAsyncOperation_1_boolean;
lib/libc/include/any-windows-any/windows.media.h created+223
......@@ -0,0 +1,223 @@
1/*** Autogenerated by WIDL 7.0 from include/windows.media.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __windows_media_h__
17#define __windows_media_h__
18
19/* Forward declarations */
20
21#ifndef ____x_ABI_CWindows_CMedia_CIMediaMarker_FWD_DEFINED__
22#define ____x_ABI_CWindows_CMedia_CIMediaMarker_FWD_DEFINED__
23typedef interface __x_ABI_CWindows_CMedia_CIMediaMarker __x_ABI_CWindows_CMedia_CIMediaMarker;
24#ifdef __cplusplus
25#define __x_ABI_CWindows_CMedia_CIMediaMarker ABI::Windows::Media::IMediaMarker
26namespace ABI {
27 namespace Windows {
28 namespace Media {
29 interface IMediaMarker;
30 }
31 }
32}
33#endif /* __cplusplus */
34#endif
35
36/* Headers for imported files */
37
38#include <inspectable.h>
39#include <windows.foundation.h>
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45#ifndef ____x_ABI_CWindows_CMedia_CIMediaControl_FWD_DEFINED__
46#define ____x_ABI_CWindows_CMedia_CIMediaControl_FWD_DEFINED__
47typedef interface __x_ABI_CWindows_CMedia_CIMediaControl __x_ABI_CWindows_CMedia_CIMediaControl;
48#ifdef __cplusplus
49#define __x_ABI_CWindows_CMedia_CIMediaControl ABI::Windows::Media::IMediaControl
50namespace ABI {
51 namespace Windows {
52 namespace Media {
53 interface IMediaControl;
54 }
55 }
56}
57#endif /* __cplusplus */
58#endif
59
60/*****************************************************************************
61 * IMediaMarker interface
62 */
63#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
64#ifndef ____x_ABI_CWindows_CMedia_CIMediaMarker_INTERFACE_DEFINED__
65#define ____x_ABI_CWindows_CMedia_CIMediaMarker_INTERFACE_DEFINED__
66
67DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CIMediaMarker, 0x1803def8, 0xdca5, 0x4b6f, 0x9c,0x20, 0xe3,0xd3,0xc0,0x64,0x36,0x25);
68#if defined(__cplusplus) && !defined(CINTERFACE)
69} /* extern "C" */
70namespace ABI {
71 namespace Windows {
72 namespace Media {
73 MIDL_INTERFACE("1803def8-dca5-4b6f-9c20-e3d3c0643625")
74 IMediaMarker : public IInspectable
75 {
76 virtual HRESULT STDMETHODCALLTYPE get_Time(
77 struct TimeSpan *value) = 0;
78
79 virtual HRESULT STDMETHODCALLTYPE get_MediaMarkerType(
80 HSTRING *value) = 0;
81
82 virtual HRESULT STDMETHODCALLTYPE get_Text(
83 HSTRING *value) = 0;
84
85 };
86 }
87 }
88}
89extern "C" {
90#ifdef __CRT_UUID_DECL
91__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CIMediaMarker, 0x1803def8, 0xdca5, 0x4b6f, 0x9c,0x20, 0xe3,0xd3,0xc0,0x64,0x36,0x25)
92#endif
93#else
94typedef struct __x_ABI_CWindows_CMedia_CIMediaMarkerVtbl {
95 BEGIN_INTERFACE
96
97 /*** IUnknown methods ***/
98 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
99 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
100 REFIID riid,
101 void **ppvObject);
102
103 ULONG (STDMETHODCALLTYPE *AddRef)(
104 __x_ABI_CWindows_CMedia_CIMediaMarker *This);
105
106 ULONG (STDMETHODCALLTYPE *Release)(
107 __x_ABI_CWindows_CMedia_CIMediaMarker *This);
108
109 /*** IInspectable methods ***/
110 HRESULT (STDMETHODCALLTYPE *GetIids)(
111 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
112 ULONG *iidCount,
113 IID **iids);
114
115 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
116 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
117 HSTRING *className);
118
119 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
120 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
121 TrustLevel *trustLevel);
122
123 /*** IMediaMarker methods ***/
124 HRESULT (STDMETHODCALLTYPE *get_Time)(
125 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
126 struct __x_ABI_CWindows_CFoundation_CTimeSpan *value);
127
128 HRESULT (STDMETHODCALLTYPE *get_MediaMarkerType)(
129 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
130 HSTRING *value);
131
132 HRESULT (STDMETHODCALLTYPE *get_Text)(
133 __x_ABI_CWindows_CMedia_CIMediaMarker *This,
134 HSTRING *value);
135
136 END_INTERFACE
137} __x_ABI_CWindows_CMedia_CIMediaMarkerVtbl;
138
139interface __x_ABI_CWindows_CMedia_CIMediaMarker {
140 CONST_VTBL __x_ABI_CWindows_CMedia_CIMediaMarkerVtbl* lpVtbl;
141};
142
143#ifdef COBJMACROS
144#ifndef WIDL_C_INLINE_WRAPPERS
145/*** IUnknown methods ***/
146#define __x_ABI_CWindows_CMedia_CIMediaMarker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
147#define __x_ABI_CWindows_CMedia_CIMediaMarker_AddRef(This) (This)->lpVtbl->AddRef(This)
148#define __x_ABI_CWindows_CMedia_CIMediaMarker_Release(This) (This)->lpVtbl->Release(This)
149/*** IInspectable methods ***/
150#define __x_ABI_CWindows_CMedia_CIMediaMarker_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
151#define __x_ABI_CWindows_CMedia_CIMediaMarker_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
152#define __x_ABI_CWindows_CMedia_CIMediaMarker_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
153/*** IMediaMarker methods ***/
154#define __x_ABI_CWindows_CMedia_CIMediaMarker_get_Time(This,value) (This)->lpVtbl->get_Time(This,value)
155#define __x_ABI_CWindows_CMedia_CIMediaMarker_get_MediaMarkerType(This,value) (This)->lpVtbl->get_MediaMarkerType(This,value)
156#define __x_ABI_CWindows_CMedia_CIMediaMarker_get_Text(This,value) (This)->lpVtbl->get_Text(This,value)
157#else
158/*** IUnknown methods ***/
159static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_QueryInterface(__x_ABI_CWindows_CMedia_CIMediaMarker* This,REFIID riid,void **ppvObject) {
160 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
161}
162static FORCEINLINE ULONG __x_ABI_CWindows_CMedia_CIMediaMarker_AddRef(__x_ABI_CWindows_CMedia_CIMediaMarker* This) {
163 return This->lpVtbl->AddRef(This);
164}
165static FORCEINLINE ULONG __x_ABI_CWindows_CMedia_CIMediaMarker_Release(__x_ABI_CWindows_CMedia_CIMediaMarker* This) {
166 return This->lpVtbl->Release(This);
167}
168/*** IInspectable methods ***/
169static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_GetIids(__x_ABI_CWindows_CMedia_CIMediaMarker* This,ULONG *iidCount,IID **iids) {
170 return This->lpVtbl->GetIids(This,iidCount,iids);
171}
172static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CIMediaMarker* This,HSTRING *className) {
173 return This->lpVtbl->GetRuntimeClassName(This,className);
174}
175static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_GetTrustLevel(__x_ABI_CWindows_CMedia_CIMediaMarker* This,TrustLevel *trustLevel) {
176 return This->lpVtbl->GetTrustLevel(This,trustLevel);
177}
178/*** IMediaMarker methods ***/
179static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_get_Time(__x_ABI_CWindows_CMedia_CIMediaMarker* This,struct __x_ABI_CWindows_CFoundation_CTimeSpan *value) {
180 return This->lpVtbl->get_Time(This,value);
181}
182static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_get_MediaMarkerType(__x_ABI_CWindows_CMedia_CIMediaMarker* This,HSTRING *value) {
183 return This->lpVtbl->get_MediaMarkerType(This,value);
184}
185static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CIMediaMarker_get_Text(__x_ABI_CWindows_CMedia_CIMediaMarker* This,HSTRING *value) {
186 return This->lpVtbl->get_Text(This,value);
187}
188#endif
189#ifdef WIDL_using_Windows_Media
190#define IID_IMediaMarker IID___x_ABI_CWindows_CMedia_CIMediaMarker
191#define IMediaMarkerVtbl __x_ABI_CWindows_CMedia_CIMediaMarkerVtbl
192#define IMediaMarker __x_ABI_CWindows_CMedia_CIMediaMarker
193#define IMediaMarker_QueryInterface __x_ABI_CWindows_CMedia_CIMediaMarker_QueryInterface
194#define IMediaMarker_AddRef __x_ABI_CWindows_CMedia_CIMediaMarker_AddRef
195#define IMediaMarker_Release __x_ABI_CWindows_CMedia_CIMediaMarker_Release
196#define IMediaMarker_GetIids __x_ABI_CWindows_CMedia_CIMediaMarker_GetIids
197#define IMediaMarker_GetRuntimeClassName __x_ABI_CWindows_CMedia_CIMediaMarker_GetRuntimeClassName
198#define IMediaMarker_GetTrustLevel __x_ABI_CWindows_CMedia_CIMediaMarker_GetTrustLevel
199#define IMediaMarker_get_Time __x_ABI_CWindows_CMedia_CIMediaMarker_get_Time
200#define IMediaMarker_get_MediaMarkerType __x_ABI_CWindows_CMedia_CIMediaMarker_get_MediaMarkerType
201#define IMediaMarker_get_Text __x_ABI_CWindows_CMedia_CIMediaMarker_get_Text
202#endif /* WIDL_using_Windows_Media */
203#endif
204
205#endif
206
207#endif /* ____x_ABI_CWindows_CMedia_CIMediaMarker_INTERFACE_DEFINED__ */
208#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
209
210/* Begin additional prototypes for all interfaces */
211
212ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
213unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *);
214unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
215void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *);
216
217/* End additional prototypes */
218
219#ifdef __cplusplus
220}
221#endif
222
223#endif /* __windows_media_h__ */
lib/libc/include/any-windows-any/windows.media.speechsynthesis.h+926-2
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.media.speechsynthesis.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.media.speechsynthesis.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -18,6 +18,40 @@
1818
1919/* Forward declarations */
2020
21#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_FWD_DEFINED__
22#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_FWD_DEFINED__
23typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream;
24#ifdef __cplusplus
25#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream ABI::Windows::Media::SpeechSynthesis::ISpeechSynthesisStream
26namespace ABI {
27 namespace Windows {
28 namespace Media {
29 namespace SpeechSynthesis {
30 interface ISpeechSynthesisStream;
31 }
32 }
33 }
34}
35#endif /* __cplusplus */
36#endif
37
38#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_FWD_DEFINED__
39#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_FWD_DEFINED__
40typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer;
41#ifdef __cplusplus
42#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer ABI::Windows::Media::SpeechSynthesis::ISpeechSynthesizer
43namespace ABI {
44 namespace Windows {
45 namespace Media {
46 namespace SpeechSynthesis {
47 interface ISpeechSynthesizer;
48 }
49 }
50 }
51}
52#endif /* __cplusplus */
53#endif
54
2155#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation_FWD_DEFINED__
2256#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation_FWD_DEFINED__
2357typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation;
......@@ -69,6 +103,23 @@ typedef struct __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceInformation __x_AB
69103#endif /* defined __cplusplus */
70104#endif /* defined ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceInformation_FWD_DEFINED__ */
71105
106#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesisStream_FWD_DEFINED__
107#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesisStream_FWD_DEFINED__
108#ifdef __cplusplus
109namespace ABI {
110 namespace Windows {
111 namespace Media {
112 namespace SpeechSynthesis {
113 class SpeechSynthesisStream;
114 }
115 }
116 }
117}
118#else
119typedef struct __x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesisStream __x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesisStream;
120#endif /* defined __cplusplus */
121#endif /* defined ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesisStream_FWD_DEFINED__ */
122
72123#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesizer_FWD_DEFINED__
73124#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesizer_FWD_DEFINED__
74125#ifdef __cplusplus
......@@ -110,10 +161,35 @@ typedef interface __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInfo
110161#endif /* __cplusplus */
111162#endif
112163
164#ifndef ____FIVectorView_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
165#define ____FIVectorView_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
166typedef interface __FIVectorView_1_Windows__CMedia__CIMediaMarker __FIVectorView_1_Windows__CMedia__CIMediaMarker;
167#ifdef __cplusplus
168#define __FIVectorView_1_Windows__CMedia__CIMediaMarker ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::IMediaMarker* >
169#endif /* __cplusplus */
170#endif
171
172#ifndef ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_FWD_DEFINED__
173#define ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_FWD_DEFINED__
174typedef interface __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream;
175#ifdef __cplusplus
176#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* >
177#endif /* __cplusplus */
178#endif
179
180#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_FWD_DEFINED__
181#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_FWD_DEFINED__
182typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream;
183#ifdef __cplusplus
184#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* >
185#endif /* __cplusplus */
186#endif
187
113188/* Headers for imported files */
114189
115190#include <inspectable.h>
116191#include <windows.foundation.h>
192#include <windows.media.h>
117193
118194#ifdef __cplusplus
119195extern "C" {
......@@ -134,6 +210,20 @@ namespace ABI {
134210#endif /* __cplusplus */
135211#endif
136212
213#ifdef __cplusplus
214namespace ABI {
215 namespace Windows {
216 namespace Media {
217 namespace SpeechSynthesis {
218 typedef enum VoiceGender VoiceGender;
219 }
220 }
221 }
222}
223#else /* __cplusplus */
224typedef enum __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender;
225#endif /* __cplusplus */
226
137227#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic_FWD_DEFINED__
138228#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic_FWD_DEFINED__
139229typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic;
......@@ -219,6 +309,123 @@ namespace ABI {
219309#endif /* __cplusplus */
220310#endif
221311
312#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_FWD_DEFINED__
313#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_FWD_DEFINED__
314typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream;
315#ifdef __cplusplus
316#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream ABI::Windows::Media::SpeechSynthesis::ISpeechSynthesisStream
317namespace ABI {
318 namespace Windows {
319 namespace Media {
320 namespace SpeechSynthesis {
321 interface ISpeechSynthesisStream;
322 }
323 }
324 }
325}
326#endif /* __cplusplus */
327#endif
328
329#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType_FWD_DEFINED__
330#define ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType_FWD_DEFINED__
331typedef interface __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType;
332#ifdef __cplusplus
333#define __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType
334namespace ABI {
335 namespace Windows {
336 namespace Storage {
337 namespace Streams {
338 interface IRandomAccessStreamWithContentType;
339 }
340 }
341 }
342}
343#endif /* __cplusplus */
344#endif
345
346#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream_FWD_DEFINED__
347#define ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream_FWD_DEFINED__
348typedef interface __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream;
349#ifdef __cplusplus
350#define __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream ABI::Windows::Storage::Streams::IRandomAccessStream
351namespace ABI {
352 namespace Windows {
353 namespace Storage {
354 namespace Streams {
355 interface IRandomAccessStream;
356 }
357 }
358 }
359}
360#endif /* __cplusplus */
361#endif
362
363#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIInputStream_FWD_DEFINED__
364#define ____x_ABI_CWindows_CStorage_CStreams_CIInputStream_FWD_DEFINED__
365typedef interface __x_ABI_CWindows_CStorage_CStreams_CIInputStream __x_ABI_CWindows_CStorage_CStreams_CIInputStream;
366#ifdef __cplusplus
367#define __x_ABI_CWindows_CStorage_CStreams_CIInputStream ABI::Windows::Storage::Streams::IInputStream
368namespace ABI {
369 namespace Windows {
370 namespace Storage {
371 namespace Streams {
372 interface IInputStream;
373 }
374 }
375 }
376}
377#endif /* __cplusplus */
378#endif
379
380#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIOutputStream_FWD_DEFINED__
381#define ____x_ABI_CWindows_CStorage_CStreams_CIOutputStream_FWD_DEFINED__
382typedef interface __x_ABI_CWindows_CStorage_CStreams_CIOutputStream __x_ABI_CWindows_CStorage_CStreams_CIOutputStream;
383#ifdef __cplusplus
384#define __x_ABI_CWindows_CStorage_CStreams_CIOutputStream ABI::Windows::Storage::Streams::IOutputStream
385namespace ABI {
386 namespace Windows {
387 namespace Storage {
388 namespace Streams {
389 interface IOutputStream;
390 }
391 }
392 }
393}
394#endif /* __cplusplus */
395#endif
396
397#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIContentTypeProvider_FWD_DEFINED__
398#define ____x_ABI_CWindows_CStorage_CStreams_CIContentTypeProvider_FWD_DEFINED__
399typedef interface __x_ABI_CWindows_CStorage_CStreams_CIContentTypeProvider __x_ABI_CWindows_CStorage_CStreams_CIContentTypeProvider;
400#ifdef __cplusplus
401#define __x_ABI_CWindows_CStorage_CStreams_CIContentTypeProvider ABI::Windows::Storage::Streams::IContentTypeProvider
402namespace ABI {
403 namespace Windows {
404 namespace Storage {
405 namespace Streams {
406 interface IContentTypeProvider;
407 }
408 }
409 }
410}
411#endif /* __cplusplus */
412#endif
413
414#ifndef ____x_ABI_CWindows_CMedia_CIMediaMarker_FWD_DEFINED__
415#define ____x_ABI_CWindows_CMedia_CIMediaMarker_FWD_DEFINED__
416typedef interface __x_ABI_CWindows_CMedia_CIMediaMarker __x_ABI_CWindows_CMedia_CIMediaMarker;
417#ifdef __cplusplus
418#define __x_ABI_CWindows_CMedia_CIMediaMarker ABI::Windows::Media::IMediaMarker
419namespace ABI {
420 namespace Windows {
421 namespace Media {
422 interface IMediaMarker;
423 }
424 }
425}
426#endif /* __cplusplus */
427#endif
428
222429#ifndef ____FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_FWD_DEFINED__
223430#define ____FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_FWD_DEFINED__
224431typedef interface __FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation __FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation;
......@@ -243,6 +450,22 @@ typedef interface __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInfo
243450#endif /* __cplusplus */
244451#endif
245452
453#ifndef ____FIVectorView_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
454#define ____FIVectorView_1_Windows__CMedia__CIMediaMarker_FWD_DEFINED__
455typedef interface __FIVectorView_1_Windows__CMedia__CIMediaMarker __FIVectorView_1_Windows__CMedia__CIMediaMarker;
456#ifdef __cplusplus
457#define __FIVectorView_1_Windows__CMedia__CIMediaMarker ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::IMediaMarker* >
458#endif /* __cplusplus */
459#endif
460
461#ifndef ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_FWD_DEFINED__
462#define ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_FWD_DEFINED__
463typedef interface __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream;
464#ifdef __cplusplus
465#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* >
466#endif /* __cplusplus */
467#endif
468
246469#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
247470#ifdef __cplusplus
248471} /* extern "C" */
......@@ -265,11 +488,307 @@ enum __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender {
265488 VoiceGender_Female = 1
266489};
267490#ifdef WIDL_using_Windows_Media_SpeechSynthesis
268#define VoiceGender __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender
491#define VoiceGender __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender
492#endif /* WIDL_using_Windows_Media_SpeechSynthesis */
493#endif
494
495#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
496/*****************************************************************************
497 * ISpeechSynthesisStream interface
498 */
499#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
500#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_INTERFACE_DEFINED__
501#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_INTERFACE_DEFINED__
502
503DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream, 0x83e46e93, 0x244c, 0x4622, 0xba,0x0b, 0x62,0x29,0xc4,0xd0,0xd6,0x5d);
504#if defined(__cplusplus) && !defined(CINTERFACE)
505} /* extern "C" */
506namespace ABI {
507 namespace Windows {
508 namespace Media {
509 namespace SpeechSynthesis {
510 MIDL_INTERFACE("83e46e93-244c-4622-ba0b-6229c4d0d65d")
511 ISpeechSynthesisStream : public IInspectable
512 {
513 virtual HRESULT STDMETHODCALLTYPE get_Markers(
514 ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::IMediaMarker* > **value) = 0;
515
516 };
517 }
518 }
519 }
520}
521extern "C" {
522#ifdef __CRT_UUID_DECL
523__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream, 0x83e46e93, 0x244c, 0x4622, 0xba,0x0b, 0x62,0x29,0xc4,0xd0,0xd6,0x5d)
524#endif
525#else
526typedef struct __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStreamVtbl {
527 BEGIN_INTERFACE
528
529 /*** IUnknown methods ***/
530 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
531 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This,
532 REFIID riid,
533 void **ppvObject);
534
535 ULONG (STDMETHODCALLTYPE *AddRef)(
536 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This);
537
538 ULONG (STDMETHODCALLTYPE *Release)(
539 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This);
540
541 /*** IInspectable methods ***/
542 HRESULT (STDMETHODCALLTYPE *GetIids)(
543 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This,
544 ULONG *iidCount,
545 IID **iids);
546
547 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
548 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This,
549 HSTRING *className);
550
551 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
552 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This,
553 TrustLevel *trustLevel);
554
555 /*** ISpeechSynthesisStream methods ***/
556 HRESULT (STDMETHODCALLTYPE *get_Markers)(
557 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream *This,
558 __FIVectorView_1_Windows__CMedia__CIMediaMarker **value);
559
560 END_INTERFACE
561} __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStreamVtbl;
562
563interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream {
564 CONST_VTBL __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStreamVtbl* lpVtbl;
565};
566
567#ifdef COBJMACROS
568#ifndef WIDL_C_INLINE_WRAPPERS
569/*** IUnknown methods ***/
570#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
571#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_AddRef(This) (This)->lpVtbl->AddRef(This)
572#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_Release(This) (This)->lpVtbl->Release(This)
573/*** IInspectable methods ***/
574#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
575#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
576#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
577/*** ISpeechSynthesisStream methods ***/
578#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_get_Markers(This,value) (This)->lpVtbl->get_Markers(This,value)
579#else
580/*** IUnknown methods ***/
581static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_QueryInterface(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This,REFIID riid,void **ppvObject) {
582 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
583}
584static FORCEINLINE ULONG __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_AddRef(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This) {
585 return This->lpVtbl->AddRef(This);
586}
587static FORCEINLINE ULONG __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_Release(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This) {
588 return This->lpVtbl->Release(This);
589}
590/*** IInspectable methods ***/
591static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetIids(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This,ULONG *iidCount,IID **iids) {
592 return This->lpVtbl->GetIids(This,iidCount,iids);
593}
594static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This,HSTRING *className) {
595 return This->lpVtbl->GetRuntimeClassName(This,className);
596}
597static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetTrustLevel(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This,TrustLevel *trustLevel) {
598 return This->lpVtbl->GetTrustLevel(This,trustLevel);
599}
600/*** ISpeechSynthesisStream methods ***/
601static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_get_Markers(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream* This,__FIVectorView_1_Windows__CMedia__CIMediaMarker **value) {
602 return This->lpVtbl->get_Markers(This,value);
603}
604#endif
605#ifdef WIDL_using_Windows_Media_SpeechSynthesis
606#define IID_ISpeechSynthesisStream IID___x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream
607#define ISpeechSynthesisStreamVtbl __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStreamVtbl
608#define ISpeechSynthesisStream __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream
609#define ISpeechSynthesisStream_QueryInterface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_QueryInterface
610#define ISpeechSynthesisStream_AddRef __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_AddRef
611#define ISpeechSynthesisStream_Release __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_Release
612#define ISpeechSynthesisStream_GetIids __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetIids
613#define ISpeechSynthesisStream_GetRuntimeClassName __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetRuntimeClassName
614#define ISpeechSynthesisStream_GetTrustLevel __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_GetTrustLevel
615#define ISpeechSynthesisStream_get_Markers __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_get_Markers
616#endif /* WIDL_using_Windows_Media_SpeechSynthesis */
617#endif
618
619#endif
620
621#endif /* ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream_INTERFACE_DEFINED__ */
622#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
623
624/*****************************************************************************
625 * ISpeechSynthesizer interface
626 */
627#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
628#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_INTERFACE_DEFINED__
629#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_INTERFACE_DEFINED__
630
631DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer, 0xce9f7c76, 0x97f4, 0x4ced, 0xad,0x68, 0xd5,0x1c,0x45,0x8e,0x45,0xc6);
632#if defined(__cplusplus) && !defined(CINTERFACE)
633} /* extern "C" */
634namespace ABI {
635 namespace Windows {
636 namespace Media {
637 namespace SpeechSynthesis {
638 MIDL_INTERFACE("ce9f7c76-97f4-4ced-ad68-d51c458e45c6")
639 ISpeechSynthesizer : public IInspectable
640 {
641 virtual HRESULT STDMETHODCALLTYPE SynthesizeTextToStreamAsync(
642 HSTRING text,
643 ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > **operation) = 0;
644
645 virtual HRESULT STDMETHODCALLTYPE SynthesizeSsmlToStreamAsync(
646 HSTRING Ssml,
647 ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > **operation) = 0;
648
649 virtual HRESULT STDMETHODCALLTYPE put_Voice(
650 IVoiceInformation *value) = 0;
651
652 virtual HRESULT STDMETHODCALLTYPE get_Voice(
653 IVoiceInformation **value) = 0;
654
655 };
656 }
657 }
658 }
659}
660extern "C" {
661#ifdef __CRT_UUID_DECL
662__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer, 0xce9f7c76, 0x97f4, 0x4ced, 0xad,0x68, 0xd5,0x1c,0x45,0x8e,0x45,0xc6)
663#endif
664#else
665typedef struct __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizerVtbl {
666 BEGIN_INTERFACE
667
668 /*** IUnknown methods ***/
669 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
670 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
671 REFIID riid,
672 void **ppvObject);
673
674 ULONG (STDMETHODCALLTYPE *AddRef)(
675 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This);
676
677 ULONG (STDMETHODCALLTYPE *Release)(
678 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This);
679
680 /*** IInspectable methods ***/
681 HRESULT (STDMETHODCALLTYPE *GetIids)(
682 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
683 ULONG *iidCount,
684 IID **iids);
685
686 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
687 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
688 HSTRING *className);
689
690 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
691 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
692 TrustLevel *trustLevel);
693
694 /*** ISpeechSynthesizer methods ***/
695 HRESULT (STDMETHODCALLTYPE *SynthesizeTextToStreamAsync)(
696 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
697 HSTRING text,
698 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream **operation);
699
700 HRESULT (STDMETHODCALLTYPE *SynthesizeSsmlToStreamAsync)(
701 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
702 HSTRING Ssml,
703 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream **operation);
704
705 HRESULT (STDMETHODCALLTYPE *put_Voice)(
706 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
707 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation *value);
708
709 HRESULT (STDMETHODCALLTYPE *get_Voice)(
710 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer *This,
711 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation **value);
712
713 END_INTERFACE
714} __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizerVtbl;
715
716interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer {
717 CONST_VTBL __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizerVtbl* lpVtbl;
718};
719
720#ifdef COBJMACROS
721#ifndef WIDL_C_INLINE_WRAPPERS
722/*** IUnknown methods ***/
723#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
724#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_AddRef(This) (This)->lpVtbl->AddRef(This)
725#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_Release(This) (This)->lpVtbl->Release(This)
726/*** IInspectable methods ***/
727#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
728#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
729#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
730/*** ISpeechSynthesizer methods ***/
731#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_SynthesizeTextToStreamAsync(This,text,operation) (This)->lpVtbl->SynthesizeTextToStreamAsync(This,text,operation)
732#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_SynthesizeSsmlToStreamAsync(This,Ssml,operation) (This)->lpVtbl->SynthesizeSsmlToStreamAsync(This,Ssml,operation)
733#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_put_Voice(This,value) (This)->lpVtbl->put_Voice(This,value)
734#define __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_get_Voice(This,value) (This)->lpVtbl->get_Voice(This,value)
735#else
736/*** IUnknown methods ***/
737static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_QueryInterface(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,REFIID riid,void **ppvObject) {
738 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
739}
740static FORCEINLINE ULONG __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_AddRef(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This) {
741 return This->lpVtbl->AddRef(This);
742}
743static FORCEINLINE ULONG __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_Release(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This) {
744 return This->lpVtbl->Release(This);
745}
746/*** IInspectable methods ***/
747static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetIids(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,ULONG *iidCount,IID **iids) {
748 return This->lpVtbl->GetIids(This,iidCount,iids);
749}
750static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,HSTRING *className) {
751 return This->lpVtbl->GetRuntimeClassName(This,className);
752}
753static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetTrustLevel(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,TrustLevel *trustLevel) {
754 return This->lpVtbl->GetTrustLevel(This,trustLevel);
755}
756/*** ISpeechSynthesizer methods ***/
757static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_SynthesizeTextToStreamAsync(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,HSTRING text,__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream **operation) {
758 return This->lpVtbl->SynthesizeTextToStreamAsync(This,text,operation);
759}
760static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_SynthesizeSsmlToStreamAsync(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,HSTRING Ssml,__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream **operation) {
761 return This->lpVtbl->SynthesizeSsmlToStreamAsync(This,Ssml,operation);
762}
763static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_put_Voice(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,__x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation *value) {
764 return This->lpVtbl->put_Voice(This,value);
765}
766static FORCEINLINE HRESULT __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_get_Voice(__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer* This,__x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation **value) {
767 return This->lpVtbl->get_Voice(This,value);
768}
769#endif
770#ifdef WIDL_using_Windows_Media_SpeechSynthesis
771#define IID_ISpeechSynthesizer IID___x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer
772#define ISpeechSynthesizerVtbl __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizerVtbl
773#define ISpeechSynthesizer __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer
774#define ISpeechSynthesizer_QueryInterface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_QueryInterface
775#define ISpeechSynthesizer_AddRef __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_AddRef
776#define ISpeechSynthesizer_Release __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_Release
777#define ISpeechSynthesizer_GetIids __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetIids
778#define ISpeechSynthesizer_GetRuntimeClassName __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetRuntimeClassName
779#define ISpeechSynthesizer_GetTrustLevel __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_GetTrustLevel
780#define ISpeechSynthesizer_SynthesizeTextToStreamAsync __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_SynthesizeTextToStreamAsync
781#define ISpeechSynthesizer_SynthesizeSsmlToStreamAsync __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_SynthesizeSsmlToStreamAsync
782#define ISpeechSynthesizer_put_Voice __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_put_Voice
783#define ISpeechSynthesizer_get_Voice __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_get_Voice
269784#endif /* WIDL_using_Windows_Media_SpeechSynthesis */
270785#endif
271786
787#endif
788
789#endif /* ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_INTERFACE_DEFINED__ */
272790#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
791
273792/*****************************************************************************
274793 * IVoiceInformation interface
275794 */
......@@ -602,6 +1121,22 @@ extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_SpeechSynthesis
6021121#endif /* RUNTIMECLASS_Windows_Media_SpeechSynthesis_VoiceInformation_DEFINED */
6031122#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
6041123
1124/*
1125 * Class Windows.Media.SpeechSynthesis.SpeechSynthesisStream
1126 */
1127#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
1128#ifndef RUNTIMECLASS_Windows_Media_SpeechSynthesis_SpeechSynthesisStream_DEFINED
1129#define RUNTIMECLASS_Windows_Media_SpeechSynthesis_SpeechSynthesisStream_DEFINED
1130#if !defined(_MSC_VER) && !defined(__MINGW32__)
1131static const WCHAR RuntimeClass_Windows_Media_SpeechSynthesis_SpeechSynthesisStream[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','S','p','e','e','c','h','S','y','n','t','h','e','s','i','s','.','S','p','e','e','c','h','S','y','n','t','h','e','s','i','s','S','t','r','e','a','m',0};
1132#elif defined(__GNUC__) && !defined(__cplusplus)
1133const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_SpeechSynthesis_SpeechSynthesisStream[] = L"Windows.Media.SpeechSynthesis.SpeechSynthesisStream";
1134#else
1135extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_SpeechSynthesis_SpeechSynthesisStream[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','S','p','e','e','c','h','S','y','n','t','h','e','s','i','s','.','S','p','e','e','c','h','S','y','n','t','h','e','s','i','s','S','t','r','e','a','m',0};
1136#endif
1137#endif /* RUNTIMECLASS_Windows_Media_SpeechSynthesis_SpeechSynthesisStream_DEFINED */
1138#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
1139
6051140/*
6061141 * Class Windows.Media.SpeechSynthesis.SpeechSynthesizer
6071142 */
......@@ -1053,6 +1588,395 @@ static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__C
10531588
10541589#endif /* ____FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_INTERFACE_DEFINED__ */
10551590
1591/*****************************************************************************
1592 * IVectorView<ABI::Windows::Media::IMediaMarker* > interface
1593 */
1594#ifndef ____FIVectorView_1_Windows__CMedia__CIMediaMarker_INTERFACE_DEFINED__
1595#define ____FIVectorView_1_Windows__CMedia__CIMediaMarker_INTERFACE_DEFINED__
1596
1597DEFINE_GUID(IID___FIVectorView_1_Windows__CMedia__CIMediaMarker, 0xb543562c, 0x02b1, 0x5824, 0x80,0xa8, 0x98,0x54,0x13,0x0c,0xda,0xdd);
1598#if defined(__cplusplus) && !defined(CINTERFACE)
1599} /* extern "C" */
1600namespace ABI {
1601 namespace Windows {
1602 namespace Foundation {
1603 namespace Collections {
1604 template<>
1605 MIDL_INTERFACE("b543562c-02b1-5824-80a8-9854130cdadd")
1606 IVectorView<ABI::Windows::Media::IMediaMarker* > : IVectorView_impl<ABI::Windows::Media::IMediaMarker* >
1607 {
1608 };
1609 }
1610 }
1611 }
1612}
1613extern "C" {
1614#ifdef __CRT_UUID_DECL
1615__CRT_UUID_DECL(__FIVectorView_1_Windows__CMedia__CIMediaMarker, 0xb543562c, 0x02b1, 0x5824, 0x80,0xa8, 0x98,0x54,0x13,0x0c,0xda,0xdd)
1616#endif
1617#else
1618typedef struct __FIVectorView_1_Windows__CMedia__CIMediaMarkerVtbl {
1619 BEGIN_INTERFACE
1620
1621 /*** IUnknown methods ***/
1622 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1623 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1624 REFIID riid,
1625 void **ppvObject);
1626
1627 ULONG (STDMETHODCALLTYPE *AddRef)(
1628 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This);
1629
1630 ULONG (STDMETHODCALLTYPE *Release)(
1631 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This);
1632
1633 /*** IInspectable methods ***/
1634 HRESULT (STDMETHODCALLTYPE *GetIids)(
1635 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1636 ULONG *iidCount,
1637 IID **iids);
1638
1639 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
1640 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1641 HSTRING *className);
1642
1643 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
1644 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1645 TrustLevel *trustLevel);
1646
1647 /*** IVectorView<ABI::Windows::Media::IMediaMarker* > methods ***/
1648 HRESULT (STDMETHODCALLTYPE *GetAt)(
1649 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1650 UINT32 index,
1651 __x_ABI_CWindows_CMedia_CIMediaMarker **value);
1652
1653 HRESULT (STDMETHODCALLTYPE *get_Size)(
1654 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1655 UINT32 *value);
1656
1657 HRESULT (STDMETHODCALLTYPE *IndexOf)(
1658 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1659 __x_ABI_CWindows_CMedia_CIMediaMarker *element,
1660 UINT32 *index,
1661 BOOLEAN *value);
1662
1663 HRESULT (STDMETHODCALLTYPE *GetMany)(
1664 __FIVectorView_1_Windows__CMedia__CIMediaMarker *This,
1665 UINT32 start_index,
1666 UINT32 items_size,
1667 __x_ABI_CWindows_CMedia_CIMediaMarker **items,
1668 UINT32 *value);
1669
1670 END_INTERFACE
1671} __FIVectorView_1_Windows__CMedia__CIMediaMarkerVtbl;
1672
1673interface __FIVectorView_1_Windows__CMedia__CIMediaMarker {
1674 CONST_VTBL __FIVectorView_1_Windows__CMedia__CIMediaMarkerVtbl* lpVtbl;
1675};
1676
1677#ifdef COBJMACROS
1678#ifndef WIDL_C_INLINE_WRAPPERS
1679/*** IUnknown methods ***/
1680#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1681#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_AddRef(This) (This)->lpVtbl->AddRef(This)
1682#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_Release(This) (This)->lpVtbl->Release(This)
1683/*** IInspectable methods ***/
1684#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
1685#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
1686#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
1687/*** IVectorView<ABI::Windows::Media::IMediaMarker* > methods ***/
1688#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
1689#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
1690#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
1691#define __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
1692#else
1693/*** IUnknown methods ***/
1694static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_QueryInterface(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,REFIID riid,void **ppvObject) {
1695 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1696}
1697static FORCEINLINE ULONG __FIVectorView_1_Windows__CMedia__CIMediaMarker_AddRef(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This) {
1698 return This->lpVtbl->AddRef(This);
1699}
1700static FORCEINLINE ULONG __FIVectorView_1_Windows__CMedia__CIMediaMarker_Release(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This) {
1701 return This->lpVtbl->Release(This);
1702}
1703/*** IInspectable methods ***/
1704static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetIids(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,ULONG *iidCount,IID **iids) {
1705 return This->lpVtbl->GetIids(This,iidCount,iids);
1706}
1707static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetRuntimeClassName(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,HSTRING *className) {
1708 return This->lpVtbl->GetRuntimeClassName(This,className);
1709}
1710static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetTrustLevel(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,TrustLevel *trustLevel) {
1711 return This->lpVtbl->GetTrustLevel(This,trustLevel);
1712}
1713/*** IVectorView<ABI::Windows::Media::IMediaMarker* > methods ***/
1714static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetAt(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,UINT32 index,__x_ABI_CWindows_CMedia_CIMediaMarker **value) {
1715 return This->lpVtbl->GetAt(This,index,value);
1716}
1717static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_get_Size(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,UINT32 *value) {
1718 return This->lpVtbl->get_Size(This,value);
1719}
1720static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_IndexOf(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,__x_ABI_CWindows_CMedia_CIMediaMarker *element,UINT32 *index,BOOLEAN *value) {
1721 return This->lpVtbl->IndexOf(This,element,index,value);
1722}
1723static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetMany(__FIVectorView_1_Windows__CMedia__CIMediaMarker* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CMedia_CIMediaMarker **items,UINT32 *value) {
1724 return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
1725}
1726#endif
1727#ifdef WIDL_using_Windows_Foundation_Collections
1728#define IID_IVectorView_IMediaMarker IID___FIVectorView_1_Windows__CMedia__CIMediaMarker
1729#define IVectorView_IMediaMarkerVtbl __FIVectorView_1_Windows__CMedia__CIMediaMarkerVtbl
1730#define IVectorView_IMediaMarker __FIVectorView_1_Windows__CMedia__CIMediaMarker
1731#define IVectorView_IMediaMarker_QueryInterface __FIVectorView_1_Windows__CMedia__CIMediaMarker_QueryInterface
1732#define IVectorView_IMediaMarker_AddRef __FIVectorView_1_Windows__CMedia__CIMediaMarker_AddRef
1733#define IVectorView_IMediaMarker_Release __FIVectorView_1_Windows__CMedia__CIMediaMarker_Release
1734#define IVectorView_IMediaMarker_GetIids __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetIids
1735#define IVectorView_IMediaMarker_GetRuntimeClassName __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetRuntimeClassName
1736#define IVectorView_IMediaMarker_GetTrustLevel __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetTrustLevel
1737#define IVectorView_IMediaMarker_GetAt __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetAt
1738#define IVectorView_IMediaMarker_get_Size __FIVectorView_1_Windows__CMedia__CIMediaMarker_get_Size
1739#define IVectorView_IMediaMarker_IndexOf __FIVectorView_1_Windows__CMedia__CIMediaMarker_IndexOf
1740#define IVectorView_IMediaMarker_GetMany __FIVectorView_1_Windows__CMedia__CIMediaMarker_GetMany
1741#endif /* WIDL_using_Windows_Foundation_Collections */
1742#endif
1743
1744#endif
1745
1746#endif /* ____FIVectorView_1_Windows__CMedia__CIMediaMarker_INTERFACE_DEFINED__ */
1747
1748/*****************************************************************************
1749 * IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > interface
1750 */
1751#ifndef ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_INTERFACE_DEFINED__
1752#define ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_INTERFACE_DEFINED__
1753
1754DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream, 0xdf9d48ad, 0x9cea, 0x560c, 0x9e,0xdc, 0xcb,0x88,0x52,0xcb,0x55,0xe3);
1755#if defined(__cplusplus) && !defined(CINTERFACE)
1756} /* extern "C" */
1757namespace ABI {
1758 namespace Windows {
1759 namespace Foundation {
1760 template<>
1761 MIDL_INTERFACE("df9d48ad-9cea-560c-9edc-cb8852cb55e3")
1762 IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream*, ABI::Windows::Media::SpeechSynthesis::ISpeechSynthesisStream* > >
1763 {
1764 };
1765 }
1766 }
1767}
1768extern "C" {
1769#ifdef __CRT_UUID_DECL
1770__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream, 0xdf9d48ad, 0x9cea, 0x560c, 0x9e,0xdc, 0xcb,0x88,0x52,0xcb,0x55,0xe3)
1771#endif
1772#else
1773typedef struct __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl {
1774 BEGIN_INTERFACE
1775
1776 /*** IUnknown methods ***/
1777 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1778 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1779 REFIID riid,
1780 void **ppvObject);
1781
1782 ULONG (STDMETHODCALLTYPE *AddRef)(
1783 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This);
1784
1785 ULONG (STDMETHODCALLTYPE *Release)(
1786 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This);
1787
1788 /*** IInspectable methods ***/
1789 HRESULT (STDMETHODCALLTYPE *GetIids)(
1790 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1791 ULONG *iidCount,
1792 IID **iids);
1793
1794 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
1795 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1796 HSTRING *className);
1797
1798 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
1799 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1800 TrustLevel *trustLevel);
1801
1802 /*** IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > methods ***/
1803 HRESULT (STDMETHODCALLTYPE *put_Completed)(
1804 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1805 __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *handler);
1806
1807 HRESULT (STDMETHODCALLTYPE *get_Completed)(
1808 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1809 __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream **handler);
1810
1811 HRESULT (STDMETHODCALLTYPE *GetResults)(
1812 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1813 __x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream ***results);
1814
1815 END_INTERFACE
1816} __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl;
1817
1818interface __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream {
1819 CONST_VTBL __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl* lpVtbl;
1820};
1821
1822#ifdef COBJMACROS
1823#ifndef WIDL_C_INLINE_WRAPPERS
1824/*** IUnknown methods ***/
1825#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1826#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_AddRef(This) (This)->lpVtbl->AddRef(This)
1827#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Release(This) (This)->lpVtbl->Release(This)
1828/*** IInspectable methods ***/
1829#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
1830#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
1831#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
1832/*** IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > methods ***/
1833#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
1834#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
1835#define __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
1836#else
1837/*** IUnknown methods ***/
1838static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_QueryInterface(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,REFIID riid,void **ppvObject) {
1839 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1840}
1841static FORCEINLINE ULONG __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_AddRef(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This) {
1842 return This->lpVtbl->AddRef(This);
1843}
1844static FORCEINLINE ULONG __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Release(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This) {
1845 return This->lpVtbl->Release(This);
1846}
1847/*** IInspectable methods ***/
1848static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetIids(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,ULONG *iidCount,IID **iids) {
1849 return This->lpVtbl->GetIids(This,iidCount,iids);
1850}
1851static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,HSTRING *className) {
1852 return This->lpVtbl->GetRuntimeClassName(This,className);
1853}
1854static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetTrustLevel(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,TrustLevel *trustLevel) {
1855 return This->lpVtbl->GetTrustLevel(This,trustLevel);
1856}
1857/*** IAsyncOperation<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > methods ***/
1858static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_put_Completed(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *handler) {
1859 return This->lpVtbl->put_Completed(This,handler);
1860}
1861static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_get_Completed(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream **handler) {
1862 return This->lpVtbl->get_Completed(This,handler);
1863}
1864static FORCEINLINE HRESULT __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetResults(__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,__x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesisStream ***results) {
1865 return This->lpVtbl->GetResults(This,results);
1866}
1867#endif
1868#ifdef WIDL_using_Windows_Foundation
1869#define IID_IAsyncOperation_SpeechSynthesisStream IID___FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream
1870#define IAsyncOperation_SpeechSynthesisStreamVtbl __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl
1871#define IAsyncOperation_SpeechSynthesisStream __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream
1872#define IAsyncOperation_SpeechSynthesisStream_QueryInterface __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_QueryInterface
1873#define IAsyncOperation_SpeechSynthesisStream_AddRef __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_AddRef
1874#define IAsyncOperation_SpeechSynthesisStream_Release __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Release
1875#define IAsyncOperation_SpeechSynthesisStream_GetIids __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetIids
1876#define IAsyncOperation_SpeechSynthesisStream_GetRuntimeClassName __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetRuntimeClassName
1877#define IAsyncOperation_SpeechSynthesisStream_GetTrustLevel __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetTrustLevel
1878#define IAsyncOperation_SpeechSynthesisStream_put_Completed __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_put_Completed
1879#define IAsyncOperation_SpeechSynthesisStream_get_Completed __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_get_Completed
1880#define IAsyncOperation_SpeechSynthesisStream_GetResults __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_GetResults
1881#endif /* WIDL_using_Windows_Foundation */
1882#endif
1883
1884#endif
1885
1886#endif /* ____FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_INTERFACE_DEFINED__ */
1887
1888/*****************************************************************************
1889 * IAsyncOperationCompletedHandler<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > interface
1890 */
1891#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_INTERFACE_DEFINED__
1892#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_INTERFACE_DEFINED__
1893
1894DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream, 0xc972b996, 0x6165, 0x50d4, 0xaf,0x60, 0xa8,0xc3,0xdf,0x51,0xd0,0x92);
1895#if defined(__cplusplus) && !defined(CINTERFACE)
1896} /* extern "C" */
1897namespace ABI {
1898 namespace Windows {
1899 namespace Foundation {
1900 template<>
1901 MIDL_INTERFACE("c972b996-6165-50d4-af60-a8c3df51d092")
1902 IAsyncOperationCompletedHandler<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream*, ABI::Windows::Media::SpeechSynthesis::ISpeechSynthesisStream* > >
1903 {
1904 };
1905 }
1906 }
1907}
1908extern "C" {
1909#ifdef __CRT_UUID_DECL
1910__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream, 0xc972b996, 0x6165, 0x50d4, 0xaf,0x60, 0xa8,0xc3,0xdf,0x51,0xd0,0x92)
1911#endif
1912#else
1913typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl {
1914 BEGIN_INTERFACE
1915
1916 /*** IUnknown methods ***/
1917 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1918 __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1919 REFIID riid,
1920 void **ppvObject);
1921
1922 ULONG (STDMETHODCALLTYPE *AddRef)(
1923 __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This);
1924
1925 ULONG (STDMETHODCALLTYPE *Release)(
1926 __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This);
1927
1928 /*** IAsyncOperationCompletedHandler<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > methods ***/
1929 HRESULT (STDMETHODCALLTYPE *Invoke)(
1930 __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *This,
1931 __FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *info,
1932 AsyncStatus status);
1933
1934 END_INTERFACE
1935} __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl;
1936
1937interface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream {
1938 CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl* lpVtbl;
1939};
1940
1941#ifdef COBJMACROS
1942#ifndef WIDL_C_INLINE_WRAPPERS
1943/*** IUnknown methods ***/
1944#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1945#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_AddRef(This) (This)->lpVtbl->AddRef(This)
1946#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Release(This) (This)->lpVtbl->Release(This)
1947/*** IAsyncOperationCompletedHandler<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > methods ***/
1948#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
1949#else
1950/*** IUnknown methods ***/
1951static FORCEINLINE HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,REFIID riid,void **ppvObject) {
1952 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1953}
1954static FORCEINLINE ULONG __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This) {
1955 return This->lpVtbl->AddRef(This);
1956}
1957static FORCEINLINE ULONG __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Release(__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This) {
1958 return This->lpVtbl->Release(This);
1959}
1960/*** IAsyncOperationCompletedHandler<ABI::Windows::Media::SpeechSynthesis::SpeechSynthesisStream* > methods ***/
1961static FORCEINLINE HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream* This,__FIAsyncOperation_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream *info,AsyncStatus status) {
1962 return This->lpVtbl->Invoke(This,info,status);
1963}
1964#endif
1965#ifdef WIDL_using_Windows_Foundation
1966#define IID_IAsyncOperationCompletedHandler_SpeechSynthesisStream IID___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream
1967#define IAsyncOperationCompletedHandler_SpeechSynthesisStreamVtbl __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStreamVtbl
1968#define IAsyncOperationCompletedHandler_SpeechSynthesisStream __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream
1969#define IAsyncOperationCompletedHandler_SpeechSynthesisStream_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_QueryInterface
1970#define IAsyncOperationCompletedHandler_SpeechSynthesisStream_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_AddRef
1971#define IAsyncOperationCompletedHandler_SpeechSynthesisStream_Release __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Release
1972#define IAsyncOperationCompletedHandler_SpeechSynthesisStream_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_Invoke
1973#endif /* WIDL_using_Windows_Foundation */
1974#endif
1975
1976#endif
1977
1978#endif /* ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CSpeechSynthesis__CSpeechSynthesisStream_INTERFACE_DEFINED__ */
1979
10561980/* Begin additional prototypes for all interfaces */
10571981
10581982ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
lib/libc/include/any-windows-any/windows.security.cryptography.h+15-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.security.cryptography.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.security.cryptography.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -78,6 +78,20 @@ namespace ABI {
7878#endif /* __cplusplus */
7979#endif
8080
81#ifdef __cplusplus
82namespace ABI {
83 namespace Windows {
84 namespace Security {
85 namespace Cryptography {
86 typedef enum BinaryStringEncoding BinaryStringEncoding;
87 }
88 }
89 }
90}
91#else /* __cplusplus */
92typedef enum __x_ABI_CWindows_CSecurity_CCryptography_CBinaryStringEncoding __x_ABI_CWindows_CSecurity_CCryptography_CBinaryStringEncoding;
93#endif /* __cplusplus */
94
8195#ifdef __cplusplus
8296} /* extern "C" */
8397namespace ABI {
lib/libc/include/any-windows-any/windows.storage.h+85-18
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.storage.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.storage.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -210,23 +210,6 @@ namespace ABI {
210210#endif /* __cplusplus */
211211#endif
212212
213#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIMapView_FWD_DEFINED__
214#define ____x_ABI_CWindows_CFoundation_CCollections_CIMapView_FWD_DEFINED__
215typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIMapView __x_ABI_CWindows_CFoundation_CCollections_CIMapView;
216#ifdef __cplusplus
217#define __x_ABI_CWindows_CFoundation_CCollections_CIMapView ABI::Windows::Foundation::Collections::IMapView
218namespace ABI {
219 namespace Windows {
220 namespace Foundation {
221 namespace Collections {
222 interface IMapView;
223 }
224 }
225 }
226}
227#endif /* __cplusplus */
228#endif
229
230213#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
231214#define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
232215typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;
......@@ -347,6 +330,90 @@ namespace ABI {
347330#endif /* __cplusplus */
348331#endif
349332
333#ifdef __cplusplus
334namespace ABI {
335 namespace Windows {
336 namespace Storage {
337 typedef enum StorageDeleteOption StorageDeleteOption;
338 }
339 }
340}
341#else /* __cplusplus */
342typedef enum __x_ABI_CWindows_CStorage_CStorageDeleteOption __x_ABI_CWindows_CStorage_CStorageDeleteOption;
343#endif /* __cplusplus */
344
345#ifdef __cplusplus
346namespace ABI {
347 namespace Windows {
348 namespace Storage {
349 typedef enum NameCollisionOption NameCollisionOption;
350 }
351 }
352}
353#else /* __cplusplus */
354typedef enum __x_ABI_CWindows_CStorage_CNameCollisionOption __x_ABI_CWindows_CStorage_CNameCollisionOption;
355#endif /* __cplusplus */
356
357#ifdef __cplusplus
358namespace ABI {
359 namespace Windows {
360 namespace Storage {
361 typedef enum StorageItemTypes StorageItemTypes;
362 }
363 }
364}
365#else /* __cplusplus */
366typedef enum __x_ABI_CWindows_CStorage_CStorageItemTypes __x_ABI_CWindows_CStorage_CStorageItemTypes;
367#endif /* __cplusplus */
368
369#ifdef __cplusplus
370namespace ABI {
371 namespace Windows {
372 namespace Storage {
373 typedef enum ApplicationDataLocality ApplicationDataLocality;
374 }
375 }
376}
377#else /* __cplusplus */
378typedef enum __x_ABI_CWindows_CStorage_CApplicationDataLocality __x_ABI_CWindows_CStorage_CApplicationDataLocality;
379#endif /* __cplusplus */
380
381#ifdef __cplusplus
382namespace ABI {
383 namespace Windows {
384 namespace Storage {
385 typedef enum ApplicationDataCreateDisposition ApplicationDataCreateDisposition;
386 }
387 }
388}
389#else /* __cplusplus */
390typedef enum __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition;
391#endif /* __cplusplus */
392
393#ifdef __cplusplus
394namespace ABI {
395 namespace Windows {
396 namespace Storage {
397 typedef enum FileAttributes FileAttributes;
398 }
399 }
400}
401#else /* __cplusplus */
402typedef enum __x_ABI_CWindows_CStorage_CFileAttributes __x_ABI_CWindows_CStorage_CFileAttributes;
403#endif /* __cplusplus */
404
405#ifdef __cplusplus
406namespace ABI {
407 namespace Windows {
408 namespace Storage {
409 typedef enum CreationCollisionOption CreationCollisionOption;
410 }
411 }
412}
413#else /* __cplusplus */
414typedef enum __x_ABI_CWindows_CStorage_CCreationCollisionOption __x_ABI_CWindows_CStorage_CCreationCollisionOption;
415#endif /* __cplusplus */
416
350417#ifdef __cplusplus
351418} /* extern "C" */
352419namespace ABI {
lib/libc/include/any-windows-any/windows.storage.streams.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.storage.streams.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.storage.streams.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/windows.system.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.system.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.system.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/windows.system.threading.h+41-13
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windows.system.threading.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windows.system.threading.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -144,6 +144,34 @@ namespace ABI {
144144#endif /* __cplusplus */
145145#endif
146146
147#ifdef __cplusplus
148namespace ABI {
149 namespace Windows {
150 namespace System {
151 namespace Threading {
152 typedef enum WorkItemPriority WorkItemPriority;
153 }
154 }
155 }
156}
157#else /* __cplusplus */
158typedef enum __x_ABI_CWindows_CSystem_CThreading_CWorkItemPriority __x_ABI_CWindows_CSystem_CThreading_CWorkItemPriority;
159#endif /* __cplusplus */
160
161#ifdef __cplusplus
162namespace ABI {
163 namespace Windows {
164 namespace System {
165 namespace Threading {
166 typedef enum WorkItemOptions WorkItemOptions;
167 }
168 }
169 }
170}
171#else /* __cplusplus */
172typedef enum __x_ABI_CWindows_CSystem_CThreading_CWorkItemOptions __x_ABI_CWindows_CSystem_CThreading_CWorkItemOptions;
173#endif /* __cplusplus */
174
147175#ifndef ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
148176#define ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
149177typedef interface __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler;
......@@ -812,11 +840,11 @@ typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerVtbl {
812840 /*** IThreadPoolTimer methods ***/
813841 HRESULT (STDMETHODCALLTYPE *get_Period)(
814842 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This,
815 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan *value);
843 struct __x_ABI_CWindows_CFoundation_CTimeSpan *value);
816844
817845 HRESULT (STDMETHODCALLTYPE *get_Delay)(
818846 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This,
819 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan *value);
847 struct __x_ABI_CWindows_CFoundation_CTimeSpan *value);
820848
821849 HRESULT (STDMETHODCALLTYPE *Cancel)(
822850 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This);
......@@ -864,10 +892,10 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer
864892 return This->lpVtbl->GetTrustLevel(This,trustLevel);
865893}
866894/*** IThreadPoolTimer methods ***/
867static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_get_Period(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer* This,struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan *value) {
895static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_get_Period(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer* This,struct __x_ABI_CWindows_CFoundation_CTimeSpan *value) {
868896 return This->lpVtbl->get_Period(This,value);
869897}
870static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_get_Delay(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer* This,struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan *value) {
898static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_get_Delay(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer* This,struct __x_ABI_CWindows_CFoundation_CTimeSpan *value) {
871899 return This->lpVtbl->get_Delay(This,value);
872900}
873901static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_Cancel(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer* This) {
......@@ -975,26 +1003,26 @@ typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStaticsVtbl
9751003 HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimer)(
9761004 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
9771005 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
978 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan period,
1006 struct __x_ABI_CWindows_CFoundation_CTimeSpan period,
9791007 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
9801008
9811009 HRESULT (STDMETHODCALLTYPE *CreateTimer)(
9821010 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
9831011 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
984 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan delay,
1012 struct __x_ABI_CWindows_CFoundation_CTimeSpan delay,
9851013 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
9861014
9871015 HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimerWithCompletion)(
9881016 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
9891017 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
990 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan period,
1018 struct __x_ABI_CWindows_CFoundation_CTimeSpan period,
9911019 __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,
9921020 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
9931021
9941022 HRESULT (STDMETHODCALLTYPE *CreateTimerWithCompletion)(
9951023 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
9961024 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
997 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan delay,
1025 struct __x_ABI_CWindows_CFoundation_CTimeSpan delay,
9981026 __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,
9991027 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
10001028
......@@ -1042,16 +1070,16 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer
10421070 return This->lpVtbl->GetTrustLevel(This,trustLevel);
10431071}
10441072/*** IThreadPoolTimerStatics methods ***/
1045static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreatePeriodicTimer(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan period,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
1073static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreatePeriodicTimer(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CFoundation_CTimeSpan period,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
10461074 return This->lpVtbl->CreatePeriodicTimer(This,handler,period,timer);
10471075}
1048static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreateTimer(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan delay,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
1076static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreateTimer(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CFoundation_CTimeSpan delay,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
10491077 return This->lpVtbl->CreateTimer(This,handler,delay,timer);
10501078}
1051static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan period,__x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
1079static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CFoundation_CTimeSpan period,__x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
10521080 return This->lpVtbl->CreatePeriodicTimerWithCompletion(This,handler,period,destroyed,timer);
10531081}
1054static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreateTimerWithCompletion(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan delay,__x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
1082static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics_CreateTimerWithCompletion(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics* This,__x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,struct __x_ABI_CWindows_CFoundation_CTimeSpan delay,__x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer) {
10551083 return This->lpVtbl->CreateTimerWithCompletion(This,handler,delay,destroyed,timer);
10561084}
10571085#endif
lib/libc/include/any-windows-any/windowscontracts.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/windowscontracts.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/windowscontracts.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/winerror.h+21
......@@ -247,10 +247,12 @@
247247#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED __MSABI_LONG(342)
248248#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN __MSABI_LONG(343)
249249#define ERROR_COMPRESSION_NOT_BENEFICIAL __MSABI_LONG(344)
250#define ERROR_CASE_DIFFERING_NAMES_IN_DIR __MSABI_LONG(424)
250251#define ERROR_INVALID_ADDRESS __MSABI_LONG(487)
251252#define ERROR_ARITHMETIC_OVERFLOW __MSABI_LONG(534)
252253#define ERROR_PIPE_CONNECTED __MSABI_LONG(535)
253254#define ERROR_PIPE_LISTENING __MSABI_LONG(536)
255#define ERROR_COMMITMENT_MINIMUM __MSABI_LONG(635)
254256#define ERROR_WAKE_SYSTEM __MSABI_LONG(730)
255257#define ERROR_WAIT_1 __MSABI_LONG(731)
256258#define ERROR_WAIT_2 __MSABI_LONG(732)
......@@ -2881,6 +2883,25 @@ __CRT_INLINE HRESULT HRESULT_FROM_WIN32(__LONG32 x) { return x <= 0 ? (HRESULT)x
28812883#define NTE_TOKEN_KEYSET_STORAGE_FULL _HRESULT_TYPEDEF_(0x80090023)
28822884#define NTE_TEMPORARY_PROFILE _HRESULT_TYPEDEF_(0x80090024)
28832885#define NTE_FIXEDPARAMETER _HRESULT_TYPEDEF_(0x80090025)
2886#define NTE_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80090026)
2887#define NTE_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80090027)
2888#define NTE_BUFFER_TOO_SMALL _HRESULT_TYPEDEF_(0x80090028)
2889#define NTE_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80090029)
2890#define NTE_NO_MORE_ITEMS _HRESULT_TYPEDEF_(0x8009002A)
2891#define NTE_BUFFERS_OVERLAP _HRESULT_TYPEDEF_(0x8009002B)
2892#define NTE_DECRYPTION_FAILURE _HRESULT_TYPEDEF_(0x8009002C)
2893#define NTE_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x8009002D)
2894#define NTE_UI_REQUIRED _HRESULT_TYPEDEF_(0x8009002E)
2895#define NTE_HMAC_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8009002F)
2896#define NTE_DEVICE_NOT_READY _HRESULT_TYPEDEF_(0x80090030)
2897#define NTE_AUTHENTICATION_IGNORED _HRESULT_TYPEDEF_(0x80090031)
2898#define NTE_VALIDATION_FAILED _HRESULT_TYPEDEF_(0x80090032)
2899#define NTE_INCORRECT_PASSWORD _HRESULT_TYPEDEF_(0x80090033)
2900#define NTE_ENCRYPTION_FAILURE _HRESULT_TYPEDEF_(0x80090034)
2901#define NTE_DEVICE_NOT_FOUND _HRESULT_TYPEDEF_(0x80090035)
2902#define NTE_USER_CANCELLED _HRESULT_TYPEDEF_(0x80090036)
2903#define NTE_PASSWORD_CHANGE_REQUIRED _HRESULT_TYPEDEF_(0x80090037)
2904#define NTE_NOT_ACTIVE_CONSOLE _HRESULT_TYPEDEF_(0x80090038)
28842905#define SEC_E_INSUFFICIENT_MEMORY _HRESULT_TYPEDEF_(0x80090300)
28852906#define SEC_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80090301)
28862907#define SEC_E_UNSUPPORTED_FUNCTION _HRESULT_TYPEDEF_(0x80090302)
lib/libc/include/any-windows-any/winevt.h+18-3
......@@ -3,14 +3,24 @@
33 * This file is part of the mingw-w64 runtime package.
44 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
55 */
6#ifndef _INC_WINEVT
7#define _INC_WINEVT
6#ifndef __WINEVT_H__
7#define __WINEVT_H__
8
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
12
813#if (_WIN32_WINNT >= 0x0600)
914
1015#ifdef __cplusplus
1116extern "C" {
1217#endif
1318
19#define EVT_READ_ACCESS 0x1
20#define EVT_WRITE_ACCESS 0x2
21#define EVT_CLEAR_ACCESS 0x4
22#define EVT_ALL_ACCESS 0x7
23
1424typedef enum _EVT_CHANNEL_CLOCK_TYPE {
1525 EvtChannelClockTypeSystemTime = 0,
1626 EvtChannelClockTypeQPC = 1
......@@ -266,6 +276,9 @@ typedef enum _EVT_VARIANT_TYPE {
266276 EvtVarTypeEvtXml = 35
267277} EVT_VARIANT_TYPE;
268278
279#define EVT_VARIANT_TYPE_MASK 0x7f
280#define EVT_VARIANT_TYPE_ARRAY 128
281
269282typedef HANDLE EVT_HANDLE;
270283typedef HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE;
271284
......@@ -572,5 +585,7 @@ WINBOOL WINAPI EvtUpdateBookmark(
572585#ifdef __cplusplus
573586}
574587#endif
588
575589#endif /*(_WIN32_WINNT >= 0x0600)*/
576#endif /*_INC_TDH*/
590#endif /* WINAPI_PARTITION_DESKTOP */
591#endif /*__WINEVT_H__ */
lib/libc/include/any-windows-any/winhvplatform.h+37
......@@ -22,15 +22,18 @@ extern "C" {
2222HRESULT WINAPI WHvGetCapability(WHV_CAPABILITY_CODE CapabilityCode, VOID *CapabilityBuffer, UINT32 CapabilityBufferSizeInBytes, UINT32 *WrittenSizeInBytes);
2323HRESULT WINAPI WHvCreatePartition(WHV_PARTITION_HANDLE *Partition);
2424HRESULT WINAPI WHvSetupPartition(WHV_PARTITION_HANDLE Partition);
25HRESULT WINAPI WHvResetPartition(WHV_PARTITION_HANDLE Partition);
2526HRESULT WINAPI WHvDeletePartition(WHV_PARTITION_HANDLE Partition);
2627HRESULT WINAPI WHvGetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes, UINT32 *WrittenSizeInBytes);
2728HRESULT WINAPI WHvSetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, const VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes);
2829HRESULT WINAPI WHvSuspendPartitionTime(WHV_PARTITION_HANDLE Partition);
2930HRESULT WINAPI WHvResumePartitionTime(WHV_PARTITION_HANDLE Partition);
3031HRESULT WINAPI WHvMapGpaRange(WHV_PARTITION_HANDLE Partition, VOID *SourceAddress, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes, WHV_MAP_GPA_RANGE_FLAGS Flags);
32HRESULT WINAPI WHvMapGpaRange2(WHV_PARTITION_HANDLE Partition, HANDLE Process, VOID *SourceAddress, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes, WHV_MAP_GPA_RANGE_FLAGS Flags);
3133HRESULT WINAPI WHvUnmapGpaRange(WHV_PARTITION_HANDLE Partition, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes);
3234HRESULT WINAPI WHvTranslateGva(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_GUEST_VIRTUAL_ADDRESS Gva, WHV_TRANSLATE_GVA_FLAGS TranslateFlags, WHV_TRANSLATE_GVA_RESULT *TranslationResult, WHV_GUEST_PHYSICAL_ADDRESS *Gpa);
3335HRESULT WINAPI WHvCreateVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags);
36HRESULT WINAPI WHvCreateVirtualProcessor2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const WHV_VIRTUAL_PROCESSOR_PROPERTY *Properties, UINT32 PropertyCount);
3437HRESULT WINAPI WHvDeleteVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex);
3538HRESULT WINAPI WHvRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *ExitContext, UINT32 ExitContextSizeInBytes);
3639HRESULT WINAPI WHvCancelRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags);
......@@ -48,6 +51,40 @@ HRESULT WINAPI WHvGetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HAN
4851HRESULT WINAPI WHvSetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const VOID *State, UINT32 StateSize);
4952HRESULT WINAPI WHvRegisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData, HANDLE EventHandle);
5053HRESULT WINAPI WHvUnregisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData);
54HRESULT WINAPI WHvAdviseGpaRange(WHV_PARTITION_HANDLE Partition, const WHV_MEMORY_RANGE_ENTRY *GpaRanges, UINT32 GpaRangesCount, WHV_ADVISE_GPA_RANGE_CODE Advice, const VOID *AdviceBuffer, UINT32 AdviceBufferSizeInBytes);
55HRESULT WINAPI WHvReadGpaRange(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, WHV_ACCESS_GPA_CONTROLS Controls, PVOID Data, UINT32 DataSizeInBytes);
56HRESULT WINAPI WHvWriteGpaRange(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, WHV_ACCESS_GPA_CONTROLS Controls, const VOID *Data, UINT32 DataSizeInBytes);
57HRESULT WINAPI WHvSignalVirtualProcessorSynicEvent(WHV_PARTITION_HANDLE Partition, WHV_SYNIC_EVENT_PARAMETERS SynicEvent, WINBOOL *NewlySignaled);
58HRESULT WINAPI WHvGetVirtualProcessorState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_VIRTUAL_PROCESSOR_STATE_TYPE StateType, VOID *Buffer, UINT32 BufferSizeInBytes, UINT32 *BytesWritten);
59HRESULT WINAPI WHvSetVirtualProcessorState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_VIRTUAL_PROCESSOR_STATE_TYPE StateType, const VOID *Buffer, UINT32 BufferSizeInBytes);
60HRESULT WINAPI WHvAllocateVpciResource(const GUID *ProviderId, WHV_ALLOCATE_VPCI_RESOURCE_FLAGS Flags, const VOID *ResourceDescriptor, UINT32 ResourceDescriptorSizeInBytes, HANDLE *VpciResource);
61HRESULT WINAPI WHvCreateVpciDevice(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, HANDLE VpciResource, WHV_CREATE_VPCI_DEVICE_FLAGS Flags, HANDLE NotificationEventHandle);
62HRESULT WINAPI WHvDeleteVpciDevice(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId);
63HRESULT WINAPI WHvGetVpciDeviceProperty(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, WHV_VPCI_DEVICE_PROPERTY_CODE PropertyCode, VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes, UINT32 *WrittenSizeInBytes);
64HRESULT WINAPI WHvGetVpciDeviceNotification(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, WHV_VPCI_DEVICE_NOTIFICATION *Notification, UINT32 NotificationSizeInBytes);
65HRESULT WINAPI WHvMapVpciDeviceMmioRanges(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 *MappingCount, WHV_VPCI_MMIO_MAPPING **Mappings);
66HRESULT WINAPI WHvUnmapVpciDeviceMmioRanges(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId);
67HRESULT WINAPI WHvSetVpciDevicePowerState(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, DEVICE_POWER_STATE PowerState);
68HRESULT WINAPI WHvReadVpciDeviceRegister(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, const WHV_VPCI_DEVICE_REGISTER *Register, VOID *Data);
69HRESULT WINAPI WHvWriteVpciDeviceRegister(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, const WHV_VPCI_DEVICE_REGISTER *Register, const VOID *Data);
70HRESULT WINAPI WHvMapVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 Index, UINT32 MessageCount, const WHV_VPCI_INTERRUPT_TARGET *Target, UINT64 *MsiAddress, UINT32 *MsiData);
71HRESULT WINAPI WHvUnmapVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 Index);
72HRESULT WINAPI WHvRetargetVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT64 MsiAddress, UINT32 MsiData, const WHV_VPCI_INTERRUPT_TARGET *Target);
73HRESULT WINAPI WHvRequestVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT64 MsiAddress, UINT32 MsiData);
74HRESULT WINAPI WHvGetVpciDeviceInterruptTarget(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 Index, UINT32 MultiMessageNumber, WHV_VPCI_INTERRUPT_TARGET *Target, UINT32 TargetSizeInBytes, UINT32 *BytesWritten);
75HRESULT WINAPI WHvCreateTrigger(WHV_PARTITION_HANDLE Partition, const WHV_TRIGGER_PARAMETERS *Parameters, WHV_TRIGGER_HANDLE *TriggerHandle, HANDLE *EventHandle);
76HRESULT WINAPI WHvUpdateTriggerParameters(WHV_PARTITION_HANDLE Partition, const WHV_TRIGGER_PARAMETERS *Parameters, WHV_TRIGGER_HANDLE TriggerHandle);
77HRESULT WINAPI WHvDeleteTrigger(WHV_PARTITION_HANDLE Partition, WHV_TRIGGER_HANDLE TriggerHandle);
78HRESULT WINAPI WHvCreateNotificationPort(WHV_PARTITION_HANDLE Partition, const WHV_NOTIFICATION_PORT_PARAMETERS *Parameters, HANDLE EventHandle, WHV_NOTIFICATION_PORT_HANDLE *PortHandle);
79HRESULT WINAPI WHvSetNotificationPortProperty(WHV_PARTITION_HANDLE Partition, WHV_NOTIFICATION_PORT_HANDLE PortHandle, WHV_NOTIFICATION_PORT_PROPERTY_CODE PropertyCode, WHV_NOTIFICATION_PORT_PROPERTY PropertyValue);
80HRESULT WINAPI WHvDeleteNotificationPort(WHV_PARTITION_HANDLE Partition, WHV_NOTIFICATION_PORT_HANDLE PortHandle);
81HRESULT WINAPI WHvPostVirtualProcessorSynicMessage(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 SintIndex, const VOID *Message, UINT32 MessageSizeInBytes);
82HRESULT WINAPI WHvGetVirtualProcessorCpuidOutput(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Eax, UINT32 Ecx, WHV_CPUID_OUTPUT *CpuidOutput);
83HRESULT WINAPI WHvGetInterruptTargetVpSet(WHV_PARTITION_HANDLE Partition, UINT64 Destination, WHV_INTERRUPT_DESTINATION_MODE DestinationMode, UINT32 *TargetVps, UINT32 VpCount, UINT32 *TargetVpCount);
84HRESULT WINAPI WHvStartPartitionMigration(WHV_PARTITION_HANDLE Partition, HANDLE *MigrationHandle);
85HRESULT WHvCancelPartitionMigration(WHV_PARTITION_HANDLE Partition);
86HRESULT WHvCompletePartitionMigration(WHV_PARTITION_HANDLE Partition);
87HRESULT WINAPI WHvAcceptPartitionMigration(HANDLE MigrationHandle, WHV_PARTITION_HANDLE *Partition);
5188
5289#ifdef __cplusplus
5390}
lib/libc/include/any-windows-any/winhvplatformdefs.h+715-16
......@@ -12,13 +12,18 @@ typedef enum WHV_CAPABILITY_CODE {
1212 WHvCapabilityCodeExtendedVmExits = 0x00000002,
1313 WHvCapabilityCodeExceptionExitBitmap = 0x00000003,
1414 WHvCapabilityCodeX64MsrExitBitmap = 0x00000004,
15 WHvCapabilityCodeGpaRangePopulateFlags = 0x00000005,
16 WHvCapabilityCodeSchedulerFeatures = 0x00000006,
1517 WHvCapabilityCodeProcessorVendor = 0x00001000,
1618 WHvCapabilityCodeProcessorFeatures = 0x00001001,
1719 WHvCapabilityCodeProcessorClFlushSize = 0x00001002,
1820 WHvCapabilityCodeProcessorXsaveFeatures = 0x00001003,
1921 WHvCapabilityCodeProcessorClockFrequency = 0x00001004,
2022 WHvCapabilityCodeInterruptClockFrequency = 0x00001005,
21 WHvCapabilityCodeProcessorFeaturesBanks = 0x00001006
23 WHvCapabilityCodeProcessorFeaturesBanks = 0x00001006,
24 WHvCapabilityCodeProcessorFrequencyCap = 0x00001007,
25 WHvCapabilityCodeSyntheticProcessorFeaturesBanks = 0x00001008,
26 WHvCapabilityCodeProcessorPerfmonFeatures = 0x00001009
2227} WHV_CAPABILITY_CODE;
2328
2429typedef union WHV_CAPABILITY_FEATURES {
......@@ -30,7 +35,10 @@ typedef union WHV_CAPABILITY_FEATURES {
3035 UINT64 SpeculationControl : 1;
3136 UINT64 ApicRemoteRead : 1;
3237 UINT64 IdleSuspend : 1;
33 UINT64 Reserved : 57;
38 UINT64 VirtualPciDeviceSupport : 1;
39 UINT64 IommuSupport : 1;
40 UINT64 VpHotAddRemove : 1;
41 UINT64 Reserved : 54;
3442 };
3543 UINT64 AsUINT64;
3644} WHV_CAPABILITY_FEATURES;
......@@ -46,7 +54,15 @@ typedef union WHV_EXTENDED_VM_EXITS {
4654 UINT64 X64ApicSmiExitTrap : 1;
4755 UINT64 HypercallExit : 1;
4856 UINT64 X64ApicInitSipiExitTrap : 1;
49 UINT64 Reserved : 57;
57 UINT64 X64ApicWriteLint0ExitTrap : 1;
58 UINT64 X64ApicWriteLint1ExitTrap : 1;
59 UINT64 X64ApicWriteSvrExitTrap : 1;
60 UINT64 UnknownSynicConnection : 1;
61 UINT64 RetargetUnknownVpciDevice : 1;
62 UINT64 X64ApicWriteLdrExitTrap : 1;
63 UINT64 X64ApicWriteDfrExitTrap : 1;
64 UINT64 GpaAccessFaultExit : 1;
65 UINT64 Reserved : 49;
5066 };
5167 UINT64 AsUINT64;
5268} WHV_EXTENDED_VM_EXITS;
......@@ -121,7 +137,9 @@ typedef union WHV_PROCESSOR_FEATURES {
121137 UINT64 UmipSupport : 1;
122138 UINT64 MdsNoSupport : 1;
123139 UINT64 MdClearSupport : 1;
124 UINT64 Reserved6 : 3;
140 UINT64 TaaNoSupport : 1;
141 UINT64 TsxCtrlSupport : 1;
142 UINT64 Reserved6 : 1;
125143 };
126144 UINT64 AsUINT64;
127145} WHV_PROCESSOR_FEATURES;
......@@ -130,9 +148,28 @@ C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES) == sizeof(UINT64));
130148
131149typedef union WHV_PROCESSOR_FEATURES1 {
132150 __C89_NAMELESS struct {
133 UINT64 Reserved1 : 2;
151 UINT64 ACountMCountSupport : 1;
152 UINT64 TscInvariantSupport : 1;
134153 UINT64 ClZeroSupport : 1;
135 UINT64 Reserved2 : 61;
154 UINT64 RdpruSupport : 1;
155 UINT64 Reserved2 : 2;
156 UINT64 NestedVirtSupport : 1;
157 UINT64 PsfdSupport: 1;
158 UINT64 CetSsSupport : 1;
159 UINT64 CetIbtSupport : 1;
160 UINT64 VmxExceptionInjectSupport : 1;
161 UINT64 Reserved4 : 1;
162 UINT64 UmwaitTpauseSupport : 1;
163 UINT64 MovdiriSupport : 1;
164 UINT64 Movdir64bSupport : 1;
165 UINT64 CldemoteSupport : 1;
166 UINT64 SerializeSupport : 1;
167 UINT64 TscDeadlineTmrSupport : 1;
168 UINT64 TscAdjustSupport : 1;
169 UINT64 FZLRepMovsb : 1;
170 UINT64 FSRepStosb : 1;
171 UINT64 FSRepCmpsb : 1;
172 UINT64 Reserved5 : 42;
136173 };
137174 UINT64 AsUINT64;
138175} WHV_PROCESSOR_FEATURES1;
......@@ -155,6 +192,78 @@ typedef struct WHV_PROCESSOR_FEATURES_BANKS {
155192
156193C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES_BANKS) == sizeof(UINT64) * (WHV_PROCESSOR_FEATURES_BANKS_COUNT + 1));
157194
195typedef union WHV_SYNTHETIC_PROCESSOR_FEATURES {
196 __C89_NAMELESS struct {
197 UINT64 HypervisorPresent:1;
198 UINT64 Hv1:1;
199 UINT64 AccessVpRunTimeReg:1;
200 UINT64 AccessPartitionReferenceCounter:1;
201 UINT64 AccessSynicRegs:1;
202 UINT64 AccessSyntheticTimerRegs:1;
203#ifdef __x86_64__
204 UINT64 AccessIntrCtrlRegs:1;
205#else
206 UINT64 ReservedZ6:1;
207#endif
208 UINT64 AccessHypercallRegs:1;
209 UINT64 AccessVpIndex:1;
210 UINT64 AccessPartitionReferenceTsc:1;
211#ifdef __x86_64__
212 UINT64 AccessGuestIdleReg:1;
213 UINT64 AccessFrequencyRegs:1;
214#else
215 UINT64 ReservedZ10:1;
216 UINT64 ReservedZ11:1;
217#endif
218 UINT64 ReservedZ12:1;
219 UINT64 ReservedZ13:1;
220 UINT64 ReservedZ14:1;
221#ifdef __x86_64__
222 UINT64 EnableExtendedGvaRangesForFlushVirtualAddressList:1;
223#else
224 UINT64 ReservedZ15:1;
225#endif
226 UINT64 ReservedZ16:1;
227 UINT64 ReservedZ17:1;
228 UINT64 FastHypercallOutput:1;
229 UINT64 ReservedZ19:1;
230 UINT64 ReservedZ20:1;
231 UINT64 ReservedZ21:1;
232 UINT64 DirectSyntheticTimers:1;
233 UINT64 ReservedZ23:1;
234 UINT64 ExtendedProcessorMasks:1;
235#ifdef __x86_64__
236 UINT64 TbFlushHypercalls:1;
237#else
238 UINT64 ReservedZ25:1;
239#endif
240 UINT64 SyntheticClusterIpi:1;
241 UINT64 NotifyLongSpinWait:1;
242 UINT64 QueryNumaDistance:1;
243 UINT64 SignalEvents:1;
244 UINT64 RetargetDeviceInterrupt:1;
245 UINT64 Reserved:33;
246 };
247 UINT64 AsUINT64;
248} WHV_SYNTHETIC_PROCESSOR_FEATURES;
249
250C_ASSERT(sizeof(WHV_SYNTHETIC_PROCESSOR_FEATURES) == 8);
251
252#define WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT 1
253
254typedef struct WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS {
255 UINT32 BanksCount;
256 UINT32 Reserved0;
257 __C89_NAMELESS union {
258 __C89_NAMELESS struct {
259 WHV_SYNTHETIC_PROCESSOR_FEATURES Bank0;
260 };
261 UINT64 AsUINT64[WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT];
262 };
263} WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS;
264
265C_ASSERT(sizeof(WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS) == 16);
266
158267typedef union _WHV_PROCESSOR_XSAVE_FEATURES {
159268 __C89_NAMELESS struct {
160269 UINT64 XsaveSupport : 1;
......@@ -182,13 +291,30 @@ typedef union _WHV_PROCESSOR_XSAVE_FEATURES {
182291 UINT64 VpclmulqdqSupport : 1;
183292 UINT64 Avx512Bf16Support : 1;
184293 UINT64 Avx512Vp2IntersectSupport : 1;
185 UINT64 Reserved : 39;
294 UINT64 Avx512Fp16Support : 1;
295 UINT64 XfdSupport : 1;
296 UINT64 AmxTileSupport : 1;
297 UINT64 AmxBf16Support : 1;
298 UINT64 AmxInt8Support : 1;
299 UINT64 AvxVnniSupport : 1;
300 UINT64 Reserved : 33;
186301 };
187302 UINT64 AsUINT64;
188303} WHV_PROCESSOR_XSAVE_FEATURES, *PWHV_PROCESSOR_XSAVE_FEATURES;
189304
190305C_ASSERT(sizeof(WHV_PROCESSOR_XSAVE_FEATURES) == sizeof(UINT64));
191306
307typedef union WHV_PROCESSOR_PERFMON_FEATURES {
308 __C89_NAMELESS struct {
309 UINT64 PmuSupport : 1;
310 UINT64 LbrSupport : 1;
311 UINT64 Reserved : 62;
312 };
313 UINT64 AsUINT64;
314} WHV_PROCESSOR_PERFMON_FEATURES, *PWHV_PROCESSOR_PERFMON_FEATURES;
315
316C_ASSERT(sizeof(WHV_PROCESSOR_PERFMON_FEATURES) == 8);
317
192318typedef union WHV_X64_MSR_EXIT_BITMAP {
193319 UINT64 AsUINT64;
194320 __C89_NAMELESS struct {
......@@ -196,18 +322,77 @@ typedef union WHV_X64_MSR_EXIT_BITMAP {
196322 UINT64 TscMsrWrite : 1;
197323 UINT64 TscMsrRead : 1;
198324 UINT64 ApicBaseMsrWrite : 1;
199 UINT64 Reserved : 60;
325 UINT64 MiscEnableMsrRead:1;
326 UINT64 McUpdatePatchLevelMsrRead:1;
327 UINT64 Reserved:58;
200328 };
201329} WHV_X64_MSR_EXIT_BITMAP;
202330
203331C_ASSERT(sizeof(WHV_X64_MSR_EXIT_BITMAP) == sizeof(UINT64));
204332
333typedef struct WHV_MEMORY_RANGE_ENTRY {
334 UINT64 GuestAddress;
335 UINT64 SizeInBytes;
336} WHV_MEMORY_RANGE_ENTRY;
337
338C_ASSERT(sizeof(WHV_MEMORY_RANGE_ENTRY) == 16);
339
340typedef union WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS {
341 UINT32 AsUINT32;
342 __C89_NAMELESS struct {
343 UINT32 Prefetch:1;
344 UINT32 AvoidHardFaults:1;
345 UINT32 Reserved:30;
346 };
347} WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS;
348
349C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS) == 4);
350
351typedef enum WHV_MEMORY_ACCESS_TYPE {
352 WHvMemoryAccessRead = 0,
353 WHvMemoryAccessWrite = 1,
354 WHvMemoryAccessExecute = 2
355} WHV_MEMORY_ACCESS_TYPE;
356
357typedef struct WHV_ADVISE_GPA_RANGE_POPULATE {
358 WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS Flags;
359 WHV_MEMORY_ACCESS_TYPE AccessType;
360} WHV_ADVISE_GPA_RANGE_POPULATE;
361
362C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE_POPULATE) == 8);
363
364typedef struct WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
365 UINT32 IsSupported:1;
366 UINT32 Reserved:31;
367 UINT32 HighestFrequencyMhz;
368 UINT32 NominalFrequencyMhz;
369 UINT32 LowestFrequencyMhz;
370 UINT32 FrequencyStepMhz;
371} WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP;
372
373C_ASSERT(sizeof(WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP) == 20);
374
375typedef union WHV_SCHEDULER_FEATURES {
376 __C89_NAMELESS struct {
377 UINT64 CpuReserve: 1;
378 UINT64 CpuCap: 1;
379 UINT64 CpuWeight: 1;
380 UINT64 CpuGroupId: 1;
381 UINT64 DisableSmt: 1;
382 UINT64 Reserved: 59;
383 };
384 UINT64 AsUINT64;
385} WHV_SCHEDULER_FEATURES;
386
387C_ASSERT(sizeof(WHV_SCHEDULER_FEATURES) == 8);
388
205389typedef union WHV_CAPABILITY {
206390 WINBOOL HypervisorPresent;
207391 WHV_CAPABILITY_FEATURES Features;
208392 WHV_EXTENDED_VM_EXITS ExtendedVmExits;
209393 WHV_PROCESSOR_VENDOR ProcessorVendor;
210394 WHV_PROCESSOR_FEATURES ProcessorFeatures;
395 WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks;
211396 WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures;
212397 UINT8 ProcessorClFlushSize;
213398 UINT64 ExceptionExitBitmap;
......@@ -215,6 +400,10 @@ typedef union WHV_CAPABILITY {
215400 UINT64 ProcessorClockFrequency;
216401 UINT64 InterruptClockFrequency;
217402 WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks;
403 WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS GpaRangePopulateFlags;
404 WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP ProcessorFrequencyCap;
405 WHV_PROCESSOR_PERFMON_FEATURES ProcessorPerfmonFeatures;
406 WHV_SCHEDULER_FEATURES SchedulerFeatures;
218407} WHV_CAPABILITY;
219408
220409typedef VOID* WHV_PARTITION_HANDLE;
......@@ -225,6 +414,14 @@ typedef enum WHV_PARTITION_PROPERTY_CODE {
225414 WHvPartitionPropertyCodeSeparateSecurityDomain = 0x00000003,
226415 WHvPartitionPropertyCodeNestedVirtualization = 0x00000004,
227416 WHvPartitionPropertyCodeX64MsrExitBitmap = 0x00000005,
417 WHvPartitionPropertyCodePrimaryNumaNode = 0x00000006,
418 WHvPartitionPropertyCodeCpuReserve = 0x00000007,
419 WHvPartitionPropertyCodeCpuCap = 0x00000008,
420 WHvPartitionPropertyCodeCpuWeight = 0x00000009,
421 WHvPartitionPropertyCodeCpuGroupId = 0x0000000A,
422 WHvPartitionPropertyCodeProcessorFrequencyCap = 0x0000000B,
423 WHvPartitionPropertyCodeAllowDeviceAssignment = 0x0000000C,
424 WHvPartitionPropertyCodeDisableSmt = 0x0000000D,
228425 WHvPartitionPropertyCodeProcessorFeatures = 0x00001001,
229426 WHvPartitionPropertyCodeProcessorClFlushSize = 0x00001002,
230427 WHvPartitionPropertyCodeCpuidExitList = 0x00001003,
......@@ -236,6 +433,11 @@ typedef enum WHV_PARTITION_PROPERTY_CODE {
236433 WHvPartitionPropertyCodeApicRemoteReadSupport = 0x00001009,
237434 WHvPartitionPropertyCodeProcessorFeaturesBanks = 0x0000100A,
238435 WHvPartitionPropertyCodeReferenceTime = 0x0000100B,
436 WHvPartitionPropertyCodeSyntheticProcessorFeaturesBanks = 0x0000100C,
437 WHvPartitionPropertyCodeCpuidResultList2 = 0x0000100D,
438 WHvPartitionPropertyCodeProcessorPerfmonFeatures = 0x0000100E,
439 WHvPartitionPropertyCodeMsrActionList = 0x0000100F,
440 WHvPartitionPropertyCodeUnimplementedMsrAction = 0x00001010,
239441 WHvPartitionPropertyCodeProcessorCount = 0x00001fff
240442} WHV_PARTITION_PROPERTY_CODE;
241443
......@@ -248,6 +450,50 @@ typedef struct WHV_X64_CPUID_RESULT {
248450 UINT32 Edx;
249451} WHV_X64_CPUID_RESULT;
250452
453C_ASSERT(sizeof(WHV_X64_CPUID_RESULT) == 32);
454
455typedef enum WHV_X64_CPUID_RESULT2_FLAGS {
456 WHvX64CpuidResult2FlagSubleafSpecific = 0x00000001,
457 WHvX64CpuidResult2FlagVpSpecific = 0x00000002
458} WHV_X64_CPUID_RESULT2_FLAGS;
459
460DEFINE_ENUM_FLAG_OPERATORS(WHV_X64_CPUID_RESULT2_FLAGS);
461
462typedef struct WHV_CPUID_OUTPUT {
463 UINT32 Eax;
464 UINT32 Ebx;
465 UINT32 Ecx;
466 UINT32 Edx;
467} WHV_CPUID_OUTPUT;
468
469C_ASSERT(sizeof(WHV_CPUID_OUTPUT) == 16);
470
471typedef struct WHV_X64_CPUID_RESULT2 {
472 UINT32 Function;
473 UINT32 Index;
474 UINT32 VpIndex;
475 WHV_X64_CPUID_RESULT2_FLAGS Flags;
476 WHV_CPUID_OUTPUT Output;
477 WHV_CPUID_OUTPUT Mask;
478} WHV_X64_CPUID_RESULT2;
479
480C_ASSERT(sizeof(WHV_X64_CPUID_RESULT2) == 48);
481
482typedef struct WHV_MSR_ACTION_ENTRY {
483 UINT32 Index;
484 UINT8 ReadAction;
485 UINT8 WriteAction;
486 UINT16 Reserved;
487} WHV_MSR_ACTION_ENTRY;
488
489C_ASSERT(sizeof(WHV_MSR_ACTION_ENTRY) == 8);
490
491typedef enum WHV_MSR_ACTION {
492 WHvMsrActionArchitectureDefault = 0,
493 WHvMsrActionIgnoreWriteReadZero = 1,
494 WHvMsrActionExit = 2
495} WHV_MSR_ACTION;
496
251497typedef enum WHV_EXCEPTION_TYPE {
252498 WHvX64ExceptionTypeDivideErrorFault = 0x0,
253499 WHvX64ExceptionTypeDebugTrapOrFault = 0x1,
......@@ -277,11 +523,15 @@ typedef enum WHV_X64_LOCAL_APIC_EMULATION_MODE {
277523typedef union WHV_PARTITION_PROPERTY {
278524 WHV_EXTENDED_VM_EXITS ExtendedVmExits;
279525 WHV_PROCESSOR_FEATURES ProcessorFeatures;
526 WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks;
280527 WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures;
281528 UINT8 ProcessorClFlushSize;
282529 UINT32 ProcessorCount;
283530 UINT32 CpuidExitList[1];
284531 WHV_X64_CPUID_RESULT CpuidResultList[1];
532 WHV_X64_CPUID_RESULT2 CpuidResultList2[1];
533 WHV_MSR_ACTION_ENTRY MsrActionList[1];
534 WHV_MSR_ACTION UnimplementedMsrAction;
285535 UINT64 ExceptionExitBitmap;
286536 WHV_X64_LOCAL_APIC_EMULATION_MODE LocalApicEmulationMode;
287537 WINBOOL SeparateSecurityDomain;
......@@ -292,6 +542,15 @@ typedef union WHV_PARTITION_PROPERTY {
292542 WINBOOL ApicRemoteRead;
293543 WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks;
294544 UINT64 ReferenceTime;
545 USHORT PrimaryNumaNode;
546 UINT32 CpuReserve;
547 UINT32 CpuCap;
548 UINT32 CpuWeight;
549 UINT64 CpuGroupId;
550 UINT32 ProcessorFrequencyCap;
551 WINBOOL AllowDeviceAssignment;
552 WHV_PROCESSOR_PERFMON_FEATURES ProcessorPerfmonFeatures;
553 WINBOOL DisableSmt;
295554} WHV_PARTITION_PROPERTY;
296555
297556typedef UINT64 WHV_GUEST_PHYSICAL_ADDRESS;
......@@ -313,7 +572,9 @@ typedef enum WHV_TRANSLATE_GVA_FLAGS {
313572 WHvTranslateGvaFlagValidateWrite = 0x00000002,
314573 WHvTranslateGvaFlagValidateExecute = 0x00000004,
315574 WHvTranslateGvaFlagPrivilegeExempt = 0x00000008,
316 WHvTranslateGvaFlagSetPageTableBits = 0x00000010
575 WHvTranslateGvaFlagSetPageTableBits = 0x00000010,
576 WHvTranslateGvaFlagEnforceSmap = 0x00000100,
577 WHvTranslateGvaFlagOverrideSmap = 0x00000200
317578} WHV_TRANSLATE_GVA_FLAGS;
318579
319580DEFINE_ENUM_FLAG_OPERATORS(WHV_TRANSLATE_GVA_FLAGS);
......@@ -335,6 +596,36 @@ typedef struct WHV_TRANSLATE_GVA_RESULT {
335596 UINT32 Reserved;
336597} WHV_TRANSLATE_GVA_RESULT;
337598
599C_ASSERT(sizeof(WHV_TRANSLATE_GVA_RESULT) == 8);
600
601typedef union WHV_ADVISE_GPA_RANGE {
602 WHV_ADVISE_GPA_RANGE_POPULATE Populate;
603} WHV_ADVISE_GPA_RANGE;
604
605C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE) == 8);
606
607typedef enum WHV_CACHE_TYPE {
608 WHvCacheTypeUncached = 0,
609 WHvCacheTypeWriteCombining = 1,
610 WHvCacheTypeWriteThrough = 4,
611#ifdef __x86_64__
612 WHvCacheTypeWriteProtected = 5,
613#endif
614 WHvCacheTypeWriteBack = 6
615} WHV_CACHE_TYPE;
616
617typedef union WHV_ACCESS_GPA_CONTROLS {
618 UINT64 AsUINT64;
619 __C89_NAMELESS struct {
620 WHV_CACHE_TYPE CacheType;
621 UINT32 Reserved;
622 };
623} WHV_ACCESS_GPA_CONTROLS;
624
625C_ASSERT(sizeof(WHV_ACCESS_GPA_CONTROLS) == 8);
626
627#define WHV_READ_WRITE_GPA_RANGE_MAX_SIZE 16
628
338629typedef enum WHV_REGISTER_NAME {
339630 WHvX64RegisterRax = 0x00000000,
340631 WHvX64RegisterRcx = 0x00000001,
......@@ -376,6 +667,10 @@ typedef enum WHV_REGISTER_NAME {
376667 WHvX64RegisterDr6 = 0x00000025,
377668 WHvX64RegisterDr7 = 0x00000026,
378669 WHvX64RegisterXCr0 = 0x00000027,
670 WHvX64RegisterVirtualCr0 = 0x00000028,
671 WHvX64RegisterVirtualCr3 = 0x00000029,
672 WHvX64RegisterVirtualCr4 = 0x0000002A,
673 WHvX64RegisterVirtualCr8 = 0x0000002B,
379674 WHvX64RegisterXmm0 = 0x00001000,
380675 WHvX64RegisterXmm1 = 0x00001001,
381676 WHvX64RegisterXmm2 = 0x00001002,
......@@ -461,11 +756,97 @@ typedef enum WHV_REGISTER_NAME {
461756 WHvX64RegisterMsrMtrrFix4kF0000 = 0x00002079,
462757 WHvX64RegisterMsrMtrrFix4kF8000 = 0x0000207A,
463758 WHvX64RegisterTscAux = 0x0000207B,
759 WHvX64RegisterBndcfgs = 0x0000207C,
760 WHvX64RegisterMCount = 0x0000207E,
761 WHvX64RegisterACount = 0x0000207F,
464762 WHvX64RegisterSpecCtrl = 0x00002084,
465763 WHvX64RegisterPredCmd = 0x00002085,
466764 WHvX64RegisterTscVirtualOffset = 0x00002087,
765 WHvX64RegisterTsxCtrl = 0x00002088,
766 WHvX64RegisterXss = 0x0000208B,
767 WHvX64RegisterUCet = 0x0000208C,
768 WHvX64RegisterSCet = 0x0000208D,
769 WHvX64RegisterSsp = 0x0000208E,
770 WHvX64RegisterPl0Ssp = 0x0000208F,
771 WHvX64RegisterPl1Ssp = 0x00002090,
772 WHvX64RegisterPl2Ssp = 0x00002091,
773 WHvX64RegisterPl3Ssp = 0x00002092,
774 WHvX64RegisterInterruptSspTableAddr = 0x00002093,
775 WHvX64RegisterTscDeadline = 0x00002095,
776 WHvX64RegisterTscAdjust = 0x00002096,
777 WHvX64RegisterUmwaitControl = 0x00002098,
778 WHvX64RegisterXfd = 0x00002099,
779 WHvX64RegisterXfdErr = 0x0000209A,
467780 WHvX64RegisterApicId = 0x00003002,
468781 WHvX64RegisterApicVersion = 0x00003003,
782 WHvX64RegisterApicTpr = 0x00003008,
783 WHvX64RegisterApicPpr = 0x0000300A,
784 WHvX64RegisterApicEoi = 0x0000300B,
785 WHvX64RegisterApicLdr = 0x0000300D,
786 WHvX64RegisterApicSpurious = 0x0000300F,
787 WHvX64RegisterApicIsr0 = 0x00003010,
788 WHvX64RegisterApicIsr1 = 0x00003011,
789 WHvX64RegisterApicIsr2 = 0x00003012,
790 WHvX64RegisterApicIsr3 = 0x00003013,
791 WHvX64RegisterApicIsr4 = 0x00003014,
792 WHvX64RegisterApicIsr5 = 0x00003015,
793 WHvX64RegisterApicIsr6 = 0x00003016,
794 WHvX64RegisterApicIsr7 = 0x00003017,
795 WHvX64RegisterApicTmr0 = 0x00003018,
796 WHvX64RegisterApicTmr1 = 0x00003019,
797 WHvX64RegisterApicTmr2 = 0x0000301A,
798 WHvX64RegisterApicTmr3 = 0x0000301B,
799 WHvX64RegisterApicTmr4 = 0x0000301C,
800 WHvX64RegisterApicTmr5 = 0x0000301D,
801 WHvX64RegisterApicTmr6 = 0x0000301E,
802 WHvX64RegisterApicTmr7 = 0x0000301F,
803 WHvX64RegisterApicIrr0 = 0x00003020,
804 WHvX64RegisterApicIrr1 = 0x00003021,
805 WHvX64RegisterApicIrr2 = 0x00003022,
806 WHvX64RegisterApicIrr3 = 0x00003023,
807 WHvX64RegisterApicIrr4 = 0x00003024,
808 WHvX64RegisterApicIrr5 = 0x00003025,
809 WHvX64RegisterApicIrr6 = 0x00003026,
810 WHvX64RegisterApicIrr7 = 0x00003027,
811 WHvX64RegisterApicEse = 0x00003028,
812 WHvX64RegisterApicIcr = 0x00003030,
813 WHvX64RegisterApicLvtTimer = 0x00003032,
814 WHvX64RegisterApicLvtThermal = 0x00003033,
815 WHvX64RegisterApicLvtPerfmon = 0x00003034,
816 WHvX64RegisterApicLvtLint0 = 0x00003035,
817 WHvX64RegisterApicLvtLint1 = 0x00003036,
818 WHvX64RegisterApicLvtError = 0x00003037,
819 WHvX64RegisterApicInitCount = 0x00003038,
820 WHvX64RegisterApicCurrentCount = 0x00003039,
821 WHvX64RegisterApicDivide = 0x0000303E,
822 WHvX64RegisterApicSelfIpi = 0x0000303F,
823 WHvRegisterSint0 = 0x00004000,
824 WHvRegisterSint1 = 0x00004001,
825 WHvRegisterSint2 = 0x00004002,
826 WHvRegisterSint3 = 0x00004003,
827 WHvRegisterSint4 = 0x00004004,
828 WHvRegisterSint5 = 0x00004005,
829 WHvRegisterSint6 = 0x00004006,
830 WHvRegisterSint7 = 0x00004007,
831 WHvRegisterSint8 = 0x00004008,
832 WHvRegisterSint9 = 0x00004009,
833 WHvRegisterSint10 = 0x0000400A,
834 WHvRegisterSint11 = 0x0000400B,
835 WHvRegisterSint12 = 0x0000400C,
836 WHvRegisterSint13 = 0x0000400D,
837 WHvRegisterSint14 = 0x0000400E,
838 WHvRegisterSint15 = 0x0000400F,
839 WHvRegisterScontrol = 0x00004010,
840 WHvRegisterSversion = 0x00004011,
841 WHvRegisterSiefp = 0x00004012,
842 WHvRegisterSimp = 0x00004013,
843 WHvRegisterEom = 0x00004014,
844 WHvRegisterVpRuntime = 0x00005000,
845 WHvX64RegisterHypercall = 0x00005001,
846 WHvRegisterGuestOsId = 0x00005002,
847 WHvRegisterVpAssistPage = 0x00005013,
848 WHvRegisterReferenceTsc = 0x00005017,
849 WHvRegisterReferenceTscSequence = 0x0000501A,
469850 WHvRegisterPendingInterruption = 0x80000000,
470851 WHvRegisterInterruptState = 0x80000001,
471852 WHvRegisterPendingEvent = 0x80000002,
......@@ -482,6 +863,8 @@ typedef union DECLSPEC_ALIGN(16) WHV_UINT128 {
482863 UINT32 Dword[4];
483864} WHV_UINT128;
484865
866C_ASSERT(sizeof(WHV_UINT128) == 16);
867
485868typedef union WHV_X64_FP_REGISTER {
486869 __C89_NAMELESS struct {
487870 UINT64 Mantissa;
......@@ -492,6 +875,8 @@ typedef union WHV_X64_FP_REGISTER {
492875 WHV_UINT128 AsUINT128;
493876} WHV_X64_FP_REGISTER;
494877
878C_ASSERT(sizeof(WHV_X64_FP_REGISTER) == 16);
879
495880typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER {
496881 __C89_NAMELESS struct {
497882 UINT16 FpControl;
......@@ -511,6 +896,8 @@ typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER {
511896 WHV_UINT128 AsUINT128;
512897} WHV_X64_FP_CONTROL_STATUS_REGISTER;
513898
899C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16);
900
514901typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER {
515902 __C89_NAMELESS struct {
516903 __C89_NAMELESS union {
......@@ -527,6 +914,8 @@ typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER {
527914 WHV_UINT128 AsUINT128;
528915} WHV_X64_XMM_CONTROL_STATUS_REGISTER;
529916
917C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16);
918
530919typedef struct WHV_X64_SEGMENT_REGISTER {
531920 UINT64 Base;
532921 UINT32 Limit;
......@@ -547,12 +936,16 @@ typedef struct WHV_X64_SEGMENT_REGISTER {
547936 };
548937} WHV_X64_SEGMENT_REGISTER;
549938
939C_ASSERT(sizeof(WHV_X64_SEGMENT_REGISTER) == 16);
940
550941typedef struct WHV_X64_TABLE_REGISTER {
551942 UINT16 Pad[3];
552943 UINT16 Limit;
553944 UINT64 Base;
554945} WHV_X64_TABLE_REGISTER;
555946
947C_ASSERT(sizeof(WHV_X64_TABLE_REGISTER) == 16);
948
556949typedef union WHV_X64_INTERRUPT_STATE_REGISTER {
557950 __C89_NAMELESS struct {
558951 UINT64 InterruptShadow:1;
......@@ -562,6 +955,8 @@ typedef union WHV_X64_INTERRUPT_STATE_REGISTER {
562955 UINT64 AsUINT64;
563956} WHV_X64_INTERRUPT_STATE_REGISTER;
564957
958C_ASSERT(sizeof(WHV_X64_INTERRUPT_STATE_REGISTER) == 8);
959
565960typedef union WHV_X64_PENDING_INTERRUPTION_REGISTER {
566961 __C89_NAMELESS struct {
567962 UINT32 InterruptionPending:1;
......@@ -590,7 +985,6 @@ typedef union WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {
590985
591986C_ASSERT(sizeof(WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER) == sizeof(UINT64));
592987
593
594988typedef enum WHV_X64_PENDING_EVENT_TYPE {
595989 WHvX64PendingEventException = 0,
596990 WHvX64PendingEventExtInt = 5
......@@ -652,6 +1046,14 @@ typedef union WHV_X64_PENDING_DEBUG_EXCEPTION {
6521046
6531047C_ASSERT(sizeof(WHV_X64_PENDING_DEBUG_EXCEPTION) == sizeof(UINT64));
6541048
1049typedef struct WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
1050 UINT16 DeliverableSints;
1051 UINT16 Reserved1;
1052 UINT32 Reserved2;
1053} WHV_SYNIC_SINT_DELIVERABLE_CONTEXT;
1054
1055C_ASSERT(sizeof(WHV_SYNIC_SINT_DELIVERABLE_CONTEXT) == 8);
1056
6551057typedef union WHV_REGISTER_VALUE {
6561058 WHV_UINT128 Reg128;
6571059 UINT64 Reg64;
......@@ -672,6 +1074,8 @@ typedef union WHV_REGISTER_VALUE {
6721074 WHV_X64_PENDING_DEBUG_EXCEPTION PendingDebugException;
6731075} WHV_REGISTER_VALUE;
6741076
1077C_ASSERT(sizeof(WHV_REGISTER_VALUE) == 16);
1078
6751079typedef enum WHV_RUN_VP_EXIT_REASON {
6761080 WHvRunVpExitReasonNone = 0x00000000,
6771081 WHvRunVpExitReasonMemoryAccess = 0x00000001,
......@@ -682,6 +1086,7 @@ typedef enum WHV_RUN_VP_EXIT_REASON {
6821086 WHvRunVpExitReasonX64InterruptWindow = 0x00000007,
6831087 WHvRunVpExitReasonX64Halt = 0x00000008,
6841088 WHvRunVpExitReasonX64ApicEoi = 0x00000009,
1089 WHvRunVpExitReasonSynicSintDeliverable = 0x0000000A,
6851090 WHvRunVpExitReasonX64MsrAccess = 0x00001000,
6861091 WHvRunVpExitReasonX64Cpuid = 0x00001001,
6871092 WHvRunVpExitReasonException = 0x00001002,
......@@ -689,6 +1094,7 @@ typedef enum WHV_RUN_VP_EXIT_REASON {
6891094 WHvRunVpExitReasonX64ApicSmiTrap = 0x00001004,
6901095 WHvRunVpExitReasonHypercall = 0x00001005,
6911096 WHvRunVpExitReasonX64ApicInitSipiTrap = 0x00001006,
1097 WHvRunVpExitReasonX64ApicWriteTrap = 0x00001007,
6921098 WHvRunVpExitReasonCanceled = 0x00002001
6931099} WHV_RUN_VP_EXIT_REASON;
6941100
......@@ -720,11 +1126,7 @@ typedef struct WHV_VP_EXIT_CONTEXT {
7201126 UINT64 Rflags;
7211127} WHV_VP_EXIT_CONTEXT;
7221128
723typedef enum WHV_MEMORY_ACCESS_TYPE {
724 WHvMemoryAccessRead = 0,
725 WHvMemoryAccessWrite = 1,
726 WHvMemoryAccessExecute = 2
727} WHV_MEMORY_ACCESS_TYPE;
1129C_ASSERT(sizeof(WHV_VP_EXIT_CONTEXT) == 40);
7281130
7291131typedef union WHV_MEMORY_ACCESS_INFO {
7301132 __C89_NAMELESS struct {
......@@ -736,6 +1138,8 @@ typedef union WHV_MEMORY_ACCESS_INFO {
7361138 UINT32 AsUINT32;
7371139} WHV_MEMORY_ACCESS_INFO;
7381140
1141C_ASSERT(sizeof(WHV_MEMORY_ACCESS_INFO) == 4);
1142
7391143typedef struct WHV_MEMORY_ACCESS_CONTEXT {
7401144 UINT8 InstructionByteCount;
7411145 UINT8 Reserved[3];
......@@ -745,6 +1149,8 @@ typedef struct WHV_MEMORY_ACCESS_CONTEXT {
7451149 WHV_GUEST_VIRTUAL_ADDRESS Gva;
7461150} WHV_MEMORY_ACCESS_CONTEXT;
7471151
1152C_ASSERT(sizeof(WHV_MEMORY_ACCESS_CONTEXT) == 40);
1153
7481154typedef union WHV_X64_IO_PORT_ACCESS_INFO {
7491155 __C89_NAMELESS struct {
7501156 UINT32 IsWrite : 1;
......@@ -773,6 +1179,8 @@ typedef struct WHV_X64_IO_PORT_ACCESS_CONTEXT {
7731179 WHV_X64_SEGMENT_REGISTER Es;
7741180} WHV_X64_IO_PORT_ACCESS_CONTEXT;
7751181
1182C_ASSERT(sizeof(WHV_X64_IO_PORT_ACCESS_CONTEXT) == 96);
1183
7761184typedef union WHV_X64_MSR_ACCESS_INFO {
7771185 __C89_NAMELESS struct {
7781186 UINT32 IsWrite : 1;
......@@ -790,6 +1198,8 @@ typedef struct WHV_X64_MSR_ACCESS_CONTEXT {
7901198 UINT64 Rdx;
7911199} WHV_X64_MSR_ACCESS_CONTEXT;
7921200
1201C_ASSERT(sizeof(WHV_X64_MSR_ACCESS_CONTEXT) == 24);
1202
7931203typedef struct WHV_X64_CPUID_ACCESS_CONTEXT {
7941204 UINT64 Rax;
7951205 UINT64 Rcx;
......@@ -801,6 +1211,8 @@ typedef struct WHV_X64_CPUID_ACCESS_CONTEXT {
8011211 UINT64 DefaultResultRbx;
8021212} WHV_X64_CPUID_ACCESS_CONTEXT;
8031213
1214C_ASSERT(sizeof(WHV_X64_CPUID_ACCESS_CONTEXT) == 64);
1215
8041216typedef union WHV_VP_EXCEPTION_INFO {
8051217 __C89_NAMELESS struct {
8061218 UINT32 ErrorCodeValid : 1;
......@@ -823,6 +1235,8 @@ typedef struct WHV_VP_EXCEPTION_CONTEXT {
8231235 UINT64 ExceptionParameter;
8241236} WHV_VP_EXCEPTION_CONTEXT;
8251237
1238C_ASSERT(sizeof(WHV_VP_EXCEPTION_CONTEXT) == 40);
1239
8261240typedef enum WHV_X64_UNSUPPORTED_FEATURE_CODE {
8271241 WHvUnsupportedFeatureIntercept = 1,
8281242 WHvUnsupportedFeatureTaskSwitchTss = 2
......@@ -834,6 +1248,8 @@ typedef struct WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
8341248 UINT64 FeatureParameter;
8351249} WHV_X64_UNSUPPORTED_FEATURE_CONTEXT;
8361250
1251C_ASSERT(sizeof(WHV_X64_UNSUPPORTED_FEATURE_CONTEXT) == 16);
1252
8371253typedef enum WHV_RUN_VP_CANCEL_REASON {
8381254 WhvRunVpCancelReasonUser = 0
8391255} WHV_RUN_VP_CANCEL_REASON;
......@@ -842,6 +1258,8 @@ typedef struct WHV_RUN_VP_CANCELED_CONTEXT {
8421258 WHV_RUN_VP_CANCEL_REASON CancelReason;
8431259} WHV_RUN_VP_CANCELED_CONTEXT;
8441260
1261C_ASSERT(sizeof(WHV_RUN_VP_CANCELED_CONTEXT) == 4);
1262
8451263typedef enum WHV_X64_PENDING_INTERRUPTION_TYPE {
8461264 WHvX64PendingInterrupt = 0,
8471265 WHvX64PendingNmi = 2,
......@@ -852,10 +1270,14 @@ typedef struct WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
8521270 WHV_X64_PENDING_INTERRUPTION_TYPE DeliverableType;
8531271} WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT, *PWHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT;
8541272
1273C_ASSERT(sizeof(WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT) == 4);
1274
8551275typedef struct WHV_X64_APIC_EOI_CONTEXT {
8561276 UINT32 InterruptVector;
8571277} WHV_X64_APIC_EOI_CONTEXT;
8581278
1279C_ASSERT(sizeof(WHV_X64_APIC_EOI_CONTEXT) == 4);
1280
8591281typedef union WHV_X64_RDTSC_INFO {
8601282 __C89_NAMELESS struct {
8611283 UINT64 IsRdtscp : 1;
......@@ -864,6 +1286,8 @@ typedef union WHV_X64_RDTSC_INFO {
8641286 UINT64 AsUINT64;
8651287} WHV_X64_RDTSC_INFO;
8661288
1289C_ASSERT(sizeof(WHV_X64_RDTSC_INFO) == 8);
1290
8671291typedef struct WHV_X64_RDTSC_CONTEXT {
8681292 UINT64 TscAux;
8691293 UINT64 VirtualOffset;
......@@ -872,10 +1296,14 @@ typedef struct WHV_X64_RDTSC_CONTEXT {
8721296 WHV_X64_RDTSC_INFO RdtscInfo;
8731297} WHV_X64_RDTSC_CONTEXT;
8741298
1299C_ASSERT(sizeof(WHV_X64_RDTSC_CONTEXT) == 40);
1300
8751301typedef struct WHV_X64_APIC_SMI_CONTEXT {
8761302 UINT64 ApicIcr;
8771303} WHV_X64_APIC_SMI_CONTEXT;
8781304
1305C_ASSERT(sizeof(WHV_X64_APIC_SMI_CONTEXT) == 8);
1306
8791307#define WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS 6
8801308
8811309typedef struct _WHV_HYPERCALL_CONTEXT {
......@@ -891,10 +1319,30 @@ typedef struct _WHV_HYPERCALL_CONTEXT {
8911319 UINT64 Reserved1[2];
8921320} WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT;
8931321
1322C_ASSERT(sizeof(WHV_HYPERCALL_CONTEXT) == 176);
1323
8941324typedef struct WHV_X64_APIC_INIT_SIPI_CONTEXT {
8951325 UINT64 ApicIcr;
8961326} WHV_X64_APIC_INIT_SIPI_CONTEXT;
8971327
1328C_ASSERT(sizeof(WHV_X64_APIC_INIT_SIPI_CONTEXT) == 8);
1329
1330typedef enum WHV_X64_APIC_WRITE_TYPE {
1331 WHvX64ApicWriteTypeLdr = 0xD0,
1332 WHvX64ApicWriteTypeDfr = 0xE0,
1333 WHvX64ApicWriteTypeSvr = 0xF0,
1334 WHvX64ApicWriteTypeLint0 = 0x350,
1335 WHvX64ApicWriteTypeLint1 = 0x360
1336} WHV_X64_APIC_WRITE_TYPE;
1337
1338typedef struct WHV_X64_APIC_WRITE_CONTEXT {
1339 WHV_X64_APIC_WRITE_TYPE Type;
1340 UINT32 Reserved;
1341 UINT64 WriteValue;
1342} WHV_X64_APIC_WRITE_CONTEXT;
1343
1344C_ASSERT(sizeof(WHV_X64_APIC_WRITE_CONTEXT) == 16);
1345
8981346typedef struct WHV_RUN_VP_EXIT_CONTEXT {
8991347 WHV_RUN_VP_EXIT_REASON ExitReason;
9001348 UINT32 Reserved;
......@@ -913,9 +1361,13 @@ typedef struct WHV_RUN_VP_EXIT_CONTEXT {
9131361 WHV_X64_APIC_SMI_CONTEXT ApicSmi;
9141362 WHV_HYPERCALL_CONTEXT Hypercall;
9151363 WHV_X64_APIC_INIT_SIPI_CONTEXT ApicInitSipi;
1364 WHV_X64_APIC_WRITE_CONTEXT ApicWrite;
1365 WHV_SYNIC_SINT_DELIVERABLE_CONTEXT SynicSintDeliverable;
9161366 };
9171367} WHV_RUN_VP_EXIT_CONTEXT;
9181368
1369C_ASSERT(sizeof(WHV_RUN_VP_EXIT_CONTEXT) == 224);
1370
9191371typedef enum WHV_INTERRUPT_TYPE {
9201372 WHvX64InterruptTypeFixed = 0,
9211373 WHvX64InterruptTypeLowestPriority = 1,
......@@ -944,6 +1396,8 @@ typedef struct WHV_INTERRUPT_CONTROL {
9441396 UINT32 Vector;
9451397} WHV_INTERRUPT_CONTROL;
9461398
1399C_ASSERT(sizeof(WHV_INTERRUPT_CONTROL) == 16);
1400
9471401typedef struct WHV_DOORBELL_MATCH_DATA {
9481402 WHV_GUEST_PHYSICAL_ADDRESS GuestAddress;
9491403 UINT64 Value;
......@@ -953,6 +1407,8 @@ typedef struct WHV_DOORBELL_MATCH_DATA {
9531407 UINT32 Reserved : 30;
9541408} WHV_DOORBELL_MATCH_DATA;
9551409
1410C_ASSERT(sizeof(WHV_DOORBELL_MATCH_DATA) == 24);
1411
9561412typedef enum WHV_PARTITION_COUNTER_SET {
9571413 WHvPartitionCounterSetMemory
9581414} WHV_PARTITION_COUNTER_SET;
......@@ -963,11 +1419,14 @@ typedef struct WHV_PARTITION_MEMORY_COUNTERS {
9631419 UINT64 Mapped1GPageCount;
9641420} WHV_PARTITION_MEMORY_COUNTERS;
9651421
1422C_ASSERT(sizeof(WHV_PARTITION_MEMORY_COUNTERS) == 24);
1423
9661424typedef enum WHV_PROCESSOR_COUNTER_SET {
9671425 WHvProcessorCounterSetRuntime,
9681426 WHvProcessorCounterSetIntercepts,
9691427 WHvProcessorCounterSetEvents,
970 WHvProcessorCounterSetApic
1428 WHvProcessorCounterSetApic,
1429 WHvProcessorCounterSetSyntheticFeatures
9711430} WHV_PROCESSOR_COUNTER_SET;
9721431
9731432typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS {
......@@ -975,11 +1434,15 @@ typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS {
9751434 UINT64 HypervisorRuntime100ns;
9761435} WHV_PROCESSOR_RUNTIME_COUNTERS;
9771436
1437C_ASSERT(sizeof(WHV_PROCESSOR_RUNTIME_COUNTERS) == 16);
1438
9781439typedef struct WHV_PROCESSOR_INTERCEPT_COUNTER {
9791440 UINT64 Count;
9801441 UINT64 Time100ns;
9811442} WHV_PROCESSOR_INTERCEPT_COUNTER;
9821443
1444C_ASSERT(sizeof(WHV_PROCESSOR_INTERCEPT_COUNTER) == 16);
1445
9831446typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS {
9841447 WHV_PROCESSOR_INTERCEPT_COUNTER PageInvalidations;
9851448 WHV_PROCESSOR_INTERCEPT_COUNTER ControlRegisterAccesses;
......@@ -992,14 +1455,21 @@ typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS {
9921455 WHV_PROCESSOR_INTERCEPT_COUNTER EmulatedInstructions;
9931456 WHV_PROCESSOR_INTERCEPT_COUNTER DebugRegisterAccesses;
9941457 WHV_PROCESSOR_INTERCEPT_COUNTER PageFaultIntercepts;
1458 WHV_PROCESSOR_INTERCEPT_COUNTER NestedPageFaultIntercepts;
1459 WHV_PROCESSOR_INTERCEPT_COUNTER Hypercalls;
1460 WHV_PROCESSOR_INTERCEPT_COUNTER RdpmcInstructions;
9951461} WHV_PROCESSOR_ACTIVITY_COUNTERS;
9961462
1463C_ASSERT(sizeof(WHV_PROCESSOR_ACTIVITY_COUNTERS) == 224);
1464
9971465typedef struct WHV_PROCESSOR_EVENT_COUNTERS {
9981466 UINT64 PageFaultCount;
9991467 UINT64 ExceptionCount;
10001468 UINT64 InterruptCount;
10011469} WHV_PROCESSOR_GUEST_EVENT_COUNTERS;
10021470
1471C_ASSERT(sizeof(WHV_PROCESSOR_GUEST_EVENT_COUNTERS) == 24);
1472
10031473typedef struct WHV_PROCESSOR_APIC_COUNTERS {
10041474 UINT64 MmioAccessCount;
10051475 UINT64 EoiAccessCount;
......@@ -1008,4 +1478,233 @@ typedef struct WHV_PROCESSOR_APIC_COUNTERS {
10081478 UINT64 SelfIpiCount;
10091479} WHV_PROCESSOR_APIC_COUNTERS;
10101480
1481C_ASSERT(sizeof(WHV_PROCESSOR_APIC_COUNTERS) == 40);
1482
1483typedef struct WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
1484 UINT64 SyntheticInterruptsCount;
1485 UINT64 LongSpinWaitHypercallsCount;
1486 UINT64 OtherHypercallsCount;
1487 UINT64 SyntheticInterruptHypercallsCount;
1488 UINT64 VirtualInterruptHypercallsCount;
1489 UINT64 VirtualMmuHypercallsCount;
1490} WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS;
1491
1492C_ASSERT(sizeof(WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS) == 48);
1493
1494typedef enum WHV_ADVISE_GPA_RANGE_CODE {
1495 WHvAdviseGpaRangeCodePopulate = 0x00000000,
1496 WHvAdviseGpaRangeCodePin = 0x00000001,
1497 WHvAdviseGpaRangeCodeUnpin = 0x00000002
1498} WHV_ADVISE_GPA_RANGE_CODE;
1499
1500typedef enum WHV_VIRTUAL_PROCESSOR_STATE_TYPE {
1501 WHvVirtualProcessorStateTypeSynicMessagePage = 0x00000000,
1502 WHvVirtualProcessorStateTypeSynicEventFlagPage = 0x00000001,
1503 WHvVirtualProcessorStateTypeSynicTimerState = 0x00000002,
1504 WHvVirtualProcessorStateTypeInterruptControllerState2 = 0x00001000,
1505 WHvVirtualProcessorStateTypeXsaveState = 0x00001001
1506} WHV_VIRTUAL_PROCESSOR_STATE_TYPE;
1507
1508typedef struct WHV_SYNIC_EVENT_PARAMETERS {
1509 UINT32 VpIndex;
1510 UINT8 TargetSint;
1511 UINT8 Reserved;
1512 UINT16 FlagNumber;
1513} WHV_SYNIC_EVENT_PARAMETERS;
1514
1515C_ASSERT(sizeof(WHV_SYNIC_EVENT_PARAMETERS) == 8);
1516
1517typedef enum WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1518 WHvAllocateVpciResourceFlagNone = 0x00000000,
1519 WHvAllocateVpciResourceFlagAllowDirectP2P = 0x00000001
1520} WHV_ALLOCATE_VPCI_RESOURCE_FLAGS;
1521
1522DEFINE_ENUM_FLAG_OPERATORS(WHV_ALLOCATE_VPCI_RESOURCE_FLAGS);
1523
1524#define WHV_MAX_DEVICE_ID_SIZE_IN_CHARS 200
1525
1526typedef struct WHV_SRIOV_RESOURCE_DESCRIPTOR {
1527 WCHAR PnpInstanceId[WHV_MAX_DEVICE_ID_SIZE_IN_CHARS];
1528 LUID VirtualFunctionId;
1529 UINT16 VirtualFunctionIndex;
1530 UINT16 Reserved;
1531} WHV_SRIOV_RESOURCE_DESCRIPTOR;
1532
1533C_ASSERT(sizeof(WHV_SRIOV_RESOURCE_DESCRIPTOR) == 412);
1534
1535typedef enum WHV_VPCI_DEVICE_NOTIFICATION_TYPE {
1536 WHvVpciDeviceNotificationUndefined = 0,
1537 WHvVpciDeviceNotificationMmioRemapping = 1,
1538 WHvVpciDeviceNotificationSurpriseRemoval = 2
1539} WHV_VPCI_DEVICE_NOTIFICATION_TYPE;
1540
1541typedef struct WHV_VPCI_DEVICE_NOTIFICATION {
1542 WHV_VPCI_DEVICE_NOTIFICATION_TYPE NotificationType;
1543 UINT32 Reserved1;
1544 __C89_NAMELESS union {
1545 UINT64 Reserved2;
1546 };
1547} WHV_VPCI_DEVICE_NOTIFICATION;
1548
1549C_ASSERT(sizeof(WHV_VPCI_DEVICE_NOTIFICATION) == 16);
1550
1551typedef enum WHV_CREATE_VPCI_DEVICE_FLAGS {
1552 WHvCreateVpciDeviceFlagNone = 0x00000000,
1553 WHvCreateVpciDeviceFlagPhysicallyBacked = 0x00000001,
1554 WHvCreateVpciDeviceFlagUseLogicalInterrupts = 0x00000002
1555} WHV_CREATE_VPCI_DEVICE_FLAGS;
1556
1557DEFINE_ENUM_FLAG_OPERATORS(WHV_CREATE_VPCI_DEVICE_FLAGS);
1558
1559typedef enum WHV_VPCI_DEVICE_PROPERTY_CODE {
1560 WHvVpciDevicePropertyCodeUndefined = 0,
1561 WHvVpciDevicePropertyCodeHardwareIDs = 1,
1562 WHvVpciDevicePropertyCodeProbedBARs = 2
1563} WHV_VPCI_DEVICE_PROPERTY_CODE;
1564
1565typedef struct WHV_VPCI_HARDWARE_IDS {
1566 UINT16 VendorID;
1567 UINT16 DeviceID;
1568 UINT8 RevisionID;
1569 UINT8 ProgIf;
1570 UINT8 SubClass;
1571 UINT8 BaseClass;
1572 UINT16 SubVendorID;
1573 UINT16 SubSystemID;
1574} WHV_VPCI_HARDWARE_IDS;
1575
1576C_ASSERT(sizeof(WHV_VPCI_HARDWARE_IDS) == 12);
1577
1578#define WHV_VPCI_TYPE0_BAR_COUNT 6
1579
1580typedef struct WHV_VPCI_PROBED_BARS {
1581 UINT32 Value[WHV_VPCI_TYPE0_BAR_COUNT];
1582} WHV_VPCI_PROBED_BARS;
1583
1584C_ASSERT(sizeof(WHV_VPCI_PROBED_BARS) == 24);
1585
1586typedef enum WHV_VPCI_MMIO_RANGE_FLAGS {
1587 WHvVpciMmioRangeFlagReadAccess = 0x00000001,
1588 WHvVpciMmioRangeFlagWriteAccess = 0x00000002
1589} WHV_VPCI_MMIO_RANGE_FLAGS;
1590
1591DEFINE_ENUM_FLAG_OPERATORS(WHV_VPCI_MMIO_RANGE_FLAGS);
1592
1593typedef enum WHV_VPCI_DEVICE_REGISTER_SPACE {
1594 WHvVpciConfigSpace = -1,
1595 WHvVpciBar0 = 0,
1596 WHvVpciBar1 = 1,
1597 WHvVpciBar2 = 2,
1598 WHvVpciBar3 = 3,
1599 WHvVpciBar4 = 4,
1600 WHvVpciBar5 = 5
1601} WHV_VPCI_DEVICE_REGISTER_SPACE;
1602
1603typedef struct WHV_VPCI_MMIO_MAPPING {
1604 WHV_VPCI_DEVICE_REGISTER_SPACE Location;
1605 WHV_VPCI_MMIO_RANGE_FLAGS Flags;
1606 UINT64 SizeInBytes;
1607 UINT64 OffsetInBytes;
1608 PVOID VirtualAddress;
1609} WHV_VPCI_MMIO_MAPPING;
1610
1611C_ASSERT(sizeof(WHV_VPCI_MMIO_MAPPING) == 32);
1612
1613typedef struct WHV_VPCI_DEVICE_REGISTER {
1614 WHV_VPCI_DEVICE_REGISTER_SPACE Location;
1615 UINT32 SizeInBytes;
1616 UINT64 OffsetInBytes;
1617} WHV_VPCI_DEVICE_REGISTER;
1618
1619C_ASSERT(sizeof(WHV_VPCI_DEVICE_REGISTER) == 16);
1620
1621typedef enum WHV_VPCI_INTERRUPT_TARGET_FLAGS {
1622 WHvVpciInterruptTargetFlagNone = 0x00000000,
1623 WHvVpciInterruptTargetFlagMulticast = 0x00000001
1624} WHV_VPCI_INTERRUPT_TARGET_FLAGS;
1625
1626DEFINE_ENUM_FLAG_OPERATORS(WHV_VPCI_INTERRUPT_TARGET_FLAGS);
1627
1628typedef struct WHV_VPCI_INTERRUPT_TARGET {
1629 UINT32 Vector;
1630 WHV_VPCI_INTERRUPT_TARGET_FLAGS Flags;
1631 UINT32 ProcessorCount;
1632 UINT32 Processors[ANYSIZE_ARRAY];
1633} WHV_VPCI_INTERRUPT_TARGET;
1634
1635C_ASSERT(sizeof(WHV_VPCI_INTERRUPT_TARGET) == 16);
1636
1637typedef enum WHV_TRIGGER_TYPE {
1638 WHvTriggerTypeInterrupt = 0,
1639 WHvTriggerTypeSynicEvent = 1,
1640 WHvTriggerTypeDeviceInterrupt = 2
1641} WHV_TRIGGER_TYPE;
1642
1643typedef struct WHV_TRIGGER_PARAMETERS {
1644 WHV_TRIGGER_TYPE TriggerType;
1645 UINT32 Reserved;
1646 __C89_NAMELESS union {
1647 WHV_INTERRUPT_CONTROL Interrupt;
1648 WHV_SYNIC_EVENT_PARAMETERS SynicEvent;
1649 __C89_NAMELESS struct {
1650 UINT64 LogicalDeviceId;
1651 UINT64 MsiAddress;
1652 UINT32 MsiData;
1653 UINT32 Reserved;
1654 } DeviceInterrupt;
1655 };
1656} WHV_TRIGGER_PARAMETERS;
1657
1658C_ASSERT(sizeof(WHV_TRIGGER_PARAMETERS) == 32);
1659
1660typedef PVOID WHV_TRIGGER_HANDLE;
1661
1662typedef enum WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE {
1663 WHvVirtualProcessorPropertyCodeNumaNode = 0x00000000
1664} WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE;
1665
1666typedef struct WHV_VIRTUAL_PROCESSOR_PROPERTY {
1667 WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE PropertyCode;
1668 UINT32 Reserved;
1669 __C89_NAMELESS union {
1670 USHORT NumaNode;
1671 UINT64 Padding;
1672 };
1673} WHV_VIRTUAL_PROCESSOR_PROPERTY;
1674
1675C_ASSERT(sizeof(WHV_VIRTUAL_PROCESSOR_PROPERTY) == 16);
1676
1677typedef enum WHV_NOTIFICATION_PORT_TYPE {
1678 WHvNotificationPortTypeEvent = 2,
1679 WHvNotificationPortTypeDoorbell = 4
1680} WHV_NOTIFICATION_PORT_TYPE;
1681
1682typedef struct WHV_NOTIFICATION_PORT_PARAMETERS {
1683 WHV_NOTIFICATION_PORT_TYPE NotificationPortType;
1684 UINT32 Reserved;
1685 __C89_NAMELESS union {
1686 WHV_DOORBELL_MATCH_DATA Doorbell;
1687 __C89_NAMELESS struct {
1688 UINT32 ConnectionId;
1689 } Event;
1690 };
1691} WHV_NOTIFICATION_PORT_PARAMETERS;
1692
1693C_ASSERT(sizeof(WHV_NOTIFICATION_PORT_PARAMETERS) == 32);
1694
1695typedef enum WHV_NOTIFICATION_PORT_PROPERTY_CODE {
1696 WHvNotificationPortPropertyPreferredTargetVp = 1,
1697 WHvNotificationPortPropertyPreferredTargetDuration = 5
1698} WHV_NOTIFICATION_PORT_PROPERTY_CODE;
1699
1700typedef UINT64 WHV_NOTIFICATION_PORT_PROPERTY;
1701
1702#define WHV_ANY_VP (0xFFFFFFFF)
1703
1704#define WHV_NOTIFICATION_PORT_PREFERRED_DURATION_MAX (0xFFFFFFFFFFFFFFFFULL)
1705
1706typedef PVOID WHV_NOTIFICATION_PORT_HANDLE;
1707
1708#define WHV_SYNIC_MESSAGE_SIZE 256
1709
10111710#endif /* _WINHVAPIDEFS_H_ */
lib/libc/include/any-windows-any/wininet.h+97-1
......@@ -61,6 +61,9 @@ extern "C" {
6161#define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x00000040
6262#define INTERNET_REQFLAG_NET_TIMEOUT 0x00000080
6363
64#define INTERNET_FLAG_IDN_DIRECT 0x00000001
65#define INTERNET_FLAG_IDN_PROXY 0x00000002
66
6467#define INTERNET_FLAG_RELOAD 0x80000000
6568
6669#define INTERNET_FLAG_RAW_DATA 0x40000000
......@@ -104,6 +107,7 @@ extern "C" {
104107#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY
105108
106109#define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP)
110#define SECURITY_IGNORE_ERROR_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_WEAK_SIGNATURE)
107111#define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD | INTERNET_FLAG_RAW_DATA | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_ASYNC | INTERNET_FLAG_PASSIVE | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_MAKE_PERSISTENT | INTERNET_FLAG_FROM_CACHE | INTERNET_FLAG_SECURE | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_READ_PREFETCH | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_CACHE_IF_NET_FAIL | SECURITY_INTERNET_MASK | INTERNET_FLAG_RESYNCHRONIZE | INTERNET_FLAG_HYPERLINK | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_CACHE_ASYNC | INTERNET_FLAG_FORMS_SUBMIT | INTERNET_FLAG_NEED_FILE | INTERNET_FLAG_RESTRICTED_ZONE | INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_FWD_BACK | INTERNET_FLAG_BGUPDATE)
108112
109113#define INTERNET_ERROR_MASK_INSERT_CDROM 0x1
......@@ -476,6 +480,7 @@ extern "C" {
476480#define INTERNET_OPTION_ERROR_MASK 62
477481#define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63
478482#define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64
483#define INTERNET_OPTION_HTTP_DECODING 65
479484#define INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO 67
480485#define INTERNET_OPTION_CODEPAGE 68
481486#define INTERNET_OPTION_CACHE_TIMESTAMPS 69
......@@ -507,11 +512,47 @@ extern "C" {
507512
508513#define INTERNET_OPTION_DATAFILE_EXT 96
509514
515#define INTERNET_OPTION_CODEPAGE_PATH 100
516#define INTERNET_OPTION_CODEPAGE_EXTRA 101
517#define INTERNET_OPTION_IDN 102
518#define INTERNET_OPTION_MAX_CONNS_PER_PROXY 103
519#define INTERNET_OPTION_SUPPRESS_SERVER_AUTH 104
520#define INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT 105
521
522#define INTERNET_OPTION_ENABLE_REDIRECT_CACHE_READ 122
523
524#define INTERNET_OPTION_COMPRESSED_CONTENT_LENGTH 147
525#define INTERNET_OPTION_ENABLE_HTTP_PROTOCOL 148
526#define INTERNET_OPTION_HTTP_PROTOCOL_USED 149
527
528#define INTERNET_OPTION_ENCODE_EXTRA 155
529
530#define INTERNET_OPTION_HSTS 157
531
532#define INTERNET_OPTION_ENTERPRISE_CONTEXT 159
533
534#define INTERNET_OPTION_CONNECTION_FILTER 162
535#define INTERNET_OPTION_REFERER_TOKEN_BINDING_HOSTNAME 163
536
537#define INTERNET_OPTION_TOKEN_BINDING_PUBLIC_KEY 181
538
539#define INTERNET_OPTION_COOKIES_SAME_SITE_LEVEL 187
540
510541#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
511542#define INTERNET_LAST_OPTION INTERNET_OPTION_DATAFILE_EXT
512543
513544#define INTERNET_PRIORITY_FOREGROUND 1000
514545
546#define HTTP_COOKIES_SAME_SITE_LEVEL_UNKNOWN 0x0
547#define HTTP_COOKIES_SAME_SITE_LEVEL_SAME_SITE 0x1
548#define HTTP_COOKIES_SAME_SITE_LEVEL_CROSS_SITE_LAX 0x2
549#define HTTP_COOKIES_SAME_SITE_LEVEL_CROSS_SITE 0x3
550
551#define HTTP_COOKIES_SAME_SITE_LEVEL_MAX HTTP_COOKIES_SAME_SITE_LEVEL_CROSS_SITE
552
553#define HTTP_PROTOCOL_FLAG_HTTP2 0x2
554#define HTTP_PROTOCOL_MASK HTTP_PROTOCOL_FLAG_HTTP2
555
515556#define INTERNET_HANDLE_TYPE_INTERNET 1
516557#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
517558#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
......@@ -530,6 +571,7 @@ extern "C" {
530571#define AUTH_FLAG_DISABLE_NEGOTIATE 0x00000001
531572#define AUTH_FLAG_ENABLE_NEGOTIATE 0x00000002
532573#define AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL 0x00000004
574#define AUTH_FLAG_DISABLE_SERVER_AUTH 0x00000008
533575
534576#define SECURITY_FLAG_SECURE 0x00000001
535577#define SECURITY_FLAG_STRENGTH_WEAK 0x10000000
......@@ -552,6 +594,7 @@ extern "C" {
552594#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
553595#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
554596#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
597#define SECURITY_FLAG_IGNORE_WEAK_SIGNATURE 0x00010000
555598
556599#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
557600#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
......@@ -561,6 +604,8 @@ extern "C" {
561604
562605#define SECURITY_SET_MASK (SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_CERT_CN_INVALID | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_WRONG_USAGE)
563606
607#define SECURITY_FLAG_OPT_IN_WEAK_SIGNATURE 0x00020000
608
564609#define AUTODIAL_MODE_NEVER 1
565610#define AUTODIAL_MODE_ALWAYS 2
566611#define AUTODIAL_MODE_NO_NETWORK_PRESENT 4
......@@ -1035,6 +1080,33 @@ extern "C" {
10351080#define HTTP_QUERY_PASSPORT_URLS 77
10361081#define HTTP_QUERY_PASSPORT_CONFIG 78
10371082
1083#define HTTP_QUERY_X_CONTENT_TYPE_OPTIONS 79
1084#define HTTP_QUERY_P3P 80
1085#define HTTP_QUERY_X_P2P_PEERDIST 81
1086#define HTTP_QUERY_TRANSLATE 82
1087#define HTTP_QUERY_X_UA_COMPATIBLE 83
1088#define HTTP_QUERY_DEFAULT_STYLE 84
1089#define HTTP_QUERY_X_FRAME_OPTIONS 85
1090#define HTTP_QUERY_X_XSS_PROTECTION 86
1091
1092#define HTTP_QUERY_SET_COOKIE2 87
1093
1094#define HTTP_QUERY_DO_NOT_TRACK 88
1095
1096#define HTTP_QUERY_KEEP_ALIVE 89
1097
1098#define HTTP_QUERY_HTTP2_SETTINGS 90
1099
1100#define HTTP_QUERY_STRICT_TRANSPORT_SECURITY 91
1101
1102#define HTTP_QUERY_TOKEN_BINDING 92
1103
1104#define HTTP_QUERY_INCLUDE_REFERRED_TOKEN_BINDING_ID 93
1105#define HTTP_QUERY_INCLUDE_REFERER_TOKEN_BINDING_ID HTTP_QUERY_INCLUDE_REFERRED_TOKEN_BINDING_ID
1106
1107#define HTTP_QUERY_PUBLIC_KEY_PINS 94
1108#define HTTP_QUERY_PUBLIC_KEY_PINS_REPORT_ONLY 95
1109
10381110#define HTTP_QUERY_MAX 78
10391111#define HTTP_QUERY_CUSTOM 65535
10401112
......@@ -1042,7 +1114,9 @@ extern "C" {
10421114#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000
10431115#define HTTP_QUERY_FLAG_NUMBER 0x20000000
10441116#define HTTP_QUERY_FLAG_COALESCE 0x10000000
1045#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS | HTTP_QUERY_FLAG_SYSTEMTIME | HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_FLAG_COALESCE)
1117#define HTTP_QUERY_FLAG_NUMBER64 0x08000000
1118#define HTTP_QUERY_FLAG_COALESCE_WITH_COMMA 0x04000000
1119#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS | HTTP_QUERY_FLAG_SYSTEMTIME | HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_FLAG_COALESCE | HTTP_QUERY_FLAG_NUMBER64 | HTTP_QUERY_FLAG_COALESCE_WITH_COMMA)
10461120#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)
10471121
10481122#define HTTP_STATUS_CONTINUE 100
......@@ -1063,6 +1137,7 @@ extern "C" {
10631137#define HTTP_STATUS_NOT_MODIFIED 304
10641138#define HTTP_STATUS_USE_PROXY 305
10651139#define HTTP_STATUS_REDIRECT_KEEP_VERB 307
1140#define HTTP_STATUS_PERMANENT_REDIRECT 308
10661141
10671142#define HTTP_STATUS_BAD_REQUEST 400
10681143#define HTTP_STATUS_DENIED 401
......@@ -1080,6 +1155,7 @@ extern "C" {
10801155#define HTTP_STATUS_REQUEST_TOO_LARGE 413
10811156#define HTTP_STATUS_URI_TOO_LONG 414
10821157#define HTTP_STATUS_UNSUPPORTED_MEDIA 415
1158#define HTTP_STATUS_MISDIRECTED_REQUEST 421
10831159#define HTTP_STATUS_RETRY_WITH 449
10841160
10851161#define HTTP_STATUS_SERVER_ERROR 500
......@@ -1133,6 +1209,16 @@ extern "C" {
11331209 BOOLAPI HttpQueryInfoA(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);
11341210 BOOLAPI HttpQueryInfoW(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);
11351211
1212 typedef struct {
1213 PWSTR pwszName;
1214 PWSTR pwszValue;
1215 PWSTR pwszDomain;
1216 PWSTR pwszPath;
1217 DWORD dwFlags;
1218 FILETIME ftExpires;
1219 WINBOOL fExpiresSet;
1220 } INTERNET_COOKIE2;
1221
11361222#define INTERNET_COOKIE_IS_SECURE 0x01
11371223#define INTERNET_COOKIE_IS_SESSION 0x02
11381224
......@@ -1146,6 +1232,16 @@ extern "C" {
11461232#define INTERNET_COOKIE_IE6 0x400
11471233#define INTERNET_COOKIE_IS_LEGACY 0x800
11481234
1235#define INTERNET_COOKIE_NON_SCRIPT 0x00001000
1236#define INTERNET_COOKIE_HTTPONLY 0x00002000
1237#define INTERNET_COOKIE_HOST_ONLY 0x00004000
1238#define INTERNET_COOKIE_APPLY_HOST_ONLY 0x00008000
1239
1240#define INTERNET_COOKIE_HOST_ONLY_APPLIED 0x00080000
1241#define INTERNET_COOKIE_SAME_SITE_STRICT 0x00100000
1242#define INTERNET_COOKIE_SAME_SITE_LAX 0x00200000
1243#define INTERNET_COOKIE_SAME_SITE_LEVEL_CROSS_SITE 0x00400000
1244
11491245#define InternetSetCookie __MINGW_NAME_AW(InternetSetCookie)
11501246#define InternetGetCookie __MINGW_NAME_AW(InternetGetCookie)
11511247#define InternetSetCookieEx __MINGW_NAME_AW(InternetSetCookieEx)
lib/libc/include/any-windows-any/winineti.h+1
......@@ -129,6 +129,7 @@ WINBOOL WINAPI GetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,LPDWORD,
129129#define GetUrlCacheConfigInfo __MINGW_NAME_AW(GetUrlCacheConfigInfo)
130130WINBOOL WINAPI IncrementUrlCacheHeaderData(DWORD,LPDWORD);
131131WINBOOL WINAPI InternetQueryFortezzaStatus(DWORD*,DWORD_PTR);
132WINBOOL WINAPI IsHostInProxyBypassList(INTERNET_SCHEME,LPCSTR,DWORD);
132133WINBOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*);
133134WINBOOL WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*);
134135#define IsUrlCacheEntryExpired __MINGW_NAME_AW(IsUrlCacheEntryExpired)
lib/libc/include/any-windows-any/winioctl.h+461-14
......@@ -19,7 +19,17 @@ DEFINE_GUID(GUID_DEVINTERFACE_MEDIUMCHANGER,0x53f56310,0xb6bf,0x11d0,0x94,0xf2,0
1919DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,0x53f56311,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
2020DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,0x53f56312,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
2121DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,0x2accfe60,0xc130,0x11d2,0xb0,0x82,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
22DEFINE_GUID(GUID_DEVINTERFACE_VMLUN,0x6f416619,0x9f29,0x42a5,0xb2,0x0b,0x37,0xe2,0x19,0xca,0x02,0xb0);
23DEFINE_GUID(GUID_DEVINTERFACE_SES,0x1790c9ec,0x47d5,0x4df3,0xb5,0xaf,0x9a,0xdf,0x3c,0xf2,0x3e,0x48);
24DEFINE_GUID(GUID_DEVINTERFACE_ZNSDISK,0xb87941c5,0xffdb,0x43c7,0xb6,0xb1,0x20,0xb6,0x32,0xf0,0xb1,0x09);
25#define WDI_STORAGE_PREDICT_FAILURE_DPS_GUID {0xe9f2d03a,0x747c,0x41c2,{0xbb,0x9a,0x02,0xc6,0x2b,0x6d,0x5f,0xcb}};
26
27DEFINE_GUID(GUID_DEVINTERFACE_SERVICE_VOLUME,0x6ead3d82,0x25ec,0x46bc,0xb7,0xfd,0xc1,0xf0,0xdf,0x8f,0x50,0x37);
2228DEFINE_GUID(GUID_DEVINTERFACE_HIDDEN_VOLUME,0x7f108a28,0x9833,0x4b3b,0xb7,0x80,0x2c,0x6b,0x5f,0xa5,0xc0,0x62);
29DEFINE_GUID(GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB,0x27447c21,0xbcc3,0x4d07,0xa0,0x5b,0xa3,0x39,0x5b,0xb4,0xee,0xe7);
30DEFINE_GUID(GUID_DEVINTERFACE_SCM_PHYSICAL_DEVICE,0x4283609d,0x4dc2,0x43be,0xbb,0xb4,0x4f,0x15,0xdf,0xce,0x2c,0x61);
31DEFINE_GUID(GUID_SCM_PD_HEALTH_NOTIFICATION,0x9da2d386,0x72f5,0x4ee3,0x81,0x55,0xec,0xa0,0x67,0x8e,0x3b,0x6);
32DEFINE_GUID(GUID_SCM_PD_PASSTHROUGH_INVDIMM,0x4309ac30,0x0d11,0x11e4,0x91,0x91,0x08,0x00,0x20,0x0c,0x9a,0x66);
2333DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,0x86e0d1e0,0x8089,0x11d0,0x9c,0xe4,0x08,0x00,0x3e,0x30,0x1f,0x73);
2434DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18);
2535
......@@ -38,6 +48,23 @@ DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0x
3848#define GUID_SERENUM_BUS_ENUMERATOR GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR
3949#endif /* DEFINE_GUID */
4050
51#ifdef DEFINE_DEVPROPKEY
52
53#ifndef __WRAPPED__
54#define __WRAPPED__
55#endif
56
57DEFINE_DEVPROPKEY(DEVPKEY_Storage_Portable,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,2);
58DEFINE_DEVPROPKEY(DEVPKEY_Storage_Removable_Media,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,3);
59DEFINE_DEVPROPKEY(DEVPKEY_Storage_System_Critical,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,4);
60DEFINE_DEVPROPKEY(DEVPKEY_Storage_Disk_Number,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,5);
61DEFINE_DEVPROPKEY(DEVPKEY_Storage_Partition_Number,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,6);
62DEFINE_DEVPROPKEY(DEVPKEY_Storage_Mbr_Type,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,7);
63DEFINE_DEVPROPKEY(DEVPKEY_Storage_Gpt_Type,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,8);
64DEFINE_DEVPROPKEY(DEVPKEY_Storage_Gpt_Name,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,9);
65
66#endif /* DEFINE_DEVPROPKEY */
67
4168#ifndef _WINIOCTL_
4269#define _WINIOCTL_
4370
......@@ -133,10 +160,15 @@ DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0x
133160#define FILE_DEVICE_HOLOGRAPHIC 0x0000005b
134161#define FILE_DEVICE_SDFXHCI 0x0000005c
135162#define FILE_DEVICE_UCMUCSI 0x0000005d
163#define FILE_DEVICE_PRM 0x0000005e
164#define FILE_DEVICE_EVENT_COLLECTOR 0x0000005f
165#define FILE_DEVICE_USB4 0x00000060
166#define FILE_DEVICE_SOUNDWIRE 0x00000061
136167
137168#define CTL_CODE(DeviceType,Function,Method,Access) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
138169
139170#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((DWORD)(ctrlCode & 0xffff0000)) >> 16)
171#define METHOD_FROM_CTL_CODE(ctrlCode) ((DWORD)(ctrlCode & 3))
140172
141173#define METHOD_BUFFERED 0
142174#define METHOD_IN_DIRECT 1
......@@ -189,17 +221,59 @@ extern "C" {
189221#define IOCTL_STORAGE_PERSISTENT_RESERVE_OUT CTL_CODE(IOCTL_STORAGE_BASE, 0x0407, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
190222
191223#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE,0x0420,METHOD_BUFFERED,FILE_ANY_ACCESS)
224#define IOCTL_STORAGE_GET_DEVICE_NUMBER_EX CTL_CODE(IOCTL_STORAGE_BASE,0x0421,METHOD_BUFFERED,FILE_ANY_ACCESS)
192225#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE,0x0440,METHOD_BUFFERED,FILE_ANY_ACCESS)
226#define IOCTL_STORAGE_FAILURE_PREDICTION_CONFIG CTL_CODE(IOCTL_STORAGE_BASE,0x0441,METHOD_BUFFERED,FILE_ANY_ACCESS)
227#define IOCTL_STORAGE_GET_COUNTERS CTL_CODE(IOCTL_STORAGE_BASE,0x442,METHOD_BUFFERED,FILE_ANY_ACCESS)
193228#define IOCTL_STORAGE_READ_CAPACITY CTL_CODE(IOCTL_STORAGE_BASE,0x0450,METHOD_BUFFERED,FILE_READ_ACCESS)
194229
230#define IOCTL_STORAGE_GET_DEVICE_TELEMETRY CTL_CODE(IOCTL_STORAGE_BASE, 0x0470, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
231#define IOCTL_STORAGE_DEVICE_TELEMETRY_NOTIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0471, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
232#define IOCTL_STORAGE_DEVICE_TELEMETRY_QUERY_CAPS CTL_CODE(IOCTL_STORAGE_BASE, 0x0472, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
233#define IOCTL_STORAGE_GET_DEVICE_TELEMETRY_RAW CTL_CODE(IOCTL_STORAGE_BASE, 0x0473, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
234
235#define IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD CTL_CODE(IOCTL_STORAGE_BASE, 0x0480, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
236
237#define IOCTL_STORAGE_PROTOCOL_COMMAND CTL_CODE(IOCTL_STORAGE_BASE, 0x04F0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
238
239#define IOCTL_STORAGE_SET_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x04FF, METHOD_BUFFERED, FILE_WRITE_ACCESS)
240#define IOCTL_STORAGE_QUERY_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
241#define IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES CTL_CODE(IOCTL_STORAGE_BASE, 0x0501, METHOD_BUFFERED, FILE_WRITE_ACCESS)
242#define IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES CTL_CODE(IOCTL_STORAGE_BASE, 0x0502, METHOD_BUFFERED, FILE_READ_ACCESS)
243
244#define IOCTL_STORAGE_REINITIALIZE_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0590, METHOD_BUFFERED, FILE_WRITE_ACCESS)
245
195246#define IOCTL_STORAGE_GET_BC_PROPERTIES CTL_CODE(IOCTL_STORAGE_BASE, 0x0600, METHOD_BUFFERED, FILE_READ_ACCESS)
196247#define IOCTL_STORAGE_ALLOCATE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0601, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
197248#define IOCTL_STORAGE_FREE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0602, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
249
198250#define IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT CTL_CODE(IOCTL_STORAGE_BASE, 0x0620, METHOD_BUFFERED, FILE_ANY_ACCESS)
199251
252#define IOCTL_STORAGE_START_DATA_INTEGRITY_CHECK CTL_CODE(IOCTL_STORAGE_BASE, 0x0621, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
253#define IOCTL_STORAGE_STOP_DATA_INTEGRITY_CHECK CTL_CODE(IOCTL_STORAGE_BASE, 0x0622, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
254
200255#define OBSOLETE_IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE,0x0400,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
201256#define OBSOLETE_IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE,0x0401,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
202257
258#define IOCTL_STORAGE_FIRMWARE_GET_INFO CTL_CODE(IOCTL_STORAGE_BASE, 0x0700, METHOD_BUFFERED, FILE_ANY_ACCESS)
259#define IOCTL_STORAGE_FIRMWARE_DOWNLOAD CTL_CODE(IOCTL_STORAGE_BASE, 0x0701, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
260#define IOCTL_STORAGE_FIRMWARE_ACTIVATE CTL_CODE(IOCTL_STORAGE_BASE, 0x0702, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
261
262#define IOCTL_STORAGE_ENABLE_IDLE_POWER CTL_CODE(IOCTL_STORAGE_BASE, 0x0720, METHOD_BUFFERED, FILE_ANY_ACCESS)
263#define IOCTL_STORAGE_GET_IDLE_POWERUP_REASON CTL_CODE(IOCTL_STORAGE_BASE, 0x0721, METHOD_BUFFERED, FILE_ANY_ACCESS)
264
265#define IOCTL_STORAGE_POWER_ACTIVE CTL_CODE(IOCTL_STORAGE_BASE, 0x0722, METHOD_BUFFERED, FILE_ANY_ACCESS)
266#define IOCTL_STORAGE_POWER_IDLE CTL_CODE(IOCTL_STORAGE_BASE, 0x0723, METHOD_BUFFERED, FILE_ANY_ACCESS)
267
268#define IOCTL_STORAGE_EVENT_NOTIFICATION CTL_CODE(IOCTL_STORAGE_BASE, 0x0724, METHOD_BUFFERED, FILE_ANY_ACCESS)
269#define IOCTL_STORAGE_DEVICE_POWER_CAP CTL_CODE(IOCTL_STORAGE_BASE, 0x0725, METHOD_BUFFERED, FILE_ANY_ACCESS)
270#define IOCTL_STORAGE_RPMB_COMMAND CTL_CODE(IOCTL_STORAGE_BASE, 0x0726, METHOD_BUFFERED, FILE_ANY_ACCESS)
271#define IOCTL_STORAGE_ATTRIBUTE_MANAGEMENT CTL_CODE(IOCTL_STORAGE_BASE, 0x0727, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
272#define IOCTL_STORAGE_DIAGNOSTIC CTL_CODE(IOCTL_STORAGE_BASE, 0x0728, METHOD_BUFFERED, FILE_ANY_ACCESS)
273#define IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS CTL_CODE(IOCTL_STORAGE_BASE, 0x0729, METHOD_BUFFERED, FILE_ANY_ACCESS)
274#define IOCTL_STORAGE_REMOVE_ELEMENT_AND_TRUNCATE CTL_CODE(IOCTL_STORAGE_BASE, 0x0730, METHOD_BUFFERED, FILE_ANY_ACCESS)
275#define IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG CTL_CODE(IOCTL_STORAGE_BASE, 0x0731, METHOD_BUFFERED, FILE_ANY_ACCESS)
276
203277typedef struct _STORAGE_READ_CAPACITY {
204278 ULONG Version;
205279 ULONG Size;
......@@ -320,6 +394,27 @@ typedef struct _STORAGE_READ_CAPACITY {
320394 DWORD PartitionNumber;
321395 } STORAGE_DEVICE_NUMBER,*PSTORAGE_DEVICE_NUMBER;
322396
397 typedef struct _STORAGE_DEVICE_NUMBERS {
398 DWORD Version;
399 DWORD Size;
400 DWORD NumberOfDevices;
401 STORAGE_DEVICE_NUMBER Devices[ANYSIZE_ARRAY];
402 } STORAGE_DEVICE_NUMBERS,*PSTORAGE_DEVICE_NUMBERS;
403
404#define STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT 0x1
405#define STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID 0x2
406#define STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID 0x4
407
408 typedef struct _STORAGE_DEVICE_NUMBER_EX {
409 DWORD Version;
410 DWORD Size;
411 DWORD Flags;
412 DEVICE_TYPE DeviceType;
413 DWORD DeviceNumber;
414 GUID DeviceGuid;
415 DWORD PartitionNumber;
416 } STORAGE_DEVICE_NUMBER_EX,*PSTORAGE_DEVICE_NUMBER_EX;
417
323418 typedef struct _STORAGE_BUS_RESET_REQUEST {
324419 BYTE PathId;
325420 } STORAGE_BUS_RESET_REQUEST,*PSTORAGE_BUS_RESET_REQUEST;
......@@ -368,7 +463,7 @@ typedef struct _STORAGE_READ_CAPACITY {
368463#define TAPE_RESET_STATISTICS __MSABI_LONG(2)
369464
370465 typedef enum _STORAGE_MEDIA_TYPE {
371 DDS_4mm = 0x20,
466 DDS_4mm = 0x20,
372467 MiniQic,
373468 Travan,
374469 QIC,
......@@ -470,6 +565,8 @@ typedef struct _STORAGE_READ_CAPACITY {
470565 BusTypeMaxReserved = 0x7F
471566 } STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
472567
568#define SupportsDeviceSharing(BusType) ((BusType == BusTypeScsi) || (BusType == BusTypeFibre) || (BusType == BusTypeiScsi) || (BusType == BusTypeSas) || (BusType == BusTypeSpaces))
569
473570 typedef struct _DEVICE_MEDIA_INFO {
474571 union {
475572 struct {
......@@ -516,6 +613,16 @@ typedef struct _STORAGE_READ_CAPACITY {
516613 BYTE VendorSpecific[512];
517614 } STORAGE_PREDICT_FAILURE,*PSTORAGE_PREDICT_FAILURE;
518615
616 typedef struct _STORAGE_FAILURE_PREDICTION_CONFIG {
617 DWORD Version;
618 DWORD Size;
619 BOOLEAN Set;
620 BOOLEAN Enabled;
621 WORD Reserved;
622 } STORAGE_FAILURE_PREDICTION_CONFIG,*PSTORAGE_FAILURE_PREDICTION_CONFIG;
623
624#define STORAGE_FAILURE_PREDICTION_CONFIG_V1 1
625
519626#ifdef __cplusplus
520627}
521628#endif
......@@ -705,6 +812,9 @@ typedef struct _PARTITION_INFORMATION_MBR {
705812 BOOLEAN BootIndicator;
706813 BOOLEAN RecognizedPartition;
707814 DWORD HiddenSectors;
815#if NTDDI_VERSION > NTDDI_WINBLUE
816 GUID PartitionId;
817#endif
708818} PARTITION_INFORMATION_MBR,*PPARTITION_INFORMATION_MBR;
709819
710820typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
......@@ -745,6 +855,9 @@ typedef struct _PARTITION_INFORMATION_EX {
745855 LARGE_INTEGER PartitionLength;
746856 DWORD PartitionNumber;
747857 BOOLEAN RewritePartition;
858#if NTDDI_VERSION >= NTDDI_WIN10_RS3
859 BOOLEAN IsServicePartition;
860#endif
748861 __C89_NAMELESS union {
749862 PARTITION_INFORMATION_MBR Mbr;
750863 PARTITION_INFORMATION_GPT Gpt;
......@@ -1865,16 +1978,42 @@ typedef struct _STORAGE_DESCRIPTOR_HEADER {
18651978} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;
18661979
18671980typedef enum _STORAGE_PROPERTY_ID {
1868 StorageDeviceProperty = 0,
1869 StorageAdapterProperty = 1,
1870 StorageDeviceIdProperty = 2,
1871 StorageDeviceUniqueIdProperty = 3,
1872 StorageDeviceWriteCacheProperty = 4,
1873 StorageMiniportProperty = 5,
1874 StorageAccessAlignmentProperty = 6,
1875 StorageDeviceSeekPenaltyProperty = 7,
1876 StorageDeviceTrimProperty = 8,
1877 StorageDeviceWriteAggregationProperty = 9
1981 StorageDeviceProperty = 0,
1982 StorageAdapterProperty,
1983 StorageDeviceIdProperty,
1984 StorageDeviceUniqueIdProperty,
1985 StorageDeviceWriteCacheProperty,
1986 StorageMiniportProperty,
1987 StorageAccessAlignmentProperty,
1988 StorageDeviceSeekPenaltyProperty,
1989 StorageDeviceTrimProperty,
1990 StorageDeviceWriteAggregationProperty,
1991 StorageDeviceDeviceTelemetryProperty,
1992 StorageDeviceLBProvisioningProperty,
1993 StorageDevicePowerProperty,
1994 StorageDeviceCopyOffloadProperty,
1995 StorageDeviceResiliencyProperty,
1996 StorageDeviceMediumProductType,
1997 StorageAdapterRpmbProperty,
1998 StorageAdapterCryptoProperty,
1999 StorageDeviceIoCapabilityProperty = 48,
2000 StorageAdapterProtocolSpecificProperty,
2001 StorageDeviceProtocolSpecificProperty,
2002 StorageAdapterTemperatureProperty,
2003 StorageDeviceTemperatureProperty,
2004 StorageAdapterPhysicalTopologyProperty,
2005 StorageDevicePhysicalTopologyProperty,
2006 StorageDeviceAttributesProperty,
2007 StorageDeviceManagementStatus,
2008 StorageAdapterSerialNumberProperty,
2009 StorageDeviceLocationProperty,
2010 StorageDeviceNumaProperty,
2011 StorageDeviceZonedDeviceProperty,
2012 StorageDeviceUnsafeShutdownCount,
2013 StorageDeviceEnduranceProperty,
2014 StorageDeviceLedStateProperty,
2015 StorageDeviceSelfEncryptionProperty = 64,
2016 StorageFruIdProperty
18782017} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
18792018
18802019typedef enum _STORAGE_QUERY_TYPE {
......@@ -1884,12 +2023,24 @@ typedef enum _STORAGE_QUERY_TYPE {
18842023 PropertyQueryMaxDefined = 3
18852024} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;
18862025
2026typedef enum _STORAGE_SET_TYPE {
2027 PropertyStandardSet = 0,
2028 PropertyExistsSet,
2029 PropertySetMaxDefined
2030} STORAGE_SET_TYPE, *PSTORAGE_SET_TYPE;
2031
18872032typedef struct _STORAGE_PROPERTY_QUERY {
18882033 STORAGE_PROPERTY_ID PropertyId;
18892034 STORAGE_QUERY_TYPE QueryType;
18902035 BYTE AdditionalParameters[1];
18912036} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
18922037
2038typedef struct _STORAGE_PROPERTY_SET {
2039 STORAGE_PROPERTY_ID PropertyId;
2040 STORAGE_SET_TYPE SetType;
2041 BYTE AdditionalParameters[1];
2042} STORAGE_PROPERTY_SET, *PSTORAGE_PROPERTY_SET;
2043
18932044typedef struct _STORAGE_DEVICE_DESCRIPTOR {
18942045 DWORD Version;
18952046 DWORD Size;
......@@ -1919,8 +2070,30 @@ typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
19192070 BYTE BusType;
19202071 WORD BusMajorVersion;
19212072 WORD BusMinorVersion;
2073#if NTDDI_VERSION >= NTDDI_WIN8
2074 BYTE SrbType;
2075 BYTE AddressType;
2076#endif
19222077} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
19232078
2079#if NTDDI_VERSION >= NTDDI_WIN8
2080
2081#define NO_SRBTYPE_ADAPTER_DESCRIPTOR_SIZE UFIELD_OFFSET(STORAGE_ADAPTER_DESCRIPTOR, SrbType)
2082
2083#ifndef SRB_TYPE_SCSI_REQUEST_BLOCK
2084#define SRB_TYPE_SCSI_REQUEST_BLOCK 0
2085#endif
2086
2087#ifndef SRB_TYPE_STORAGE_REQUEST_BLOCK
2088#define SRB_TYPE_STORAGE_REQUEST_BLOCK 1
2089#endif
2090
2091#ifndef STORAGE_ADDRESS_TYPE_BTL8
2092#define STORAGE_ADDRESS_TYPE_BTL8 0
2093#endif
2094
2095#endif
2096
19242097typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR {
19252098 DWORD Version;
19262099 DWORD Size;
......@@ -2302,9 +2475,14 @@ typedef struct _STORAGE_WRITE_CACHE_PROPERTY {
23022475} STORAGE_WRITE_CACHE_PROPERTY, *PSTORAGE_WRITE_CACHE_PROPERTY;
23032476
23042477typedef enum _STORAGE_PORT_CODE_SET {
2305 StoragePortCodeSetReserved = 0,
2306 StoragePortCodeSetStorport = 1,
2307 StoragePortCodeSetSCSIport = 2
2478 StoragePortCodeSetReserved = 0,
2479 StoragePortCodeSetStorport = 1,
2480 StoragePortCodeSetSCSIport = 2,
2481 StoragePortCodeSetSpaceport = 3,
2482 StoragePortCodeSetATAport = 4,
2483 StoragePortCodeSetUSBport = 5,
2484 StoragePortCodeSetSBP2port = 6,
2485 StoragePortCodeSetSDport = 7
23082486} STORAGE_PORT_CODE_SET, *PSTORAGE_PORT_CODE_SET;
23092487
23102488typedef struct _STORAGE_MINIPORT_DESCRIPTOR {
......@@ -2366,6 +2544,13 @@ typedef struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR {
23662544 DWORD BytesPerPhysicalSector;
23672545 DWORD BytesOffsetForSectorAlignment;
23682546} STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR, *PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR;
2547
2548typedef struct _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR {
2549 DWORD Version;
2550 DWORD Size;
2551 DWORD MediumProductType;
2552} STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR, *PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR;
2553
23692554#endif /*(_WIN32_WINNT >= 0x0600)*/
23702555
23712556typedef struct _DEVICE_SEEK_PENALTY_DESCRIPTOR {
......@@ -2386,6 +2571,268 @@ typedef struct _DEVICE_TRIM_DESCRIPTOR {
23862571 BOOLEAN TrimEnabled;
23872572} DEVICE_TRIM_DESCRIPTOR, *PDEVICE_TRIM_DESCRIPTOR;
23882573
2574typedef struct _DEVICE_LB_PROVISIONING_DESCRIPTOR {
2575 DWORD Version;
2576 DWORD Size;
2577 BYTE ThinProvisioningEnabled : 1;
2578 BYTE ThinProvisioningReadZeros : 1;
2579 BYTE AnchorSupported : 3;
2580 BYTE UnmapGranularityAlignmentValid : 1;
2581 BYTE GetFreeSpaceSupported : 1;
2582 BYTE MapSupported : 1;
2583 BYTE Reserved1[7];
2584 DWORDLONG OptimalUnmapGranularity;
2585 DWORDLONG UnmapGranularityAlignment;
2586#if NTDDI_VERSION >= NTDDI_WINBLUE
2587 DWORD MaxUnmapLbaCount;
2588 DWORD MaxUnmapBlockDescriptorCount;
2589#endif
2590} DEVICE_LB_PROVISIONING_DESCRIPTOR, *PDEVICE_LB_PROVISIONING_DESCRIPTOR;
2591
2592#define DEVICE_LB_PROVISIONING_DESCRIPTOR_V1_SIZE RTL_SIZEOF_THROUGH_FIELD(DEVICE_LB_PROVISIONING_DESCRIPTOR, UnmapGranularityAlignment)
2593
2594typedef struct _STORAGE_LB_PROVISIONING_MAP_RESOURCES {
2595 DWORD Size;
2596 DWORD Version;
2597 BYTE AvailableMappingResourcesValid : 1;
2598 BYTE UsedMappingResourcesValid : 1;
2599 BYTE Reserved0 : 6;
2600 BYTE Reserved1[3];
2601 BYTE AvailableMappingResourcesScope : 2;
2602 BYTE UsedMappingResourcesScope : 2;
2603 BYTE Reserved2 : 4;
2604 BYTE Reserved3[3];
2605 DWORDLONG AvailableMappingResources;
2606 DWORDLONG UsedMappingResources;
2607} STORAGE_LB_PROVISIONING_MAP_RESOURCES, *PSTORAGE_LB_PROVISIONING_MAP_RESOURCES;
2608
2609typedef struct _DEVICE_POWER_DESCRIPTOR {
2610 DWORD Version;
2611 DWORD Size;
2612 BOOLEAN DeviceAttentionSupported;
2613 BOOLEAN AsynchronousNotificationSupported;
2614 BOOLEAN IdlePowerManagementEnabled;
2615 BOOLEAN D3ColdEnabled;
2616 BOOLEAN D3ColdSupported;
2617 BOOLEAN NoVerifyDuringIdlePower;
2618 BYTE Reserved[2];
2619 DWORD IdleTimeoutInMS;
2620} DEVICE_POWER_DESCRIPTOR, *PDEVICE_POWER_DESCRIPTOR;
2621
2622typedef struct _DEVICE_COPY_OFFLOAD_DESCRIPTOR {
2623 DWORD Version;
2624 DWORD Size;
2625 DWORD MaximumTokenLifetime;
2626 DWORD DefaultTokenLifetime;
2627 DWORDLONG MaximumTransferSize;
2628 DWORDLONG OptimalTransferCount;
2629 DWORD MaximumDataDescriptors;
2630 DWORD MaximumTransferLengthPerDescriptor;
2631 DWORD OptimalTransferLengthPerDescriptor;
2632 WORD OptimalTransferLengthGranularity;
2633 BYTE Reserved[2];
2634} DEVICE_COPY_OFFLOAD_DESCRIPTOR, *PDEVICE_COPY_OFFLOAD_DESCRIPTOR;
2635
2636typedef struct _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR {
2637 DWORD Version;
2638 DWORD Size;
2639 DWORD NameOffset;
2640 DWORD NumberOfLogicalCopies;
2641 DWORD NumberOfPhysicalCopies;
2642 DWORD PhysicalDiskRedundancy;
2643 DWORD NumberOfColumns;
2644 DWORD Interleave;
2645} STORAGE_DEVICE_RESILIENCY_DESCRIPTOR, *PSTORAGE_DEVICE_RESILIENCY_DESCRIPTOR;
2646
2647typedef enum _STORAGE_RPMB_FRAME_TYPE {
2648 StorageRpmbFrameTypeUnknown = 0,
2649 StorageRpmbFrameTypeStandard,
2650 StorageRpmbFrameTypeMax
2651} STORAGE_RPMB_FRAME_TYPE, *PSTORAGE_RPMB_FRAME_TYPE;
2652
2653#define STORAGE_RPMB_DESCRIPTOR_VERSION_1 1
2654
2655#define STORAGE_RPMB_MINIMUM_RELIABLE_WRITE_SIZE 512
2656
2657typedef struct _STORAGE_RPMB_DESCRIPTOR {
2658 DWORD Version;
2659 DWORD Size;
2660 DWORD SizeInBytes;
2661 DWORD MaxReliableWriteSizeInBytes;
2662 STORAGE_RPMB_FRAME_TYPE FrameFormat;
2663} STORAGE_RPMB_DESCRIPTOR, *PSTORAGE_RPMB_DESCRIPTOR;
2664
2665typedef enum _STORAGE_CRYPTO_ALGORITHM_ID {
2666 StorageCryptoAlgorithmUnknown = 0,
2667 StorageCryptoAlgorithmXTSAES = 1,
2668 StorageCryptoAlgorithmBitlockerAESCBC,
2669 StorageCryptoAlgorithmAESECB,
2670 StorageCryptoAlgorithmESSIVAESCBC,
2671 StorageCryptoAlgorithmMax
2672} STORAGE_CRYPTO_ALGORITHM_ID, *PSTORAGE_CRYPTO_ALGORITHM_ID;
2673
2674typedef enum _STORAGE_CRYPTO_KEY_SIZE {
2675 StorageCryptoKeySizeUnknown = 0,
2676 StorageCryptoKeySize128Bits = 1,
2677 StorageCryptoKeySize192Bits,
2678 StorageCryptoKeySize256Bits,
2679 StorageCryptoKeySize512Bits
2680} STORAGE_CRYPTO_KEY_SIZE, *PSTORAGE_CRYPTO_KEY_SIZE;
2681
2682#define STORAGE_CRYPTO_CAPABILITY_VERSION_1 1
2683
2684typedef struct _STORAGE_CRYPTO_CAPABILITY {
2685 DWORD Version;
2686 DWORD Size;
2687 DWORD CryptoCapabilityIndex;
2688 STORAGE_CRYPTO_ALGORITHM_ID AlgorithmId;
2689 STORAGE_CRYPTO_KEY_SIZE KeySize;
2690 DWORD DataUnitSizeBitmask;
2691} STORAGE_CRYPTO_CAPABILITY, *PSTORAGE_CRYPTO_CAPABILITY;
2692
2693#define STORAGE_CRYPTO_DESCRIPTOR_VERSION_1 1
2694
2695typedef struct _STORAGE_CRYPTO_DESCRIPTOR {
2696 DWORD Version;
2697 DWORD Size;
2698 DWORD NumKeysSupported;
2699 DWORD NumCryptoCapabilities;
2700 STORAGE_CRYPTO_CAPABILITY CryptoCapabilities[ANYSIZE_ARRAY];
2701} STORAGE_CRYPTO_DESCRIPTOR, *PSTORAGE_CRYPTO_DESCRIPTOR;
2702
2703#define STORAGE_TIER_NAME_LENGTH (256)
2704#define STORAGE_TIER_DESCRIPTION_LENGTH (512)
2705
2706#define STORAGE_TIER_FLAG_NO_SEEK_PENALTY (0x00020000)
2707#define STORAGE_TIER_FLAG_WRITE_BACK_CACHE (0x00200000)
2708#define STORAGE_TIER_FLAG_READ_CACHE (0x00400000)
2709#define STORAGE_TIER_FLAG_PARITY (0x00800000)
2710#define STORAGE_TIER_FLAG_SMR (0x01000000)
2711
2712typedef enum _STORAGE_TIER_MEDIA_TYPE {
2713 StorageTierMediaTypeUnspecified = 0,
2714 StorageTierMediaTypeDisk = 1,
2715 StorageTierMediaTypeSsd = 2,
2716 StorageTierMediaTypeScm = 4,
2717 StorageTierMediaTypeMax
2718} STORAGE_TIER_MEDIA_TYPE, *PSTORAGE_TIER_MEDIA_TYPE;
2719
2720typedef enum _STORAGE_TIER_CLASS {
2721 StorageTierClassUnspecified = 0,
2722 StorageTierClassCapacity,
2723 StorageTierClassPerformance,
2724 StorageTierClassMax
2725} STORAGE_TIER_CLASS, *PSTORAGE_TIER_CLASS;
2726
2727typedef struct _STORAGE_TIER {
2728 GUID Id;
2729 WCHAR Name[STORAGE_TIER_NAME_LENGTH];
2730 WCHAR Description[STORAGE_TIER_NAME_LENGTH];
2731 DWORDLONG Flags;
2732 DWORDLONG ProvisionedCapacity;
2733 STORAGE_TIER_MEDIA_TYPE MediaType;
2734 STORAGE_TIER_CLASS Class;
2735} STORAGE_TIER, *PSTORAGE_TIER;
2736
2737typedef struct _STORAGE_DEVICE_TIERING_DESCRIPTOR {
2738 DWORD Version;
2739 DWORD Size;
2740 DWORD Flags;
2741 DWORD TotalNumberOfTiers;
2742 DWORD NumberOfTiersReturned;
2743 STORAGE_TIER Tiers[ANYSIZE_ARRAY];
2744} STORAGE_DEVICE_TIERING_DESCRIPTOR, *PSTORAGE_DEVICE_TIERING_DESCRIPTOR;
2745
2746typedef struct _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR {
2747 DWORD Version;
2748 DWORD Size;
2749 DWORD NumberOfFaultDomains;
2750 GUID FaultDomainIds[ANYSIZE_ARRAY];
2751} STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR, *PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR;
2752
2753typedef enum _STORAGE_PROTOCOL_TYPE {
2754 ProtocolTypeUnknown = 0x00,
2755 ProtocolTypeScsi,
2756 ProtocolTypeAta,
2757 ProtocolTypeNvme,
2758 ProtocolTypeSd,
2759 ProtocolTypeUfs,
2760 ProtocolTypeProprietary = 0x7E,
2761 ProtocolTypeMaxReserved = 0x7F
2762} STORAGE_PROTOCOL_TYPE, *PSTORAGE_PROTOCOL_TYPE;
2763
2764typedef enum _STORAGE_PROTOCOL_NVME_DATA_TYPE {
2765 NVMeDataTypeUnknown = 0,
2766 NVMeDataTypeIdentify,
2767 NVMeDataTypeLogPage,
2768 NVMeDataTypeFeature
2769} STORAGE_PROTOCOL_NVME_DATA_TYPE, *PSTORAGE_PROTOCOL_NVME_DATA_TYPE;
2770
2771typedef enum _STORAGE_PROTOCOL_ATA_DATA_TYPE {
2772 AtaDataTypeUnknown = 0,
2773 AtaDataTypeIdentify,
2774 AtaDataTypeLogPage
2775} STORAGE_PROTOCOL_ATA_DATA_TYPE, *PSTORAGE_PROTOCOL_ATA_DATA_TYPE;
2776
2777typedef enum _STORAGE_PROTOCOL_UFS_DATA_TYPE {
2778 UfsDataTypeUnknown = 0,
2779 UfsDataTypeQueryDescriptor,
2780 UfsDataTypeQueryAttribute,
2781 UfsDataTypeQueryFlag,
2782 UfsDataTypeQueryDmeAttribute,
2783 UfsDataTypeQueryDmePeerAttribute,
2784 UfsDataTypeMax
2785} STORAGE_PROTOCOL_UFS_DATA_TYPE, *PSTORAGE_PROTOCOL_UFS_DATA_TYPE;
2786
2787typedef union _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE {
2788 __C89_NAMELESS struct {
2789 DWORD RetainAsynEvent : 1;
2790 DWORD LogSpecificField : 4;
2791 DWORD Reserved : 27;
2792 };
2793 DWORD AsUlong;
2794} STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE, *PSTORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE;
2795
2796typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
2797 STORAGE_PROTOCOL_TYPE ProtocolType;
2798 DWORD DataType;
2799 DWORD ProtocolDataRequestValue;
2800 DWORD ProtocolDataRequestSubValue;
2801 DWORD ProtocolDataOffset;
2802 DWORD ProtocolDataLength;
2803 DWORD FixedProtocolReturnData;
2804 DWORD ProtocolDataRequestSubValue2;
2805 DWORD ProtocolDataRequestSubValue3;
2806 DWORD ProtocolDataRequestSubValue4;
2807} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA;
2808
2809typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT {
2810 STORAGE_PROTOCOL_TYPE ProtocolType;
2811 DWORD DataType;
2812 DWORD ProtocolDataValue;
2813 DWORD ProtocolDataSubValue;
2814 DWORD ProtocolDataOffset;
2815 DWORD ProtocolDataLength;
2816 DWORD FixedProtocolReturnData;
2817 DWORD ProtocolDataSubValue2;
2818 DWORD ProtocolDataSubValue3;
2819 DWORD ProtocolDataSubValue4;
2820 DWORD ProtocolDataSubValue5;
2821 DWORD Reserved[5];
2822} STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, *PSTORAGE_PROTOCOL_SPECIFIC_DATA_EXT;
2823
2824typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
2825 DWORD Version;
2826 DWORD Size;
2827 STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
2828} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;
2829
2830typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT {
2831 DWORD Version;
2832 DWORD Size;
2833 STORAGE_PROTOCOL_SPECIFIC_DATA_EXT ProtocolSpecificData;
2834} STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT;
2835
23892836#if (_WIN32_WINNT >= 0x0601)
23902837typedef struct _REQUEST_OPLOCK_INPUT_BUFFER {
23912838 WORD StructureVersion;
lib/libc/include/any-windows-any/winnt.h+121-2
......@@ -4180,6 +4180,44 @@ __buildmemorybarrier()
41804180 PVOID UmsCompletionList;
41814181 } UMS_CREATE_THREAD_ATTRIBUTES,*PUMS_CREATE_THREAD_ATTRIBUTES;
41824182
4183#define COMPONENT_KTM 0x01
4184#define COMPONENT_VALID_FLAGS COMPONENT_KTM
4185
4186 typedef struct _COMPONENT_FILTER {
4187 DWORD ComponentFlags;
4188 } COMPONENT_FILTER,*PCOMPONENT_FILTER;
4189
4190#define DYNAMIC_EH_CONTINUATION_TARGET_ADD 0x00000001
4191#define DYNAMIC_EH_CONTINUATION_TARGET_PROCESSED 0x00000002
4192
4193 typedef struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4194 ULONG_PTR TargetAddress;
4195 ULONG_PTR Flags;
4196 } PROCESS_DYNAMIC_EH_CONTINUATION_TARGET,*PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET;
4197
4198 typedef struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4199 WORD NumberOfTargets;
4200 WORD Reserved;
4201 DWORD Reserved2;
4202 PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets;
4203 } PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION,*PPROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION;
4204
4205#define DYNAMIC_ENFORCED_ADDRESS_RANGE_ADD 0x00000001
4206#define DYNAMIC_ENFORCED_ADDRESS_RANGE_PROCESSED 0x00000002
4207
4208 typedef struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4209 ULONG_PTR BaseAddress;
4210 SIZE_T Size;
4211 DWORD Flags;
4212 } PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE,*PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE;
4213
4214 typedef struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4215 WORD NumberOfRanges;
4216 WORD Reserved;
4217 DWORD Reserved2;
4218 PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE Ranges;
4219 } PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION,*PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION;
4220
41834221 typedef struct _QUOTA_LIMITS {
41844222 SIZE_T PagedPoolLimit;
41854223 SIZE_T NonPagedPoolLimit;
......@@ -4252,6 +4290,8 @@ __buildmemorybarrier()
42524290 ProcessPayloadRestrictionPolicy,
42534291 ProcessChildProcessPolicy,
42544292 ProcessSideChannelIsolationPolicy,
4293 ProcessUserShadowStackPolicy,
4294 ProcessRedirectionTrustPolicy,
42554295 MaxProcessMitigationPolicy
42564296 } PROCESS_MITIGATION_POLICY,*PPROCESS_MITIGATION_POLICY;
42574297
......@@ -4426,6 +4466,36 @@ __buildmemorybarrier()
44264466 };
44274467 } PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY, *PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY;
44284468
4469 typedef struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY {
4470 __C89_NAMELESS union {
4471 DWORD Flags;
4472 __C89_NAMELESS struct {
4473 DWORD EnableUserShadowStack : 1;
4474 DWORD AuditUserShadowStack : 1;
4475 DWORD SetContextIpValidation : 1;
4476 DWORD AuditSetContextIpValidation : 1;
4477 DWORD EnableUserShadowStackStrictMode : 1;
4478 DWORD BlockNonCetBinaries : 1;
4479 DWORD BlockNonCetBinariesNonEhcont : 1;
4480 DWORD AuditBlockNonCetBinaries : 1;
4481 DWORD CetDynamicApisOutOfProcOnly : 1;
4482 DWORD SetContextIpValidationRelaxedMode : 1;
4483 DWORD ReservedFlags : 22;
4484 };
4485 };
4486 } PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY, *PPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY;
4487
4488 typedef struct _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY {
4489 __C89_NAMELESS union {
4490 DWORD Flags;
4491 __C89_NAMELESS struct {
4492 DWORD EnforceRedirectionTrust : 1;
4493 DWORD AuditRedirectionTrust : 1;
4494 DWORD ReservedFlags : 30;
4495 };
4496 };
4497 } PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY, *PPROCESS_MITIGATION_REDIRECTION_TRUST_POLICY;
4498
44294499 typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
44304500 LARGE_INTEGER TotalUserTime;
44314501 LARGE_INTEGER TotalKernelTime;
......@@ -4758,6 +4828,16 @@ __buildmemorybarrier()
47584828 DWORD64 CycleTime;
47594829 } SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION,*PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION;
47604830
4831 typedef struct _SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION {
4832 DWORD Machine : 16;
4833 DWORD KernelMode : 1;
4834 DWORD UserMode : 1;
4835 DWORD Native : 1;
4836 DWORD Process : 1;
4837 DWORD WoW64Container : 1;
4838 DWORD ReservedZero0 : 11;
4839 } SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION,*PSYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION;
4840
47614841#define PROCESSOR_INTEL_386 386
47624842#define PROCESSOR_INTEL_486 486
47634843#define PROCESSOR_INTEL_PENTIUM 586
......@@ -4834,19 +4914,58 @@ __buildmemorybarrier()
48344914#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 31
48354915#define PF_RDTSCP_INSTRUCTION_AVAILABLE 32
48364916#define PF_RDPID_INSTRUCTION_AVAILABLE 33
4917#define PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE 34
4918#define PF_MONITORX_INSTRUCTION_AVAILABLE 35
4919#define PF_SSSE3_INSTRUCTIONS_AVAILABLE 36
4920#define PF_SSE4_1_INSTRUCTIONS_AVAILABLE 37
4921#define PF_SSE4_2_INSTRUCTIONS_AVAILABLE 38
4922#define PF_AVX_INSTRUCTIONS_AVAILABLE 39
4923#define PF_AVX2_INSTRUCTIONS_AVAILABLE 40
4924#define PF_AVX512F_INSTRUCTIONS_AVAILABLE 41
4925#define PF_ERMS_AVAILABLE 42
4926#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE 43
4927#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE 44
48374928
48384929#define XSTATE_LEGACY_FLOATING_POINT (0)
48394930#define XSTATE_LEGACY_SSE (1)
48404931#define XSTATE_GSSE (2)
48414932#define XSTATE_AVX (XSTATE_GSSE)
4933#define XSTATE_MPX_BNDREGS (3)
4934#define XSTATE_MPX_BNDCSR (4)
4935#define XSTATE_AVX512_KMASK (5)
4936#define XSTATE_AVX512_ZMM_H (6)
4937#define XSTATE_AVX512_ZMM (7)
4938#define XSTATE_IPT (8)
4939#define XSTATE_PASID (10)
4940#define XSTATE_CET_U (11)
4941#define XSTATE_CET_S (12)
4942#define XSTATE_AMX_TILE_CONFIG (17)
4943#define XSTATE_AMX_TILE_DATA (18)
4944#define XSTATE_LWP (62)
4945#define MAXIMUM_XSTATE_FEATURES (64)
48424946
48434947#define XSTATE_MASK_LEGACY_FLOATING_POINT (1ULL << (XSTATE_LEGACY_FLOATING_POINT))
48444948#define XSTATE_MASK_LEGACY_SSE (1ULL << (XSTATE_LEGACY_SSE))
48454949#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
48464950#define XSTATE_MASK_GSSE (1LLU << (XSTATE_GSSE))
48474951#define XSTATE_MASK_AVX (XSTATE_MASK_GSSE)
4848
4849#define MAXIMUM_XSTATE_FEATURES (64)
4952#define XSTATE_MASK_MPX ((1LLU << (XSTATE_MPX_BNDREGS)) | (1LLU << (XSTATE_MPX_BNDCSR)))
4953#define XSTATE_MASK_AVX512 ((1LLU << (XSTATE_AVX512_KMASK)) | (1LLU << (XSTATE_AVX512_ZMM_H)) | (1LLU << (XSTATE_AVX512_ZMM)))
4954#define XSTATE_MASK_IPT (1LLU << (XSTATE_IPT))
4955#define XSTATE_MASK_PASID (1LLU << (XSTATE_PASID))
4956#define XSTATE_MASK_CET_U (1LLU << (XSTATE_CET_U))
4957#define XSTATE_MASK_CET_S (1LLU << (XSTATE_CET_S))
4958#define XSTATE_MASK_AMX_TILE_CONFIG (1LLU << (XSTATE_AMX_TILE_CONFIG))
4959#define XSTATE_MASK_AMX_TILE_DATA (1LLU << (XSTATE_AMX_TILE_DATA))
4960#define XSTATE_MASK_LWP (1LLU << (XSTATE_LWP))
4961#if defined(_AMD64_) || defined(__x86_64__)
4962#define XSTATE_MASK_ALLOWED (XSTATE_MASK_LEGACY | XSTATE_MASK_AVX | XSTATE_MASK_MPX | XSTATE_MASK_AVX512 | XSTATE_MASK_IPT | XSTATE_MASK_PASID | XSTATE_MASK_CET_U | XSTATE_MASK_AMX_TILE_CONFIG | XSTATE_MASK_AMX_TILE_DATA | XSTATE_MASK_LWP)
4963#elif defined(_X86_) || defined(__i386__)
4964#define XSTATE_MASK_ALLOWED (XSTATE_MASK_LEGACY | XSTATE_MASK_AVX | XSTATE_MASK_MPX | XSTATE_MASK_AVX512 | XSTATE_MASK_IPT | XSTATE_MASK_CET_U | XSTATE_MASK_LWP)
4965#endif
4966#define XSTATE_MASK_PERSISTENT ((1LLU << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)
4967#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U)
4968#define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA)
48504969
48514970 typedef struct _XSTATE_FEATURE {
48524971 DWORD Offset;
lib/libc/include/any-windows-any/winsock2.h+7
......@@ -1011,6 +1011,9 @@ typedef unsigned int GROUP;
10111011#ifndef __INSIDE_CYGWIN__
10121012 WINSOCK_API_LINKAGE u_long WSAAPI htonl(u_long hostlong);
10131013 WINSOCK_API_LINKAGE u_short WSAAPI htons(u_short hostshort);
1014#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
1015 __forceinline unsigned __int64 htonll(unsigned __int64 Value) { return (((unsigned __int64)htonl(Value & 0xFFFFFFFFUL)) << 32) | htonl((u_long)(Value >> 32)); }
1016#endif
10141017#endif /* !__INSIDE_CYGWIN__ */
10151018 WINSOCK_API_LINKAGE unsigned __LONG32 WSAAPI inet_addr(const char *cp);
10161019 WINSOCK_API_LINKAGE char *WSAAPI inet_ntoa(struct in_addr in);
......@@ -1018,6 +1021,9 @@ typedef unsigned int GROUP;
10181021#ifndef __INSIDE_CYGWIN__
10191022 WINSOCK_API_LINKAGE u_long WSAAPI ntohl(u_long netlong);
10201023 WINSOCK_API_LINKAGE u_short WSAAPI ntohs(u_short netshort);
1024#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
1025 __forceinline unsigned __int64 ntohll(unsigned __int64 Value) { return (((unsigned __int64)ntohl(Value & 0xFFFFFFFFUL)) << 32) | ntohl((u_long)(Value >> 32)); }
1026#endif
10211027#endif /* !__INSIDE_CYGWIN__ */
10221028 WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);
10231029 WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);
......@@ -1032,6 +1038,7 @@ typedef unsigned int GROUP;
10321038 WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyaddr(const char *addr,int len,int type);
10331039 WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyname(const char *name);
10341040 WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);
1041 WINSOCK_API_LINKAGE int WSAAPI GetHostNameW(PWSTR name, int namelen);
10351042 WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyport(int port,const char *proto);
10361043 WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyname(const char *name,const char *proto);
10371044 WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobynumber(int number);
lib/libc/include/any-windows-any/winsvc.h+113-2
......@@ -48,6 +48,12 @@ extern "C" {
4848#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C
4949#define SERVICE_CONTROL_POWEREVENT 0x0000000D
5050#define SERVICE_CONTROL_SESSIONCHANGE 0x0000000E
51#define SERVICE_CONTROL_PRESHUTDOWN 0x0000000F
52#define SERVICE_CONTROL_TIMECHANGE 0x00000010
53#define SERVICE_CONTROL_USER_LOGOFF 0x00000011
54#define SERVICE_CONTROL_TRIGGEREVENT 0x00000020
55#define SERVICE_CONTROL_LOWRESOURCES 0x00000060
56#define SERVICE_CONTROL_SYSTEMLOWRESOURCES 0x00000061
5157
5258#define SERVICE_STOPPED 0x00000001
5359#define SERVICE_START_PENDING 0x00000002
......@@ -65,6 +71,12 @@ extern "C" {
6571#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020
6672#define SERVICE_ACCEPT_POWEREVENT 0x00000040
6773#define SERVICE_ACCEPT_SESSIONCHANGE 0x00000080
74#define SERVICE_ACCEPT_PRESHUTDOWN 0x00000100
75#define SERVICE_ACCEPT_TIMECHANGE 0x00000200
76#define SERVICE_ACCEPT_TRIGGEREVENT 0x00000400
77#define SERVICE_ACCEPT_USER_LOGOFF 0x00000800
78#define SERVICE_ACCEPT_LOWRESOURCES 0x00002000
79#define SERVICE_ACCEPT_SYSTEMLOWRESOURCES 0x00004000
6880
6981#define SC_MANAGER_CONNECT 0x0001
7082#define SC_MANAGER_CREATE_SERVICE 0x0002
......@@ -91,6 +103,107 @@ extern "C" {
91103
92104#define SERVICE_CONFIG_DESCRIPTION 1
93105#define SERVICE_CONFIG_FAILURE_ACTIONS 2
106#define SERVICE_CONFIG_DELAYED_AUTO_START_INFO 3
107#define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 4
108#define SERVICE_CONFIG_SERVICE_SID_INFO 5
109#define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6
110#define SERVICE_CONFIG_PRESHUTDOWN_INFO 7
111#define SERVICE_CONFIG_TRIGGER_INFO 8
112#define SERVICE_CONFIG_PREFERRED_NODE 9
113#define SERVICE_CONFIG_LAUNCH_PROTECTED 12
114
115#define SERVICE_NOTIFY_STATUS_CHANGE_1 1
116#define SERVICE_NOTIFY_STATUS_CHANGE_2 2
117
118#define SERVICE_NOTIFY_STATUS_CHANGE SERVICE_NOTIFY_STATUS_CHANGE_2
119
120#define SERVICE_NOTIFY_STOPPED 0x00000001
121#define SERVICE_NOTIFY_START_PENDING 0x00000002
122#define SERVICE_NOTIFY_STOP_PENDING 0x00000004
123#define SERVICE_NOTIFY_RUNNING 0x00000008
124#define SERVICE_NOTIFY_CONTINUE_PENDING 0x00000010
125#define SERVICE_NOTIFY_PAUSE_PENDING 0x00000020
126#define SERVICE_NOTIFY_PAUSED 0x00000040
127#define SERVICE_NOTIFY_CREATED 0x00000080
128#define SERVICE_NOTIFY_DELETED 0x00000100
129#define SERVICE_NOTIFY_DELETE_PENDING 0x00000200
130
131#define SERVICE_STOP_REASON_FLAG_MIN 0x00000000
132#define SERVICE_STOP_REASON_FLAG_UNPLANNED 0x10000000
133#define SERVICE_STOP_REASON_FLAG_CUSTOM 0x20000000
134#define SERVICE_STOP_REASON_FLAG_PLANNED 0x40000000
135#define SERVICE_STOP_REASON_FLAG_MAX 0x80000000
136
137#define SERVICE_STOP_REASON_MAJOR_MIN 0x00000000
138#define SERVICE_STOP_REASON_MAJOR_OTHER 0x00010000
139#define SERVICE_STOP_REASON_MAJOR_HARDWARE 0x00020000
140#define SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM 0x00030000
141#define SERVICE_STOP_REASON_MAJOR_SOFTWARE 0x00040000
142#define SERVICE_STOP_REASON_MAJOR_APPLICATION 0x00050000
143#define SERVICE_STOP_REASON_MAJOR_NONE 0x00060000
144#define SERVICE_STOP_REASON_MAJOR_MAX 0x00070000
145#define SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM 0x00400000
146#define SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM 0x00ff0000
147
148#define SERVICE_STOP_REASON_MINOR_MIN 0x00000000
149#define SERVICE_STOP_REASON_MINOR_OTHER 0x00000001
150#define SERVICE_STOP_REASON_MINOR_MAINTENANCE 0x00000002
151#define SERVICE_STOP_REASON_MINOR_INSTALLATION 0x00000003
152#define SERVICE_STOP_REASON_MINOR_UPGRADE 0x00000004
153#define SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005
154#define SERVICE_STOP_REASON_MINOR_HUNG 0x00000006
155#define SERVICE_STOP_REASON_MINOR_UNSTABLE 0x00000007
156#define SERVICE_STOP_REASON_MINOR_DISK 0x00000008
157#define SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009
158#define SERVICE_STOP_REASON_MINOR_ENVIRONMENT 0x0000000a
159#define SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER 0x0000000b
160#define SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c
161#define SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d
162#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e
163#define SERVICE_STOP_REASON_MINOR_SECURITYFIX 0x0000000f
164#define SERVICE_STOP_REASON_MINOR_SECURITY 0x00000010
165#define SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011
166#define SERVICE_STOP_REASON_MINOR_WMI 0x00000012
167#define SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013
168#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL 0x00000014
169#define SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000015
170#define SERVICE_STOP_REASON_MINOR_MMC 0x00000016
171#define SERVICE_STOP_REASON_MINOR_NONE 0x00000017
172#define SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT 0x00000018
173#define SERVICE_STOP_REASON_MINOR_MAX 0x00000019
174#define SERVICE_STOP_REASON_MINOR_MIN_CUSTOM 0x00000100
175#define SERVICE_STOP_REASON_MINOR_MAX_CUSTOM 0x0000FFFF
176
177#define SERVICE_CONTROL_STATUS_REASON_INFO 1
178
179#define SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL 1
180#define SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY 2
181#define SERVICE_TRIGGER_TYPE_DOMAIN_JOIN 3
182#define SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT 4
183#define SERVICE_TRIGGER_TYPE_GROUP_POLICY 5
184#define SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT 6
185#define SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE 7
186#define SERVICE_TRIGGER_TYPE_CUSTOM 20
187#define SERVICE_TRIGGER_TYPE_AGGREGATE 30
188
189#define SERVICE_TRIGGER_DATA_TYPE_BINARY 1
190#define SERVICE_TRIGGER_DATA_TYPE_STRING 2
191#define SERVICE_TRIGGER_DATA_TYPE_LEVEL 3
192#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY 4
193#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL 5
194
195#define SERVICE_START_REASON_DEMAND 0x00000001
196#define SERVICE_START_REASON_AUTO 0x00000002
197#define SERVICE_START_REASON_TRIGGER 0x00000004
198#define SERVICE_START_REASON_RESTART_ON_FAILURE 0x00000008
199#define SERVICE_START_REASON_DELAYEDAUTO 0x00000010
200
201#define SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON 1
202
203#define SERVICE_LAUNCH_PROTECTED_NONE 0
204#define SERVICE_LAUNCH_PROTECTED_WINDOWS 1
205#define SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT 2
206#define SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT 3
94207
95208 typedef struct _SERVICE_DESCRIPTIONA {
96209 LPSTR lpDescription;
......@@ -366,7 +479,6 @@ __MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS)
366479#define SERVICE_STOP_REASON_MINOR_MMC 0x00000016
367480#define SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011
368481#define SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009
369#define SERVICE_STOP_REASON_MINOR_NONE 0x00060000
370482#define SERVICE_STOP_REASON_MINOR_OTHER 0x00000001
371483#define SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c
372484#define SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005
......@@ -376,7 +488,6 @@ __MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS)
376488#define SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d
377489#define SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013
378490#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e
379#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL 0x0000000e
380491#define SERVICE_STOP_REASON_MINOR_UNSTABLE 0x00000007
381492#define SERVICE_STOP_REASON_MINOR_UPGRADE 0x00000004
382493#define SERVICE_STOP_REASON_MINOR_WMI 0x00000012
lib/libc/include/any-windows-any/winuser.h+4-1
......@@ -2241,7 +2241,10 @@ extern "C" {
22412241#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
22422242 WINUSERAPI WINBOOL WINAPI GetLayeredWindowAttributes (HWND hwnd, COLORREF *pcrKey, BYTE *pbAlpha, DWORD *pdwFlags);
22432243
2244#define PW_CLIENTONLY 0x00000001
2244#define PW_CLIENTONLY 0x00000001
2245#if _WIN32_WINNT >= 0x0603
2246#define PW_RENDERFULLCONTENT 0x00000002
2247#endif
22452248
22462249 WINUSERAPI WINBOOL WINAPI PrintWindow (HWND hwnd, HDC hdcBlt, UINT nFlags);
22472250 WINUSERAPI WINBOOL WINAPI SetLayeredWindowAttributes (HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
lib/libc/include/any-windows-any/wmcodecdsp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmcodecdsp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmcodecdsp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmcontainer.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmcontainer.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmcontainer.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmdrmsdk.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmdrmsdk.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmdrmsdk.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmprealestate.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmprealestate.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmprealestate.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmpservices.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmpservices.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmpservices.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmsbuffer.h+314-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmsbuffer.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmsbuffer.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -26,6 +26,22 @@ interface INSSBuffer;
2626#endif /* __cplusplus */
2727#endif
2828
29#ifndef __INSSBuffer2_FWD_DEFINED__
30#define __INSSBuffer2_FWD_DEFINED__
31typedef interface INSSBuffer2 INSSBuffer2;
32#ifdef __cplusplus
33interface INSSBuffer2;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __INSSBuffer3_FWD_DEFINED__
38#define __INSSBuffer3_FWD_DEFINED__
39typedef interface INSSBuffer3 INSSBuffer3;
40#ifdef __cplusplus
41interface INSSBuffer3;
42#endif /* __cplusplus */
43#endif
44
2945/* Headers for imported files */
3046
3147#include <objidl.h>
......@@ -157,6 +173,303 @@ static FORCEINLINE HRESULT INSSBuffer_GetBufferAndLength(INSSBuffer* This,BYTE *
157173
158174#endif /* __INSSBuffer_INTERFACE_DEFINED__ */
159175
176/*****************************************************************************
177 * INSSBuffer2 interface
178 */
179#ifndef __INSSBuffer2_INTERFACE_DEFINED__
180#define __INSSBuffer2_INTERFACE_DEFINED__
181
182DEFINE_GUID(IID_INSSBuffer2, 0x4f528693, 0x1035, 0x43fe, 0xb4,0x28, 0x75,0x75,0x61,0xad,0x3a,0x68);
183#if defined(__cplusplus) && !defined(CINTERFACE)
184MIDL_INTERFACE("4f528693-1035-43fe-b428-757561ad3a68")
185INSSBuffer2 : public INSSBuffer
186{
187 virtual HRESULT STDMETHODCALLTYPE GetSampleProperties(
188 DWORD size,
189 BYTE *props) = 0;
190
191 virtual HRESULT STDMETHODCALLTYPE SetSampleProperties(
192 DWORD size,
193 BYTE *props) = 0;
194
195};
196#ifdef __CRT_UUID_DECL
197__CRT_UUID_DECL(INSSBuffer2, 0x4f528693, 0x1035, 0x43fe, 0xb4,0x28, 0x75,0x75,0x61,0xad,0x3a,0x68)
198#endif
199#else
200typedef struct INSSBuffer2Vtbl {
201 BEGIN_INTERFACE
202
203 /*** IUnknown methods ***/
204 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
205 INSSBuffer2 *This,
206 REFIID riid,
207 void **ppvObject);
208
209 ULONG (STDMETHODCALLTYPE *AddRef)(
210 INSSBuffer2 *This);
211
212 ULONG (STDMETHODCALLTYPE *Release)(
213 INSSBuffer2 *This);
214
215 /*** INSSBuffer methods ***/
216 HRESULT (STDMETHODCALLTYPE *GetLength)(
217 INSSBuffer2 *This,
218 DWORD *pdwLength);
219
220 HRESULT (STDMETHODCALLTYPE *SetLength)(
221 INSSBuffer2 *This,
222 DWORD dwLength);
223
224 HRESULT (STDMETHODCALLTYPE *GetMaxLength)(
225 INSSBuffer2 *This,
226 DWORD *pdwLength);
227
228 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
229 INSSBuffer2 *This,
230 BYTE **ppdwBuffer);
231
232 HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)(
233 INSSBuffer2 *This,
234 BYTE **ppdwBuffer,
235 DWORD *pdwLength);
236
237 /*** INSSBuffer2 methods ***/
238 HRESULT (STDMETHODCALLTYPE *GetSampleProperties)(
239 INSSBuffer2 *This,
240 DWORD size,
241 BYTE *props);
242
243 HRESULT (STDMETHODCALLTYPE *SetSampleProperties)(
244 INSSBuffer2 *This,
245 DWORD size,
246 BYTE *props);
247
248 END_INTERFACE
249} INSSBuffer2Vtbl;
250
251interface INSSBuffer2 {
252 CONST_VTBL INSSBuffer2Vtbl* lpVtbl;
253};
254
255#ifdef COBJMACROS
256#ifndef WIDL_C_INLINE_WRAPPERS
257/*** IUnknown methods ***/
258#define INSSBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
259#define INSSBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
260#define INSSBuffer2_Release(This) (This)->lpVtbl->Release(This)
261/*** INSSBuffer methods ***/
262#define INSSBuffer2_GetLength(This,pdwLength) (This)->lpVtbl->GetLength(This,pdwLength)
263#define INSSBuffer2_SetLength(This,dwLength) (This)->lpVtbl->SetLength(This,dwLength)
264#define INSSBuffer2_GetMaxLength(This,pdwLength) (This)->lpVtbl->GetMaxLength(This,pdwLength)
265#define INSSBuffer2_GetBuffer(This,ppdwBuffer) (This)->lpVtbl->GetBuffer(This,ppdwBuffer)
266#define INSSBuffer2_GetBufferAndLength(This,ppdwBuffer,pdwLength) (This)->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength)
267/*** INSSBuffer2 methods ***/
268#define INSSBuffer2_GetSampleProperties(This,size,props) (This)->lpVtbl->GetSampleProperties(This,size,props)
269#define INSSBuffer2_SetSampleProperties(This,size,props) (This)->lpVtbl->SetSampleProperties(This,size,props)
270#else
271/*** IUnknown methods ***/
272static FORCEINLINE HRESULT INSSBuffer2_QueryInterface(INSSBuffer2* This,REFIID riid,void **ppvObject) {
273 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
274}
275static FORCEINLINE ULONG INSSBuffer2_AddRef(INSSBuffer2* This) {
276 return This->lpVtbl->AddRef(This);
277}
278static FORCEINLINE ULONG INSSBuffer2_Release(INSSBuffer2* This) {
279 return This->lpVtbl->Release(This);
280}
281/*** INSSBuffer methods ***/
282static FORCEINLINE HRESULT INSSBuffer2_GetLength(INSSBuffer2* This,DWORD *pdwLength) {
283 return This->lpVtbl->GetLength(This,pdwLength);
284}
285static FORCEINLINE HRESULT INSSBuffer2_SetLength(INSSBuffer2* This,DWORD dwLength) {
286 return This->lpVtbl->SetLength(This,dwLength);
287}
288static FORCEINLINE HRESULT INSSBuffer2_GetMaxLength(INSSBuffer2* This,DWORD *pdwLength) {
289 return This->lpVtbl->GetMaxLength(This,pdwLength);
290}
291static FORCEINLINE HRESULT INSSBuffer2_GetBuffer(INSSBuffer2* This,BYTE **ppdwBuffer) {
292 return This->lpVtbl->GetBuffer(This,ppdwBuffer);
293}
294static FORCEINLINE HRESULT INSSBuffer2_GetBufferAndLength(INSSBuffer2* This,BYTE **ppdwBuffer,DWORD *pdwLength) {
295 return This->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength);
296}
297/*** INSSBuffer2 methods ***/
298static FORCEINLINE HRESULT INSSBuffer2_GetSampleProperties(INSSBuffer2* This,DWORD size,BYTE *props) {
299 return This->lpVtbl->GetSampleProperties(This,size,props);
300}
301static FORCEINLINE HRESULT INSSBuffer2_SetSampleProperties(INSSBuffer2* This,DWORD size,BYTE *props) {
302 return This->lpVtbl->SetSampleProperties(This,size,props);
303}
304#endif
305#endif
306
307#endif
308
309
310#endif /* __INSSBuffer2_INTERFACE_DEFINED__ */
311
312/*****************************************************************************
313 * INSSBuffer3 interface
314 */
315#ifndef __INSSBuffer3_INTERFACE_DEFINED__
316#define __INSSBuffer3_INTERFACE_DEFINED__
317
318DEFINE_GUID(IID_INSSBuffer3, 0xc87ceaaf, 0x75be, 0x4bc4, 0x84,0xeb, 0xac,0x27,0x98,0x50,0x76,0x72);
319#if defined(__cplusplus) && !defined(CINTERFACE)
320MIDL_INTERFACE("c87ceaaf-75be-4bc4-84eb-ac2798507672")
321INSSBuffer3 : public INSSBuffer2
322{
323 virtual HRESULT STDMETHODCALLTYPE SetProperty(
324 GUID id,
325 void *value,
326 DWORD size) = 0;
327
328 virtual HRESULT STDMETHODCALLTYPE GetProperty(
329 GUID id,
330 void *value,
331 DWORD *size) = 0;
332
333};
334#ifdef __CRT_UUID_DECL
335__CRT_UUID_DECL(INSSBuffer3, 0xc87ceaaf, 0x75be, 0x4bc4, 0x84,0xeb, 0xac,0x27,0x98,0x50,0x76,0x72)
336#endif
337#else
338typedef struct INSSBuffer3Vtbl {
339 BEGIN_INTERFACE
340
341 /*** IUnknown methods ***/
342 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
343 INSSBuffer3 *This,
344 REFIID riid,
345 void **ppvObject);
346
347 ULONG (STDMETHODCALLTYPE *AddRef)(
348 INSSBuffer3 *This);
349
350 ULONG (STDMETHODCALLTYPE *Release)(
351 INSSBuffer3 *This);
352
353 /*** INSSBuffer methods ***/
354 HRESULT (STDMETHODCALLTYPE *GetLength)(
355 INSSBuffer3 *This,
356 DWORD *pdwLength);
357
358 HRESULT (STDMETHODCALLTYPE *SetLength)(
359 INSSBuffer3 *This,
360 DWORD dwLength);
361
362 HRESULT (STDMETHODCALLTYPE *GetMaxLength)(
363 INSSBuffer3 *This,
364 DWORD *pdwLength);
365
366 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
367 INSSBuffer3 *This,
368 BYTE **ppdwBuffer);
369
370 HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)(
371 INSSBuffer3 *This,
372 BYTE **ppdwBuffer,
373 DWORD *pdwLength);
374
375 /*** INSSBuffer2 methods ***/
376 HRESULT (STDMETHODCALLTYPE *GetSampleProperties)(
377 INSSBuffer3 *This,
378 DWORD size,
379 BYTE *props);
380
381 HRESULT (STDMETHODCALLTYPE *SetSampleProperties)(
382 INSSBuffer3 *This,
383 DWORD size,
384 BYTE *props);
385
386 /*** INSSBuffer3 methods ***/
387 HRESULT (STDMETHODCALLTYPE *SetProperty)(
388 INSSBuffer3 *This,
389 GUID id,
390 void *value,
391 DWORD size);
392
393 HRESULT (STDMETHODCALLTYPE *GetProperty)(
394 INSSBuffer3 *This,
395 GUID id,
396 void *value,
397 DWORD *size);
398
399 END_INTERFACE
400} INSSBuffer3Vtbl;
401
402interface INSSBuffer3 {
403 CONST_VTBL INSSBuffer3Vtbl* lpVtbl;
404};
405
406#ifdef COBJMACROS
407#ifndef WIDL_C_INLINE_WRAPPERS
408/*** IUnknown methods ***/
409#define INSSBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
410#define INSSBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)
411#define INSSBuffer3_Release(This) (This)->lpVtbl->Release(This)
412/*** INSSBuffer methods ***/
413#define INSSBuffer3_GetLength(This,pdwLength) (This)->lpVtbl->GetLength(This,pdwLength)
414#define INSSBuffer3_SetLength(This,dwLength) (This)->lpVtbl->SetLength(This,dwLength)
415#define INSSBuffer3_GetMaxLength(This,pdwLength) (This)->lpVtbl->GetMaxLength(This,pdwLength)
416#define INSSBuffer3_GetBuffer(This,ppdwBuffer) (This)->lpVtbl->GetBuffer(This,ppdwBuffer)
417#define INSSBuffer3_GetBufferAndLength(This,ppdwBuffer,pdwLength) (This)->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength)
418/*** INSSBuffer2 methods ***/
419#define INSSBuffer3_GetSampleProperties(This,size,props) (This)->lpVtbl->GetSampleProperties(This,size,props)
420#define INSSBuffer3_SetSampleProperties(This,size,props) (This)->lpVtbl->SetSampleProperties(This,size,props)
421/*** INSSBuffer3 methods ***/
422#define INSSBuffer3_SetProperty(This,id,value,size) (This)->lpVtbl->SetProperty(This,id,value,size)
423#define INSSBuffer3_GetProperty(This,id,value,size) (This)->lpVtbl->GetProperty(This,id,value,size)
424#else
425/*** IUnknown methods ***/
426static FORCEINLINE HRESULT INSSBuffer3_QueryInterface(INSSBuffer3* This,REFIID riid,void **ppvObject) {
427 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
428}
429static FORCEINLINE ULONG INSSBuffer3_AddRef(INSSBuffer3* This) {
430 return This->lpVtbl->AddRef(This);
431}
432static FORCEINLINE ULONG INSSBuffer3_Release(INSSBuffer3* This) {
433 return This->lpVtbl->Release(This);
434}
435/*** INSSBuffer methods ***/
436static FORCEINLINE HRESULT INSSBuffer3_GetLength(INSSBuffer3* This,DWORD *pdwLength) {
437 return This->lpVtbl->GetLength(This,pdwLength);
438}
439static FORCEINLINE HRESULT INSSBuffer3_SetLength(INSSBuffer3* This,DWORD dwLength) {
440 return This->lpVtbl->SetLength(This,dwLength);
441}
442static FORCEINLINE HRESULT INSSBuffer3_GetMaxLength(INSSBuffer3* This,DWORD *pdwLength) {
443 return This->lpVtbl->GetMaxLength(This,pdwLength);
444}
445static FORCEINLINE HRESULT INSSBuffer3_GetBuffer(INSSBuffer3* This,BYTE **ppdwBuffer) {
446 return This->lpVtbl->GetBuffer(This,ppdwBuffer);
447}
448static FORCEINLINE HRESULT INSSBuffer3_GetBufferAndLength(INSSBuffer3* This,BYTE **ppdwBuffer,DWORD *pdwLength) {
449 return This->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength);
450}
451/*** INSSBuffer2 methods ***/
452static FORCEINLINE HRESULT INSSBuffer3_GetSampleProperties(INSSBuffer3* This,DWORD size,BYTE *props) {
453 return This->lpVtbl->GetSampleProperties(This,size,props);
454}
455static FORCEINLINE HRESULT INSSBuffer3_SetSampleProperties(INSSBuffer3* This,DWORD size,BYTE *props) {
456 return This->lpVtbl->SetSampleProperties(This,size,props);
457}
458/*** INSSBuffer3 methods ***/
459static FORCEINLINE HRESULT INSSBuffer3_SetProperty(INSSBuffer3* This,GUID id,void *value,DWORD size) {
460 return This->lpVtbl->SetProperty(This,id,value,size);
461}
462static FORCEINLINE HRESULT INSSBuffer3_GetProperty(INSSBuffer3* This,GUID id,void *value,DWORD *size) {
463 return This->lpVtbl->GetProperty(This,id,value,size);
464}
465#endif
466#endif
467
468#endif
469
470
471#endif /* __INSSBuffer3_INTERFACE_DEFINED__ */
472
160473/* Begin additional prototypes for all interfaces */
161474
162475
lib/libc/include/any-windows-any/wmsdkidl.h+375-6
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wmsdkidl.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wmsdkidl.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -34,6 +34,14 @@ interface IWMReaderCallback;
3434#endif /* __cplusplus */
3535#endif
3636
37#ifndef __IWMReaderCallbackAdvanced_FWD_DEFINED__
38#define __IWMReaderCallbackAdvanced_FWD_DEFINED__
39typedef interface IWMReaderCallbackAdvanced IWMReaderCallbackAdvanced;
40#ifdef __cplusplus
41interface IWMReaderCallbackAdvanced;
42#endif /* __cplusplus */
43#endif
44
3745#ifndef __IWMStreamList_FWD_DEFINED__
3846#define __IWMStreamList_FWD_DEFINED__
3947typedef interface IWMStreamList IWMStreamList;
......@@ -458,6 +466,22 @@ interface IWMLicenseRestore;
458466#endif /* __cplusplus */
459467#endif
460468
469#ifndef __IWMIStreamProps_FWD_DEFINED__
470#define __IWMIStreamProps_FWD_DEFINED__
471typedef interface IWMIStreamProps IWMIStreamProps;
472#ifdef __cplusplus
473interface IWMIStreamProps;
474#endif /* __cplusplus */
475#endif
476
477#ifndef __IWMCredentialCallback_FWD_DEFINED__
478#define __IWMCredentialCallback_FWD_DEFINED__
479typedef interface IWMCredentialCallback IWMCredentialCallback;
480#ifdef __cplusplus
481interface IWMCredentialCallback;
482#endif /* __cplusplus */
483#endif
484
461485/* Headers for imported files */
462486
463487#include <oaidl.h>
......@@ -519,6 +543,11 @@ typedef struct _WMReaderClientInfo {
519543 QWORD qwHostVersion;
520544 WCHAR *wszPlayerUserAgent;
521545} WM_READER_CLIENTINFO;
546enum {
547 WM_SF_CLEANPOINT = 0x1,
548 WM_SF_DISCONTINUITY = 0x2,
549 WM_SF_DATALOSS = 0x4
550};
522551typedef enum WMT_ATTR_DATATYPE {
523552 WMT_TYPE_DWORD = 0,
524553 WMT_TYPE_STRING = 1,
......@@ -825,6 +854,172 @@ static FORCEINLINE HRESULT IWMReaderCallback_OnSample(IWMReaderCallback* This,DW
825854
826855#endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */
827856
857/*****************************************************************************
858 * IWMReaderCallbackAdvanced interface
859 */
860#ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
861#define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
862
863DEFINE_GUID(IID_IWMReaderCallbackAdvanced, 0x96406beb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
864#if defined(__cplusplus) && !defined(CINTERFACE)
865MIDL_INTERFACE("96406beb-2b2b-11d3-b36b-00c04f6108ff")
866IWMReaderCallbackAdvanced : public IUnknown
867{
868 virtual HRESULT STDMETHODCALLTYPE OnStreamSample(
869 WORD stream_number,
870 QWORD pts,
871 QWORD duration,
872 DWORD flags,
873 INSSBuffer *sample,
874 void *context) = 0;
875
876 virtual HRESULT STDMETHODCALLTYPE OnTime(
877 QWORD time,
878 void *context) = 0;
879
880 virtual HRESULT STDMETHODCALLTYPE OnStreamSelection(
881 WORD count,
882 WORD *stream_numbers,
883 WMT_STREAM_SELECTION *selections,
884 void *context) = 0;
885
886 virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged(
887 DWORD output_number,
888 WM_MEDIA_TYPE *mt,
889 void *context) = 0;
890
891 virtual HRESULT STDMETHODCALLTYPE AllocateForStream(
892 WORD stream_number,
893 DWORD size,
894 INSSBuffer **sample,
895 void *context) = 0;
896
897 virtual HRESULT STDMETHODCALLTYPE AllocateForOutput(
898 DWORD output_number,
899 DWORD size,
900 INSSBuffer **sample,
901 void *context) = 0;
902
903};
904#ifdef __CRT_UUID_DECL
905__CRT_UUID_DECL(IWMReaderCallbackAdvanced, 0x96406beb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
906#endif
907#else
908typedef struct IWMReaderCallbackAdvancedVtbl {
909 BEGIN_INTERFACE
910
911 /*** IUnknown methods ***/
912 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
913 IWMReaderCallbackAdvanced *This,
914 REFIID riid,
915 void **ppvObject);
916
917 ULONG (STDMETHODCALLTYPE *AddRef)(
918 IWMReaderCallbackAdvanced *This);
919
920 ULONG (STDMETHODCALLTYPE *Release)(
921 IWMReaderCallbackAdvanced *This);
922
923 /*** IWMReaderCallbackAdvanced methods ***/
924 HRESULT (STDMETHODCALLTYPE *OnStreamSample)(
925 IWMReaderCallbackAdvanced *This,
926 WORD stream_number,
927 QWORD pts,
928 QWORD duration,
929 DWORD flags,
930 INSSBuffer *sample,
931 void *context);
932
933 HRESULT (STDMETHODCALLTYPE *OnTime)(
934 IWMReaderCallbackAdvanced *This,
935 QWORD time,
936 void *context);
937
938 HRESULT (STDMETHODCALLTYPE *OnStreamSelection)(
939 IWMReaderCallbackAdvanced *This,
940 WORD count,
941 WORD *stream_numbers,
942 WMT_STREAM_SELECTION *selections,
943 void *context);
944
945 HRESULT (STDMETHODCALLTYPE *OnOutputPropsChanged)(
946 IWMReaderCallbackAdvanced *This,
947 DWORD output_number,
948 WM_MEDIA_TYPE *mt,
949 void *context);
950
951 HRESULT (STDMETHODCALLTYPE *AllocateForStream)(
952 IWMReaderCallbackAdvanced *This,
953 WORD stream_number,
954 DWORD size,
955 INSSBuffer **sample,
956 void *context);
957
958 HRESULT (STDMETHODCALLTYPE *AllocateForOutput)(
959 IWMReaderCallbackAdvanced *This,
960 DWORD output_number,
961 DWORD size,
962 INSSBuffer **sample,
963 void *context);
964
965 END_INTERFACE
966} IWMReaderCallbackAdvancedVtbl;
967
968interface IWMReaderCallbackAdvanced {
969 CONST_VTBL IWMReaderCallbackAdvancedVtbl* lpVtbl;
970};
971
972#ifdef COBJMACROS
973#ifndef WIDL_C_INLINE_WRAPPERS
974/*** IUnknown methods ***/
975#define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
976#define IWMReaderCallbackAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This)
977#define IWMReaderCallbackAdvanced_Release(This) (This)->lpVtbl->Release(This)
978/*** IWMReaderCallbackAdvanced methods ***/
979#define IWMReaderCallbackAdvanced_OnStreamSample(This,stream_number,pts,duration,flags,sample,context) (This)->lpVtbl->OnStreamSample(This,stream_number,pts,duration,flags,sample,context)
980#define IWMReaderCallbackAdvanced_OnTime(This,time,context) (This)->lpVtbl->OnTime(This,time,context)
981#define IWMReaderCallbackAdvanced_OnStreamSelection(This,count,stream_numbers,selections,context) (This)->lpVtbl->OnStreamSelection(This,count,stream_numbers,selections,context)
982#define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,output_number,mt,context) (This)->lpVtbl->OnOutputPropsChanged(This,output_number,mt,context)
983#define IWMReaderCallbackAdvanced_AllocateForStream(This,stream_number,size,sample,context) (This)->lpVtbl->AllocateForStream(This,stream_number,size,sample,context)
984#define IWMReaderCallbackAdvanced_AllocateForOutput(This,output_number,size,sample,context) (This)->lpVtbl->AllocateForOutput(This,output_number,size,sample,context)
985#else
986/*** IUnknown methods ***/
987static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_QueryInterface(IWMReaderCallbackAdvanced* This,REFIID riid,void **ppvObject) {
988 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
989}
990static FORCEINLINE ULONG IWMReaderCallbackAdvanced_AddRef(IWMReaderCallbackAdvanced* This) {
991 return This->lpVtbl->AddRef(This);
992}
993static FORCEINLINE ULONG IWMReaderCallbackAdvanced_Release(IWMReaderCallbackAdvanced* This) {
994 return This->lpVtbl->Release(This);
995}
996/*** IWMReaderCallbackAdvanced methods ***/
997static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_OnStreamSample(IWMReaderCallbackAdvanced* This,WORD stream_number,QWORD pts,QWORD duration,DWORD flags,INSSBuffer *sample,void *context) {
998 return This->lpVtbl->OnStreamSample(This,stream_number,pts,duration,flags,sample,context);
999}
1000static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_OnTime(IWMReaderCallbackAdvanced* This,QWORD time,void *context) {
1001 return This->lpVtbl->OnTime(This,time,context);
1002}
1003static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_OnStreamSelection(IWMReaderCallbackAdvanced* This,WORD count,WORD *stream_numbers,WMT_STREAM_SELECTION *selections,void *context) {
1004 return This->lpVtbl->OnStreamSelection(This,count,stream_numbers,selections,context);
1005}
1006static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_OnOutputPropsChanged(IWMReaderCallbackAdvanced* This,DWORD output_number,WM_MEDIA_TYPE *mt,void *context) {
1007 return This->lpVtbl->OnOutputPropsChanged(This,output_number,mt,context);
1008}
1009static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_AllocateForStream(IWMReaderCallbackAdvanced* This,WORD stream_number,DWORD size,INSSBuffer **sample,void *context) {
1010 return This->lpVtbl->AllocateForStream(This,stream_number,size,sample,context);
1011}
1012static FORCEINLINE HRESULT IWMReaderCallbackAdvanced_AllocateForOutput(IWMReaderCallbackAdvanced* This,DWORD output_number,DWORD size,INSSBuffer **sample,void *context) {
1013 return This->lpVtbl->AllocateForOutput(This,output_number,size,sample,context);
1014}
1015#endif
1016#endif
1017
1018#endif
1019
1020
1021#endif /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */
1022
8281023/*****************************************************************************
8291024 * IWMStreamList interface
8301025 */
......@@ -6757,7 +6952,7 @@ IWMReaderAllocatorEx : public IUnknown
67576952 void *pvContext) = 0;
67586953
67596954 virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx(
6760 WORD wOutputNum,
6955 DWORD output,
67616956 DWORD cbBuffer,
67626957 INSSBuffer **ppBuffer,
67636958 DWORD dwFlags,
......@@ -6798,7 +6993,7 @@ typedef struct IWMReaderAllocatorExVtbl {
67986993
67996994 HRESULT (STDMETHODCALLTYPE *AllocateForOutputEx)(
68006995 IWMReaderAllocatorEx *This,
6801 WORD wOutputNum,
6996 DWORD output,
68026997 DWORD cbBuffer,
68036998 INSSBuffer **ppBuffer,
68046999 DWORD dwFlags,
......@@ -6821,7 +7016,7 @@ interface IWMReaderAllocatorEx {
68217016#define IWMReaderAllocatorEx_Release(This) (This)->lpVtbl->Release(This)
68227017/*** IWMReaderAllocatorEx methods ***/
68237018#define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) (This)->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
6824#define IWMReaderAllocatorEx_AllocateForOutputEx(This,wOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) (This)->lpVtbl->AllocateForOutputEx(This,wOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
7019#define IWMReaderAllocatorEx_AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) (This)->lpVtbl->AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
68257020#else
68267021/*** IUnknown methods ***/
68277022static FORCEINLINE HRESULT IWMReaderAllocatorEx_QueryInterface(IWMReaderAllocatorEx* This,REFIID riid,void **ppvObject) {
......@@ -6837,8 +7032,8 @@ static FORCEINLINE ULONG IWMReaderAllocatorEx_Release(IWMReaderAllocatorEx* This
68377032static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForStreamEx(IWMReaderAllocatorEx* This,WORD wStreamNum,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) {
68387033 return This->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext);
68397034}
6840static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForOutputEx(IWMReaderAllocatorEx* This,WORD wOutputNum,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) {
6841 return This->lpVtbl->AllocateForOutputEx(This,wOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext);
7035static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForOutputEx(IWMReaderAllocatorEx* This,DWORD output,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) {
7036 return This->lpVtbl->AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext);
68427037}
68437038#endif
68447039#endif
......@@ -11857,6 +12052,180 @@ static FORCEINLINE HRESULT IWMLicenseRestore_CancelLicenseRestore(IWMLicenseRest
1185712052
1185812053#endif /* __IWMLicenseRestore_INTERFACE_DEFINED__ */
1185912054
12055/*****************************************************************************
12056 * IWMIStreamProps interface
12057 */
12058#ifndef __IWMIStreamProps_INTERFACE_DEFINED__
12059#define __IWMIStreamProps_INTERFACE_DEFINED__
12060
12061DEFINE_GUID(IID_IWMIStreamProps, 0x6816dad3, 0x2b4b, 0x4c8e, 0x81,0x49, 0x87,0x4c,0x34,0x83,0xa7,0x53);
12062#if defined(__cplusplus) && !defined(CINTERFACE)
12063MIDL_INTERFACE("6816dad3-2b4b-4c8e-8149-874c3483a753")
12064IWMIStreamProps : public IUnknown
12065{
12066 virtual HRESULT STDMETHODCALLTYPE GetProperty(
12067 const WCHAR *name,
12068 WMT_ATTR_DATATYPE *type,
12069 BYTE *value,
12070 DWORD *size) = 0;
12071
12072};
12073#ifdef __CRT_UUID_DECL
12074__CRT_UUID_DECL(IWMIStreamProps, 0x6816dad3, 0x2b4b, 0x4c8e, 0x81,0x49, 0x87,0x4c,0x34,0x83,0xa7,0x53)
12075#endif
12076#else
12077typedef struct IWMIStreamPropsVtbl {
12078 BEGIN_INTERFACE
12079
12080 /*** IUnknown methods ***/
12081 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12082 IWMIStreamProps *This,
12083 REFIID riid,
12084 void **ppvObject);
12085
12086 ULONG (STDMETHODCALLTYPE *AddRef)(
12087 IWMIStreamProps *This);
12088
12089 ULONG (STDMETHODCALLTYPE *Release)(
12090 IWMIStreamProps *This);
12091
12092 /*** IWMIStreamProps methods ***/
12093 HRESULT (STDMETHODCALLTYPE *GetProperty)(
12094 IWMIStreamProps *This,
12095 const WCHAR *name,
12096 WMT_ATTR_DATATYPE *type,
12097 BYTE *value,
12098 DWORD *size);
12099
12100 END_INTERFACE
12101} IWMIStreamPropsVtbl;
12102
12103interface IWMIStreamProps {
12104 CONST_VTBL IWMIStreamPropsVtbl* lpVtbl;
12105};
12106
12107#ifdef COBJMACROS
12108#ifndef WIDL_C_INLINE_WRAPPERS
12109/*** IUnknown methods ***/
12110#define IWMIStreamProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12111#define IWMIStreamProps_AddRef(This) (This)->lpVtbl->AddRef(This)
12112#define IWMIStreamProps_Release(This) (This)->lpVtbl->Release(This)
12113/*** IWMIStreamProps methods ***/
12114#define IWMIStreamProps_GetProperty(This,name,type,value,size) (This)->lpVtbl->GetProperty(This,name,type,value,size)
12115#else
12116/*** IUnknown methods ***/
12117static FORCEINLINE HRESULT IWMIStreamProps_QueryInterface(IWMIStreamProps* This,REFIID riid,void **ppvObject) {
12118 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12119}
12120static FORCEINLINE ULONG IWMIStreamProps_AddRef(IWMIStreamProps* This) {
12121 return This->lpVtbl->AddRef(This);
12122}
12123static FORCEINLINE ULONG IWMIStreamProps_Release(IWMIStreamProps* This) {
12124 return This->lpVtbl->Release(This);
12125}
12126/*** IWMIStreamProps methods ***/
12127static FORCEINLINE HRESULT IWMIStreamProps_GetProperty(IWMIStreamProps* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) {
12128 return This->lpVtbl->GetProperty(This,name,type,value,size);
12129}
12130#endif
12131#endif
12132
12133#endif
12134
12135
12136#endif /* __IWMIStreamProps_INTERFACE_DEFINED__ */
12137
12138/*****************************************************************************
12139 * IWMCredentialCallback interface
12140 */
12141#ifndef __IWMCredentialCallback_INTERFACE_DEFINED__
12142#define __IWMCredentialCallback_INTERFACE_DEFINED__
12143
12144DEFINE_GUID(IID_IWMCredentialCallback, 0x342e0eb7, 0xe651, 0x450c, 0x97,0x5b, 0x2a,0xce,0x2c,0x90,0xc4,0x8e);
12145#if defined(__cplusplus) && !defined(CINTERFACE)
12146MIDL_INTERFACE("342e0eb7-e651-450c-975b-2ace2c90c48e")
12147IWMCredentialCallback : public IUnknown
12148{
12149 virtual HRESULT STDMETHODCALLTYPE AcquireCredentials(
12150 WCHAR *realm,
12151 WCHAR *site,
12152 WCHAR *username,
12153 DWORD username_size,
12154 WCHAR *password,
12155 DWORD password_size,
12156 HRESULT hr,
12157 DWORD *flags) = 0;
12158
12159};
12160#ifdef __CRT_UUID_DECL
12161__CRT_UUID_DECL(IWMCredentialCallback, 0x342e0eb7, 0xe651, 0x450c, 0x97,0x5b, 0x2a,0xce,0x2c,0x90,0xc4,0x8e)
12162#endif
12163#else
12164typedef struct IWMCredentialCallbackVtbl {
12165 BEGIN_INTERFACE
12166
12167 /*** IUnknown methods ***/
12168 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12169 IWMCredentialCallback *This,
12170 REFIID riid,
12171 void **ppvObject);
12172
12173 ULONG (STDMETHODCALLTYPE *AddRef)(
12174 IWMCredentialCallback *This);
12175
12176 ULONG (STDMETHODCALLTYPE *Release)(
12177 IWMCredentialCallback *This);
12178
12179 /*** IWMCredentialCallback methods ***/
12180 HRESULT (STDMETHODCALLTYPE *AcquireCredentials)(
12181 IWMCredentialCallback *This,
12182 WCHAR *realm,
12183 WCHAR *site,
12184 WCHAR *username,
12185 DWORD username_size,
12186 WCHAR *password,
12187 DWORD password_size,
12188 HRESULT hr,
12189 DWORD *flags);
12190
12191 END_INTERFACE
12192} IWMCredentialCallbackVtbl;
12193
12194interface IWMCredentialCallback {
12195 CONST_VTBL IWMCredentialCallbackVtbl* lpVtbl;
12196};
12197
12198#ifdef COBJMACROS
12199#ifndef WIDL_C_INLINE_WRAPPERS
12200/*** IUnknown methods ***/
12201#define IWMCredentialCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12202#define IWMCredentialCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
12203#define IWMCredentialCallback_Release(This) (This)->lpVtbl->Release(This)
12204/*** IWMCredentialCallback methods ***/
12205#define IWMCredentialCallback_AcquireCredentials(This,realm,site,username,username_size,password,password_size,hr,flags) (This)->lpVtbl->AcquireCredentials(This,realm,site,username,username_size,password,password_size,hr,flags)
12206#else
12207/*** IUnknown methods ***/
12208static FORCEINLINE HRESULT IWMCredentialCallback_QueryInterface(IWMCredentialCallback* This,REFIID riid,void **ppvObject) {
12209 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12210}
12211static FORCEINLINE ULONG IWMCredentialCallback_AddRef(IWMCredentialCallback* This) {
12212 return This->lpVtbl->AddRef(This);
12213}
12214static FORCEINLINE ULONG IWMCredentialCallback_Release(IWMCredentialCallback* This) {
12215 return This->lpVtbl->Release(This);
12216}
12217/*** IWMCredentialCallback methods ***/
12218static FORCEINLINE HRESULT IWMCredentialCallback_AcquireCredentials(IWMCredentialCallback* This,WCHAR *realm,WCHAR *site,WCHAR *username,DWORD username_size,WCHAR *password,DWORD password_size,HRESULT hr,DWORD *flags) {
12219 return This->lpVtbl->AcquireCredentials(This,realm,site,username,username_size,password,password_size,hr,flags);
12220}
12221#endif
12222#endif
12223
12224#endif
12225
12226
12227#endif /* __IWMCredentialCallback_INTERFACE_DEFINED__ */
12228
1186012229HRESULT WINAPI WMCheckURLExtension(LPCWSTR);
1186112230HRESULT WINAPI WMCheckURLScheme(LPCWSTR);
1186212231HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);
lib/libc/include/any-windows-any/wmsecure.h created+472
......@@ -0,0 +1,472 @@
1/*** Autogenerated by WIDL 7.0 from include/wmsecure.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __wmsecure_h__
17#define __wmsecure_h__
18
19/* Forward declarations */
20
21#ifndef __IWMAuthorizer_FWD_DEFINED__
22#define __IWMAuthorizer_FWD_DEFINED__
23typedef interface IWMAuthorizer IWMAuthorizer;
24#ifdef __cplusplus
25interface IWMAuthorizer;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IWMSecureChannel_FWD_DEFINED__
30#define __IWMSecureChannel_FWD_DEFINED__
31typedef interface IWMSecureChannel IWMSecureChannel;
32#ifdef __cplusplus
33interface IWMSecureChannel;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IWMGetSecureChannel_FWD_DEFINED__
38#define __IWMGetSecureChannel_FWD_DEFINED__
39typedef interface IWMGetSecureChannel IWMGetSecureChannel;
40#ifdef __cplusplus
41interface IWMGetSecureChannel;
42#endif /* __cplusplus */
43#endif
44
45/* Headers for imported files */
46
47#include <oaidl.h>
48#include <ocidl.h>
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54/*****************************************************************************
55 * IWMAuthorizer interface
56 */
57#ifndef __IWMAuthorizer_INTERFACE_DEFINED__
58#define __IWMAuthorizer_INTERFACE_DEFINED__
59
60DEFINE_GUID(IID_IWMAuthorizer, 0xd9b67d36, 0xa9ad, 0x4eb4, 0xba,0xef, 0xdb,0x28,0x4e,0xf5,0x50,0x4c);
61#if defined(__cplusplus) && !defined(CINTERFACE)
62MIDL_INTERFACE("d9b67d36-a9ad-4eb4-baef-db284ef5504c")
63IWMAuthorizer : public IUnknown
64{
65 virtual HRESULT STDMETHODCALLTYPE GetCertCount(
66 DWORD *count) = 0;
67
68 virtual HRESULT STDMETHODCALLTYPE GetCert(
69 DWORD index,
70 BYTE **data) = 0;
71
72 virtual HRESULT STDMETHODCALLTYPE GetSharedData(
73 DWORD index,
74 const BYTE *data,
75 BYTE *cert,
76 BYTE **ret_data) = 0;
77
78};
79#ifdef __CRT_UUID_DECL
80__CRT_UUID_DECL(IWMAuthorizer, 0xd9b67d36, 0xa9ad, 0x4eb4, 0xba,0xef, 0xdb,0x28,0x4e,0xf5,0x50,0x4c)
81#endif
82#else
83typedef struct IWMAuthorizerVtbl {
84 BEGIN_INTERFACE
85
86 /*** IUnknown methods ***/
87 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
88 IWMAuthorizer *This,
89 REFIID riid,
90 void **ppvObject);
91
92 ULONG (STDMETHODCALLTYPE *AddRef)(
93 IWMAuthorizer *This);
94
95 ULONG (STDMETHODCALLTYPE *Release)(
96 IWMAuthorizer *This);
97
98 /*** IWMAuthorizer methods ***/
99 HRESULT (STDMETHODCALLTYPE *GetCertCount)(
100 IWMAuthorizer *This,
101 DWORD *count);
102
103 HRESULT (STDMETHODCALLTYPE *GetCert)(
104 IWMAuthorizer *This,
105 DWORD index,
106 BYTE **data);
107
108 HRESULT (STDMETHODCALLTYPE *GetSharedData)(
109 IWMAuthorizer *This,
110 DWORD index,
111 const BYTE *data,
112 BYTE *cert,
113 BYTE **ret_data);
114
115 END_INTERFACE
116} IWMAuthorizerVtbl;
117
118interface IWMAuthorizer {
119 CONST_VTBL IWMAuthorizerVtbl* lpVtbl;
120};
121
122#ifdef COBJMACROS
123#ifndef WIDL_C_INLINE_WRAPPERS
124/*** IUnknown methods ***/
125#define IWMAuthorizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
126#define IWMAuthorizer_AddRef(This) (This)->lpVtbl->AddRef(This)
127#define IWMAuthorizer_Release(This) (This)->lpVtbl->Release(This)
128/*** IWMAuthorizer methods ***/
129#define IWMAuthorizer_GetCertCount(This,count) (This)->lpVtbl->GetCertCount(This,count)
130#define IWMAuthorizer_GetCert(This,index,data) (This)->lpVtbl->GetCert(This,index,data)
131#define IWMAuthorizer_GetSharedData(This,index,data,cert,ret_data) (This)->lpVtbl->GetSharedData(This,index,data,cert,ret_data)
132#else
133/*** IUnknown methods ***/
134static FORCEINLINE HRESULT IWMAuthorizer_QueryInterface(IWMAuthorizer* This,REFIID riid,void **ppvObject) {
135 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
136}
137static FORCEINLINE ULONG IWMAuthorizer_AddRef(IWMAuthorizer* This) {
138 return This->lpVtbl->AddRef(This);
139}
140static FORCEINLINE ULONG IWMAuthorizer_Release(IWMAuthorizer* This) {
141 return This->lpVtbl->Release(This);
142}
143/*** IWMAuthorizer methods ***/
144static FORCEINLINE HRESULT IWMAuthorizer_GetCertCount(IWMAuthorizer* This,DWORD *count) {
145 return This->lpVtbl->GetCertCount(This,count);
146}
147static FORCEINLINE HRESULT IWMAuthorizer_GetCert(IWMAuthorizer* This,DWORD index,BYTE **data) {
148 return This->lpVtbl->GetCert(This,index,data);
149}
150static FORCEINLINE HRESULT IWMAuthorizer_GetSharedData(IWMAuthorizer* This,DWORD index,const BYTE *data,BYTE *cert,BYTE **ret_data) {
151 return This->lpVtbl->GetSharedData(This,index,data,cert,ret_data);
152}
153#endif
154#endif
155
156#endif
157
158
159#endif /* __IWMAuthorizer_INTERFACE_DEFINED__ */
160
161/*****************************************************************************
162 * IWMSecureChannel interface
163 */
164#ifndef __IWMSecureChannel_INTERFACE_DEFINED__
165#define __IWMSecureChannel_INTERFACE_DEFINED__
166
167DEFINE_GUID(IID_IWMSecureChannel, 0x2720598a, 0xd0f2, 0x4189, 0xbd,0x10, 0x91,0xc4,0x6e,0xf0,0x93,0x6f);
168#if defined(__cplusplus) && !defined(CINTERFACE)
169MIDL_INTERFACE("2720598a-d0f2-4189-bd10-91c46ef0936f")
170IWMSecureChannel : public IWMAuthorizer
171{
172 virtual HRESULT STDMETHODCALLTYPE WMSC_AddCertificate(
173 IWMAuthorizer *cert) = 0;
174
175 virtual HRESULT STDMETHODCALLTYPE WMSC_AddSignature(
176 BYTE *signature,
177 DWORD size) = 0;
178
179 virtual HRESULT STDMETHODCALLTYPE WMSC_Connect(
180 IWMSecureChannel *peer) = 0;
181
182 virtual HRESULT STDMETHODCALLTYPE WMSC_IsConnected(
183 WINBOOL *connected) = 0;
184
185 virtual HRESULT STDMETHODCALLTYPE WMSC_Disconnect(
186 ) = 0;
187
188 virtual HRESULT STDMETHODCALLTYPE WMSC_GetValidCertificate(
189 BYTE **cert,
190 DWORD *signature) = 0;
191
192 virtual HRESULT STDMETHODCALLTYPE WMSC_Encrypt(
193 BYTE *data,
194 DWORD size) = 0;
195
196 virtual HRESULT STDMETHODCALLTYPE WMSC_Decrypt(
197 BYTE *data,
198 DWORD size) = 0;
199
200 virtual HRESULT STDMETHODCALLTYPE WMSC_Lock(
201 ) = 0;
202
203 virtual HRESULT STDMETHODCALLTYPE WMSC_Unlock(
204 ) = 0;
205
206 virtual HRESULT STDMETHODCALLTYPE WMSC_SetSharedData(
207 DWORD index,
208 BYTE *data) = 0;
209
210};
211#ifdef __CRT_UUID_DECL
212__CRT_UUID_DECL(IWMSecureChannel, 0x2720598a, 0xd0f2, 0x4189, 0xbd,0x10, 0x91,0xc4,0x6e,0xf0,0x93,0x6f)
213#endif
214#else
215typedef struct IWMSecureChannelVtbl {
216 BEGIN_INTERFACE
217
218 /*** IUnknown methods ***/
219 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
220 IWMSecureChannel *This,
221 REFIID riid,
222 void **ppvObject);
223
224 ULONG (STDMETHODCALLTYPE *AddRef)(
225 IWMSecureChannel *This);
226
227 ULONG (STDMETHODCALLTYPE *Release)(
228 IWMSecureChannel *This);
229
230 /*** IWMAuthorizer methods ***/
231 HRESULT (STDMETHODCALLTYPE *GetCertCount)(
232 IWMSecureChannel *This,
233 DWORD *count);
234
235 HRESULT (STDMETHODCALLTYPE *GetCert)(
236 IWMSecureChannel *This,
237 DWORD index,
238 BYTE **data);
239
240 HRESULT (STDMETHODCALLTYPE *GetSharedData)(
241 IWMSecureChannel *This,
242 DWORD index,
243 const BYTE *data,
244 BYTE *cert,
245 BYTE **ret_data);
246
247 /*** IWMSecureChannel methods ***/
248 HRESULT (STDMETHODCALLTYPE *WMSC_AddCertificate)(
249 IWMSecureChannel *This,
250 IWMAuthorizer *cert);
251
252 HRESULT (STDMETHODCALLTYPE *WMSC_AddSignature)(
253 IWMSecureChannel *This,
254 BYTE *signature,
255 DWORD size);
256
257 HRESULT (STDMETHODCALLTYPE *WMSC_Connect)(
258 IWMSecureChannel *This,
259 IWMSecureChannel *peer);
260
261 HRESULT (STDMETHODCALLTYPE *WMSC_IsConnected)(
262 IWMSecureChannel *This,
263 WINBOOL *connected);
264
265 HRESULT (STDMETHODCALLTYPE *WMSC_Disconnect)(
266 IWMSecureChannel *This);
267
268 HRESULT (STDMETHODCALLTYPE *WMSC_GetValidCertificate)(
269 IWMSecureChannel *This,
270 BYTE **cert,
271 DWORD *signature);
272
273 HRESULT (STDMETHODCALLTYPE *WMSC_Encrypt)(
274 IWMSecureChannel *This,
275 BYTE *data,
276 DWORD size);
277
278 HRESULT (STDMETHODCALLTYPE *WMSC_Decrypt)(
279 IWMSecureChannel *This,
280 BYTE *data,
281 DWORD size);
282
283 HRESULT (STDMETHODCALLTYPE *WMSC_Lock)(
284 IWMSecureChannel *This);
285
286 HRESULT (STDMETHODCALLTYPE *WMSC_Unlock)(
287 IWMSecureChannel *This);
288
289 HRESULT (STDMETHODCALLTYPE *WMSC_SetSharedData)(
290 IWMSecureChannel *This,
291 DWORD index,
292 BYTE *data);
293
294 END_INTERFACE
295} IWMSecureChannelVtbl;
296
297interface IWMSecureChannel {
298 CONST_VTBL IWMSecureChannelVtbl* lpVtbl;
299};
300
301#ifdef COBJMACROS
302#ifndef WIDL_C_INLINE_WRAPPERS
303/*** IUnknown methods ***/
304#define IWMSecureChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
305#define IWMSecureChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
306#define IWMSecureChannel_Release(This) (This)->lpVtbl->Release(This)
307/*** IWMAuthorizer methods ***/
308#define IWMSecureChannel_GetCertCount(This,count) (This)->lpVtbl->GetCertCount(This,count)
309#define IWMSecureChannel_GetCert(This,index,data) (This)->lpVtbl->GetCert(This,index,data)
310#define IWMSecureChannel_GetSharedData(This,index,data,cert,ret_data) (This)->lpVtbl->GetSharedData(This,index,data,cert,ret_data)
311/*** IWMSecureChannel methods ***/
312#define IWMSecureChannel_WMSC_AddCertificate(This,cert) (This)->lpVtbl->WMSC_AddCertificate(This,cert)
313#define IWMSecureChannel_WMSC_AddSignature(This,signature,size) (This)->lpVtbl->WMSC_AddSignature(This,signature,size)
314#define IWMSecureChannel_WMSC_Connect(This,peer) (This)->lpVtbl->WMSC_Connect(This,peer)
315#define IWMSecureChannel_WMSC_IsConnected(This,connected) (This)->lpVtbl->WMSC_IsConnected(This,connected)
316#define IWMSecureChannel_WMSC_Disconnect(This) (This)->lpVtbl->WMSC_Disconnect(This)
317#define IWMSecureChannel_WMSC_GetValidCertificate(This,cert,signature) (This)->lpVtbl->WMSC_GetValidCertificate(This,cert,signature)
318#define IWMSecureChannel_WMSC_Encrypt(This,data,size) (This)->lpVtbl->WMSC_Encrypt(This,data,size)
319#define IWMSecureChannel_WMSC_Decrypt(This,data,size) (This)->lpVtbl->WMSC_Decrypt(This,data,size)
320#define IWMSecureChannel_WMSC_Lock(This) (This)->lpVtbl->WMSC_Lock(This)
321#define IWMSecureChannel_WMSC_Unlock(This) (This)->lpVtbl->WMSC_Unlock(This)
322#define IWMSecureChannel_WMSC_SetSharedData(This,index,data) (This)->lpVtbl->WMSC_SetSharedData(This,index,data)
323#else
324/*** IUnknown methods ***/
325static FORCEINLINE HRESULT IWMSecureChannel_QueryInterface(IWMSecureChannel* This,REFIID riid,void **ppvObject) {
326 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
327}
328static FORCEINLINE ULONG IWMSecureChannel_AddRef(IWMSecureChannel* This) {
329 return This->lpVtbl->AddRef(This);
330}
331static FORCEINLINE ULONG IWMSecureChannel_Release(IWMSecureChannel* This) {
332 return This->lpVtbl->Release(This);
333}
334/*** IWMAuthorizer methods ***/
335static FORCEINLINE HRESULT IWMSecureChannel_GetCertCount(IWMSecureChannel* This,DWORD *count) {
336 return This->lpVtbl->GetCertCount(This,count);
337}
338static FORCEINLINE HRESULT IWMSecureChannel_GetCert(IWMSecureChannel* This,DWORD index,BYTE **data) {
339 return This->lpVtbl->GetCert(This,index,data);
340}
341static FORCEINLINE HRESULT IWMSecureChannel_GetSharedData(IWMSecureChannel* This,DWORD index,const BYTE *data,BYTE *cert,BYTE **ret_data) {
342 return This->lpVtbl->GetSharedData(This,index,data,cert,ret_data);
343}
344/*** IWMSecureChannel methods ***/
345static FORCEINLINE HRESULT IWMSecureChannel_WMSC_AddCertificate(IWMSecureChannel* This,IWMAuthorizer *cert) {
346 return This->lpVtbl->WMSC_AddCertificate(This,cert);
347}
348static FORCEINLINE HRESULT IWMSecureChannel_WMSC_AddSignature(IWMSecureChannel* This,BYTE *signature,DWORD size) {
349 return This->lpVtbl->WMSC_AddSignature(This,signature,size);
350}
351static FORCEINLINE HRESULT IWMSecureChannel_WMSC_Connect(IWMSecureChannel* This,IWMSecureChannel *peer) {
352 return This->lpVtbl->WMSC_Connect(This,peer);
353}
354static FORCEINLINE HRESULT IWMSecureChannel_WMSC_IsConnected(IWMSecureChannel* This,WINBOOL *connected) {
355 return This->lpVtbl->WMSC_IsConnected(This,connected);
356}
357static FORCEINLINE HRESULT IWMSecureChannel_WMSC_Disconnect(IWMSecureChannel* This) {
358 return This->lpVtbl->WMSC_Disconnect(This);
359}
360static FORCEINLINE HRESULT IWMSecureChannel_WMSC_GetValidCertificate(IWMSecureChannel* This,BYTE **cert,DWORD *signature) {
361 return This->lpVtbl->WMSC_GetValidCertificate(This,cert,signature);
362}
363static FORCEINLINE HRESULT IWMSecureChannel_WMSC_Encrypt(IWMSecureChannel* This,BYTE *data,DWORD size) {
364 return This->lpVtbl->WMSC_Encrypt(This,data,size);
365}
366static FORCEINLINE HRESULT IWMSecureChannel_WMSC_Decrypt(IWMSecureChannel* This,BYTE *data,DWORD size) {
367 return This->lpVtbl->WMSC_Decrypt(This,data,size);
368}
369static FORCEINLINE HRESULT IWMSecureChannel_WMSC_Lock(IWMSecureChannel* This) {
370 return This->lpVtbl->WMSC_Lock(This);
371}
372static FORCEINLINE HRESULT IWMSecureChannel_WMSC_Unlock(IWMSecureChannel* This) {
373 return This->lpVtbl->WMSC_Unlock(This);
374}
375static FORCEINLINE HRESULT IWMSecureChannel_WMSC_SetSharedData(IWMSecureChannel* This,DWORD index,BYTE *data) {
376 return This->lpVtbl->WMSC_SetSharedData(This,index,data);
377}
378#endif
379#endif
380
381#endif
382
383
384#endif /* __IWMSecureChannel_INTERFACE_DEFINED__ */
385
386/*****************************************************************************
387 * IWMGetSecureChannel interface
388 */
389#ifndef __IWMGetSecureChannel_INTERFACE_DEFINED__
390#define __IWMGetSecureChannel_INTERFACE_DEFINED__
391
392DEFINE_GUID(IID_IWMGetSecureChannel, 0x94bc0598, 0xc3d2, 0x11d3, 0xbe,0xdf, 0x00,0xc0,0x4f,0x61,0x29,0x86);
393#if defined(__cplusplus) && !defined(CINTERFACE)
394MIDL_INTERFACE("94bc0598-c3d2-11d3-bedf-00c04f612986")
395IWMGetSecureChannel : public IUnknown
396{
397 virtual HRESULT STDMETHODCALLTYPE GetPeerSecureChannelInterface(
398 IWMSecureChannel **channel) = 0;
399
400};
401#ifdef __CRT_UUID_DECL
402__CRT_UUID_DECL(IWMGetSecureChannel, 0x94bc0598, 0xc3d2, 0x11d3, 0xbe,0xdf, 0x00,0xc0,0x4f,0x61,0x29,0x86)
403#endif
404#else
405typedef struct IWMGetSecureChannelVtbl {
406 BEGIN_INTERFACE
407
408 /*** IUnknown methods ***/
409 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
410 IWMGetSecureChannel *This,
411 REFIID riid,
412 void **ppvObject);
413
414 ULONG (STDMETHODCALLTYPE *AddRef)(
415 IWMGetSecureChannel *This);
416
417 ULONG (STDMETHODCALLTYPE *Release)(
418 IWMGetSecureChannel *This);
419
420 /*** IWMGetSecureChannel methods ***/
421 HRESULT (STDMETHODCALLTYPE *GetPeerSecureChannelInterface)(
422 IWMGetSecureChannel *This,
423 IWMSecureChannel **channel);
424
425 END_INTERFACE
426} IWMGetSecureChannelVtbl;
427
428interface IWMGetSecureChannel {
429 CONST_VTBL IWMGetSecureChannelVtbl* lpVtbl;
430};
431
432#ifdef COBJMACROS
433#ifndef WIDL_C_INLINE_WRAPPERS
434/*** IUnknown methods ***/
435#define IWMGetSecureChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
436#define IWMGetSecureChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
437#define IWMGetSecureChannel_Release(This) (This)->lpVtbl->Release(This)
438/*** IWMGetSecureChannel methods ***/
439#define IWMGetSecureChannel_GetPeerSecureChannelInterface(This,channel) (This)->lpVtbl->GetPeerSecureChannelInterface(This,channel)
440#else
441/*** IUnknown methods ***/
442static FORCEINLINE HRESULT IWMGetSecureChannel_QueryInterface(IWMGetSecureChannel* This,REFIID riid,void **ppvObject) {
443 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
444}
445static FORCEINLINE ULONG IWMGetSecureChannel_AddRef(IWMGetSecureChannel* This) {
446 return This->lpVtbl->AddRef(This);
447}
448static FORCEINLINE ULONG IWMGetSecureChannel_Release(IWMGetSecureChannel* This) {
449 return This->lpVtbl->Release(This);
450}
451/*** IWMGetSecureChannel methods ***/
452static FORCEINLINE HRESULT IWMGetSecureChannel_GetPeerSecureChannelInterface(IWMGetSecureChannel* This,IWMSecureChannel **channel) {
453 return This->lpVtbl->GetPeerSecureChannelInterface(This,channel);
454}
455#endif
456#endif
457
458#endif
459
460
461#endif /* __IWMGetSecureChannel_INTERFACE_DEFINED__ */
462
463/* Begin additional prototypes for all interfaces */
464
465
466/* End additional prototypes */
467
468#ifdef __cplusplus
469}
470#endif
471
472#endif /* __wmsecure_h__ */
lib/libc/include/any-windows-any/wpcapi.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wpcapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wpcapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ws2ipdef.h-5
......@@ -192,11 +192,6 @@ typedef enum _MULTICAST_MODE_TYPE {
192192 MCAST_EXCLUDE
193193} MULTICAST_MODE_TYPE;
194194
195typedef struct ip_mreq {
196 IN_ADDR imr_multiaddr;
197 IN_ADDR imr_interface;
198} IP_MREQ, *PIP_MREQ;
199
200195typedef struct ip_mreq_source {
201196 IN_ADDR imr_multiaddr;
202197 IN_ADDR imr_sourceaddr;
lib/libc/include/any-windows-any/wsdattachment.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsdattachment.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsdattachment.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdbase.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsdbase.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsdbase.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdclient.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsdclient.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsdclient.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsddisco.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsddisco.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsddisco.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdhost.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsdhost.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsdhost.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdxml.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsdxml.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsdxml.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsmandisp.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wsmandisp.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wsmandisp.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wtypes.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wtypes.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wtypes.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wtypesbase.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wtypesbase.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wtypesbase.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wuapi.h+158-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/wuapi.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/wuapi.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
......@@ -274,6 +274,14 @@ interface ISystemInformation;
274274#endif /* __cplusplus */
275275#endif
276276
277#ifndef __IWindowsUpdateAgentInfo_FWD_DEFINED__
278#define __IWindowsUpdateAgentInfo_FWD_DEFINED__
279typedef interface IWindowsUpdateAgentInfo IWindowsUpdateAgentInfo;
280#ifdef __cplusplus
281interface IWindowsUpdateAgentInfo;
282#endif /* __cplusplus */
283#endif
284
277285#ifndef __AutomaticUpdates_FWD_DEFINED__
278286#define __AutomaticUpdates_FWD_DEFINED__
279287#ifdef __cplusplus
......@@ -310,6 +318,15 @@ typedef struct SystemInformation SystemInformation;
310318#endif /* defined __cplusplus */
311319#endif /* defined __SystemInformation_FWD_DEFINED__ */
312320
321#ifndef __WindowsUpdateAgentInfo_FWD_DEFINED__
322#define __WindowsUpdateAgentInfo_FWD_DEFINED__
323#ifdef __cplusplus
324typedef class WindowsUpdateAgentInfo WindowsUpdateAgentInfo;
325#else
326typedef struct WindowsUpdateAgentInfo WindowsUpdateAgentInfo;
327#endif /* defined __cplusplus */
328#endif /* defined __WindowsUpdateAgentInfo_FWD_DEFINED__ */
329
313330/* Headers for imported files */
314331
315332#include <oaidl.h>
......@@ -6903,6 +6920,133 @@ static FORCEINLINE HRESULT ISystemInformation_get_RebootRequired(ISystemInformat
69036920
69046921#endif /* __ISystemInformation_INTERFACE_DEFINED__ */
69056922
6923/*****************************************************************************
6924 * IWindowsUpdateAgentInfo interface
6925 */
6926#ifndef __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__
6927#define __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__
6928
6929DEFINE_GUID(IID_IWindowsUpdateAgentInfo, 0x85713fa1, 0x7796, 0x4fa2, 0xbe,0x3b, 0xe2,0xd6,0x12,0x4d,0xd3,0x73);
6930#if defined(__cplusplus) && !defined(CINTERFACE)
6931MIDL_INTERFACE("85713fa1-7796-4fa2-be3b-e2d6124dd373")
6932IWindowsUpdateAgentInfo : public IDispatch
6933{
6934 virtual HRESULT STDMETHODCALLTYPE GetInfo(
6935 VARIANT varInfoIdentifier,
6936 VARIANT *retval) = 0;
6937
6938};
6939#ifdef __CRT_UUID_DECL
6940__CRT_UUID_DECL(IWindowsUpdateAgentInfo, 0x85713fa1, 0x7796, 0x4fa2, 0xbe,0x3b, 0xe2,0xd6,0x12,0x4d,0xd3,0x73)
6941#endif
6942#else
6943typedef struct IWindowsUpdateAgentInfoVtbl {
6944 BEGIN_INTERFACE
6945
6946 /*** IUnknown methods ***/
6947 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6948 IWindowsUpdateAgentInfo *This,
6949 REFIID riid,
6950 void **ppvObject);
6951
6952 ULONG (STDMETHODCALLTYPE *AddRef)(
6953 IWindowsUpdateAgentInfo *This);
6954
6955 ULONG (STDMETHODCALLTYPE *Release)(
6956 IWindowsUpdateAgentInfo *This);
6957
6958 /*** IDispatch methods ***/
6959 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6960 IWindowsUpdateAgentInfo *This,
6961 UINT *pctinfo);
6962
6963 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6964 IWindowsUpdateAgentInfo *This,
6965 UINT iTInfo,
6966 LCID lcid,
6967 ITypeInfo **ppTInfo);
6968
6969 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6970 IWindowsUpdateAgentInfo *This,
6971 REFIID riid,
6972 LPOLESTR *rgszNames,
6973 UINT cNames,
6974 LCID lcid,
6975 DISPID *rgDispId);
6976
6977 HRESULT (STDMETHODCALLTYPE *Invoke)(
6978 IWindowsUpdateAgentInfo *This,
6979 DISPID dispIdMember,
6980 REFIID riid,
6981 LCID lcid,
6982 WORD wFlags,
6983 DISPPARAMS *pDispParams,
6984 VARIANT *pVarResult,
6985 EXCEPINFO *pExcepInfo,
6986 UINT *puArgErr);
6987
6988 /*** IWindowsUpdateAgentInfo methods ***/
6989 HRESULT (STDMETHODCALLTYPE *GetInfo)(
6990 IWindowsUpdateAgentInfo *This,
6991 VARIANT varInfoIdentifier,
6992 VARIANT *retval);
6993
6994 END_INTERFACE
6995} IWindowsUpdateAgentInfoVtbl;
6996
6997interface IWindowsUpdateAgentInfo {
6998 CONST_VTBL IWindowsUpdateAgentInfoVtbl* lpVtbl;
6999};
7000
7001#ifdef COBJMACROS
7002#ifndef WIDL_C_INLINE_WRAPPERS
7003/*** IUnknown methods ***/
7004#define IWindowsUpdateAgentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7005#define IWindowsUpdateAgentInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
7006#define IWindowsUpdateAgentInfo_Release(This) (This)->lpVtbl->Release(This)
7007/*** IDispatch methods ***/
7008#define IWindowsUpdateAgentInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
7009#define IWindowsUpdateAgentInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
7010#define IWindowsUpdateAgentInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
7011#define IWindowsUpdateAgentInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
7012/*** IWindowsUpdateAgentInfo methods ***/
7013#define IWindowsUpdateAgentInfo_GetInfo(This,varInfoIdentifier,retval) (This)->lpVtbl->GetInfo(This,varInfoIdentifier,retval)
7014#else
7015/*** IUnknown methods ***/
7016static FORCEINLINE HRESULT IWindowsUpdateAgentInfo_QueryInterface(IWindowsUpdateAgentInfo* This,REFIID riid,void **ppvObject) {
7017 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7018}
7019static FORCEINLINE ULONG IWindowsUpdateAgentInfo_AddRef(IWindowsUpdateAgentInfo* This) {
7020 return This->lpVtbl->AddRef(This);
7021}
7022static FORCEINLINE ULONG IWindowsUpdateAgentInfo_Release(IWindowsUpdateAgentInfo* This) {
7023 return This->lpVtbl->Release(This);
7024}
7025/*** IDispatch methods ***/
7026static FORCEINLINE HRESULT IWindowsUpdateAgentInfo_GetTypeInfoCount(IWindowsUpdateAgentInfo* This,UINT *pctinfo) {
7027 return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
7028}
7029static FORCEINLINE HRESULT IWindowsUpdateAgentInfo_GetTypeInfo(IWindowsUpdateAgentInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
7030 return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
7031}
7032static FORCEINLINE HRESULT IWindowsUpdateAgentInfo_GetIDsOfNames(IWindowsUpdateAgentInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
7033 return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
7034}
7035static FORCEINLINE HRESULT IWindowsUpdateAgentInfo_Invoke(IWindowsUpdateAgentInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
7036 return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
7037}
7038/*** IWindowsUpdateAgentInfo methods ***/
7039static FORCEINLINE HRESULT IWindowsUpdateAgentInfo_GetInfo(IWindowsUpdateAgentInfo* This,VARIANT varInfoIdentifier,VARIANT *retval) {
7040 return This->lpVtbl->GetInfo(This,varInfoIdentifier,retval);
7041}
7042#endif
7043#endif
7044
7045#endif
7046
7047
7048#endif /* __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ */
7049
69067050/*****************************************************************************
69077051 * AutomaticUpdates coclass
69087052 */
......@@ -6955,6 +7099,19 @@ __CRT_UUID_DECL(SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0
69557099#endif
69567100#endif
69577101
7102/*****************************************************************************
7103 * WindowsUpdateAgentInfo coclass
7104 */
7105
7106DEFINE_GUID(CLSID_WindowsUpdateAgentInfo, 0xc2e88c2f, 0x6f5b, 0x4aaa, 0x89,0x4b, 0x55,0xc8,0x47,0xad,0x3a,0x2d);
7107
7108#ifdef __cplusplus
7109class DECLSPEC_UUID("c2e88c2f-6f5b-4aaa-894b-55c847ad3a2d") WindowsUpdateAgentInfo;
7110#ifdef __CRT_UUID_DECL
7111__CRT_UUID_DECL(WindowsUpdateAgentInfo, 0xc2e88c2f, 0x6f5b, 0x4aaa, 0x89,0x4b, 0x55,0xc8,0x47,0xad,0x3a,0x2d)
7112#endif
7113#endif
7114
69587115#endif /* __WUApiLib_LIBRARY_DEFINED__ */
69597116/* Begin additional prototypes for all interfaces */
69607117
lib/libc/include/any-windows-any/wuerror.h created+482
......@@ -0,0 +1,482 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _WUERROR_
8#define _WUERROR_
9
10#ifdef RC_INVOKED
11#define _HRESULT_TYPEDEF_(_sc) _sc
12#else
13#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc)
14#endif
15
16#define WU_S_SERVICE_STOP _HRESULT_TYPEDEF_(0x00240001)
17#define WU_S_SELFUPDATE _HRESULT_TYPEDEF_(0x00240002)
18#define WU_S_UPDATE_ERROR _HRESULT_TYPEDEF_(0x00240003)
19#define WU_S_MARKED_FOR_DISCONNECT _HRESULT_TYPEDEF_(0x00240004)
20#define WU_S_REBOOT_REQUIRED _HRESULT_TYPEDEF_(0x00240005)
21#define WU_S_ALREADY_INSTALLED _HRESULT_TYPEDEF_(0x00240006)
22#define WU_S_ALREADY_UNINSTALLED _HRESULT_TYPEDEF_(0x00240007)
23#define WU_S_ALREADY_DOWNLOADED _HRESULT_TYPEDEF_(0x00240008)
24#define WU_S_SOME_UPDATES_SKIPPED_ON_BATTERY _HRESULT_TYPEDEF_(0x00240009)
25#define WU_S_ALREADY_REVERTED _HRESULT_TYPEDEF_(0x0024000A)
26#define WU_S_SEARCH_CRITERIA_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x00240010)
27#define WU_S_UH_INSTALLSTILLPENDING _HRESULT_TYPEDEF_(0x00242015)
28#define WU_S_UH_DOWNLOAD_SIZE_CALCULATED _HRESULT_TYPEDEF_(0x00242016)
29#define WU_S_SIH_NOOP _HRESULT_TYPEDEF_(0x00245001)
30#define WU_S_DM_ALREADYDOWNLOADING _HRESULT_TYPEDEF_(0x00246001)
31#define WU_S_METADATA_SKIPPED_BY_ENFORCEMENTMODE _HRESULT_TYPEDEF_(0x00247101)
32#define WU_S_METADATA_IGNORED_SIGNATURE_VERIFICATION _HRESULT_TYPEDEF_(0x00247102)
33#define WU_S_SEARCH_LOAD_SHEDDING _HRESULT_TYPEDEF_(0x00248001)
34#define WU_E_NO_SERVICE _HRESULT_TYPEDEF_(0x80240001)
35#define WU_E_MAX_CAPACITY_REACHED _HRESULT_TYPEDEF_(0x80240002)
36#define WU_E_UNKNOWN_ID _HRESULT_TYPEDEF_(0x80240003)
37#define WU_E_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x80240004)
38#define WU_E_RANGEOVERLAP _HRESULT_TYPEDEF_(0x80240005)
39#define WU_E_TOOMANYRANGES _HRESULT_TYPEDEF_(0x80240006)
40#define WU_E_INVALIDINDEX _HRESULT_TYPEDEF_(0x80240007)
41#define WU_E_ITEMNOTFOUND _HRESULT_TYPEDEF_(0x80240008)
42#define WU_E_OPERATIONINPROGRESS _HRESULT_TYPEDEF_(0x80240009)
43#define WU_E_COULDNOTCANCEL _HRESULT_TYPEDEF_(0x8024000A)
44#define WU_E_CALL_CANCELLED _HRESULT_TYPEDEF_(0x8024000B)
45#define WU_E_NOOP _HRESULT_TYPEDEF_(0x8024000C)
46#define WU_E_XML_MISSINGDATA _HRESULT_TYPEDEF_(0x8024000D)
47#define WU_E_XML_INVALID _HRESULT_TYPEDEF_(0x8024000E)
48#define WU_E_CYCLE_DETECTED _HRESULT_TYPEDEF_(0x8024000F)
49#define WU_E_TOO_DEEP_RELATION _HRESULT_TYPEDEF_(0x80240010)
50#define WU_E_INVALID_RELATIONSHIP _HRESULT_TYPEDEF_(0x80240011)
51#define WU_E_REG_VALUE_INVALID _HRESULT_TYPEDEF_(0x80240012)
52#define WU_E_DUPLICATE_ITEM _HRESULT_TYPEDEF_(0x80240013)
53#define WU_E_INVALID_INSTALL_REQUESTED _HRESULT_TYPEDEF_(0x80240014)
54#define WU_E_INSTALL_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240016)
55#define WU_E_NOT_APPLICABLE _HRESULT_TYPEDEF_(0x80240017)
56#define WU_E_NO_USERTOKEN _HRESULT_TYPEDEF_(0x80240018)
57#define WU_E_EXCLUSIVE_INSTALL_CONFLICT _HRESULT_TYPEDEF_(0x80240019)
58#define WU_E_POLICY_NOT_SET _HRESULT_TYPEDEF_(0x8024001A)
59#define WU_E_SELFUPDATE_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024001B)
60#define WU_E_INVALID_UPDATE _HRESULT_TYPEDEF_(0x8024001D)
61#define WU_E_SERVICE_STOP _HRESULT_TYPEDEF_(0x8024001E)
62#define WU_E_NO_CONNECTION _HRESULT_TYPEDEF_(0x8024001F)
63#define WU_E_NO_INTERACTIVE_USER _HRESULT_TYPEDEF_(0x80240020)
64#define WU_E_TIME_OUT _HRESULT_TYPEDEF_(0x80240021)
65#define WU_E_ALL_UPDATES_FAILED _HRESULT_TYPEDEF_(0x80240022)
66#define WU_E_EULAS_DECLINED _HRESULT_TYPEDEF_(0x80240023)
67#define WU_E_NO_UPDATE _HRESULT_TYPEDEF_(0x80240024)
68#define WU_E_USER_ACCESS_DISABLED _HRESULT_TYPEDEF_(0x80240025)
69#define WU_E_INVALID_UPDATE_TYPE _HRESULT_TYPEDEF_(0x80240026)
70#define WU_E_URL_TOO_LONG _HRESULT_TYPEDEF_(0x80240027)
71#define WU_E_UNINSTALL_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240028)
72#define WU_E_INVALID_PRODUCT_LICENSE _HRESULT_TYPEDEF_(0x80240029)
73#define WU_E_MISSING_HANDLER _HRESULT_TYPEDEF_(0x8024002A)
74#define WU_E_LEGACYSERVER _HRESULT_TYPEDEF_(0x8024002B)
75#define WU_E_BIN_SOURCE_ABSENT _HRESULT_TYPEDEF_(0x8024002C)
76#define WU_E_SOURCE_ABSENT _HRESULT_TYPEDEF_(0x8024002D)
77#define WU_E_WU_DISABLED _HRESULT_TYPEDEF_(0x8024002E)
78#define WU_E_CALL_CANCELLED_BY_POLICY _HRESULT_TYPEDEF_(0x8024002F)
79#define WU_E_INVALID_PROXY_SERVER _HRESULT_TYPEDEF_(0x80240030)
80#define WU_E_INVALID_FILE _HRESULT_TYPEDEF_(0x80240031)
81#define WU_E_INVALID_CRITERIA _HRESULT_TYPEDEF_(0x80240032)
82#define WU_E_EULA_UNAVAILABLE _HRESULT_TYPEDEF_(0x80240033)
83#define WU_E_DOWNLOAD_FAILED _HRESULT_TYPEDEF_(0x80240034)
84#define WU_E_UPDATE_NOT_PROCESSED _HRESULT_TYPEDEF_(0x80240035)
85#define WU_E_INVALID_OPERATION _HRESULT_TYPEDEF_(0x80240036)
86#define WU_E_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80240037)
87#define WU_E_WINHTTP_INVALID_FILE _HRESULT_TYPEDEF_(0x80240038)
88#define WU_E_TOO_MANY_RESYNC _HRESULT_TYPEDEF_(0x80240039)
89#define WU_E_NO_SERVER_CORE_SUPPORT _HRESULT_TYPEDEF_(0x80240040)
90#define WU_E_SYSPREP_IN_PROGRESS _HRESULT_TYPEDEF_(0x80240041)
91#define WU_E_UNKNOWN_SERVICE _HRESULT_TYPEDEF_(0x80240042)
92#define WU_E_NO_UI_SUPPORT _HRESULT_TYPEDEF_(0x80240043)
93#define WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED _HRESULT_TYPEDEF_(0x80240044)
94#define WU_E_UNSUPPORTED_SEARCHSCOPE _HRESULT_TYPEDEF_(0x80240045)
95#define WU_E_BAD_FILE_URL _HRESULT_TYPEDEF_(0x80240046)
96#define WU_E_REVERT_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240047)
97#define WU_E_INVALID_NOTIFICATION_INFO _HRESULT_TYPEDEF_(0x80240048)
98#define WU_E_OUTOFRANGE _HRESULT_TYPEDEF_(0x80240049)
99#define WU_E_SETUP_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024004A)
100#define WU_E_ORPHANED_DOWNLOAD_JOB _HRESULT_TYPEDEF_(0x8024004B)
101#define WU_E_LOW_BATTERY _HRESULT_TYPEDEF_(0x8024004C)
102#define WU_E_INFRASTRUCTUREFILE_INVALID_FORMAT _HRESULT_TYPEDEF_(0x8024004D)
103#define WU_E_INFRASTRUCTUREFILE_REQUIRES_SSL _HRESULT_TYPEDEF_(0x8024004E)
104#define WU_E_IDLESHUTDOWN_OPCOUNT_DISCOVERY _HRESULT_TYPEDEF_(0x8024004F)
105#define WU_E_IDLESHUTDOWN_OPCOUNT_SEARCH _HRESULT_TYPEDEF_(0x80240050)
106#define WU_E_IDLESHUTDOWN_OPCOUNT_DOWNLOAD _HRESULT_TYPEDEF_(0x80240051)
107#define WU_E_IDLESHUTDOWN_OPCOUNT_INSTALL _HRESULT_TYPEDEF_(0x80240052)
108#define WU_E_IDLESHUTDOWN_OPCOUNT_OTHER _HRESULT_TYPEDEF_(0x80240053)
109#define WU_E_INTERACTIVE_CALL_CANCELLED _HRESULT_TYPEDEF_(0x80240054)
110#define WU_E_AU_CALL_CANCELLED _HRESULT_TYPEDEF_(0x80240055)
111#define WU_E_SYSTEM_UNSUPPORTED _HRESULT_TYPEDEF_(0x80240056)
112#define WU_E_NO_SUCH_HANDLER_PLUGIN _HRESULT_TYPEDEF_(0x80240057)
113#define WU_E_INVALID_SERIALIZATION_VERSION _HRESULT_TYPEDEF_(0x80240058)
114#define WU_E_NETWORK_COST_EXCEEDS_POLICY _HRESULT_TYPEDEF_(0x80240059)
115#define WU_E_CALL_CANCELLED_BY_HIDE _HRESULT_TYPEDEF_(0x8024005A)
116#define WU_E_CALL_CANCELLED_BY_INVALID _HRESULT_TYPEDEF_(0x8024005B)
117#define WU_E_INVALID_VOLUMEID _HRESULT_TYPEDEF_(0x8024005C)
118#define WU_E_UNRECOGNIZED_VOLUMEID _HRESULT_TYPEDEF_(0x8024005D)
119#define WU_E_EXTENDEDERROR_NOTSET _HRESULT_TYPEDEF_(0x8024005E)
120#define WU_E_EXTENDEDERROR_FAILED _HRESULT_TYPEDEF_(0x8024005F)
121#define WU_E_IDLESHUTDOWN_OPCOUNT_SERVICEREGISTRATION _HRESULT_TYPEDEF_(0x80240060)
122#define WU_E_FILETRUST_SHA2SIGNATURE_MISSING _HRESULT_TYPEDEF_(0x80240061)
123#define WU_E_UPDATE_NOT_APPROVED _HRESULT_TYPEDEF_(0x80240062)
124#define WU_E_CALL_CANCELLED_BY_INTERACTIVE_SEARCH _HRESULT_TYPEDEF_(0x80240063)
125#define WU_E_INSTALL_JOB_RESUME_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240064)
126#define WU_E_INSTALL_JOB_NOT_SUSPENDED _HRESULT_TYPEDEF_(0x80240065)
127#define WU_E_INSTALL_USERCONTEXT_ACCESSDENIED _HRESULT_TYPEDEF_(0x80240066)
128#define WU_E_UNEXPECTED _HRESULT_TYPEDEF_(0x80240FFF)
129#define WU_E_MSI_WRONG_VERSION _HRESULT_TYPEDEF_(0x80241001)
130#define WU_E_MSI_NOT_CONFIGURED _HRESULT_TYPEDEF_(0x80241002)
131#define WU_E_MSP_DISABLED _HRESULT_TYPEDEF_(0x80241003)
132#define WU_E_MSI_WRONG_APP_CONTEXT _HRESULT_TYPEDEF_(0x80241004)
133#define WU_E_MSI_NOT_PRESENT _HRESULT_TYPEDEF_(0x80241005)
134#define WU_E_MSP_UNEXPECTED _HRESULT_TYPEDEF_(0x80241FFF)
135#define WU_E_PT_SOAPCLIENT_BASE _HRESULT_TYPEDEF_(0x80244000)
136#define WU_E_PT_SOAPCLIENT_INITIALIZE _HRESULT_TYPEDEF_(0x80244001)
137#define WU_E_PT_SOAPCLIENT_OUTOFMEMORY _HRESULT_TYPEDEF_(0x80244002)
138#define WU_E_PT_SOAPCLIENT_GENERATE _HRESULT_TYPEDEF_(0x80244003)
139#define WU_E_PT_SOAPCLIENT_CONNECT _HRESULT_TYPEDEF_(0x80244004)
140#define WU_E_PT_SOAPCLIENT_SEND _HRESULT_TYPEDEF_(0x80244005)
141#define WU_E_PT_SOAPCLIENT_SERVER _HRESULT_TYPEDEF_(0x80244006)
142#define WU_E_PT_SOAPCLIENT_SOAPFAULT _HRESULT_TYPEDEF_(0x80244007)
143#define WU_E_PT_SOAPCLIENT_PARSEFAULT _HRESULT_TYPEDEF_(0x80244008)
144#define WU_E_PT_SOAPCLIENT_READ _HRESULT_TYPEDEF_(0x80244009)
145#define WU_E_PT_SOAPCLIENT_PARSE _HRESULT_TYPEDEF_(0x8024400A)
146#define WU_E_PT_SOAP_VERSION _HRESULT_TYPEDEF_(0x8024400B)
147#define WU_E_PT_SOAP_MUST_UNDERSTAND _HRESULT_TYPEDEF_(0x8024400C)
148#define WU_E_PT_SOAP_CLIENT _HRESULT_TYPEDEF_(0x8024400D)
149#define WU_E_PT_SOAP_SERVER _HRESULT_TYPEDEF_(0x8024400E)
150#define WU_E_PT_WMI_ERROR _HRESULT_TYPEDEF_(0x8024400F)
151#define WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS _HRESULT_TYPEDEF_(0x80244010)
152#define WU_E_PT_SUS_SERVER_NOT_SET _HRESULT_TYPEDEF_(0x80244011)
153#define WU_E_PT_DOUBLE_INITIALIZATION _HRESULT_TYPEDEF_(0x80244012)
154#define WU_E_PT_INVALID_COMPUTER_NAME _HRESULT_TYPEDEF_(0x80244013)
155#define WU_E_PT_REFRESH_CACHE_REQUIRED _HRESULT_TYPEDEF_(0x80244015)
156#define WU_E_PT_HTTP_STATUS_BAD_REQUEST _HRESULT_TYPEDEF_(0x80244016)
157#define WU_E_PT_HTTP_STATUS_DENIED _HRESULT_TYPEDEF_(0x80244017)
158#define WU_E_PT_HTTP_STATUS_FORBIDDEN _HRESULT_TYPEDEF_(0x80244018)
159#define WU_E_PT_HTTP_STATUS_NOT_FOUND _HRESULT_TYPEDEF_(0x80244019)
160#define WU_E_PT_HTTP_STATUS_BAD_METHOD _HRESULT_TYPEDEF_(0x8024401A)
161#define WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ _HRESULT_TYPEDEF_(0x8024401B)
162#define WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT _HRESULT_TYPEDEF_(0x8024401C)
163#define WU_E_PT_HTTP_STATUS_CONFLICT _HRESULT_TYPEDEF_(0x8024401D)
164#define WU_E_PT_HTTP_STATUS_GONE _HRESULT_TYPEDEF_(0x8024401E)
165#define WU_E_PT_HTTP_STATUS_SERVER_ERROR _HRESULT_TYPEDEF_(0x8024401F)
166#define WU_E_PT_HTTP_STATUS_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80244020)
167#define WU_E_PT_HTTP_STATUS_BAD_GATEWAY _HRESULT_TYPEDEF_(0x80244021)
168#define WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL _HRESULT_TYPEDEF_(0x80244022)
169#define WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT _HRESULT_TYPEDEF_(0x80244023)
170#define WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP _HRESULT_TYPEDEF_(0x80244024)
171#define WU_E_PT_FILE_LOCATIONS_CHANGED _HRESULT_TYPEDEF_(0x80244025)
172#define WU_E_PT_REGISTRATION_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80244026)
173#define WU_E_PT_NO_AUTH_PLUGINS_REQUESTED _HRESULT_TYPEDEF_(0x80244027)
174#define WU_E_PT_NO_AUTH_COOKIES_CREATED _HRESULT_TYPEDEF_(0x80244028)
175#define WU_E_PT_INVALID_CONFIG_PROP _HRESULT_TYPEDEF_(0x80244029)
176#define WU_E_PT_CONFIG_PROP_MISSING _HRESULT_TYPEDEF_(0x8024402A)
177#define WU_E_PT_HTTP_STATUS_NOT_MAPPED _HRESULT_TYPEDEF_(0x8024402B)
178#define WU_E_PT_WINHTTP_NAME_NOT_RESOLVED _HRESULT_TYPEDEF_(0x8024402C)
179#define WU_E_PT_LOAD_SHEDDING _HRESULT_TYPEDEF_(0x8024402D)
180#define WU_E_PT_SAME_REDIR_ID _HRESULT_TYPEDEF_(0x8024502D)
181#define WU_E_PT_NO_MANAGED_RECOVER _HRESULT_TYPEDEF_(0x8024502E)
182#define WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS _HRESULT_TYPEDEF_(0x8024402F)
183#define WU_E_PT_ECP_INIT_FAILED _HRESULT_TYPEDEF_(0x80244030)
184#define WU_E_PT_ECP_INVALID_FILE_FORMAT _HRESULT_TYPEDEF_(0x80244031)
185#define WU_E_PT_ECP_INVALID_METADATA _HRESULT_TYPEDEF_(0x80244032)
186#define WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST _HRESULT_TYPEDEF_(0x80244033)
187#define WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE _HRESULT_TYPEDEF_(0x80244034)
188#define WU_E_PT_ECP_FILE_LOCATION_ERROR _HRESULT_TYPEDEF_(0x80244035)
189#define WU_E_PT_CATALOG_SYNC_REQUIRED _HRESULT_TYPEDEF_(0x80240436)
190#define WU_E_PT_SECURITY_VERIFICATION_FAILURE _HRESULT_TYPEDEF_(0x80240437)
191#define WU_E_PT_ENDPOINT_UNREACHABLE _HRESULT_TYPEDEF_(0x80240438)
192#define WU_E_PT_INVALID_FORMAT _HRESULT_TYPEDEF_(0x80240439)
193#define WU_E_PT_INVALID_URL _HRESULT_TYPEDEF_(0x8024043A)
194#define WU_E_PT_NWS_NOT_LOADED _HRESULT_TYPEDEF_(0x8024043B)
195#define WU_E_PT_PROXY_AUTH_SCHEME_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8024043C)
196#define WU_E_SERVICEPROP_NOTAVAIL _HRESULT_TYPEDEF_(0x8024043D)
197#define WU_E_PT_ENDPOINT_REFRESH_REQUIRED _HRESULT_TYPEDEF_(0x8024043E)
198#define WU_E_PT_ENDPOINTURL_NOTAVAIL _HRESULT_TYPEDEF_(0x8024043F)
199#define WU_E_PT_ENDPOINT_DISCONNECTED _HRESULT_TYPEDEF_(0x80240440)
200#define WU_E_PT_INVALID_OPERATION _HRESULT_TYPEDEF_(0x80240441)
201#define WU_E_PT_OBJECT_FAULTED _HRESULT_TYPEDEF_(0x80240442)
202#define WU_E_PT_NUMERIC_OVERFLOW _HRESULT_TYPEDEF_(0x80240443)
203#define WU_E_PT_OPERATION_ABORTED _HRESULT_TYPEDEF_(0x80240444)
204#define WU_E_PT_OPERATION_ABANDONED _HRESULT_TYPEDEF_(0x80240445)
205#define WU_E_PT_QUOTA_EXCEEDED _HRESULT_TYPEDEF_(0x80240446)
206#define WU_E_PT_NO_TRANSLATION_AVAILABLE _HRESULT_TYPEDEF_(0x80240447)
207#define WU_E_PT_ADDRESS_IN_USE _HRESULT_TYPEDEF_(0x80240448)
208#define WU_E_PT_ADDRESS_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x80240449)
209#define WU_E_PT_OTHER _HRESULT_TYPEDEF_(0x8024044A)
210#define WU_E_PT_SECURITY_SYSTEM_FAILURE _HRESULT_TYPEDEF_(0x8024044B)
211#define WU_E_PT_UNEXPECTED _HRESULT_TYPEDEF_(0x80244FFF)
212#define WU_E_REDIRECTOR_LOAD_XML _HRESULT_TYPEDEF_(0x80245001)
213#define WU_E_REDIRECTOR_S_FALSE _HRESULT_TYPEDEF_(0x80245002)
214#define WU_E_REDIRECTOR_ID_SMALLER _HRESULT_TYPEDEF_(0x80245003)
215#define WU_E_REDIRECTOR_UNKNOWN_SERVICE _HRESULT_TYPEDEF_(0x80245004)
216#define WU_E_REDIRECTOR_UNSUPPORTED_CONTENTTYPE _HRESULT_TYPEDEF_(0x80245005)
217#define WU_E_REDIRECTOR_INVALID_RESPONSE _HRESULT_TYPEDEF_(0x80245006)
218#define WU_E_REDIRECTOR_ATTRPROVIDER_EXCEEDED_MAX_NAMEVALUE _HRESULT_TYPEDEF_(0x80245008)
219#define WU_E_REDIRECTOR_ATTRPROVIDER_INVALID_NAME _HRESULT_TYPEDEF_(0x80245009)
220#define WU_E_REDIRECTOR_ATTRPROVIDER_INVALID_VALUE _HRESULT_TYPEDEF_(0x8024500A)
221#define WU_E_REDIRECTOR_SLS_GENERIC_ERROR _HRESULT_TYPEDEF_(0x8024500B)
222#define WU_E_REDIRECTOR_CONNECT_POLICY _HRESULT_TYPEDEF_(0x8024500C)
223#define WU_E_REDIRECTOR_ONLINE_DISALLOWED _HRESULT_TYPEDEF_(0x8024500D)
224#define WU_E_REDIRECTOR_UNEXPECTED _HRESULT_TYPEDEF_(0x802450FF)
225#define WU_E_SIH_VERIFY_DOWNLOAD_ENGINE _HRESULT_TYPEDEF_(0x80245101)
226#define WU_E_SIH_VERIFY_DOWNLOAD_PAYLOAD _HRESULT_TYPEDEF_(0x80245102)
227#define WU_E_SIH_VERIFY_STAGE_ENGINE _HRESULT_TYPEDEF_(0x80245103)
228#define WU_E_SIH_VERIFY_STAGE_PAYLOAD _HRESULT_TYPEDEF_(0x80245104)
229#define WU_E_SIH_ACTION_NOT_FOUND _HRESULT_TYPEDEF_(0x80245105)
230#define WU_E_SIH_SLS_PARSE _HRESULT_TYPEDEF_(0x80245106)
231#define WU_E_SIH_INVALIDHASH _HRESULT_TYPEDEF_(0x80245107)
232#define WU_E_SIH_NO_ENGINE _HRESULT_TYPEDEF_(0x80245108)
233#define WU_E_SIH_POST_REBOOT_INSTALL_FAILED _HRESULT_TYPEDEF_(0x80245109)
234#define WU_E_SIH_POST_REBOOT_NO_CACHED_SLS_RESPONSE _HRESULT_TYPEDEF_(0x8024510A)
235#define WU_E_SIH_PARSE _HRESULT_TYPEDEF_(0x8024510B)
236#define WU_E_SIH_SECURITY _HRESULT_TYPEDEF_(0x8024510C)
237#define WU_E_SIH_PPL _HRESULT_TYPEDEF_(0x8024510D)
238#define WU_E_SIH_POLICY _HRESULT_TYPEDEF_(0x8024510E)
239#define WU_E_SIH_STDEXCEPTION _HRESULT_TYPEDEF_(0x8024510F)
240#define WU_E_SIH_NONSTDEXCEPTION _HRESULT_TYPEDEF_(0x80245110)
241#define WU_E_SIH_ENGINE_EXCEPTION _HRESULT_TYPEDEF_(0x80245111)
242#define WU_E_SIH_BLOCKED_FOR_PLATFORM _HRESULT_TYPEDEF_(0x80245112)
243#define WU_E_SIH_ANOTHER_INSTANCE_RUNNING _HRESULT_TYPEDEF_(0x80245113)
244#define WU_E_SIH_DNSRESILIENCY_OFF _HRESULT_TYPEDEF_(0x80245114)
245#define WU_E_SIH_UNEXPECTED _HRESULT_TYPEDEF_(0x802451FF)
246#define WU_E_DRV_PRUNED _HRESULT_TYPEDEF_(0x8024C001)
247#define WU_E_DRV_NOPROP_OR_LEGACY _HRESULT_TYPEDEF_(0x8024C002)
248#define WU_E_DRV_REG_MISMATCH _HRESULT_TYPEDEF_(0x8024C003)
249#define WU_E_DRV_NO_METADATA _HRESULT_TYPEDEF_(0x8024C004)
250#define WU_E_DRV_MISSING_ATTRIBUTE _HRESULT_TYPEDEF_(0x8024C005)
251#define WU_E_DRV_SYNC_FAILED _HRESULT_TYPEDEF_(0x8024C006)
252#define WU_E_DRV_NO_PRINTER_CONTENT _HRESULT_TYPEDEF_(0x8024C007)
253#define WU_E_DRV_DEVICE_PROBLEM _HRESULT_TYPEDEF_(0x8024C008)
254#define WU_E_DRV_UNEXPECTED _HRESULT_TYPEDEF_(0x8024CFFF)
255#define WU_E_DS_SHUTDOWN _HRESULT_TYPEDEF_(0x80248000)
256#define WU_E_DS_INUSE _HRESULT_TYPEDEF_(0x80248001)
257#define WU_E_DS_INVALID _HRESULT_TYPEDEF_(0x80248002)
258#define WU_E_DS_TABLEMISSING _HRESULT_TYPEDEF_(0x80248003)
259#define WU_E_DS_TABLEINCORRECT _HRESULT_TYPEDEF_(0x80248004)
260#define WU_E_DS_INVALIDTABLENAME _HRESULT_TYPEDEF_(0x80248005)
261#define WU_E_DS_BADVERSION _HRESULT_TYPEDEF_(0x80248006)
262#define WU_E_DS_NODATA _HRESULT_TYPEDEF_(0x80248007)
263#define WU_E_DS_MISSINGDATA _HRESULT_TYPEDEF_(0x80248008)
264#define WU_E_DS_MISSINGREF _HRESULT_TYPEDEF_(0x80248009)
265#define WU_E_DS_UNKNOWNHANDLER _HRESULT_TYPEDEF_(0x8024800A)
266#define WU_E_DS_CANTDELETE _HRESULT_TYPEDEF_(0x8024800B)
267#define WU_E_DS_LOCKTIMEOUTEXPIRED _HRESULT_TYPEDEF_(0x8024800C)
268#define WU_E_DS_NOCATEGORIES _HRESULT_TYPEDEF_(0x8024800D)
269#define WU_E_DS_ROWEXISTS _HRESULT_TYPEDEF_(0x8024800E)
270#define WU_E_DS_STOREFILELOCKED _HRESULT_TYPEDEF_(0x8024800F)
271#define WU_E_DS_CANNOTREGISTER _HRESULT_TYPEDEF_(0x80248010)
272#define WU_E_DS_UNABLETOSTART _HRESULT_TYPEDEF_(0x80248011)
273#define WU_E_DS_DUPLICATEUPDATEID _HRESULT_TYPEDEF_(0x80248013)
274#define WU_E_DS_UNKNOWNSERVICE _HRESULT_TYPEDEF_(0x80248014)
275#define WU_E_DS_SERVICEEXPIRED _HRESULT_TYPEDEF_(0x80248015)
276#define WU_E_DS_DECLINENOTALLOWED _HRESULT_TYPEDEF_(0x80248016)
277#define WU_E_DS_TABLESESSIONMISMATCH _HRESULT_TYPEDEF_(0x80248017)
278#define WU_E_DS_SESSIONLOCKMISMATCH _HRESULT_TYPEDEF_(0x80248018)
279#define WU_E_DS_NEEDWINDOWSSERVICE _HRESULT_TYPEDEF_(0x80248019)
280#define WU_E_DS_INVALIDOPERATION _HRESULT_TYPEDEF_(0x8024801A)
281#define WU_E_DS_SCHEMAMISMATCH _HRESULT_TYPEDEF_(0x8024801B)
282#define WU_E_DS_RESETREQUIRED _HRESULT_TYPEDEF_(0x8024801C)
283#define WU_E_DS_IMPERSONATED _HRESULT_TYPEDEF_(0x8024801D)
284#define WU_E_DS_DATANOTAVAILABLE _HRESULT_TYPEDEF_(0x8024801E)
285#define WU_E_DS_DATANOTLOADED _HRESULT_TYPEDEF_(0x8024801F)
286#define WU_E_DS_NODATA_NOSUCHREVISION _HRESULT_TYPEDEF_(0x80248020)
287#define WU_E_DS_NODATA_NOSUCHUPDATE _HRESULT_TYPEDEF_(0x80248021)
288#define WU_E_DS_NODATA_EULA _HRESULT_TYPEDEF_(0x80248022)
289#define WU_E_DS_NODATA_SERVICE _HRESULT_TYPEDEF_(0x80248023)
290#define WU_E_DS_NODATA_COOKIE _HRESULT_TYPEDEF_(0x80248024)
291#define WU_E_DS_NODATA_TIMER _HRESULT_TYPEDEF_(0x80248025)
292#define WU_E_DS_NODATA_CCR _HRESULT_TYPEDEF_(0x80248026)
293#define WU_E_DS_NODATA_FILE _HRESULT_TYPEDEF_(0x80248027)
294#define WU_E_DS_NODATA_DOWNLOADJOB _HRESULT_TYPEDEF_(0x80248028)
295#define WU_E_DS_NODATA_TMI _HRESULT_TYPEDEF_(0x80248029)
296#define WU_E_DS_UNEXPECTED _HRESULT_TYPEDEF_(0x80248FFF)
297#define WU_E_INVENTORY_PARSEFAILED _HRESULT_TYPEDEF_(0x80249001)
298#define WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED _HRESULT_TYPEDEF_(0x80249002)
299#define WU_E_INVENTORY_RESULT_UPLOAD_FAILED _HRESULT_TYPEDEF_(0x80249003)
300#define WU_E_INVENTORY_UNEXPECTED _HRESULT_TYPEDEF_(0x80249004)
301#define WU_E_INVENTORY_WMI_ERROR _HRESULT_TYPEDEF_(0x80249005)
302#define WU_E_AU_NOSERVICE _HRESULT_TYPEDEF_(0x8024A000)
303#define WU_E_AU_NONLEGACYSERVER _HRESULT_TYPEDEF_(0x8024A002)
304#define WU_E_AU_LEGACYCLIENTDISABLED _HRESULT_TYPEDEF_(0x8024A003)
305#define WU_E_AU_PAUSED _HRESULT_TYPEDEF_(0x8024A004)
306#define WU_E_AU_NO_REGISTERED_SERVICE _HRESULT_TYPEDEF_(0x8024A005)
307#define WU_E_AU_DETECT_SVCID_MISMATCH _HRESULT_TYPEDEF_(0x8024A006)
308#define WU_E_REBOOT_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024A007)
309#define WU_E_AU_OOBE_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024A008)
310#define WU_E_AU_UNEXPECTED _HRESULT_TYPEDEF_(0x8024AFFF)
311#define WU_E_UH_REMOTEUNAVAILABLE _HRESULT_TYPEDEF_(0x80242000)
312#define WU_E_UH_LOCALONLY _HRESULT_TYPEDEF_(0x80242001)
313#define WU_E_UH_UNKNOWNHANDLER _HRESULT_TYPEDEF_(0x80242002)
314#define WU_E_UH_REMOTEALREADYACTIVE _HRESULT_TYPEDEF_(0x80242003)
315#define WU_E_UH_DOESNOTSUPPORTACTION _HRESULT_TYPEDEF_(0x80242004)
316#define WU_E_UH_WRONGHANDLER _HRESULT_TYPEDEF_(0x80242005)
317#define WU_E_UH_INVALIDMETADATA _HRESULT_TYPEDEF_(0x80242006)
318#define WU_E_UH_INSTALLERHUNG _HRESULT_TYPEDEF_(0x80242007)
319#define WU_E_UH_OPERATIONCANCELLED _HRESULT_TYPEDEF_(0x80242008)
320#define WU_E_UH_BADHANDLERXML _HRESULT_TYPEDEF_(0x80242009)
321#define WU_E_UH_CANREQUIREINPUT _HRESULT_TYPEDEF_(0x8024200A)
322#define WU_E_UH_INSTALLERFAILURE _HRESULT_TYPEDEF_(0x8024200B)
323#define WU_E_UH_FALLBACKTOSELFCONTAINED _HRESULT_TYPEDEF_(0x8024200C)
324#define WU_E_UH_NEEDANOTHERDOWNLOAD _HRESULT_TYPEDEF_(0x8024200D)
325#define WU_E_UH_NOTIFYFAILURE _HRESULT_TYPEDEF_(0x8024200E)
326#define WU_E_UH_INCONSISTENT_FILE_NAMES _HRESULT_TYPEDEF_(0x8024200F)
327#define WU_E_UH_FALLBACKERROR _HRESULT_TYPEDEF_(0x80242010)
328#define WU_E_UH_TOOMANYDOWNLOADREQUESTS _HRESULT_TYPEDEF_(0x80242011)
329#define WU_E_UH_UNEXPECTEDCBSRESPONSE _HRESULT_TYPEDEF_(0x80242012)
330#define WU_E_UH_BADCBSPACKAGEID _HRESULT_TYPEDEF_(0x80242013)
331#define WU_E_UH_POSTREBOOTSTILLPENDING _HRESULT_TYPEDEF_(0x80242014)
332#define WU_E_UH_POSTREBOOTRESULTUNKNOWN _HRESULT_TYPEDEF_(0x80242015)
333#define WU_E_UH_POSTREBOOTUNEXPECTEDSTATE _HRESULT_TYPEDEF_(0x80242016)
334#define WU_E_UH_NEW_SERVICING_STACK_REQUIRED _HRESULT_TYPEDEF_(0x80242017)
335#define WU_E_UH_CALLED_BACK_FAILURE _HRESULT_TYPEDEF_(0x80242018)
336#define WU_E_UH_CUSTOMINSTALLER_INVALID_SIGNATURE _HRESULT_TYPEDEF_(0x80242019)
337#define WU_E_UH_UNSUPPORTED_INSTALLCONTEXT _HRESULT_TYPEDEF_(0x8024201A)
338#define WU_E_UH_INVALID_TARGETSESSION _HRESULT_TYPEDEF_(0x8024201B)
339#define WU_E_UH_DECRYPTFAILURE _HRESULT_TYPEDEF_(0x8024201C)
340#define WU_E_UH_HANDLER_DISABLEDUNTILREBOOT _HRESULT_TYPEDEF_(0x8024201D)
341#define WU_E_UH_APPX_NOT_PRESENT _HRESULT_TYPEDEF_(0x8024201E)
342#define WU_E_UH_NOTREADYTOCOMMIT _HRESULT_TYPEDEF_(0x8024201F)
343#define WU_E_UH_APPX_INVALID_PACKAGE_VOLUME _HRESULT_TYPEDEF_(0x80242020)
344#define WU_E_UH_APPX_DEFAULT_PACKAGE_VOLUME_UNAVAILABLE _HRESULT_TYPEDEF_(0x80242021)
345#define WU_E_UH_APPX_INSTALLED_PACKAGE_VOLUME_UNAVAILABLE _HRESULT_TYPEDEF_(0x80242022)
346#define WU_E_UH_APPX_PACKAGE_FAMILY_NOT_FOUND _HRESULT_TYPEDEF_(0x80242023)
347#define WU_E_UH_APPX_SYSTEM_VOLUME_NOT_FOUND _HRESULT_TYPEDEF_(0x80242024)
348#define WU_E_UH_UNEXPECTED _HRESULT_TYPEDEF_(0x80242FFF)
349#define WU_E_DM_URLNOTAVAILABLE _HRESULT_TYPEDEF_(0x80246001)
350#define WU_E_DM_INCORRECTFILEHASH _HRESULT_TYPEDEF_(0x80246002)
351#define WU_E_DM_UNKNOWNALGORITHM _HRESULT_TYPEDEF_(0x80246003)
352#define WU_E_DM_NEEDDOWNLOADREQUEST _HRESULT_TYPEDEF_(0x80246004)
353#define WU_E_DM_NONETWORK _HRESULT_TYPEDEF_(0x80246005)
354#define WU_E_DM_WRONGBITSVERSION _HRESULT_TYPEDEF_(0x80246006)
355#define WU_E_DM_NOTDOWNLOADED _HRESULT_TYPEDEF_(0x80246007)
356#define WU_E_DM_FAILTOCONNECTTOBITS _HRESULT_TYPEDEF_(0x80246008)
357#define WU_E_DM_BITSTRANSFERERROR _HRESULT_TYPEDEF_(0x80246009)
358#define WU_E_DM_DOWNLOADLOCATIONCHANGED _HRESULT_TYPEDEF_(0x8024600A)
359#define WU_E_DM_CONTENTCHANGED _HRESULT_TYPEDEF_(0x8024600B)
360#define WU_E_DM_DOWNLOADLIMITEDBYUPDATESIZE _HRESULT_TYPEDEF_(0x8024600C)
361#define WU_E_DM_UNAUTHORIZED _HRESULT_TYPEDEF_(0x8024600E)
362#define WU_E_DM_BG_ERROR_TOKEN_REQUIRED _HRESULT_TYPEDEF_(0x8024600F)
363#define WU_E_DM_DOWNLOADSANDBOXNOTFOUND _HRESULT_TYPEDEF_(0x80246010)
364#define WU_E_DM_DOWNLOADFILEPATHUNKNOWN _HRESULT_TYPEDEF_(0x80246011)
365#define WU_E_DM_DOWNLOADFILEMISSING _HRESULT_TYPEDEF_(0x80246012)
366#define WU_E_DM_UPDATEREMOVED _HRESULT_TYPEDEF_(0x80246013)
367#define WU_E_DM_READRANGEFAILED _HRESULT_TYPEDEF_(0x80246014)
368#define WU_E_DM_UNAUTHORIZED_NO_USER _HRESULT_TYPEDEF_(0x80246016)
369#define WU_E_DM_UNAUTHORIZED_LOCAL_USER _HRESULT_TYPEDEF_(0x80246017)
370#define WU_E_DM_UNAUTHORIZED_DOMAIN_USER _HRESULT_TYPEDEF_(0x80246018)
371#define WU_E_DM_UNAUTHORIZED_MSA_USER _HRESULT_TYPEDEF_(0x80246019)
372#define WU_E_DM_FALLINGBACKTOBITS _HRESULT_TYPEDEF_(0x8024601A)
373#define WU_E_DM_DOWNLOAD_VOLUME_CONFLICT _HRESULT_TYPEDEF_(0x8024601B)
374#define WU_E_DM_SANDBOX_HASH_MISMATCH _HRESULT_TYPEDEF_(0x8024601C)
375#define WU_E_DM_HARDRESERVEID_CONFLICT _HRESULT_TYPEDEF_(0x8024601D)
376#define WU_E_DM_DOSVC_REQUIRED _HRESULT_TYPEDEF_(0x8024601E)
377#define WU_E_DM_UNEXPECTED _HRESULT_TYPEDEF_(0x80246FFF)
378#define WU_E_SETUP_INVALID_INFDATA _HRESULT_TYPEDEF_(0x8024D001)
379#define WU_E_SETUP_INVALID_IDENTDATA _HRESULT_TYPEDEF_(0x8024D002)
380#define WU_E_SETUP_ALREADY_INITIALIZED _HRESULT_TYPEDEF_(0x8024D003)
381#define WU_E_SETUP_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x8024D004)
382#define WU_E_SETUP_SOURCE_VERSION_MISMATCH _HRESULT_TYPEDEF_(0x8024D005)
383#define WU_E_SETUP_TARGET_VERSION_GREATER _HRESULT_TYPEDEF_(0x8024D006)
384#define WU_E_SETUP_REGISTRATION_FAILED _HRESULT_TYPEDEF_(0x8024D007)
385#define WU_E_SELFUPDATE_SKIP_ON_FAILURE _HRESULT_TYPEDEF_(0x8024D008)
386#define WU_E_SETUP_SKIP_UPDATE _HRESULT_TYPEDEF_(0x8024D009)
387#define WU_E_SETUP_UNSUPPORTED_CONFIGURATION _HRESULT_TYPEDEF_(0x8024D00A)
388#define WU_E_SETUP_BLOCKED_CONFIGURATION _HRESULT_TYPEDEF_(0x8024D00B)
389#define WU_E_SETUP_REBOOT_TO_FIX _HRESULT_TYPEDEF_(0x8024D00C)
390#define WU_E_SETUP_ALREADYRUNNING _HRESULT_TYPEDEF_(0x8024D00D)
391#define WU_E_SETUP_REBOOTREQUIRED _HRESULT_TYPEDEF_(0x8024D00E)
392#define WU_E_SETUP_HANDLER_EXEC_FAILURE _HRESULT_TYPEDEF_(0x8024D00F)
393#define WU_E_SETUP_INVALID_REGISTRY_DATA _HRESULT_TYPEDEF_(0x8024D010)
394#define WU_E_SELFUPDATE_REQUIRED _HRESULT_TYPEDEF_(0x8024D011)
395#define WU_E_SELFUPDATE_REQUIRED_ADMIN _HRESULT_TYPEDEF_(0x8024D012)
396#define WU_E_SETUP_WRONG_SERVER_VERSION _HRESULT_TYPEDEF_(0x8024D013)
397#define WU_E_SETUP_DEFERRABLE_REBOOT_PENDING _HRESULT_TYPEDEF_(0x8024D014)
398#define WU_E_SETUP_NON_DEFERRABLE_REBOOT_PENDING _HRESULT_TYPEDEF_(0x8024D015)
399#define WU_E_SETUP_FAIL _HRESULT_TYPEDEF_(0x8024D016)
400#define WU_E_SETUP_UNEXPECTED _HRESULT_TYPEDEF_(0x8024DFFF)
401#define WU_E_EE_UNKNOWN_EXPRESSION _HRESULT_TYPEDEF_(0x8024E001)
402#define WU_E_EE_INVALID_EXPRESSION _HRESULT_TYPEDEF_(0x8024E002)
403#define WU_E_EE_MISSING_METADATA _HRESULT_TYPEDEF_(0x8024E003)
404#define WU_E_EE_INVALID_VERSION _HRESULT_TYPEDEF_(0x8024E004)
405#define WU_E_EE_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x8024E005)
406#define WU_E_EE_INVALID_ATTRIBUTEDATA _HRESULT_TYPEDEF_(0x8024E006)
407#define WU_E_EE_CLUSTER_ERROR _HRESULT_TYPEDEF_(0x8024E007)
408#define WU_E_EE_UNEXPECTED _HRESULT_TYPEDEF_(0x8024EFFF)
409#define WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION _HRESULT_TYPEDEF_(0x80243001)
410#define WU_E_INSTALLATION_RESULTS_INVALID_DATA _HRESULT_TYPEDEF_(0x80243002)
411#define WU_E_INSTALLATION_RESULTS_NOT_FOUND _HRESULT_TYPEDEF_(0x80243003)
412#define WU_E_TRAYICON_FAILURE _HRESULT_TYPEDEF_(0x80243004)
413#define WU_E_NON_UI_MODE _HRESULT_TYPEDEF_(0x80243FFD)
414#define WU_E_WUCLTUI_UNSUPPORTED_VERSION _HRESULT_TYPEDEF_(0x80243FFE)
415#define WU_E_AUCLIENT_UNEXPECTED _HRESULT_TYPEDEF_(0x80243FFF)
416#define WU_E_REPORTER_EVENTCACHECORRUPT _HRESULT_TYPEDEF_(0x8024F001)
417#define WU_E_REPORTER_EVENTNAMESPACEPARSEFAILED _HRESULT_TYPEDEF_(0x8024F002)
418#define WU_E_INVALID_EVENT _HRESULT_TYPEDEF_(0x8024F003)
419#define WU_E_SERVER_BUSY _HRESULT_TYPEDEF_(0x8024F004)
420#define WU_E_CALLBACK_COOKIE_NOT_FOUND _HRESULT_TYPEDEF_(0x8024F005)
421#define WU_E_REPORTER_UNEXPECTED _HRESULT_TYPEDEF_(0x8024FFFF)
422#define WU_E_OL_INVALID_SCANFILE _HRESULT_TYPEDEF_(0x80247001)
423#define WU_E_OL_NEWCLIENT_REQUIRED _HRESULT_TYPEDEF_(0x80247002)
424#define WU_E_INVALID_EVENT_PAYLOAD _HRESULT_TYPEDEF_(0x80247003)
425#define WU_E_INVALID_EVENT_PAYLOADSIZE _HRESULT_TYPEDEF_(0x80247004)
426#define WU_E_SERVICE_NOT_REGISTERED _HRESULT_TYPEDEF_(0x80247005)
427#define WU_E_OL_UNEXPECTED _HRESULT_TYPEDEF_(0x80247FFF)
428#define WU_E_METADATA_NOOP _HRESULT_TYPEDEF_(0x80247100)
429#define WU_E_METADATA_CONFIG_INVALID_BINARY_ENCODING _HRESULT_TYPEDEF_(0x80247101)
430#define WU_E_METADATA_FETCH_CONFIG _HRESULT_TYPEDEF_(0x80247102)
431#define WU_E_METADATA_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80247104)
432#define WU_E_METADATA_UNEXPECTED _HRESULT_TYPEDEF_(0x80247105)
433#define WU_E_METADATA_NO_VERIFICATION_DATA _HRESULT_TYPEDEF_(0x80247106)
434#define WU_E_METADATA_BAD_FRAGMENTSIGNING_CONFIG _HRESULT_TYPEDEF_(0x80247107)
435#define WU_E_METADATA_FAILURE_PROCESSING_FRAGMENTSIGNING_CONFIG _HRESULT_TYPEDEF_(0x80247108)
436#define WU_E_METADATA_XML_MISSING _HRESULT_TYPEDEF_(0x80247120)
437#define WU_E_METADATA_XML_FRAGMENTSIGNING_MISSING _HRESULT_TYPEDEF_(0x80247121)
438#define WU_E_METADATA_XML_MODE_MISSING _HRESULT_TYPEDEF_(0x80247122)
439#define WU_E_METADATA_XML_MODE_INVALID _HRESULT_TYPEDEF_(0x80247123)
440#define WU_E_METADATA_XML_VALIDITY_INVALID _HRESULT_TYPEDEF_(0x80247124)
441#define WU_E_METADATA_XML_LEAFCERT_MISSING _HRESULT_TYPEDEF_(0x80247125)
442#define WU_E_METADATA_XML_INTERMEDIATECERT_MISSING _HRESULT_TYPEDEF_(0x80247126)
443#define WU_E_METADATA_XML_LEAFCERT_ID_MISSING _HRESULT_TYPEDEF_(0x80247127)
444#define WU_E_METADATA_XML_BASE64CERDATA_MISSING _HRESULT_TYPEDEF_(0x80247128)
445#define WU_E_METADATA_BAD_SIGNATURE _HRESULT_TYPEDEF_(0x80247140)
446#define WU_E_METADATA_UNSUPPORTED_HASH_ALG _HRESULT_TYPEDEF_(0x80247141)
447#define WU_E_METADATA_SIGNATURE_VERIFY_FAILED _HRESULT_TYPEDEF_(0x80247142)
448#define WU_E_METADATATRUST_CERTIFICATECHAIN_VERIFICATION _HRESULT_TYPEDEF_(0x80247150)
449#define WU_E_METADATATRUST_UNTRUSTED_CERTIFICATECHAIN _HRESULT_TYPEDEF_(0x80247151)
450#define WU_E_METADATA_TIMESTAMP_TOKEN_MISSING _HRESULT_TYPEDEF_(0x80247160)
451#define WU_E_METADATA_TIMESTAMP_TOKEN_VERIFICATION_FAILED _HRESULT_TYPEDEF_(0x80247161)
452#define WU_E_METADATA_TIMESTAMP_TOKEN_UNTRUSTED _HRESULT_TYPEDEF_(0x80247162)
453#define WU_E_METADATA_TIMESTAMP_TOKEN_VALIDITY_WINDOW _HRESULT_TYPEDEF_(0x80247163)
454#define WU_E_METADATA_TIMESTAMP_TOKEN_SIGNATURE _HRESULT_TYPEDEF_(0x80247164)
455#define WU_E_METADATA_TIMESTAMP_TOKEN_CERTCHAIN _HRESULT_TYPEDEF_(0x80247165)
456#define WU_E_METADATA_TIMESTAMP_TOKEN_REFRESHONLINE _HRESULT_TYPEDEF_(0x80247166)
457#define WU_E_METADATA_TIMESTAMP_TOKEN_ALL_BAD _HRESULT_TYPEDEF_(0x80247167)
458#define WU_E_METADATA_TIMESTAMP_TOKEN_NODATA _HRESULT_TYPEDEF_(0x80247168)
459#define WU_E_METADATA_TIMESTAMP_TOKEN_CACHELOOKUP _HRESULT_TYPEDEF_(0x80247169)
460#define WU_E_METADATA_TIMESTAMP_TOKEN_VALIDITYWINDOW_UNEXPECTED _HRESULT_TYPEDEF_(0x8024717E)
461#define WU_E_METADATA_TIMESTAMP_TOKEN_UNEXPECTED _HRESULT_TYPEDEF_(0x8024717F)
462#define WU_E_METADATA_CERT_MISSING _HRESULT_TYPEDEF_(0x80247180)
463#define WU_E_METADATA_LEAFCERT_BAD_TRANSPORT_ENCODING _HRESULT_TYPEDEF_(0x80247181)
464#define WU_E_METADATA_INTCERT_BAD_TRANSPORT_ENCODING _HRESULT_TYPEDEF_(0x80247182)
465#define WU_E_METADATA_CERT_UNTRUSTED _HRESULT_TYPEDEF_(0x80247183)
466#define WU_E_WUTASK_INPROGRESS _HRESULT_TYPEDEF_(0x8024B001)
467#define WU_E_WUTASK_STATUS_DISABLED _HRESULT_TYPEDEF_(0x8024B002)
468#define WU_E_WUTASK_NOT_STARTED _HRESULT_TYPEDEF_(0x8024B003)
469#define WU_E_WUTASK_RETRY _HRESULT_TYPEDEF_(0x8024B004)
470#define WU_E_WUTASK_CANCELINSTALL_DISALLOWED _HRESULT_TYPEDEF_(0x8024B005)
471#define WU_E_UNKNOWN_HARDWARECAPABILITY _HRESULT_TYPEDEF_(0x8024B101)
472#define WU_E_BAD_XML_HARDWARECAPABILITY _HRESULT_TYPEDEF_(0x8024B102)
473#define WU_E_WMI_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8024B103)
474#define WU_E_UPDATE_MERGE_NOT_ALLOWED _HRESULT_TYPEDEF_(0x8024B104)
475#define WU_E_SKIPPED_UPDATE_INSTALLATION _HRESULT_TYPEDEF_(0x8024B105)
476#define WU_E_SLS_INVALID_REVISION _HRESULT_TYPEDEF_(0x8024B201)
477#define WU_E_FILETRUST_DUALSIGNATURE_RSA _HRESULT_TYPEDEF_(0x8024B301)
478#define WU_E_FILETRUST_DUALSIGNATURE_ECC _HRESULT_TYPEDEF_(0x8024B302)
479#define WU_E_TRUST_SUBJECT_NOT_TRUSTED _HRESULT_TYPEDEF_(0x8024B303)
480#define WU_E_TRUST_PROVIDER_UNKNOWN _HRESULT_TYPEDEF_(0x8024B304)
481
482#endif /* _WUERROR_ */
lib/libc/include/any-windows-any/xapo.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xapo.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xapo.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xaudio2.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xaudio2.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xaudio2.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xaudio2fx.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xaudio2fx.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xaudio2fx.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xmllite.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xmllite.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xmllite.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsdigitalsignature.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xpsdigitalsignature.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xpsdigitalsignature.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsobjectmodel.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xpsobjectmodel.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xpsobjectmodel.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsobjectmodel_1.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xpsobjectmodel_1.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xpsobjectmodel_1.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsprint.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xpsprint.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xpsprint.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsrassvc.h+1-1
......@@ -1,4 +1,4 @@
1/*** Autogenerated by WIDL 6.4 from include/xpsrassvc.idl - Do not edit ***/
1/*** Autogenerated by WIDL 7.0 from include/xpsrassvc.idl - Do not edit ***/
22
33#ifdef _WIN32
44#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/mingw/crt/charmax.c+1-1
......@@ -10,7 +10,7 @@
1010
1111__declspec(dllimport) int __lconv_init (void);
1212
13int mingw_initcharmax = 0;
13int __mingw_initcharmax = 0;
1414
1515int _charmax = 255;
1616
lib/libc/mingw/crt/crtdll.c+2-2
......@@ -48,7 +48,7 @@ static int __proc_attached = 0;
4848
4949static _onexit_table_t atexit_table;
5050
51extern int mingw_app_type;
51extern int __mingw_app_type;
5252
5353extern WINBOOL WINAPI DllMain (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved);
5454
......@@ -145,7 +145,7 @@ int __mingw_init_ehandler (void);
145145WINBOOL WINAPI
146146DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
147147{
148 mingw_app_type = 0;
148 __mingw_app_type = 0;
149149 if (dwReason == DLL_PROCESS_ATTACH)
150150 {
151151#if defined(__x86_64__) && !defined(__SEH__)
lib/libc/mingw/crt/crtexe.c+14-16
......@@ -66,7 +66,7 @@ extern _CRTALLOC(".CRT$XCZ") _PVFV __xc_z[];
6666/* TLS initialization hook. */
6767extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback;
6868
69extern int mingw_app_type;
69extern int __mingw_app_type;
7070
7171HINSTANCE __mingw_winmain_hInstance;
7272_TCHAR *__mingw_winmain_lpCmdLine;
......@@ -99,8 +99,8 @@ static void duplicate_ppstrings (int ac, char ***av);
9999
100100static int __cdecl pre_c_init (void);
101101static void __cdecl pre_cpp_init (void);
102_CRTALLOC(".CRT$XIAA") _PIFV mingw_pcinit = pre_c_init;
103_CRTALLOC(".CRT$XCAA") _PVFV mingw_pcppinit = pre_cpp_init;
102_CRTALLOC(".CRT$XIAA") _PIFV __mingw_pcinit = pre_c_init;
103_CRTALLOC(".CRT$XCAA") _PVFV __mingw_pcppinit = pre_cpp_init;
104104
105105extern int _MINGW_INSTALL_DEBUG_MATHERR;
106106
......@@ -126,7 +126,7 @@ static int __cdecl
126126pre_c_init (void)
127127{
128128 managedapp = check_managed_app ();
129 if (mingw_app_type)
129 if (__mingw_app_type)
130130 __set_app_type(_GUI_APP);
131131 else
132132 __set_app_type (_CONSOLE_APP);
......@@ -172,7 +172,7 @@ int WinMainCRTStartup (void)
172172#ifdef SEH_INLINE_ASM
173173 asm ("\t.l_startw:\n");
174174#endif
175 mingw_app_type = 1;
175 __mingw_app_type = 1;
176176 ret = __tmainCRTStartup ();
177177#ifdef SEH_INLINE_ASM
178178 asm ("\tnop\n"
......@@ -198,7 +198,7 @@ int mainCRTStartup (void)
198198#ifdef SEH_INLINE_ASM
199199 asm ("\t.l_start:\n");
200200#endif
201 mingw_app_type = 0;
201 __mingw_app_type = 0;
202202 ret = __tmainCRTStartup ();
203203#ifdef SEH_INLINE_ASM
204204 asm ("\tnop\n"
......@@ -226,7 +226,7 @@ __tmainCRTStartup (void)
226226 WINBOOL inDoubleQuote = FALSE;
227227 memset (&StartupInfo, 0, sizeof (STARTUPINFO));
228228
229 if (mingw_app_type)
229 if (__mingw_app_type)
230230 GetStartupInfo (&StartupInfo);
231231 {
232232 void *lock_free = NULL;
......@@ -304,7 +304,7 @@ __tmainCRTStartup (void)
304304 __mingw_winmain_lpCmdLine = lpszCommandLine;
305305 }
306306
307 if (mingw_app_type)
307 if (__mingw_app_type)
308308 {
309309 __mingw_winmain_nShowCmd = StartupInfo.dwFlags & STARTF_USESHOWWINDOW ?
310310 StartupInfo.wShowWindow : SW_SHOWDEFAULT;
......@@ -329,10 +329,9 @@ __tmainCRTStartup (void)
329329 return mainret;
330330}
331331
332extern int mingw_initltsdrot_force;
333extern int mingw_initltsdyn_force;
334extern int mingw_initltssuo_force;
335extern int mingw_initcharmax;
332extern int __mingw_initltsdrot_force;
333extern int __mingw_initltsdyn_force;
334extern int __mingw_initltssuo_force;
336335
337336static int __cdecl
338337check_managed_app (void)
......@@ -343,10 +342,9 @@ check_managed_app (void)
343342 PIMAGE_OPTIONAL_HEADER64 pNTHeader64;
344343
345344 /* Force to be linked. */
346 mingw_initltsdrot_force=1;
347 mingw_initltsdyn_force=1;
348 mingw_initltssuo_force=1;
349 mingw_initcharmax=1;
345 __mingw_initltsdrot_force=1;
346 __mingw_initltsdyn_force=1;
347 __mingw_initltssuo_force=1;
350348
351349 pDOSHeader = (PIMAGE_DOS_HEADER) &__ImageBase;
352350 if (pDOSHeader->e_magic != IMAGE_DOS_SIGNATURE)
lib/libc/mingw/crt/mingw_helpers.c+1-1
......@@ -5,4 +5,4 @@
55 */
66
77/* 0:console, 1:windows. */
8int mingw_app_type = 0;
8int __mingw_app_type = 0;
lib/libc/mingw/crt/pseudo-reloc.c+20-1
......@@ -21,6 +21,7 @@
2121#include <stdarg.h>
2222#include <memory.h>
2323#include <internal.h>
24#include <stdint.h>
2425
2526#if defined(__CYGWIN__)
2627#include <wchar.h>
......@@ -47,7 +48,7 @@
4748
4849extern char __RUNTIME_PSEUDO_RELOC_LIST__;
4950extern char __RUNTIME_PSEUDO_RELOC_LIST_END__;
50extern char __MINGW_LSYMBOL(_image_base__);
51extern IMAGE_DOS_HEADER __MINGW_LSYMBOL(_image_base__);
5152
5253void _pei386_runtime_relocator (void);
5354
......@@ -311,6 +312,7 @@ do_pseudo_reloc (void * start, void * end, void * base)
311312 ptrdiff_t reloc_target = (ptrdiff_t) ((char *)end - (char*)start);
312313 runtime_pseudo_reloc_v2 *v2_hdr = (runtime_pseudo_reloc_v2 *) start;
313314 runtime_pseudo_reloc_item_v2 *r;
315 unsigned int bits;
314316
315317 /* A valid relocation list will contain at least one entry, and
316318 * one v1 data structure (the smallest one) requires two DWORDs.
......@@ -440,6 +442,23 @@ do_pseudo_reloc (void * start, void * end, void * base)
440442 reldata -= ((ptrdiff_t) base + r->sym);
441443 reldata += addr_imp;
442444
445 bits = r->flags & 0xff;
446 if (bits < sizeof(ptrdiff_t)*8)
447 {
448 /* Check for overflows. We don't know if the target address is
449 * interpreted as a relative offset or as a truncated absolute
450 * address - to avoid false positives, allow offsets within the
451 * whole range of signed and unsigned N bits numbers, but error
452 * out for anything outside of that. Thus for relative offsets,
453 * this won't catch offsets that are only barely too large. */
454 ptrdiff_t max_unsigned = (1LL << bits) - 1;
455 ptrdiff_t min_signed = UINTPTR_MAX << (bits - 1);
456 if (reldata > max_unsigned || reldata < min_signed)
457 __report_error ("%d bit pseudo relocation at %p out of range, "
458 "targeting %p, yielding the value %p.\n",
459 bits, reloc_target, addr_imp, reldata);
460 }
461
443462 /* Write the new relocation value back to *reloc_target */
444463 switch ((r->flags & 0xff))
445464 {
lib/libc/mingw/crt/tlssup.c+3-3
......@@ -170,6 +170,6 @@ __dyn_tls_dtor (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
170170_CRTALLOC(".CRT$XLD") PIMAGE_TLS_CALLBACK __xl_d = (PIMAGE_TLS_CALLBACK) __dyn_tls_dtor;
171171
172172
173int mingw_initltsdrot_force = 0;
174int mingw_initltsdyn_force = 0;
175int mingw_initltssuo_force = 0;
173int __mingw_initltsdrot_force = 0;
174int __mingw_initltsdyn_force = 0;
175int __mingw_initltssuo_force = 0;
lib/libc/mingw/gdtoa/strtopx.c+14
......@@ -127,4 +127,18 @@ long double __cdecl
127127__mingw_strtold (const char * __restrict__ src, char ** __restrict__ endptr)
128128 __attribute__((alias("__strtold")));
129129
130long double __cdecl
131strtold (const char * __restrict__ src, char ** __restrict__ endptr)
132 __attribute__((alias("__strtold")));
133
134#elif defined(__arm__) || defined(__aarch64__) || defined(_ARM_) || defined(_ARM64_)
135/* For ARM, where long double == double, provide the long double function as
136 * an alias for __strtod. Do this in a separate object file from other
137 * functions, to avoid linker conflicts if object files import both 'strtold'
138 * from libucrt*.a and the object file providing '__strtod'. */
139long double __cdecl
140strtold (const char * __restrict__ src, char ** __restrict__ endptr)
141{
142 return __mingw_strtod(src, endptr);
143}
130144#endif
lib/libc/mingw/include/config.h+6-7
......@@ -1,18 +1,15 @@
11/* config.h. Generated from config.h.in by configure. */
22/* config.h.in. Generated from configure.ac by autoheader. */
33
4/* Whether the linker provides __CTOR_LIST__ */
5#define HAVE_CTOR_LIST 1
6
74/* Define to 1 if you have the <inttypes.h> header file. */
85#define HAVE_INTTYPES_H 1
96
10/* Define to 1 if you have the <memory.h> header file. */
11#define HAVE_MEMORY_H 1
12
137/* Define to 1 if you have the <stdint.h> header file. */
148#define HAVE_STDINT_H 1
159
10/* Define to 1 if you have the <stdio.h> header file. */
11#define HAVE_STDIO_H 1
12
1613/* Define to 1 if you have the <stdlib.h> header file. */
1714#define HAVE_STDLIB_H 1
1815
......@@ -52,7 +49,9 @@
5249/* Define to the version of this package. */
5350#define PACKAGE_VERSION "4.0b"
5451
55/* Define to 1 if you have the ANSI C header files. */
52/* Define to 1 if all of the C90 standard headers exist (not just the ones
53 required in a freestanding environment). This macro is provided for
54 backward compatibility; new code need not use it. */
5655#define STDC_HEADERS 1
5756
5857/* Version number of package */
lib/libc/mingw/include/msvcrt.h+2-2
......@@ -1,7 +1,7 @@
11#include <winbase.h>
22
3#ifndef __LIBMSVCRT__
4#error "This file should only be used in libmsvcrt.a"
3#ifndef __LIBMSVCRT_OS__
4#error "This file should only be used in libmsvcrt-os.a"
55#endif
66
77static inline HANDLE __mingw_get_msvcrt_handle(void)
lib/libc/mingw/lib-common/bthprops.def created+70
......@@ -0,0 +1,70 @@
1;
2; Definition file of bthprops.cpl
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "bthprops.cpl"
7EXPORTS
8ord_103 @103
9BluetoothAddressToString
10BluetoothAuthenticateDevice
11BluetoothAuthenticateDeviceEx
12BluetoothAuthenticateMultipleDevices
13BluetoothAuthenticationAgent
14BluetoothDisconnectDevice
15BluetoothDisplayDeviceProperties
16BluetoothEnableDiscovery
17BluetoothEnableIncomingConnections
18BluetoothEnumerateInstalledServices
19BluetoothFindBrowseGroupClose
20BluetoothFindClassIdClose
21BluetoothFindDeviceClose
22BluetoothFindFirstBrowseGroup
23BluetoothFindFirstClassId
24BluetoothFindFirstDevice
25BluetoothFindFirstProfileDescriptor
26BluetoothFindFirstProtocolDescriptorStack
27BluetoothFindFirstProtocolEntry
28BluetoothFindFirstRadio
29BluetoothFindFirstService
30BluetoothFindFirstServiceEx
31BluetoothFindNextBrowseGroup
32BluetoothFindNextClassId
33BluetoothFindNextDevice
34BluetoothFindNextProfileDescriptor
35BluetoothFindNextProtocolDescriptorStack
36BluetoothFindNextProtocolEntry
37BluetoothFindNextRadio
38BluetoothFindNextService
39BluetoothFindProfileDescriptorClose
40BluetoothFindProtocolDescriptorStackClose
41BluetoothFindProtocolEntryClose
42BluetoothFindRadioClose
43BluetoothFindServiceClose
44BluetoothGetDeviceInfo
45BluetoothGetRadioInfo
46BluetoothIsConnectable
47BluetoothIsDiscoverable
48BluetoothIsVersionAvailable
49BluetoothMapClassOfDeviceToImageIndex
50BluetoothMapClassOfDeviceToString
51BluetoothRegisterForAuthentication
52BluetoothRegisterForAuthenticationEx
53BluetoothRemoveDevice
54BluetoothSdpEnumAttributes
55BluetoothSdpGetAttributeValue
56BluetoothSdpGetContainerElementData
57BluetoothSdpGetElementData
58BluetoothSdpGetString
59BluetoothSelectDevices
60BluetoothSelectDevicesFree
61BluetoothSendAuthenticationResponse
62BluetoothSendAuthenticationResponseEx
63BluetoothSetLocalServiceInfo
64BluetoothSetServiceState
65BluetoothUnregisterAuthentication
66BluetoothUpdateDeviceRecord
67BthpEnableAllServices
68BthpFindPnpInfo
69BthpMapStatusToErr
70CPlApplet
lib/libc/mingw/lib-common/fwpuclnt.def created+285
......@@ -0,0 +1,285 @@
1;
2; Definition file of fwpuclnt.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "fwpuclnt.dll"
7EXPORTS
8FwpiExpandCriteria0
9FwpiFreeCriteria0
10FwpiVpnTriggerAddAppSids
11FwpiVpnTriggerAddFilePaths
12FwpiVpnTriggerAddSecurityDescriptor
13FwpiVpnTriggerConfigureParameters
14FwpiVpnTriggerEventSubscribe0
15FwpiVpnTriggerEventUnsubscribe0
16FwpiVpnTriggerInitializeNrptTriggering
17FwpiVpnTriggerRemoveAppSids
18FwpiVpnTriggerRemoveFilePaths
19FwpiVpnTriggerRemoveSecurityDescriptor
20FwpiVpnTriggerResetNrptTriggering
21FwpiVpnTriggerSetStateDisconnected
22FwpiVpnTriggerUninitializeNrptTriggering
23FwpmCalloutAdd0
24FwpmCalloutCreateEnumHandle0
25FwpmCalloutDeleteById0
26FwpmCalloutDeleteByKey0
27FwpmCalloutDestroyEnumHandle0
28FwpmCalloutEnum0
29FwpmCalloutGetById0
30FwpmCalloutGetByKey0
31FwpmCalloutGetSecurityInfoByKey0
32FwpmCalloutSetSecurityInfoByKey0
33FwpmCalloutSubscribeChanges0
34FwpmCalloutSubscriptionsGet0
35FwpmCalloutUnsubscribeChanges0
36FwpmConnectionCreateEnumHandle0
37FwpmConnectionDestroyEnumHandle0
38FwpmConnectionEnum0
39FwpmConnectionGetById0
40FwpmConnectionGetSecurityInfo0
41FwpmConnectionSetSecurityInfo0
42FwpmConnectionSubscribe0
43FwpmConnectionUnsubscribe0
44FwpmDiagnoseNetFailure0
45FwpmDynamicKeywordSubscribe0
46FwpmDynamicKeywordUnsubscribe0
47FwpmEngineClose0
48FwpmEngineGetOption0
49FwpmEngineGetSecurityInfo0
50FwpmEngineOpen0
51FwpmEngineSetOption0
52FwpmEngineSetSecurityInfo0
53FwpmEventProviderCreate0
54FwpmEventProviderDestroy0
55FwpmEventProviderFireNetEvent0
56FwpmEventProviderFireNetEventEx0
57FwpmEventProviderIsNetEventTypeEnabled0
58FwpmFilterAdd0
59FwpmFilterCreateEnumHandle0
60FwpmFilterDeleteById0
61FwpmFilterDeleteByKey0
62FwpmFilterDestroyEnumHandle0
63FwpmFilterEnum0
64FwpmFilterGetById0
65FwpmFilterGetByKey0
66FwpmFilterGetSecurityInfoByKey0
67FwpmFilterSetSecurityInfoByKey0
68FwpmFilterSubscribeChanges0
69FwpmFilterSubscriptionsGet0
70FwpmFilterUnsubscribeChanges0
71FwpmFreeMemory0
72FwpmGetAppIdFromFileName0
73FwpmGetSidFromOnlineId0
74FwpmIPsecS2STunnelAddConditions0
75FwpmIPsecS2STunnelAddInterfaceToCompartment0
76FwpmIPsecS2STunnelGetInterfaceForCompartment0
77FwpmIPsecS2STunnelRemoveConditions0
78FwpmIPsecS2STunnelRemoveInterfaceFromCompartment0
79FwpmIPsecTunnelAdd0
80FwpmIPsecTunnelAdd1
81FwpmIPsecTunnelAdd2
82FwpmIPsecTunnelAdd3
83FwpmIPsecTunnelAddConditions0
84FwpmIPsecTunnelDeleteByKey0
85FwpmLayerCreateEnumHandle0
86FwpmLayerDestroyEnumHandle0
87FwpmLayerEnum0
88FwpmLayerGetById0
89FwpmLayerGetByKey0
90FwpmLayerGetSecurityInfoByKey0
91FwpmLayerSetSecurityInfoByKey0
92FwpmNetEventCreateEnumHandle0
93FwpmNetEventCreateEnumHandleEx
94FwpmNetEventDestroyEnumHandle0
95FwpmNetEventEnum0
96FwpmNetEventEnum1
97FwpmNetEventEnum2
98FwpmNetEventEnum3
99FwpmNetEventEnum4
100FwpmNetEventEnum5
101FwpmNetEventSubscribe0
102FwpmNetEventSubscribe1
103FwpmNetEventSubscribe2
104FwpmNetEventSubscribe3
105FwpmNetEventSubscribe4
106FwpmNetEventSubscriptionsGet0
107FwpmNetEventUnsubscribe0
108FwpmNetEventsGetSecurityInfo0
109FwpmNetEventsLost0
110FwpmNetEventsSetSecurityInfo0
111FwpmProcessNameResolutionEvent0
112FwpmProviderAdd0
113FwpmProviderContextAdd0
114FwpmProviderContextAdd1
115FwpmProviderContextAdd2
116FwpmProviderContextAdd3
117FwpmProviderContextCreateEnumHandle0
118FwpmProviderContextDeleteById0
119FwpmProviderContextDeleteByKey0
120FwpmProviderContextDestroyEnumHandle0
121FwpmProviderContextEnum0
122FwpmProviderContextEnum1
123FwpmProviderContextEnum2
124FwpmProviderContextEnum3
125FwpmProviderContextGetById0
126FwpmProviderContextGetById1
127FwpmProviderContextGetById2
128FwpmProviderContextGetById3
129FwpmProviderContextGetByKey0
130FwpmProviderContextGetByKey1
131FwpmProviderContextGetByKey2
132FwpmProviderContextGetByKey3
133FwpmProviderContextGetSecurityInfoByKey0
134FwpmProviderContextSetSecurityInfoByKey0
135FwpmProviderContextSubscribeChanges0
136FwpmProviderContextSubscriptionsGet0
137FwpmProviderContextUnsubscribeChanges0
138FwpmProviderCreateEnumHandle0
139FwpmProviderDeleteByKey0
140FwpmProviderDestroyEnumHandle0
141FwpmProviderEnum0
142FwpmProviderGetByKey0
143FwpmProviderGetSecurityInfoByKey0
144FwpmProviderSetSecurityInfoByKey0
145FwpmProviderSubscribeChanges0
146FwpmProviderSubscriptionsGet0
147FwpmProviderUnsubscribeChanges0
148FwpmSessionCreateEnumHandle0
149FwpmSessionDestroyEnumHandle0
150FwpmSessionEnum0
151FwpmSubLayerAdd0
152FwpmSubLayerCreateEnumHandle0
153FwpmSubLayerDeleteByKey0
154FwpmSubLayerDestroyEnumHandle0
155FwpmSubLayerEnum0
156FwpmSubLayerGetByKey0
157FwpmSubLayerGetSecurityInfoByKey0
158FwpmSubLayerSetSecurityInfoByKey0
159FwpmSubLayerSubscribeChanges0
160FwpmSubLayerSubscriptionsGet0
161FwpmSubLayerUnsubscribeChanges0
162FwpmSystemPortsGet0
163FwpmSystemPortsSubscribe0
164FwpmSystemPortsUnsubscribe0
165FwpmTraceRestoreDefaults0
166FwpmTransactionAbort0
167FwpmTransactionBegin0
168FwpmTransactionCommit0
169FwpmvSwitchEventSubscribe0
170FwpmvSwitchEventUnsubscribe0
171FwpmvSwitchEventsGetSecurityInfo0
172FwpmvSwitchEventsSetSecurityInfo0
173FwppConnectionGetByIPsecInfo
174FwppConnectionGetByS2STunnelId
175FwppConnectionGetS2STunnelId
176FwppGetMD5HashBytes
177FwppIPsecSaContextCreate
178FwpsAleEndpointCreateEnumHandle0
179FwpsAleEndpointDestroyEnumHandle0
180FwpsAleEndpointEnum0
181FwpsAleEndpointGetById0
182FwpsAleEndpointGetSecurityInfo0
183FwpsAleEndpointSetSecurityInfo0
184FwpsAleExplicitCredentialsQuery0
185FwpsAleGetPortStatus0
186FwpsClassifyUser0
187FwpsFreeMemory0
188FwpsGetInProcReplicaOffset0
189FwpsLayerCreateInProcReplica0
190FwpsLayerReleaseInProcReplica0
191FwpsOpenToken0
192FwpsQueryIPsecDosFWUsed0
193FwpsQueryIPsecOffloadDone0
194GetUnifiedTraceHandle
195IPsecDospGetSecurityInfo0
196IPsecDospGetStatistics0
197IPsecDospSetSecurityInfo0
198IPsecDospStateCreateEnumHandle0
199IPsecDospStateDestroyEnumHandle0
200IPsecDospStateEnum0
201IPsecGetKeyFromDictator0
202IPsecGetStatistics0
203IPsecGetStatistics1
204IPsecKeyDictationCheck0
205IPsecKeyManagerAddAndRegister0
206IPsecKeyManagerGetSecurityInfoByKey0
207IPsecKeyManagerSetSecurityInfoByKey0
208IPsecKeyManagerUnregisterAndDelete0
209IPsecKeyManagersGet0
210IPsecKeyModuleAdd0
211IPsecKeyModuleDelete0
212IPsecKeyModuleUpdateAcquire0
213IPsecKeyNotification0
214IPsecSaContextAddInbound0
215IPsecSaContextAddInbound1
216IPsecSaContextAddInboundAndTrackConnection
217IPsecSaContextAddOutbound0
218IPsecSaContextAddOutbound1
219IPsecSaContextAddOutboundAndTrackConnection
220IPsecSaContextCreate0
221IPsecSaContextCreate1
222IPsecSaContextCreateEnumHandle0
223IPsecSaContextDeleteById0
224IPsecSaContextDestroyEnumHandle0
225IPsecSaContextEnum0
226IPsecSaContextEnum1
227IPsecSaContextExpire0
228IPsecSaContextGetById0
229IPsecSaContextGetById1
230IPsecSaContextGetSpi0
231IPsecSaContextGetSpi1
232IPsecSaContextSetSpi0
233IPsecSaContextSubscribe0
234IPsecSaContextSubscriptionsGet0
235IPsecSaContextUnsubscribe0
236IPsecSaContextUpdate0
237IPsecSaCreateEnumHandle0
238IPsecSaDbGetSecurityInfo0
239IPsecSaDbSetSecurityInfo0
240IPsecSaDestroyEnumHandle0
241IPsecSaEnum0
242IPsecSaEnum1
243IPsecSaInitiateAsync0
244IkeextGetConfigParameters0
245IkeextGetStatistics0
246IkeextGetStatistics1
247IkeextSaCreateEnumHandle0
248IkeextSaDbGetSecurityInfo0
249IkeextSaDbSetSecurityInfo0
250IkeextSaDeleteById0
251IkeextSaDestroyEnumHandle0
252IkeextSaEnum0
253IkeextSaEnum1
254IkeextSaEnum2
255IkeextSaGetById0
256IkeextSaGetById1
257IkeextSaGetById2
258IkeextSaUpdateAdditionalAddressesByTunnelId0
259IkeextSaUpdatePreferredAddressesByTunnelId0
260IkeextSetConfigParameters0
261NamespaceCallout
262WFPRIODequeueCompletion
263WSADeleteSocketPeerTargetName
264WSAImpersonateSocketPeer
265WSAQuerySocketSecurity
266WSARevertImpersonation
267WSASetSocketPeerTargetName
268WSASetSocketSecurity
269WfpCloseDPConfigureHandle
270WfpConfigureDPSecurityDescriptor
271WfpCreateDPConfigureHandle
272WfpRIOChannelClose
273WfpRIOCleanupRequestQueue
274WfpRIOCloseCompletionQueue
275WfpRIOCreateChannel
276WfpRIOCreateCompletionQueue
277WfpRIOCreateRequestQueue
278WfpRIODeregisterBuffer
279WfpRIOIndicateActivityThreshold
280WfpRIONotify
281WfpRIOReceive
282WfpRIORegisterBuffer
283WfpRIOResume
284WfpRIOSend
285WfpRIOSuspend
lib/libc/mingw/lib-common/glu32.def created+60
......@@ -0,0 +1,60 @@
1;
2; Exports of file GLU32.dll
3;
4; Autogenerated by gen_exportdef
5; Written by Kai Tietz, 2007
6;
7LIBRARY GLU32.dll
8EXPORTS
9gluBeginCurve
10gluBeginPolygon
11gluBeginSurface
12gluBeginTrim
13gluBuild1DMipmaps
14gluBuild2DMipmaps
15gluCylinder
16gluDeleteNurbsRenderer
17gluDeleteQuadric
18gluDeleteTess
19gluDisk
20gluEndCurve
21gluEndPolygon
22gluEndSurface
23gluEndTrim
24gluErrorString
25gluErrorUnicodeStringEXT
26gluGetNurbsProperty
27gluGetString
28gluGetTessProperty
29gluLoadSamplingMatrices
30gluLookAt
31gluNewNurbsRenderer
32gluNewQuadric
33gluNewTess
34gluNextContour
35gluNurbsCallback
36gluNurbsCurve
37gluNurbsProperty
38gluNurbsSurface
39gluOrtho2D
40gluPartialDisk
41gluPerspective
42gluPickMatrix
43gluProject
44gluPwlCurve
45gluQuadricCallback
46gluQuadricDrawStyle
47gluQuadricNormals
48gluQuadricOrientation
49gluQuadricTexture
50gluScaleImage
51gluSphere
52gluTessBeginContour
53gluTessBeginPolygon
54gluTessCallback
55gluTessEndContour
56gluTessEndPolygon
57gluTessNormal
58gluTessProperty
59gluTessVertex
60gluUnProject
lib/libc/mingw/lib-common/msvcrt.def.in+2-2
......@@ -930,7 +930,7 @@ _scalb
930930F_X64(_scalbf)
931931_scanf_l
932932_scanf_s_l
933_scprintf
933F_NON_I386(_scprintf) ; i386 _scprintf replaced by emu
934934_scprintf_l
935935_scprintf_p_l
936936_scwprintf
......@@ -1111,7 +1111,7 @@ _vprintf_l
11111111_vprintf_p
11121112_vprintf_p_l
11131113_vprintf_s_l
1114_vscprintf
1114F_NON_I386(_vscprintf) ; i386 _vscprintf replaced by emu
11151115_vscprintf_l
11161116_vscprintf_p_l
11171117_vscwprintf
lib/libc/mingw/lib-common/mswsock.def+2
......@@ -22,6 +22,8 @@ MigrateWinsockConfiguration
2222MigrateWinsockConfigurationEx
2323NPLoadNameSpaces
2424NSPStartup
25; MSDN says ProcessSocketNotifications is from ws2_32.dll, not mswsock.dll
26; ProcessSocketNotifications
2527SetServiceA
2628SetServiceW
2729StartWsdpService
lib/libc/mingw/lib-common/ntdll.def.in+60
......@@ -256,6 +256,7 @@ NtAccessCheckByTypeAndAuditAlarm
256256NtAccessCheckByTypeResultList
257257NtAccessCheckByTypeResultListAndAuditAlarm
258258NtAccessCheckByTypeResultListAndAuditAlarmByHandle
259NtAcquireCrossVmMutant
259260NtAcquireProcessActivityReference
260261NtAddAtom
261262NtAddAtomEx
......@@ -310,6 +311,8 @@ NtCancelSynchronousIoFile
310311NtCancelTimer
311312NtCancelTimer2
312313NtCancelWaitCompletionPacket
314NtChangeProcessState
315NtChangeThreadState
313316NtClearEvent
314317NtClose
315318NtCloseObjectAuditAlarm
......@@ -325,8 +328,10 @@ NtCompleteConnectPort
325328NtCompressKey
326329NtConnectPort
327330NtContinue
331NtContinueEx
328332NtConvertBetweenAuxiliaryCounterAndPerformanceCounter
329333NtCreateCrossVmEvent
334NtCreateCrossVmMutant
330335NtCreateDebugObject
331336NtCreateDirectoryObject
332337NtCreateDirectoryObjectEx
......@@ -337,6 +342,7 @@ NtCreateEventPair
337342NtCreateFile
338343NtCreateIRTimer
339344NtCreateIoCompletion
345NtCreateIoRing
340346NtCreateJobObject
341347NtCreateJobSet
342348NtCreateKey
......@@ -352,6 +358,7 @@ NtCreatePort
352358NtCreatePrivateNamespace
353359NtCreateProcess
354360NtCreateProcessEx
361NtCreateProcessStateChange
355362NtCreateProfile
356363NtCreateProfileEx
357364NtCreateRegistryTransaction
......@@ -362,6 +369,7 @@ NtCreateSemaphore
362369NtCreateSymbolicLinkObject
363370NtCreateThread
364371NtCreateThreadEx
372NtCreateThreadStateChange
365373NtCreateTimer
366374NtCreateTimer2
367375NtCreateToken
......@@ -387,6 +395,7 @@ NtDeleteValueKey
387395NtDeleteWnfStateData
388396NtDeleteWnfStateName
389397NtDeviceIoControlFile
398NtDirectGraphicsCall
390399NtDisableLastKnownGood
391400NtDisplayString
392401NtDrawText
......@@ -543,6 +552,7 @@ NtQueryInformationWorkerFactory
543552NtQueryInstallUILanguage
544553NtQueryIntervalProfile
545554NtQueryIoCompletion
555NtQueryIoRingCapabilities
546556NtQueryKey
547557NtQueryLicenseValue
548558NtQueryMultipleValueKey
......@@ -573,6 +583,7 @@ NtQueryWnfStateData
573583NtQueryWnfStateNameInformation
574584NtQueueApcThread
575585NtQueueApcThreadEx
586NtQueueApcThreadEx2
576587NtRaiseException
577588NtRaiseHardError
578589NtReadFile
......@@ -580,6 +591,7 @@ NtReadFileScatter
580591NtReadOnlyEnlistment
581592NtReadRequestData
582593NtReadVirtualMemory
594NtReadVirtualMemoryEx
583595NtRecoverEnlistment
584596NtRecoverResourceManager
585597NtRecoverTransactionManager
......@@ -639,6 +651,7 @@ NtSetIRTimer
639651NtSetInformationDebugObject
640652NtSetInformationEnlistment
641653NtSetInformationFile
654NtSetInformationIoRing
642655NtSetInformationJobObject
643656NtSetInformationKey
644657NtSetInformationObject
......@@ -679,6 +692,7 @@ NtSignalAndWaitForSingleObject
679692NtSinglePhaseReject
680693NtStartProfile
681694NtStopProfile
695NtSubmitIoRing
682696NtSubscribeWnfStateChange
683697NtSuspendProcess
684698NtSuspendThread
......@@ -836,6 +850,7 @@ RtlCanonicalizeDomainName
836850RtlCapabilityCheck
837851RtlCapabilityCheckForSingleSessionSku
838852RtlCaptureContext
853RtlCaptureContext2
839854RtlCaptureStackBackTrace
840855RtlCharToInteger
841856RtlCheckBootStatusIntegrity
......@@ -864,6 +879,8 @@ RtlCommitDebugInfo
864879RtlCommitMemoryStream
865880RtlCompactHeap
866881RtlCompareAltitudes
882RtlCompareExchangePointerMapping
883RtlCompareExchangePropertyStore
867884RtlCompareMemory
868885RtlCompareMemoryUlong
869886RtlCompareString
......@@ -877,6 +894,7 @@ RtlComputePrivatizedDllName_U
877894RtlConnectToSm
878895RtlConsoleMultiByteToUnicodeN
879896RtlConstructCrossVmEventPath
897RtlConstructCrossVmMutexPath
880898RtlContractHashTable
881899RtlConvertDeviceFamilyInfoToString
882900RtlConvertExclusiveToShared
......@@ -957,6 +975,7 @@ RtlDecompressBuffer
957975RtlDecompressBufferEx
958976RtlDecompressFragment
959977RtlDefaultNpAcl
978RtlDelayExecution
960979RtlDelete
961980RtlDeleteAce
962981RtlDeleteAtomFromAtomTable
......@@ -1071,6 +1090,7 @@ RtlFindActivationContextSectionString
10711090RtlFindCharInUnicodeString
10721091RtlFindClearBits
10731092RtlFindClearBitsAndSet
1093RtlFindClearBitsAndSetEx
10741094F_X64(RtlFindClearBitsEx)
10751095RtlFindClearRuns
10761096RtlFindClosestEncodableLength
......@@ -1149,6 +1169,7 @@ RtlGetFullPathName_UEx
11491169RtlGetFullPathName_UstrEx
11501170RtlGetFunctionTableListHead
11511171RtlGetGroupSecurityDescriptor
1172RtlGetImageFileMachines
11521173RtlGetIntegerAtom
11531174RtlGetInterruptTimePrecise
11541175RtlGetLastNtStatus
......@@ -1172,6 +1193,7 @@ RtlGetPersistedStateLocation
11721193RtlGetProcessHeaps
11731194RtlGetProcessPreferredUILanguages
11741195RtlGetProductInfo
1196RtlGetReturnAddressHijackTarget
11751197RtlGetSaclSecurityDescriptor
11761198RtlGetSearchPath
11771199RtlGetSecurityDescriptorRMControl
......@@ -1180,7 +1202,9 @@ RtlGetSetBootStatusData
11801202RtlGetSuiteMask
11811203RtlGetSystemBootStatus
11821204RtlGetSystemBootStatusEx
1205RtlGetSystemGlobalData
11831206RtlGetSystemPreferredUILanguages
1207RtlGetSystemTimeAndBias
11841208RtlGetSystemTimePrecise
11851209RtlGetThreadErrorMode
11861210RtlGetThreadLangIdByIndex
......@@ -1282,6 +1306,7 @@ RtlIpv6StringToAddressExA
12821306RtlIpv6StringToAddressExW
12831307RtlIpv6StringToAddressW
12841308RtlIsActivationContextActive
1309RtlIsApiSetImplemented
12851310RtlIsCapabilitySid
12861311RtlIsCloudFilesPlaceholder
12871312RtlIsCriticalSectionLocked
......@@ -1290,7 +1315,9 @@ RtlIsCurrentProcess
12901315RtlIsCurrentThread
12911316RtlIsCurrentThreadAttachExempt
12921317RtlIsDosDeviceName_U
1318RtlIsEcCode
12931319RtlIsElevatedRid
1320RtlIsEnclaveFeaturePresent
12941321RtlIsGenericTableEmpty
12951322RtlIsGenericTableEmptyAvl
12961323RtlIsMultiSessionSku
......@@ -1364,6 +1391,7 @@ RtlNewSecurityObjectWithMultipleInheritance
13641391RtlNormalizeProcessParams
13651392F_X86_ANY(RtlNormalizeSecurityDescriptor)
13661393RtlNormalizeString
1394RtlNotifyFeatureUsage
13671395RtlNtPathNameToDosPathName
13681396RtlNtStatusToDosError
13691397RtlNtStatusToDosErrorNoTeb
......@@ -1380,6 +1408,7 @@ RtlNumberOfSetBitsUlongPtr
13801408RtlOemStringToUnicodeSize
13811409RtlOemStringToUnicodeString
13821410RtlOemToUnicodeN
1411RtlOpenCrossProcessEmulatorWorkConnection
13831412RtlOpenCurrentUser
13841413RtlOsDeploymentState
13851414RtlOwnerAcesPresent
......@@ -1394,6 +1423,7 @@ RtlProtectHeap
13941423RtlPublishWnfStateData
13951424RtlPushFrame
13961425RtlQueryActivationContextApplicationSettings
1426RtlQueryAllFeatureConfigurations
13971427RtlQueryAtomInAtomTable
13981428RtlQueryCriticalSectionOwner
13991429RtlQueryDepthSList
......@@ -1401,6 +1431,9 @@ RtlQueryDynamicTimeZoneInformation
14011431RtlQueryElevationFlags
14021432RtlQueryEnvironmentVariable
14031433RtlQueryEnvironmentVariable_U
1434RtlQueryFeatureConfiguration
1435RtlQueryFeatureConfigurationChangeStamp
1436RtlQueryFeatureUsageNotificationSubscriptions
14041437RtlQueryHeapInformation
14051438RtlQueryImageMitigationPolicy
14061439RtlQueryInformationAcl
......@@ -1413,11 +1446,13 @@ RtlQueryPackageIdentity
14131446RtlQueryPackageIdentityEx
14141447RtlQueryPerformanceCounter
14151448RtlQueryPerformanceFrequency
1449RtlQueryPointerMapping
14161450RtlQueryProcessBackTraceInformation
14171451RtlQueryProcessDebugInformation
14181452RtlQueryProcessHeapInformation
14191453RtlQueryProcessLockInformation
14201454RtlQueryProcessPlaceholderCompatibilityMode
1455RtlQueryPropertyStore
14211456RtlQueryProtectedPolicy
14221457RtlQueryRegistryValueWithFallback
14231458RtlQueryRegistryValues
......@@ -1439,6 +1474,7 @@ RtlQueueApcWow64Thread
14391474RtlQueueWorkItem
14401475RtlRaiseCustomSystemEventTrigger
14411476RtlRaiseException
1477RtlRaiseNoncontinuableException
14421478RtlRaiseStatus
14431479RtlRandom
14441480RtlRandomEx
......@@ -1450,6 +1486,7 @@ RtlReadOutOfProcessMemoryStream
14501486RtlReadThreadProfilingData
14511487RtlRealPredecessor
14521488RtlRealSuccessor
1489RtlRegisterFeatureConfigurationChangeNotification
14531490RtlRegisterForWnfMetaNotification
14541491RtlRegisterSecureMemoryCacheCallback
14551492RtlRegisterThreadWithCsrss
......@@ -1465,7 +1502,9 @@ RtlReleaseSRWLockExclusive
14651502RtlReleaseSRWLockShared
14661503RtlRemoteCall
14671504RtlRemoveEntryHashTable
1505RtlRemovePointerMapping
14681506RtlRemovePrivileges
1507RtlRemovePropertyStore
14691508RtlRemoveVectoredContinueHandler
14701509RtlRemoveVectoredExceptionHandler
14711510RtlReplaceSidInSd
......@@ -1515,6 +1554,7 @@ RtlSetEnvironmentStrings
15151554RtlSetEnvironmentVar
15161555RtlSetEnvironmentVariable
15171556RtlSetExtendedFeaturesMask
1557RtlSetFeatureConfigurations
15181558RtlSetGroupSecurityDescriptor
15191559RtlSetHeapInformation
15201560RtlSetImageMitigationPolicy
......@@ -1571,6 +1611,7 @@ RtlStringFromGUIDEx
15711611RtlStronglyEnumerateEntryHashTable
15721612RtlSubAuthorityCountSid
15731613RtlSubAuthoritySid
1614RtlSubscribeForFeatureUsageNotification
15741615RtlSubscribeWnfStateChangeNotification
15751616RtlSubtreePredecessor
15761617RtlSubtreeSuccessor
......@@ -1626,6 +1667,8 @@ RtlUnlockMemoryBlockLookaside
16261667RtlUnlockMemoryStreamRegion
16271668RtlUnlockMemoryZone
16281669RtlUnlockModuleSection
1670RtlUnregisterFeatureConfigurationChangeNotification
1671RtlUnsubscribeFromFeatureUsageNotifications
16291672RtlUnsubscribeWnfNotificationWaitForCompletion
16301673RtlUnsubscribeWnfNotificationWithCompletionCallback
16311674RtlUnsubscribeWnfStateChangeNotification
......@@ -1659,6 +1702,7 @@ RtlValidateProcessHeaps
16591702RtlValidateUnicodeString
16601703RtlVerifyVersionInfo
16611704RtlVirtualUnwind
1705RtlVirtualUnwind2
16621706RtlWaitForWnfMetaNotification
16631707RtlWaitOnAddress
16641708RtlWakeAddressAll
......@@ -1674,6 +1718,8 @@ RtlWerpReportException
16741718RtlWnfCompareChangeStamp
16751719RtlWnfDllUnloadCallback
16761720RtlWow64CallFunction64
1721RtlWow64ChangeProcessState
1722RtlWow64ChangeThreadState
16771723RtlWow64EnableFsRedirection
16781724RtlWow64EnableFsRedirectionEx
16791725F64(RtlWow64GetCpuAreaInfo)
......@@ -1870,6 +1916,7 @@ ZwAccessCheckByTypeAndAuditAlarm
18701916ZwAccessCheckByTypeResultList
18711917ZwAccessCheckByTypeResultListAndAuditAlarm
18721918ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
1919ZwAcquireCrossVmMutant
18731920ZwAcquireProcessActivityReference
18741921ZwAddAtom
18751922ZwAddAtomEx
......@@ -1924,6 +1971,8 @@ ZwCancelSynchronousIoFile
19241971ZwCancelTimer
19251972ZwCancelTimer2
19261973ZwCancelWaitCompletionPacket
1974ZwChangeProcessState
1975ZwChangeThreadState
19271976ZwClearEvent
19281977ZwClose
19291978ZwCloseObjectAuditAlarm
......@@ -1939,8 +1988,10 @@ ZwCompleteConnectPort
19391988ZwCompressKey
19401989ZwConnectPort
19411990ZwContinue
1991ZwContinueEx
19421992ZwConvertBetweenAuxiliaryCounterAndPerformanceCounter
19431993ZwCreateCrossVmEvent
1994ZwCreateCrossVmMutant
19441995ZwCreateDebugObject
19451996ZwCreateDirectoryObject
19461997ZwCreateDirectoryObjectEx
......@@ -1951,6 +2002,7 @@ ZwCreateEventPair
19512002ZwCreateFile
19522003ZwCreateIRTimer
19532004ZwCreateIoCompletion
2005ZwCreateIoRing
19542006ZwCreateJobObject
19552007ZwCreateJobSet
19562008ZwCreateKey
......@@ -1966,6 +2018,7 @@ ZwCreatePort
19662018ZwCreatePrivateNamespace
19672019ZwCreateProcess
19682020ZwCreateProcessEx
2021ZwCreateProcessStateChange
19692022ZwCreateProfile
19702023ZwCreateProfileEx
19712024ZwCreateRegistryTransaction
......@@ -1976,6 +2029,7 @@ ZwCreateSemaphore
19762029ZwCreateSymbolicLinkObject
19772030ZwCreateThread
19782031ZwCreateThreadEx
2032ZwCreateThreadStateChange
19792033ZwCreateTimer
19802034ZwCreateTimer2
19812035ZwCreateToken
......@@ -2001,6 +2055,7 @@ ZwDeleteValueKey
20012055ZwDeleteWnfStateData
20022056ZwDeleteWnfStateName
20032057ZwDeviceIoControlFile
2058ZwDirectGraphicsCall
20042059ZwDisableLastKnownGood
20052060ZwDisplayString
20062061ZwDrawText
......@@ -2156,6 +2211,7 @@ ZwQueryInformationWorkerFactory
21562211ZwQueryInstallUILanguage
21572212ZwQueryIntervalProfile
21582213ZwQueryIoCompletion
2214ZwQueryIoRingCapabilities
21592215ZwQueryKey
21602216ZwQueryLicenseValue
21612217ZwQueryMultipleValueKey
......@@ -2186,6 +2242,7 @@ ZwQueryWnfStateData
21862242ZwQueryWnfStateNameInformation
21872243ZwQueueApcThread
21882244ZwQueueApcThreadEx
2245ZwQueueApcThreadEx2
21892246ZwRaiseException
21902247ZwRaiseHardError
21912248ZwReadFile
......@@ -2193,6 +2250,7 @@ ZwReadFileScatter
21932250ZwReadOnlyEnlistment
21942251ZwReadRequestData
21952252ZwReadVirtualMemory
2253ZwReadVirtualMemoryEx
21962254ZwRecoverEnlistment
21972255ZwRecoverResourceManager
21982256ZwRecoverTransactionManager
......@@ -2252,6 +2310,7 @@ ZwSetIRTimer
22522310ZwSetInformationDebugObject
22532311ZwSetInformationEnlistment
22542312ZwSetInformationFile
2313ZwSetInformationIoRing
22552314ZwSetInformationJobObject
22562315ZwSetInformationKey
22572316ZwSetInformationObject
......@@ -2292,6 +2351,7 @@ ZwSignalAndWaitForSingleObject
22922351ZwSinglePhaseReject
22932352ZwStartProfile
22942353ZwStopProfile
2354ZwSubmitIoRing
22952355ZwSubscribeWnfStateChange
22962356ZwSuspendProcess
22972357ZwSuspendThread
lib/libc/mingw/lib-common/opengl32.def created+376
......@@ -0,0 +1,376 @@
1;
2; Exports of file OPENGL32.dll
3;
4; Autogenerated by gen_exportdef
5; Written by Kai Tietz, 2007
6;
7LIBRARY OPENGL32.dll
8EXPORTS
9GlmfBeginGlsBlock
10GlmfCloseMetaFile
11GlmfEndGlsBlock
12GlmfEndPlayback
13GlmfInitPlayback
14GlmfPlayGlsRecord
15glAccum
16glAlphaFunc
17glAreTexturesResident
18glArrayElement
19glBegin
20glBindTexture
21glBitmap
22glBlendFunc
23glCallList
24glCallLists
25glClear
26glClearAccum
27glClearColor
28glClearDepth
29glClearIndex
30glClearStencil
31glClipPlane
32glColor3b
33glColor3bv
34glColor3d
35glColor3dv
36glColor3f
37glColor3fv
38glColor3i
39glColor3iv
40glColor3s
41glColor3sv
42glColor3ub
43glColor3ubv
44glColor3ui
45glColor3uiv
46glColor3us
47glColor3usv
48glColor4b
49glColor4bv
50glColor4d
51glColor4dv
52glColor4f
53glColor4fv
54glColor4i
55glColor4iv
56glColor4s
57glColor4sv
58glColor4ub
59glColor4ubv
60glColor4ui
61glColor4uiv
62glColor4us
63glColor4usv
64glColorMask
65glColorMaterial
66glColorPointer
67glCopyPixels
68glCopyTexImage1D
69glCopyTexImage2D
70glCopyTexSubImage1D
71glCopyTexSubImage2D
72glCullFace
73glDebugEntry
74glDeleteLists
75glDeleteTextures
76glDepthFunc
77glDepthMask
78glDepthRange
79glDisable
80glDisableClientState
81glDrawArrays
82glDrawBuffer
83glDrawElements
84glDrawPixels
85glEdgeFlag
86glEdgeFlagPointer
87glEdgeFlagv
88glEnable
89glEnableClientState
90glEnd
91glEndList
92glEvalCoord1d
93glEvalCoord1dv
94glEvalCoord1f
95glEvalCoord1fv
96glEvalCoord2d
97glEvalCoord2dv
98glEvalCoord2f
99glEvalCoord2fv
100glEvalMesh1
101glEvalMesh2
102glEvalPoint1
103glEvalPoint2
104glFeedbackBuffer
105glFinish
106glFlush
107glFogf
108glFogfv
109glFogi
110glFogiv
111glFrontFace
112glFrustum
113glGenLists
114glGenTextures
115glGetBooleanv
116glGetClipPlane
117glGetDoublev
118glGetError
119glGetFloatv
120glGetIntegerv
121glGetLightfv
122glGetLightiv
123glGetMapdv
124glGetMapfv
125glGetMapiv
126glGetMaterialfv
127glGetMaterialiv
128glGetPixelMapfv
129glGetPixelMapuiv
130glGetPixelMapusv
131glGetPointerv
132glGetPolygonStipple
133glGetString
134glGetTexEnvfv
135glGetTexEnviv
136glGetTexGendv
137glGetTexGenfv
138glGetTexGeniv
139glGetTexImage
140glGetTexLevelParameterfv
141glGetTexLevelParameteriv
142glGetTexParameterfv
143glGetTexParameteriv
144glHint
145glIndexMask
146glIndexPointer
147glIndexd
148glIndexdv
149glIndexf
150glIndexfv
151glIndexi
152glIndexiv
153glIndexs
154glIndexsv
155glIndexub
156glIndexubv
157glInitNames
158glInterleavedArrays
159glIsEnabled
160glIsList
161glIsTexture
162glLightModelf
163glLightModelfv
164glLightModeli
165glLightModeliv
166glLightf
167glLightfv
168glLighti
169glLightiv
170glLineStipple
171glLineWidth
172glListBase
173glLoadIdentity
174glLoadMatrixd
175glLoadMatrixf
176glLoadName
177glLogicOp
178glMap1d
179glMap1f
180glMap2d
181glMap2f
182glMapGrid1d
183glMapGrid1f
184glMapGrid2d
185glMapGrid2f
186glMaterialf
187glMaterialfv
188glMateriali
189glMaterialiv
190glMatrixMode
191glMultMatrixd
192glMultMatrixf
193glNewList
194glNormal3b
195glNormal3bv
196glNormal3d
197glNormal3dv
198glNormal3f
199glNormal3fv
200glNormal3i
201glNormal3iv
202glNormal3s
203glNormal3sv
204glNormalPointer
205glOrtho
206glPassThrough
207glPixelMapfv
208glPixelMapuiv
209glPixelMapusv
210glPixelStoref
211glPixelStorei
212glPixelTransferf
213glPixelTransferi
214glPixelZoom
215glPointSize
216glPolygonMode
217glPolygonOffset
218glPolygonStipple
219glPopAttrib
220glPopClientAttrib
221glPopMatrix
222glPopName
223glPrioritizeTextures
224glPushAttrib
225glPushClientAttrib
226glPushMatrix
227glPushName
228glRasterPos2d
229glRasterPos2dv
230glRasterPos2f
231glRasterPos2fv
232glRasterPos2i
233glRasterPos2iv
234glRasterPos2s
235glRasterPos2sv
236glRasterPos3d
237glRasterPos3dv
238glRasterPos3f
239glRasterPos3fv
240glRasterPos3i
241glRasterPos3iv
242glRasterPos3s
243glRasterPos3sv
244glRasterPos4d
245glRasterPos4dv
246glRasterPos4f
247glRasterPos4fv
248glRasterPos4i
249glRasterPos4iv
250glRasterPos4s
251glRasterPos4sv
252glReadBuffer
253glReadPixels
254glRectd
255glRectdv
256glRectf
257glRectfv
258glRecti
259glRectiv
260glRects
261glRectsv
262glRenderMode
263glRotated
264glRotatef
265glScaled
266glScalef
267glScissor
268glSelectBuffer
269glShadeModel
270glStencilFunc
271glStencilMask
272glStencilOp
273glTexCoord1d
274glTexCoord1dv
275glTexCoord1f
276glTexCoord1fv
277glTexCoord1i
278glTexCoord1iv
279glTexCoord1s
280glTexCoord1sv
281glTexCoord2d
282glTexCoord2dv
283glTexCoord2f
284glTexCoord2fv
285glTexCoord2i
286glTexCoord2iv
287glTexCoord2s
288glTexCoord2sv
289glTexCoord3d
290glTexCoord3dv
291glTexCoord3f
292glTexCoord3fv
293glTexCoord3i
294glTexCoord3iv
295glTexCoord3s
296glTexCoord3sv
297glTexCoord4d
298glTexCoord4dv
299glTexCoord4f
300glTexCoord4fv
301glTexCoord4i
302glTexCoord4iv
303glTexCoord4s
304glTexCoord4sv
305glTexCoordPointer
306glTexEnvf
307glTexEnvfv
308glTexEnvi
309glTexEnviv
310glTexGend
311glTexGendv
312glTexGenf
313glTexGenfv
314glTexGeni
315glTexGeniv
316glTexImage1D
317glTexImage2D
318glTexParameterf
319glTexParameterfv
320glTexParameteri
321glTexParameteriv
322glTexSubImage1D
323glTexSubImage2D
324glTranslated
325glTranslatef
326glVertex2d
327glVertex2dv
328glVertex2f
329glVertex2fv
330glVertex2i
331glVertex2iv
332glVertex2s
333glVertex2sv
334glVertex3d
335glVertex3dv
336glVertex3f
337glVertex3fv
338glVertex3i
339glVertex3iv
340glVertex3s
341glVertex3sv
342glVertex4d
343glVertex4dv
344glVertex4f
345glVertex4fv
346glVertex4i
347glVertex4iv
348glVertex4s
349glVertex4sv
350glVertexPointer
351glViewport
352wglChoosePixelFormat
353wglCopyContext
354wglCreateContext
355wglCreateLayerContext
356wglDeleteContext
357wglDescribeLayerPlane
358wglDescribePixelFormat
359wglGetCurrentContext
360wglGetCurrentDC
361wglGetDefaultProcAddress
362wglGetLayerPaletteEntries
363wglGetPixelFormat
364wglGetProcAddress
365wglMakeCurrent
366wglRealizeLayerPalette
367wglSetLayerPaletteEntries
368wglSetPixelFormat
369wglShareLists
370wglSwapBuffers
371wglSwapLayerBuffers
372wglSwapMultipleBuffers
373wglUseFontBitmapsA
374wglUseFontBitmapsW
375wglUseFontOutlinesA
376wglUseFontOutlinesW
lib/libc/mingw/lib-common/query.def created+17
......@@ -0,0 +1,17 @@
1;
2; Definition file of query.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "query.dll"
7EXPORTS
8LoadBinaryFilter
9LoadTextFilter
10BindIFilterFromStorage
11BindIFilterFromStream
12DllCanUnloadNow
13DllGetClassObject
14DllRegisterServer
15DllUnregisterServer
16LoadIFilter
17LoadIFilterEx
lib/libc/mingw/lib-common/tbs.def+3
......@@ -11,10 +11,12 @@ GetDeviceID
1111GetDeviceIDString
1212GetDeviceIDWithTimeout
1313Tbsi_Context_Create
14Tbsi_Create_Windows_Key
1415Tbsi_FilterLog
1516Tbsi_GetDeviceInfo
1617Tbsi_Get_OwnerAuth
1718Tbsi_Get_TCG_Log
19Tbsi_Get_TCG_Log_Ex
1820Tbsi_Physical_Presence_Command
1921Tbsi_Revoke_Attestation
2022Tbsi_ShaHash
......@@ -22,4 +24,5 @@ Tbsip_Cancel_Commands
2224Tbsip_Context_Close
2325Tbsip_Submit_Command
2426Tbsip_Submit_Command_NonBlocking
27Tbsip_TestInterruptInformation
2528Tbsip_TestMorBit
lib/libc/mingw/lib-common/ws2_32.def.in+1
......@@ -38,6 +38,7 @@ GetHostNameW
3838GetNameInfoW
3939InetNtopW
4040InetPtonW
41ProcessSocketNotifications
4142SetAddrInfoExA
4243SetAddrInfoExW
4344WPUCompleteOverlappedRequest
lib/libc/mingw/lib32/authz.def+30-6
......@@ -8,26 +8,38 @@ EXPORTS
88AuthzAccessCheck@36
99AuthzAddSidsToContext@24
1010AuthzCachedAccessCheck@20
11AuthzComputeEffectivePermission@60
1112AuthzEnumerateSecurityEventSources@16
1213AuthzEvaluateSacl@24
1314AuthzFreeAuditEvent@4
15AuthzFreeCentralAccessPolicyCache@0
1416AuthzFreeContext@4
1517AuthzFreeHandle@4
1618AuthzFreeResourceManager@4
1719AuthzGetInformationFromContext@20
20AuthzInitializeCompoundContext@12
1821AuthzInitializeContextFromAuthzContext@28
1922AuthzInitializeContextFromSid@32
2023AuthzInitializeContextFromToken@32
21AuthzInitializeObjectAccessAuditEvent
22AuthzInitializeObjectAccessAuditEvent2
24AuthzInitializeObjectAccessAuditEvent@0
25AuthzInitializeObjectAccessAuditEvent2@0
26AuthzInitializeRemoteAccessCheck@4
27AuthzInitializeRemoteResourceManager@8
2328AuthzInitializeResourceManager@24
29AuthzInitializeResourceManagerEx@12
2430AuthzInstallSecurityEventSource@8
31AuthzModifyClaims@16
2532AuthzModifySecurityAttributes@12
33AuthzModifySids@16
2634AuthzOpenObjectAudit@32
35AuthzRegisterCapChangeNotification@12
2736AuthzRegisterSecurityEventSource@12
28AuthzReportSecurityEvent
37AuthzReportSecurityEvent@0
2938AuthzReportSecurityEventFromParams@20
39AuthzSetAppContainerInformation@16
40AuthzShutdownRemoteAccessCheck@0
3041AuthzUninstallSecurityEventSource@8
42AuthzUnregisterCapChangeNotification@4
3143AuthzUnregisterSecurityEventSource@8
3244AuthziAccessCheckEx@40
3345AuthziAllocateAuditParams@8
......@@ -38,9 +50,9 @@ AuthziFreeAuditQueue@4
3850AuthziGenerateAdminAlertAuditW@16
3951AuthziInitializeAuditEvent@44
4052AuthziInitializeAuditEventType@20
41AuthziInitializeAuditParams
53AuthziInitializeAuditParams@0
4254AuthziInitializeAuditParamsFromArray@20
43AuthziInitializeAuditParamsWithRM
55AuthziInitializeAuditParamsWithRM@0
4456AuthziInitializeAuditQueue@20
4557AuthziInitializeContextFromSid@32
4658AuthziLogAuditEvent@12
......@@ -48,6 +60,18 @@ AuthziModifyAuditEvent2@32
4860AuthziModifyAuditEvent@28
4961AuthziModifyAuditEventType@20
5062AuthziModifyAuditQueue@24
63AuthziQueryAuditPolicy@0
64AuthziSetAuditPolicy@0
5165AuthziModifySecurityAttributes@12
5266AuthziQuerySecurityAttributes@24
53AuthziSourceAudit
67AuthziSourceAudit@0
68FreeClaimDefinitions@8
69FreeClaimDictionary@4
70GenerateNewCAPID@4
71GetCentralAccessPoliciesByCapID@28
72GetCentralAccessPoliciesByDN@20
73GetClaimDefinitions@16
74GetClaimDomainInfo@12
75GetDefaultCAPESecurityDescriptor@4
76InitializeClaimDictionary@12
77RefreshClaimDictionary@4
lib/libc/mingw/lib32/fwpuclnt.def+142-3
......@@ -5,6 +5,21 @@
55;
66LIBRARY "fwpuclnt.dll"
77EXPORTS
8FwpiExpandCriteria0@20
9FwpiFreeCriteria0@8
10FwpiVpnTriggerAddAppSids@12
11FwpiVpnTriggerAddFilePaths@12
12FwpiVpnTriggerAddSecurityDescriptor@8
13FwpiVpnTriggerConfigureParameters@8
14FwpiVpnTriggerEventSubscribe0@20
15FwpiVpnTriggerEventUnsubscribe0@8
16FwpiVpnTriggerInitializeNrptTriggering@8
17FwpiVpnTriggerRemoveAppSids@4
18FwpiVpnTriggerRemoveFilePaths@4
19FwpiVpnTriggerRemoveSecurityDescriptor@4
20FwpiVpnTriggerResetNrptTriggering@4
21FwpiVpnTriggerSetStateDisconnected@8
22FwpiVpnTriggerUninitializeNrptTriggering@4
823FwpmCalloutAdd0@16
924FwpmCalloutCreateEnumHandle0@12
1025FwpmCalloutDeleteById0@8
......@@ -18,7 +33,17 @@ FwpmCalloutSetSecurityInfoByKey0@28
1833FwpmCalloutSubscribeChanges0@20
1934FwpmCalloutSubscriptionsGet0@12
2035FwpmCalloutUnsubscribeChanges0@8
36FwpmConnectionCreateEnumHandle0@12
37FwpmConnectionDestroyEnumHandle0@8
38FwpmConnectionEnum0@20
39FwpmConnectionGetById0@16
40FwpmConnectionGetSecurityInfo0@28
41FwpmConnectionSetSecurityInfo0@24
42FwpmConnectionSubscribe0@20
43FwpmConnectionUnsubscribe0@8
2144FwpmDiagnoseNetFailure0@12
45FwpmDynamicKeywordSubscribe0@16
46FwpmDynamicKeywordUnsubscribe0@4
2247FwpmEngineClose0@4
2348FwpmEngineGetOption0@12
2449FwpmEngineGetSecurityInfo0@28
......@@ -27,7 +52,8 @@ FwpmEngineSetOption0@12
2752FwpmEngineSetSecurityInfo0@24
2853FwpmEventProviderCreate0@8
2954FwpmEventProviderDestroy0@4
30FwpmEventProviderFireNetEvent0@12
55FwpmEventProviderFireNetEvent0@16
56FwpmEventProviderFireNetEventEx0@20
3157FwpmEventProviderIsNetEventTypeEnabled0@12
3258FwpmFilterAdd0@16
3359FwpmFilterCreateEnumHandle0@12
......@@ -44,7 +70,17 @@ FwpmFilterSubscriptionsGet0@12
4470FwpmFilterUnsubscribeChanges0@8
4571FwpmFreeMemory0@4
4672FwpmGetAppIdFromFileName0@8
73FwpmGetSidFromOnlineId0@8
74FwpmIPsecS2STunnelAddConditions0@28
75FwpmIPsecS2STunnelAddInterfaceToCompartment0@12
76FwpmIPsecS2STunnelGetInterfaceForCompartment0@12
77FwpmIPsecS2STunnelRemoveConditions0@28
78FwpmIPsecS2STunnelRemoveInterfaceFromCompartment0@8
4779FwpmIPsecTunnelAdd0@28
80FwpmIPsecTunnelAdd1@32
81FwpmIPsecTunnelAdd2@32
82FwpmIPsecTunnelAdd3@32
83FwpmIPsecTunnelAddConditions0@20
4884FwpmIPsecTunnelDeleteByKey0@8
4985FwpmLayerCreateEnumHandle0@12
5086FwpmLayerDestroyEnumHandle0@8
......@@ -54,19 +90,46 @@ FwpmLayerGetByKey0@12
5490FwpmLayerGetSecurityInfoByKey0@32
5591FwpmLayerSetSecurityInfoByKey0@28
5692FwpmNetEventCreateEnumHandle0@12
93FwpmNetEventCreateEnumHandleEx@16
5794FwpmNetEventDestroyEnumHandle0@8
5895FwpmNetEventEnum0@20
96FwpmNetEventEnum1@20
97FwpmNetEventEnum2@20
98FwpmNetEventEnum3@20
99FwpmNetEventEnum4@20
100FwpmNetEventEnum5@20
101FwpmNetEventSubscribe0@20
102FwpmNetEventSubscribe1@20
103FwpmNetEventSubscribe2@20
104FwpmNetEventSubscribe3@20
105FwpmNetEventSubscribe4@20
106FwpmNetEventSubscriptionsGet0@12
107FwpmNetEventUnsubscribe0@8
59108FwpmNetEventsGetSecurityInfo0@28
109FwpmNetEventsLost0@8
60110FwpmNetEventsSetSecurityInfo0@24
111FwpmProcessNameResolutionEvent0@16
61112FwpmProviderAdd0@12
62113FwpmProviderContextAdd0@16
114FwpmProviderContextAdd1@16
115FwpmProviderContextAdd2@16
116FwpmProviderContextAdd3@16
63117FwpmProviderContextCreateEnumHandle0@12
64118FwpmProviderContextDeleteById0@12
65119FwpmProviderContextDeleteByKey0@8
66120FwpmProviderContextDestroyEnumHandle0@8
67121FwpmProviderContextEnum0@20
122FwpmProviderContextEnum1@20
123FwpmProviderContextEnum2@20
124FwpmProviderContextEnum3@20
68125FwpmProviderContextGetById0@16
126FwpmProviderContextGetById1@16
127FwpmProviderContextGetById2@16
128FwpmProviderContextGetById3@16
69129FwpmProviderContextGetByKey0@12
130FwpmProviderContextGetByKey1@12
131FwpmProviderContextGetByKey2@12
132FwpmProviderContextGetByKey3@12
70133FwpmProviderContextGetSecurityInfoByKey0@32
71134FwpmProviderContextSetSecurityInfoByKey0@28
72135FwpmProviderContextSubscribeChanges0@20
......@@ -96,51 +159,127 @@ FwpmSubLayerSetSecurityInfoByKey0@28
96159FwpmSubLayerSubscribeChanges0@20
97160FwpmSubLayerSubscriptionsGet0@12
98161FwpmSubLayerUnsubscribeChanges0@8
162FwpmSystemPortsGet0@8
163FwpmSystemPortsSubscribe0@20
164FwpmSystemPortsUnsubscribe0@8
99165FwpmTraceRestoreDefaults0@0
100166FwpmTransactionAbort0@4
101167FwpmTransactionBegin0@8
102168FwpmTransactionCommit0@4
169FwpmvSwitchEventSubscribe0@20
170FwpmvSwitchEventUnsubscribe0@8
171FwpmvSwitchEventsGetSecurityInfo0@28
172FwpmvSwitchEventsSetSecurityInfo0@24
173FwppConnectionGetByIPsecInfo@20
174FwppConnectionGetByS2STunnelId@16
175FwppConnectionGetS2STunnelId@16
176FwppGetMD5HashBytes@16
177FwppIPsecSaContextCreate@36
178FwpsAleEndpointCreateEnumHandle0@12
179FwpsAleEndpointDestroyEnumHandle0@8
180FwpsAleEndpointEnum0@20
181FwpsAleEndpointGetById0@16
182FwpsAleEndpointGetSecurityInfo0@28
183FwpsAleEndpointSetSecurityInfo0@24
103184FwpsAleExplicitCredentialsQuery0@16
185FwpsAleGetPortStatus0@12
104186FwpsClassifyUser0@28
105187FwpsFreeMemory0@4
106188FwpsGetInProcReplicaOffset0@4
107189FwpsLayerCreateInProcReplica0@8
108190FwpsLayerReleaseInProcReplica0@8
109191FwpsOpenToken0@20
192FwpsQueryIPsecDosFWUsed0@8
193FwpsQueryIPsecOffloadDone0@8
194GetUnifiedTraceHandle@4
195IPsecDospGetSecurityInfo0@28
196IPsecDospGetStatistics0@8
197IPsecDospSetSecurityInfo0@24
198IPsecDospStateCreateEnumHandle0@12
199IPsecDospStateDestroyEnumHandle0@8
200IPsecDospStateEnum0@20
201IPsecGetKeyFromDictator0@16
110202IPsecGetStatistics0@8
203IPsecGetStatistics1@8
204IPsecKeyDictationCheck0@16
205IPsecKeyManagerAddAndRegister0@16
206IPsecKeyManagerGetSecurityInfoByKey0@32
207IPsecKeyManagerSetSecurityInfoByKey0@28
208IPsecKeyManagerUnregisterAndDelete0@8
209IPsecKeyManagersGet0@12
111210IPsecKeyModuleAdd0@12
112IPsecKeyModuleCompleteAcquire0@16
113211IPsecKeyModuleDelete0@8
212IPsecKeyModuleUpdateAcquire0@20
213IPsecKeyNotification0@12
114214IPsecSaContextAddInbound0@16
215IPsecSaContextAddInbound1@16
216IPsecSaContextAddInboundAndTrackConnection@28
115217IPsecSaContextAddOutbound0@16
218IPsecSaContextAddOutbound1@16
219IPsecSaContextAddOutboundAndTrackConnection@28
116220IPsecSaContextCreate0@16
221IPsecSaContextCreate1@20
117222IPsecSaContextCreateEnumHandle0@12
118223IPsecSaContextDeleteById0@12
119224IPsecSaContextDestroyEnumHandle0@8
120225IPsecSaContextEnum0@20
226IPsecSaContextEnum1@20
121227IPsecSaContextExpire0@12
122228IPsecSaContextGetById0@16
229IPsecSaContextGetById1@16
123230IPsecSaContextGetSpi0@20
231IPsecSaContextGetSpi1@20
232IPsecSaContextSetSpi0@20
233IPsecSaContextSubscribe0@20
234IPsecSaContextSubscriptionsGet0@12
235IPsecSaContextUnsubscribe0@8
236IPsecSaContextUpdate0@16
124237IPsecSaCreateEnumHandle0@12
125238IPsecSaDbGetSecurityInfo0@28
126239IPsecSaDbSetSecurityInfo0@24
127240IPsecSaDestroyEnumHandle0@8
128241IPsecSaEnum0@20
242IPsecSaEnum1@20
129243IPsecSaInitiateAsync0@16
130244IkeextGetConfigParameters0@4
131245IkeextGetStatistics0@8
246IkeextGetStatistics1@8
132247IkeextSaCreateEnumHandle0@12
133248IkeextSaDbGetSecurityInfo0@28
134249IkeextSaDbSetSecurityInfo0@24
135250IkeextSaDeleteById0@12
136251IkeextSaDestroyEnumHandle0@8
137252IkeextSaEnum0@20
253IkeextSaEnum1@20
254IkeextSaEnum2@20
138255IkeextSaGetById0@16
256IkeextSaGetById1@20
257IkeextSaGetById2@20
258IkeextSaUpdateAdditionalAddressesByTunnelId0@24
259IkeextSaUpdatePreferredAddressesByTunnelId0@24
139260IkeextSetConfigParameters0@4
261NamespaceCallout@12
262WFPRIODequeueCompletion@12
140263WSADeleteSocketPeerTargetName@20
141264WSAImpersonateSocketPeer@12
142265WSAQuerySocketSecurity@28
143266WSARevertImpersonation@0
144267WSASetSocketPeerTargetName@20
145268WSASetSocketSecurity@20
146wfpdiagW@16
269WfpCloseDPConfigureHandle@4 ; forwards to NtClose in ntdll.dll
270WfpConfigureDPSecurityDescriptor@12
271WfpCreateDPConfigureHandle@4
272WfpRIOChannelClose@4 ; forwards to NtClose in ntdll.dll
273WfpRIOCleanupRequestQueue@8
274WfpRIOCloseCompletionQueue@8
275WfpRIOCreateChannel@12
276WfpRIOCreateCompletionQueue@16
277WfpRIOCreateRequestQueue@36
278WfpRIODeregisterBuffer@12
279WfpRIOIndicateActivityThreshold@8
280WfpRIONotify@8
281WfpRIOReceive@28
282WfpRIORegisterBuffer@16
283WfpRIOResume@4
284WfpRIOSend@28
285WfpRIOSuspend@4
lib/libc/mingw/lib32/ksuser.def+10-1
......@@ -1,6 +1,15 @@
1LIBRARY ksuser.dll
1;
2; Definition file of ksuser.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "ksuser.dll"
27EXPORTS
8KsCreateAllocator2@12
39KsCreateAllocator@12
10KsCreateClock2@12
411KsCreateClock@12
12KsCreatePin2@16
513KsCreatePin@16
14KsCreateTopologyNode2@16
615KsCreateTopologyNode@16
lib/libc/mingw/lib32/mswsock.def+45-1
......@@ -1,4 +1,9 @@
1LIBRARY MSWSOCK.DLL
1;
2; Definition file of MSWSOCK.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "MSWSOCK.dll"
27EXPORTS
38AcceptEx@32
49EnumProtocolsA@12
......@@ -10,14 +15,53 @@ GetNameByTypeA@12
1015GetNameByTypeW@12
1116GetServiceA@28
1217GetServiceW@28
18GetSocketErrorMessageW@4
1319GetTypeByNameA@8
1420GetTypeByNameW@8
1521MigrateWinsockConfiguration@12
22MigrateWinsockConfigurationEx@20
1623NPLoadNameSpaces@12
24NSPStartup@8
25; MSDN says ProcessSocketNotifications is from ws2_32.dll, not mswsock.dll
26; ProcessSocketNotifications@28
1727SetServiceA@24
1828SetServiceW@24
29StartWsdpService@0
30StopWsdpService@0
31Tcpip4_WSHAddressToString@20
32Tcpip4_WSHEnumProtocols@16
33Tcpip4_WSHGetBroadcastSockaddr@12
34Tcpip4_WSHGetProviderGuid@8
35Tcpip4_WSHGetSockaddrType@12
36Tcpip4_WSHGetSocketInformation@32
37Tcpip4_WSHGetWSAProtocolInfo@12
38Tcpip4_WSHGetWildcardSockaddr@12
39Tcpip4_WSHGetWinsockMapping@8
40Tcpip4_WSHIoctl@52
41Tcpip4_WSHJoinLeaf@52
42Tcpip4_WSHNotify@20
43Tcpip4_WSHOpenSocket2@32
44Tcpip4_WSHOpenSocket@24
45Tcpip4_WSHSetSocketInformation@32
46Tcpip4_WSHStringToAddress@20
47Tcpip6_WSHAddressToString@20
48Tcpip6_WSHEnumProtocols@16
49Tcpip6_WSHGetProviderGuid@8
50Tcpip6_WSHGetSockaddrType@12
51Tcpip6_WSHGetSocketInformation@32
52Tcpip6_WSHGetWSAProtocolInfo@12
53Tcpip6_WSHGetWildcardSockaddr@12
54Tcpip6_WSHGetWinsockMapping@8
55Tcpip6_WSHIoctl@52
56Tcpip6_WSHJoinLeaf@52
57Tcpip6_WSHNotify@20
58Tcpip6_WSHOpenSocket2@32
59Tcpip6_WSHOpenSocket@24
60Tcpip6_WSHSetSocketInformation@32
61Tcpip6_WSHStringToAddress@20
1962TransmitFile@28
2063WSARecvEx@16
64WSPStartup@76
2165dn_expand@20
2266getnetbyname@4
2367inet_network@4
lib/libc/mingw/lib32/ntdll.def+55
......@@ -229,6 +229,7 @@ NtAccessCheckByTypeAndAuditAlarm@64
229229NtAccessCheckByTypeResultList@44
230230NtAccessCheckByTypeResultListAndAuditAlarm@64
231231NtAccessCheckByTypeResultListAndAuditAlarmByHandle@68
232NtAcquireCrossVmMutant@8
232233NtAcquireProcessActivityReference@12
233234NtAcquireCMFViewOwnership@12
234235NtAddAtom@12
......@@ -284,6 +285,8 @@ NtCancelSynchronousIoFile@12
284285NtCancelTimer2@8
285286NtCancelTimer@8
286287NtCancelWaitCompletionPacket@8
288NtChangeProcessState@24
289NtChangeThreadState@24
287290NtClearEvent@4
288291NtClose@4
289292NtCloseObjectAuditAlarm@12
......@@ -299,8 +302,10 @@ NtCompleteConnectPort@4
299302NtCompressKey@4
300303NtConnectPort@32
301304NtContinue@8
305NtContinueEx@8
302306NtConvertBetweenAuxiliaryCounterAndPerformanceCounter@16
303307NtCreateCrossVmEvent@24
308NtCreateCrossVmMutant@24
304309NtCreateDebugObject@16
305310NtCreateDirectoryObject@12
306311NtCreateDirectoryObjectEx@20
......@@ -311,6 +316,7 @@ NtCreateEventPair@12
311316NtCreateFile@44
312317NtCreateIRTimer@12
313318NtCreateIoCompletion@16
319NtCreateIoRing@20
314320NtCreateJobObject@12
315321NtCreateJobSet@12
316322NtCreateKey@28
......@@ -326,6 +332,7 @@ NtCreatePort@20
326332NtCreatePrivateNamespace@16
327333NtCreateProcess@32
328334NtCreateProcessEx@36
335NtCreateProcessStateChange@20
329336NtCreateProfile@36
330337NtCreateProfileEx@40
331338NtCreateRegistryTransaction@16
......@@ -336,6 +343,7 @@ NtCreateSemaphore@20
336343NtCreateSymbolicLinkObject@16
337344NtCreateThread@32
338345NtCreateThreadEx@44
346NtCreateThreadStateChange@20
339347NtCreateTimer2@20
340348NtCreateTimer@16
341349NtCreateToken@52
......@@ -362,6 +370,7 @@ NtDeleteValueKey@8
362370NtDeleteWnfStateData@8
363371NtDeleteWnfStateName@4
364372NtDeviceIoControlFile@40
373NtDirectGraphicsCall@20
365374NtDisableLastKnownGood@0
366375NtDisplayString@4
367376NtDrawText@4
......@@ -420,6 +429,7 @@ NtListenPort@8
420429NtLoadDriver@4
421430NtLoadEnclaveData@36
422431NtLoadKey2@12
432NtLoadKey3@32
423433NtLoadKey@8
424434NtLoadKeyEx@32
425435NtLockFile@40
......@@ -517,6 +527,7 @@ NtQueryInformationWorkerFactory@20
517527NtQueryInstallUILanguage@4
518528NtQueryIntervalProfile@8
519529NtQueryIoCompletion@20
530NtQueryIoRingCapabilities@8
520531NtQueryKey@20
521532NtQueryLicenseValue@20
522533NtQueryMultipleValueKey@24
......@@ -546,6 +557,7 @@ NtQueryVolumeInformationFile@20
546557NtQueryWnfStateData@24
547558NtQueryWnfStateNameInformation@20
548559NtQueueApcThread@20
560NtQueueApcThreadEx2@28
549561NtQueueApcThreadEx@24
550562NtRaiseException@12
551563NtRaiseHardError@24
......@@ -554,6 +566,7 @@ NtReadFileScatter@36
554566NtReadOnlyEnlistment@8
555567NtReadRequestData@24
556568NtReadVirtualMemory@20
569NtReadVirtualMemoryEx@24
557570NtRecoverEnlistment@8
558571NtRecoverResourceManager@4
559572NtRecoverTransactionManager@4
......@@ -614,6 +627,7 @@ NtSetIRTimer@8
614627NtSetInformationDebugObject@20
615628NtSetInformationEnlistment@16
616629NtSetInformationFile@20
630NtSetInformationIoRing@16
617631NtSetInformationJobObject@16
618632NtSetInformationKey@16
619633NtSetInformationObject@16
......@@ -654,6 +668,7 @@ NtSignalAndWaitForSingleObject@16
654668NtSinglePhaseReject@8
655669NtStartProfile@4
656670NtStopProfile@4
671NtSubmitIoRing@16
657672NtSubscribeWnfStateChange@16
658673NtSuspendProcess@4
659674NtSuspendThread@8
......@@ -832,6 +847,8 @@ RtlCommitDebugInfo@8
832847RtlCommitMemoryStream@8
833848RtlCompactHeap@8
834849RtlCompareAltitudes@8
850RtlCompareExchangePointerMapping@16
851RtlCompareExchangePropertyStore@16
835852RtlCompareMemory@12
836853RtlCompareMemoryUlong@12
837854RtlCompareString@12
......@@ -844,6 +861,7 @@ RtlComputePrivatizedDllName_U@12
844861RtlConnectToSm@16
845862RtlConsoleMultiByteToUnicodeN@24
846863RtlConstructCrossVmEventPath@12
864RtlConstructCrossVmMutexPath@12
847865RtlContractHashTable@4
848866RtlConvertDeviceFamilyInfoToString@16
849867RtlConvertExclusiveToShared@4
......@@ -919,6 +937,7 @@ RtlDecompressBuffer@24
919937RtlDecompressBufferEx@28
920938RtlDecompressFragment@32
921939RtlDefaultNpAcl@4
940RtlDelayExecution@8
922941RtlDelete@4
923942RtlDeleteAce@8
924943RtlDeleteAtomFromAtomTable@8
......@@ -1099,6 +1118,7 @@ RtlGetFullPathName_U@16
10991118RtlGetFullPathName_UEx@20
11001119RtlGetFullPathName_UstrEx@32
11011120RtlGetGroupSecurityDescriptor@12
1121RtlGetImageFileMachines@8
11021122RtlGetIntegerAtom@8
11031123RtlGetInterruptTimePrecise@4
11041124RtlGetLastNtStatus@0
......@@ -1122,6 +1142,7 @@ RtlGetPersistedStateLocation@28
11221142RtlGetProcessHeaps@8
11231143RtlGetProcessPreferredUILanguages@16
11241144RtlGetProductInfo@20
1145RtlGetReturnAddressHijackTarget@0
11251146RtlGetSaclSecurityDescriptor@16
11261147RtlGetSearchPath@4
11271148RtlGetSecurityDescriptorRMControl@8
......@@ -1130,7 +1151,9 @@ RtlGetSetBootStatusData@24
11301151RtlGetSuiteMask@0
11311152RtlGetSystemBootStatus@16
11321153RtlGetSystemBootStatusEx@12
1154RtlGetSystemGlobalData@12
11331155RtlGetSystemPreferredUILanguages@20
1156RtlGetSystemTimeAndBias@12
11341157RtlGetSystemTimePrecise@0
11351158RtlGetThreadErrorMode@0
11361159RtlGetThreadLangIdByIndex@16
......@@ -1232,6 +1255,7 @@ RtlIpv6StringToAddressExA@16
12321255RtlIpv6StringToAddressExW@16
12331256RtlIpv6StringToAddressW@12
12341257RtlIsActivationContextActive@4
1258RtlIsApiSetImplemented@4
12351259RtlIsCapabilitySid@4
12361260RtlIsCloudFilesPlaceholder@8
12371261RtlIsCriticalSectionLocked@4
......@@ -1241,6 +1265,7 @@ RtlIsCurrentThread@4
12411265RtlIsCurrentThreadAttachExempt@0
12421266RtlIsDosDeviceName_U@4
12431267RtlIsElevatedRid@4
1268RtlIsEnclaveFeaturePresent@4
12441269RtlIsGenericTableEmpty@4
12451270RtlIsGenericTableEmptyAvl@4
12461271RtlIsMultiSessionSku@0
......@@ -1321,6 +1346,7 @@ RtlNewSecurityObjectWithMultipleInheritance@36
13211346RtlNormalizeProcessParams@4
13221347RtlNormalizeSecurityDescriptor@20
13231348RtlNormalizeString@20
1349RtlNotifyFeatureUsage@4
13241350RtlNtPathNameToDosPathName@16
13251351RtlNtStatusToDosError@4
13261352RtlNtStatusToDosErrorNoTeb@4
......@@ -1347,6 +1373,7 @@ RtlProtectHeap@8
13471373RtlPublishWnfStateData@24
13481374RtlPushFrame@4
13491375RtlQueryActivationContextApplicationSettings@28
1376RtlQueryAllFeatureConfigurations@16
13501377RtlQueryAtomInAtomTable@24
13511378RtlQueryCriticalSectionOwner@4
13521379RtlQueryDepthSList@4
......@@ -1354,6 +1381,9 @@ RtlQueryDynamicTimeZoneInformation@4
13541381RtlQueryElevationFlags@4
13551382RtlQueryEnvironmentVariable@24
13561383RtlQueryEnvironmentVariable_U@12
1384RtlQueryFeatureConfiguration@16
1385RtlQueryFeatureConfigurationChangeStamp@0
1386RtlQueryFeatureUsageNotificationSubscriptions@8
13571387RtlQueryHeapInformation@20
13581388RtlQueryImageMitigationPolicy@20
13591389RtlQueryInformationAcl@16
......@@ -1366,11 +1396,13 @@ RtlQueryPackageIdentity@24
13661396RtlQueryPackageIdentityEx@28
13671397RtlQueryPerformanceCounter@4
13681398RtlQueryPerformanceFrequency@4
1399RtlQueryPointerMapping@8
13691400RtlQueryProcessBackTraceInformation@4
13701401RtlQueryProcessDebugInformation@12
13711402RtlQueryProcessHeapInformation@4
13721403RtlQueryProcessLockInformation@4
13731404RtlQueryProcessPlaceholderCompatibilityMode@0
1405RtlQueryPropertyStore@8
13741406RtlQueryProtectedPolicy@8
13751407RtlQueryRegistryValueWithFallback@28
13761408RtlQueryRegistryValues@20
......@@ -1402,6 +1434,7 @@ RtlReadOutOfProcessMemoryStream@16
14021434RtlReadThreadProfilingData@12
14031435RtlRealPredecessor@4
14041436RtlRealSuccessor@4
1437RtlRegisterFeatureConfigurationChangeNotification@16
14051438RtlRegisterForWnfMetaNotification@24
14061439RtlRegisterSecureMemoryCacheCallback@4
14071440RtlRegisterThreadWithCsrss@0
......@@ -1417,7 +1450,9 @@ RtlReleaseSRWLockExclusive@4
14171450RtlReleaseSRWLockShared@4
14181451RtlRemoteCall@28
14191452RtlRemoveEntryHashTable@12
1453RtlRemovePointerMapping@8
14201454RtlRemovePrivileges@12
1455RtlRemovePropertyStore@8
14211456RtlRemoveVectoredContinueHandler@4
14221457RtlRemoveVectoredExceptionHandler@4
14231458RtlReplaceSidInSd@16
......@@ -1431,6 +1466,7 @@ RtlResetMemoryZone@4
14311466RtlResetNtUserPfn@0
14321467RtlResetRtlTranslations@4
14331468RtlRestoreBootStatusDefaults@4
1469RtlRestoreContext@8
14341470RtlRestoreLastWin32Error@4
14351471RtlRestoreSystemBootStatusDefaults@0
14361472RtlRestoreThreadPreferredUILanguages@4
......@@ -1463,6 +1499,7 @@ RtlSetEnvironmentStrings@8
14631499RtlSetEnvironmentVar@20
14641500RtlSetEnvironmentVariable@12
14651501RtlSetExtendedFeaturesMask@12
1502RtlSetFeatureConfigurations@16
14661503RtlSetGroupSecurityDescriptor@12
14671504RtlSetHeapInformation@16
14681505RtlSetImageMitigationPolicy@20
......@@ -1518,6 +1555,7 @@ RtlStringFromGUIDEx@12
15181555RtlStronglyEnumerateEntryHashTable@8
15191556RtlSubAuthorityCountSid@4
15201557RtlSubAuthoritySid@8
1558RtlSubscribeForFeatureUsageNotification@8
15211559RtlSubscribeWnfStateChangeNotification@36
15221560RtlSubtreePredecessor@4
15231561RtlSubtreeSuccessor@4
......@@ -1569,6 +1607,8 @@ RtlUnlockMemoryBlockLookaside@4
15691607RtlUnlockMemoryStreamRegion@24
15701608RtlUnlockMemoryZone@4
15711609RtlUnlockModuleSection@4
1610RtlUnregisterFeatureConfigurationChangeNotification@4
1611RtlUnsubscribeFromFeatureUsageNotifications@8
15721612RtlUnsubscribeWnfNotificationWaitForCompletion@4
15731613RtlUnsubscribeWnfNotificationWithCompletionCallback@12
15741614RtlUnsubscribeWnfStateChangeNotification@4
......@@ -1789,6 +1829,7 @@ ZwAccessCheckByTypeAndAuditAlarm@64
17891829ZwAccessCheckByTypeResultList@44
17901830ZwAccessCheckByTypeResultListAndAuditAlarm@64
17911831ZwAccessCheckByTypeResultListAndAuditAlarmByHandle@68
1832ZwAcquireCrossVmMutant@8
17921833ZwAcquireCMFViewOwnership@12
17931834ZwAcquireProcessActivityReference@12
17941835ZwAddAtom@12
......@@ -1844,6 +1885,8 @@ ZwCancelSynchronousIoFile@12
18441885ZwCancelTimer2@8
18451886ZwCancelTimer@8
18461887ZwCancelWaitCompletionPacket@8
1888ZwChangeProcessState@24
1889ZwChangeThreadState@24
18471890ZwClearEvent@4
18481891ZwClose@4
18491892ZwCloseObjectAuditAlarm@12
......@@ -1859,8 +1902,10 @@ ZwCompleteConnectPort@4
18591902ZwCompressKey@4
18601903ZwConnectPort@32
18611904ZwContinue@8
1905ZwContinueEx@8
18621906ZwConvertBetweenAuxiliaryCounterAndPerformanceCounter@16
18631907ZwCreateCrossVmEvent@24
1908ZwCreateCrossVmMutant@24
18641909ZwCreateDebugObject@16
18651910ZwCreateDirectoryObject@12
18661911ZwCreateDirectoryObjectEx@20
......@@ -1871,6 +1916,7 @@ ZwCreateEventPair@12
18711916ZwCreateFile@44
18721917ZwCreateIRTimer@12
18731918ZwCreateIoCompletion@16
1919ZwCreateIoRing@20
18741920ZwCreateJobObject@12
18751921ZwCreateJobSet@12
18761922ZwCreateKey@28
......@@ -1886,6 +1932,7 @@ ZwCreatePort@20
18861932ZwCreatePrivateNamespace@16
18871933ZwCreateProcess@32
18881934ZwCreateProcessEx@36
1935ZwCreateProcessStateChange@20
18891936ZwCreateProfile@36
18901937ZwCreateProfileEx@40
18911938ZwCreateRegistryTransaction@16
......@@ -1896,6 +1943,7 @@ ZwCreateSemaphore@20
18961943ZwCreateSymbolicLinkObject@16
18971944ZwCreateThread@32
18981945ZwCreateThreadEx@44
1946ZwCreateThreadStateChange@20
18991947ZwCreateTimer2@20
19001948ZwCreateTimer@16
19011949ZwCreateToken@52
......@@ -1921,6 +1969,7 @@ ZwDeleteValueKey@8
19211969ZwDeleteWnfStateData@8
19221970ZwDeleteWnfStateName@4
19231971ZwDeviceIoControlFile@40
1972ZwDirectGraphicsCall@20
19241973ZwDisableLastKnownGood@0
19251974ZwDisplayString@4
19261975ZwDrawText@4
......@@ -1979,6 +2028,7 @@ ZwListenPort@8
19792028ZwLoadDriver@4
19802029ZwLoadEnclaveData@36
19812030ZwLoadKey2@12
2031ZwLoadKey3@32
19822032ZwLoadKey@8
19832033ZwLoadKeyEx@32
19842034ZwLockFile@40
......@@ -2076,6 +2126,7 @@ ZwQueryInformationWorkerFactory@20
20762126ZwQueryInstallUILanguage@4
20772127ZwQueryIntervalProfile@8
20782128ZwQueryIoCompletion@20
2129ZwQueryIoRingCapabilities@8
20792130ZwQueryKey@20
20802131ZwQueryLicenseValue@20
20812132ZwQueryMultipleValueKey@24
......@@ -2105,6 +2156,7 @@ ZwQueryVolumeInformationFile@20
21052156ZwQueryWnfStateData@24
21062157ZwQueryWnfStateNameInformation@20
21072158ZwQueueApcThread@20
2159ZwQueueApcThreadEx2@28
21082160ZwQueueApcThreadEx@24
21092161ZwRaiseException@12
21102162ZwRaiseHardError@24
......@@ -2113,6 +2165,7 @@ ZwReadFileScatter@36
21132165ZwReadOnlyEnlistment@8
21142166ZwReadRequestData@24
21152167ZwReadVirtualMemory@20
2168ZwReadVirtualMemoryEx@24
21162169ZwRecoverEnlistment@8
21172170ZwRecoverResourceManager@4
21182171ZwRecoverTransactionManager@4
......@@ -2173,6 +2226,7 @@ ZwSetIRTimer@8
21732226ZwSetInformationDebugObject@20
21742227ZwSetInformationEnlistment@16
21752228ZwSetInformationFile@20
2229ZwSetInformationIoRing@16
21762230ZwSetInformationJobObject@16
21772231ZwSetInformationKey@16
21782232ZwSetInformationObject@16
......@@ -2213,6 +2267,7 @@ ZwSignalAndWaitForSingleObject@16
22132267ZwSinglePhaseReject@8
22142268ZwStartProfile@4
22152269ZwStopProfile@4
2270ZwSubmitIoRing@16
22162271ZwSubscribeWnfStateChange@16
22172272ZwSuspendProcess@4
22182273ZwSuspendThread@8
lib/libc/mingw/lib32/query.def created+17
......@@ -0,0 +1,17 @@
1;
2; Definition file of query.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "query.dll"
7EXPORTS
8LoadBinaryFilter@8
9LoadTextFilter@8
10BindIFilterFromStorage@12
11BindIFilterFromStream@12
12DllCanUnloadNow
13DllGetClassObject@12
14DllRegisterServer
15DllUnregisterServer
16LoadIFilter@12
17LoadIFilterEx@16
lib/libc/mingw/lib32/tbs.def+15
......@@ -5,9 +5,24 @@
55;
66LIBRARY "tbs.dll"
77EXPORTS
8Tbsi_Create_Attestation_From_Log@36
9Tbsi_Get_TCG_Logs@24
10GetDeviceID@16
11GetDeviceIDString@16
12GetDeviceIDWithTimeout@20
813Tbsi_Context_Create@8
14Tbsi_Create_Windows_Key@4
15Tbsi_FilterLog@24
16Tbsi_GetDeviceInfo@8
17Tbsi_Get_OwnerAuth@16
918Tbsi_Get_TCG_Log@12
19Tbsi_Get_TCG_Log_Ex@12
1020Tbsi_Physical_Presence_Command@20
21Tbsi_Revoke_Attestation@0
22Tbsi_ShaHash@32
1123Tbsip_Cancel_Commands@4
1224Tbsip_Context_Close@4
1325Tbsip_Submit_Command@28
26Tbsip_Submit_Command_NonBlocking@28
27Tbsip_TestInterruptInformation@4
28Tbsip_TestMorBit@4
lib/libc/mingw/lib32/user32.def+109-82
......@@ -1,12 +1,13 @@
11LIBRARY USER32.dll
22EXPORTS
3;ord_1500@16 @1500
4;ord_1501@4 @1501
5;ord_1502@12 @1502
3GetPointerFrameArrivalTimes@12
4Wow64Transition DATA
65ActivateKeyboardLayout@8
76AddClipboardFormatListener@4
7AddVisualIdentifier@8
88AdjustWindowRect@12
99AdjustWindowRectEx@16
10AdjustWindowRectExForDpi@20
1011AlignRects@16
1112AllowForegroundActivation@0
1213AllowSetForegroundWindow@4
......@@ -14,6 +15,7 @@ AnimateWindow@12
1415AnyPopup@0
1516AppendMenuA@16
1617AppendMenuW@16
18AreDpiAwarenessContextsEqual@8
1719ArrangeIconicWindows@4
1820AttachThreadInput@12
1921BeginDeferWindowPos@4
......@@ -46,19 +48,13 @@ ChangeDisplaySettingsW@8
4648ChangeMenuA@20
4749ChangeMenuW@20
4850ChangeWindowMessageFilter@8
51DwmGetDxRgn@12
4952ChangeWindowMessageFilterEx@16
5053CharLowerA@4
5154CharLowerBuffA@8
5255CharLowerBuffW@8
5356CharLowerW@4
5457CharNextA@4
55;ord_1550@12 @1550
56;ord_1551@8 @1551
57;ord_1552@8 @1552
58;ord_1553@12 @1553
59;ord_1554@8 @1554
60;ord_1555@16 @1555
61;ord_1556@4 @1556
6258CharNextExA@12
6359CharNextW@4
6460CharPrevA@8
......@@ -73,6 +69,7 @@ CharUpperBuffA@8
7369CharUpperBuffW@8
7470CharUpperW@4
7571CheckDesktopByThreadId@4
72CheckBannedOneCoreTransformApi@4
7673CheckDBCSEnabledExt@0
7774CheckDlgButton@12
7875CheckMenuItem@12
......@@ -123,10 +120,12 @@ CreateMDIWindowA@40
123120CreateMDIWindowW@40
124121CreateMenu@0
125122CreatePopupMenu@0
123CreateSyntheticPointerDevice@12
126124CreateSystemThreads@16 ; ReactOS has the @8 variant
127125CreateWindowExA@48
128126CreateWindowExW@48
129127CreateWindowInBand@52
128CreateWindowInBandEx@56
130129CreateWindowIndirect@4
131130CreateWindowStationA@16
132131CreateWindowStationW@16
......@@ -185,6 +184,7 @@ DestroyDCompositionHwndTarget@8
185184DestroyIcon@4
186185DestroyMenu@4
187186DestroyReasons@4
187DestroySyntheticPointerDevice@4
188188DestroyWindow@4
189189DeviceEventWorker@24 ; No documentation whatsoever, ReactOS has a stub with @20 - https://www.reactos.org/archives/public/ros-diffs/2011-February/040308.html
190190DialogBoxIndirectParamA@20
......@@ -231,14 +231,18 @@ DrawTextW@20
231231DwmGetDxSharedSurface@24
232232DwmGetRemoteSessionOcclusionEvent@0
233233DwmGetRemoteSessionOcclusionState@0
234DwmKernelShutdown@0
235DwmKernelStartup@0
234236DwmLockScreenUpdates@4
235237DwmStartRedirection@8 ; Mentioned on http://habrahabr.ru/post/145174/ , enables GDI virtualization (for security purposes)
236238DwmStopRedirection@0
237239DwmValidateWindow@8
238EditWndProc@16
240EditWndProc@20
239241EmptyClipboard@0
240242EnableMenuItem@12
241243EnableMouseInPointer@4
244EnableNonClientDpiScaling@4
245EnableOneCoreTransformMode@0
242246EnableScrollBar@12
243247EnableSessionForMMCSS@4
244248EnableWindow@8
......@@ -293,6 +297,7 @@ GetAppCompatFlags2@4
293297GetAppCompatFlags@8 ; ReactOS has @4 version http://doxygen.reactos.org/d9/d71/undocuser_8h_a9b76cdc68c523a061c86a40367049ed2.html
294298GetAsyncKeyState@4
295299GetAutoRotationState@4
300GetAwarenessFromDpiAwarenessContext@4
296301GetCIMSSM@4
297302GetCapture@0
298303GetCaretBlinkTime@0
......@@ -326,6 +331,8 @@ GetDCEx@12
326331GetDesktopID@8
327332GetDesktopWindow@0
328333GetDialogBaseUnits@0
334GetDialogControlDpiChangeBehavior@4
335GetDialogDpiChangeBehavior@4
329336GetDisplayAutoRotationPreferences@4
330337GetDisplayConfigBufferSizes@12
331338GetDlgCtrlID@4
......@@ -334,7 +341,12 @@ GetDlgItemInt@16
334341GetDlgItemTextA@16
335342GetDlgItemTextW@16
336343GetDoubleClickTime@0
344GetDpiAwarenessContextForProcess@4
337345GetDpiForMonitorInternal@16
346GetDpiForSystem@0
347GetDpiForWindow@4
348GetDpiFromDpiAwarenessContext@4
349GetExtendedPointerDeviceProperty@8
338350GetFocus@0
339351GetForegroundWindow@0
340352GetGUIThreadInfo@8
......@@ -365,6 +377,7 @@ GetLayeredWindowAttributes@16
365377GetListBoxInfo@4
366378GetMagnificationDesktopColorEffect@4
367379GetMagnificationDesktopMagnification@12
380GetMagnificationDesktopSamplingMode@4
368381GetMagnificationLensCtxInformation@16
369382GetMenu@4
370383GetMenuBarInfo@16
......@@ -396,6 +409,8 @@ GetPhysicalCursorPos@4
396409GetPointerCursorId@8
397410GetPointerDevice@8
398411GetPointerDeviceCursors@12
412GetPointerDeviceInputSpace@8
413GetPointerDeviceOrientation@8
399414GetPointerDeviceProperties@12
400415GetPointerDeviceRects@12
401416GetPointerDevices@8
......@@ -403,6 +418,7 @@ GetPointerFrameInfo@12
403418GetPointerFrameInfoHistory@16
404419GetPointerFramePenInfo@12
405420GetPointerFramePenInfoHistory@16
421GetPointerFrameTimes@12
406422GetPointerFrameTouchInfo@12
407423GetPointerFrameTouchInfoHistory@16
408424GetPointerInfo@8
......@@ -429,22 +445,26 @@ GetRawInputDeviceList@12
429445GetRawPointerDeviceData@20
430446GetReasonTitleFromReasonCode@12
431447GetRegisteredRawInputDevices@12
432GetQueueStatus@4
433448GetScrollBarInfo@12
434449GetScrollInfo@12
435450GetScrollPos@8
436451GetScrollRange@16
437452GetSendMessageReceiver@4
453GetShellChangeNotifyWindow@0
438454GetShellWindow@0
439455GetSubMenu@8
440456GetSysColor@4
441457GetSysColorBrush@4
458GetSystemDpiForProcess@4
442459GetSystemMenu@8
443460GetSystemMetrics@4
461GetSystemMetricsForDpi@8
444462GetTabbedTextExtentA@20
445463GetTabbedTextExtentW@20
446464GetTaskmanWindow@0
447465GetThreadDesktop@4
466GetThreadDpiAwarenessContext@0
467GetThreadDpiHostingBehavior@0
448468GetTitleBarInfo@8
449469GetTopLevelWindow@4
450470GetTopWindow@4
......@@ -464,6 +484,8 @@ GetWindowCompositionInfo@8
464484GetWindowContextHelpId@4
465485GetWindowDC@4
466486GetWindowDisplayAffinity@8
487GetWindowDpiAwarenessContext@4
488GetWindowDpiHostingBehavior@4
467489GetWindowFeedbackSetting@20
468490GetWindowInfo@8
469491GetWindowLongA@8
......@@ -473,6 +495,7 @@ GetWindowModuleFileName@12
473495GetWindowModuleFileNameA@12
474496GetWindowModuleFileNameW@12
475497GetWindowPlacement@8
498GetWindowProcessHandle@8
476499GetWindowRect@8
477500GetWindowRgn@8
478501GetWindowRgnBox@8
......@@ -499,25 +522,34 @@ ImpersonateDdeClientWindow@8
499522InSendMessage@0
500523InSendMessageEx@4
501524InflateRect@12
525InheritWindowMonitor@8
526InitDManipHook@0
527InitializeGenericHidInjection@8
528InitializeInputDeviceInjection@28
502529InitializeLpkHooks@4
503530InitializeWin32EntryTable@4
531InitializePointerDeviceInjection@20
532InitializePointerDeviceInjectionEx@24
504533InitializeTouchInjection@8
534InjectDeviceInput@12
535InjectGenericHidInput@12
536InjectKeyboardInput@8
537InjectMouseInput@8
538InjectPointerInput@12
539InjectSyntheticPointerInput@12
505540InjectTouchInput@8
541InputSpaceRegionFromPoint@20
506542InsertMenuA@20
507543InsertMenuItemA@16
508544InsertMenuItemW@16
509545InsertMenuW@20
510546InternalGetWindowIcon@8
511;ord_2001@4 @2001
512;ord_2002@4 @2002
513547InternalGetWindowText@12
514548IntersectRect@12
515;ord_2005@4 @2005
516549InvalidateRect@12
517550InvalidateRgn@12
518551InvertRect@8
519552IsCharAlphaA@4
520;ord_2010@16 @2010
521553IsCharAlphaNumericA@4
522554IsCharAlphaNumericW@4
523555IsCharAlphaW@4
......@@ -539,16 +571,20 @@ IsInDesktopWindowBand@4
539571IsMenu@4
540572IsProcess16Bit@0
541573IsMouseInPointerEnabled@0
574IsOneCoreTransformMode@0
542575IsProcessDPIAware@0
543576IsQueueAttached@0
544577IsRectEmpty@4
545578IsSETEnabled@0
546579IsServerSideWindow@4
547580IsThreadDesktopComposited@0
581IsThreadTSFEventAware@4
548582IsTopLevelWindow@4
549583IsTouchWindow@8
584IsValidDpiAwarenessContext@4
550585IsWinEventHookInstalled@4
551586IsWindow@4
587IsWindowArranged@4
552588IsWindowEnabled@4
553589IsWindowInDestroy@4
554590IsWindowRedirectedForPrint@4
......@@ -565,12 +601,8 @@ LoadBitmapW@8
565601LoadCursorA@8
566602LoadCursorFromFileA@4
567603LoadCursorFromFileW@4
568;ord_2000@0 @2000
569;ord_2001@4 @2001
570;ord_2002@4 @2002
571604LoadCursorW@8
572605LoadIconA@8
573;ord_2005@4 @2005
574606LoadIconW@8
575607LoadImageA@24
576608LoadImageW@24
......@@ -596,11 +628,19 @@ LookupIconIdFromDirectoryEx@20
596628MBToWCSEx@24
597629MBToWCSExt@20
598630MB_GetString@4
631MITGetCursorUpdateHandle@0
632MITSetForegroundRoutingInfo@8
633MITSetInputDelegationMode@8
634MITSetLastInputRecipient@4
635MITSynthesizeTouchInput@4
636MakeThreadTSFEventAware@4
599637MapDialogRect@8
638MapPointsByVisualIdentifier@20
600639MapVirtualKeyA@8
601640MapVirtualKeyExA@12
602641MapVirtualKeyExW@12
603642MapVirtualKeyW@8
643MapVisualRelativePoints@28
604644MapWindowPoints@16
605645MenuItemFromPoint@16
606646MenuWindowProcA@20
......@@ -665,6 +705,28 @@ QueryBSDRWindow@0
665705QueryDisplayConfig@24
666706QuerySendMessage@4
667707QueryUserCounters@20
708RIMAddInputObserver@32
709RIMAreSiblingDevices@12
710RIMDeviceIoControl@36
711RIMEnableMonitorMappingForDevice@12
712RIMFreeInputBuffer@8
713RIMGetDevicePreparsedData@16
714RIMGetDevicePreparsedDataLockfree@12
715RIMGetDeviceProperties@12
716RIMGetDevicePropertiesLockfree@8
717RIMGetPhysicalDeviceRect@12
718RIMGetSourceProcessId@12
719RIMObserveNextInput@4
720RIMOnPnpNotification@4
721RIMOnTimerNotification@8
722RIMQueryDevicePath@8
723RIMReadInput@28
724RIMRegisterForInput@40
725RIMRemoveInputObserver@4
726RIMSetExtendedDeviceProperty@12
727RIMSetTestModeStatus@4
728RIMUnregisterForInput@4
729RIMUpdateInputObserverRegistration@16
668730RealChildWindowFromPoint@12
669731RealGetWindowClass@12
670732RealGetWindowClassA@12
......@@ -680,17 +742,18 @@ RegisterClassExW@4
680742RegisterClassW@4
681743RegisterClipboardFormatA@4
682744RegisterClipboardFormatW@4
745RegisterDManipHook@0
683746RegisterDeviceNotificationA@12
684747RegisterDeviceNotificationW@12
685748RegisterErrorReportingDialog@8
686749RegisterFrostWindow@8
687750RegisterGhostWindow@8
688751RegisterHotKey@16
689RegisterPowerSettingNotification@12
690752RegisterLogonProcess@8
691753RegisterMessagePumpHook@4
692754RegisterPointerDeviceNotifications@8
693755RegisterPointerInputTarget@8
756RegisterPointerInputTargetEx@12
694757RegisterPowerSettingNotification@12
695758RegisterRawInputDevices@12
696759RegisterServicesProcess@4
......@@ -706,10 +769,14 @@ RegisterWindowMessageA@4
706769RegisterWindowMessageW@4
707770ReleaseCapture@0
708771ReleaseDC@8
772ReleaseDwmHitTestWaiters@0
709773RemoveClipboardFormatListener@4
774RemoveInjectionDevice@4
710775RemoveMenu@12
711776RemovePropA@8
712777RemovePropW@8
778RemoveThreadTSFEventAwareness@4
779RemoveVisualIdentifier@4
713780ReplyMessage@4
714781ResolveDesktopForWOW@4
715782ReuseDDElParam@20
......@@ -747,14 +814,19 @@ SetCursorContents@8
747814SetCursorPos@8
748815SetDebugErrorLevel@4
749816SetDeskWallpaper@4
817SetDesktopColorTransform@4
818SetDialogControlDpiChangeBehavior@12
819SetDialogDpiChangeBehavior@12
750820SetDisplayAutoRotationPreferences@4
751821SetDisplayConfig@20
752822SetDlgItemInt@16
753823SetDlgItemTextA@12
754824SetDlgItemTextW@12
755825SetDoubleClickTime@4
826SetFeatureReportResponse@12
756827SetFocus@4
757828SetForegroundWindow@4
829SetFullscreenMagnifierOffsetsDWMUpdated@12
758830SetGestureConfig@20
759831SetImmersiveBackgroundWindow@4
760832SetInternalWindowPos@16
......@@ -764,6 +836,8 @@ SetLayeredWindowAttributes@16
764836SetLogonNotifyWindow@4
765837SetMagnificationDesktopColorEffect@4
766838SetMagnificationDesktopMagnification@16
839SetMagnificationDesktopMagnifierOffsetsDWMUpdated@4
840SetMagnificationDesktopSamplingMode@4
767841SetMagnificationLensCtxInformation@16
768842SetMenu@8
769843SetMenuContextHelpId@8
......@@ -777,8 +851,10 @@ SetMessageQueue@4
777851SetMirrorRendering@8
778852SetParent@8
779853SetPhysicalCursorPos@8
854SetPointerDeviceInputSpace@12
780855SetProcessDPIAware@0
781856SetProcessDefaultLayout@4
857SetProcessDpiAwarenessContext@4
782858SetProcessDpiAwarenessInternal@4
783859SetProcessRestrictionExemption@4
784860SetProcessWindowStation@4
......@@ -790,6 +866,7 @@ SetRectEmpty@4
790866SetScrollInfo@16
791867SetScrollPos@16
792868SetScrollRange@20
869SetShellChangeNotifyWindow@4
793870SetShellWindow@4
794871SetShellWindowEx@8
795872SetSysColors@12
......@@ -799,6 +876,8 @@ SetSystemMenu@8
799876SetSystemTimer@16
800877SetTaskmanWindow@4
801878SetThreadDesktop@4
879SetThreadDpiAwarenessContext@4
880SetThreadDpiHostingBehavior@4
802881SetThreadInputBlocked@8
803882SetTimer@16
804883SetUserObjectInformationA@16
......@@ -823,6 +902,7 @@ SetWindowTextW@8
823902SetWindowWord@12
824903SetWindowsHookA@8
825904SetWindowsHookExA@16
905SetWindowsHookExAW@20
826906SetWindowsHookExW@16
827907SetWindowsHookW@8
828908SfmDxBindSwapChain@12
......@@ -854,6 +934,7 @@ SwitchDesktop@4
854934SwitchDesktopWithFade@12 ; Same as SwithDesktop(), only with fade (done at log-in), only usable by winlogon - http://blog.airesoft.co.uk/2010/08/things-microsoft-can-do-that-you-cant/
855935SwitchToThisWindow@8
856936SystemParametersInfoA@16
937SystemParametersInfoForDpi@20
857938SystemParametersInfoW@16
858939TabbedTextOutA@32
859940TabbedTextOutW@32
......@@ -885,6 +966,7 @@ UnregisterDeviceNotification@4
885966UnregisterHotKey@8
886967UnregisterMessagePumpHook@0
887968UnregisterPointerInputTarget@8
969UnregisterPointerInputTargetEx@8
888970UnregisterPowerSettingNotification@4
889971UnregisterSessionPort@0
890972UnregisterSuspendResumeNotification@4
......@@ -934,65 +1016,10 @@ wsprintfA
9341016wsprintfW
9351017wvsprintfA@12
9361018wvsprintfW@12
937;ord_2500@16 @2500
938;ord_2501@12 @2501
939;ord_2502@8 @2502
940;ord_2503@24 @2503
941;ord_2504@8 @2504
942;ord_2505@8 @2505
943;ord_2506@12 @2506
944;ord_2507@4 @2507
945;ord_2508@8 @2508
946;ord_2509@4 @2509
947;ord_2510@12 @2510
948;ord_2511@8 @2511
949;ord_2512@12 @2512
950;ord_2513@4 @2513
951;ord_2514@8 @2514
952;ord_2515@8 @2515
953;ord_2516@12 @2516
954;ord_2517@4 @2517
955;ord_2518@0 @2518
956;ord_2519@4 @2519
957;ord_2520@0 @2520
958;ord_2521@8 @2521
959;ord_2522@4 @2522
960;ord_2523@8 @2523
961;ord_2524@8 @2524
962;ord_2525@12 @2525
963;ord_2526@12 @2526
964;ord_2527@12 @2527
1019DelegateInput@24
1020UndelegateInput@8
1021HandleDelegatedInput@8
1022GetProcessUIContextInformation@8
9651023IsThreadMessageQueueAttached@4
966;ord_2529@4 @2529
967;ord_2530@8 @2530
968;ord_2531@16 @2531
969;ord_2532@8 @2532
970;ord_2533@4 @2533
971;ord_2534@8 @2534
972;ord_2535@0 @2535
973;ord_2536@8 @2536
974;ord_2537@16 @2537
975;ord_2538@4 @2538
976;ord_2539@4 @2539
977;ord_2540@4 @2540
978;ord_2541@0 @2541
979;ord_2544@4 @2544
980;ord_2545@8 @2545
981;ord_2546@4 @2546
982;ord_2547@4 @2547
983;ord_2548@4 @2548
984;ord_2549@4 @2549
985;ord_2550@8 @2550
986;ord_2551@20 @2551
987;ord_2552@8 @2552
988;ord_2553@32 @2553
989;ord_2554@12 @2554
990;ord_2555@16 @2555
991;ord_2556@8 @2556
992;ord_2557@12 @2557
993;ord_2558@12 @2558
994;ord_2559@16 @2559
995;ord_2560@20 @2560
996;ord_2561@0 @2561
997;ord_2562@0 @2562
998;ord_2563@0 @2563
1024ReportInertia@20
1025SetCoreWindow@8
lib/libc/mingw/lib32/ws2_32.def+14
......@@ -33,14 +33,19 @@ FreeAddrInfoEx@4
3333FreeAddrInfoExW@4
3434FreeAddrInfoW@4
3535GetAddrInfoExA@40
36GetAddrInfoExCancel@4
37GetAddrInfoExOverlappedResult@4
3638GetAddrInfoExW@40
3739GetAddrInfoW@16
40GetHostNameW@8
3841GetNameInfoW@28
3942InetNtopW@16
4043InetPtonW@12
44ProcessSocketNotifications@28
4145SetAddrInfoExA@48
4246SetAddrInfoExW@48
4347WPUCompleteOverlappedRequest@20
48WPUGetProviderPathEx@20
4449WSAAccept@20
4550WSAAddressToStringA@20
4651WSAAddressToStringW@20
......@@ -126,21 +131,30 @@ WSAStringToAddressW@20
126131WSAUnadvertiseProvider@4
127132WSAWaitForMultipleEvents@20
128133WSCDeinstallProvider@8
134WSCDeinstallProviderEx@12
129135WSCEnableNSProvider@8
130136WSCEnumProtocols@16
137WSCEnumProtocolsEx@20
131138WSCGetApplicationCategory@24
139WSCGetApplicationCategoryEx@28
132140WSCGetProviderInfo@24
133141WSCGetProviderPath@16
134142WSCInstallNameSpace@20
143WSCInstallNameSpaceEx2@28
135144WSCInstallNameSpaceEx@24
136145WSCInstallProvider@20
137146WSCInstallProviderAndChains@32
147WSCInstallProviderEx@28
138148WSCSetApplicationCategory@28
149WSCSetApplicationCategoryEx@32
139150WSCSetProviderInfo@24
140151WSCUnInstallNameSpace@4
152WSCUnInstallNameSpaceEx2@8
141153WSCUpdateProvider@20
154WSCUpdateProviderEx@24
142155WSCWriteNameSpaceOrder@8
143156WSCWriteProviderOrder@8
157WSCWriteProviderOrderEx@12
144158WahCloseApcHelper@4
145159WahCloseHandleHelper@4
146160WahCloseNotificationHandleHelper@4
lib/libc/mingw/lib64/bthprops.def deleted-70
......@@ -1,70 +0,0 @@
1;
2; Definition file of bthprops.cpl
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "bthprops.cpl"
7EXPORTS
8ord_103 @103
9BluetoothAddressToString
10BluetoothAuthenticateDevice
11BluetoothAuthenticateDeviceEx
12BluetoothAuthenticateMultipleDevices
13BluetoothAuthenticationAgent
14BluetoothDisconnectDevice
15BluetoothDisplayDeviceProperties
16BluetoothEnableDiscovery
17BluetoothEnableIncomingConnections
18BluetoothEnumerateInstalledServices
19BluetoothFindBrowseGroupClose
20BluetoothFindClassIdClose
21BluetoothFindDeviceClose
22BluetoothFindFirstBrowseGroup
23BluetoothFindFirstClassId
24BluetoothFindFirstDevice
25BluetoothFindFirstProfileDescriptor
26BluetoothFindFirstProtocolDescriptorStack
27BluetoothFindFirstProtocolEntry
28BluetoothFindFirstRadio
29BluetoothFindFirstService
30BluetoothFindFirstServiceEx
31BluetoothFindNextBrowseGroup
32BluetoothFindNextClassId
33BluetoothFindNextDevice
34BluetoothFindNextProfileDescriptor
35BluetoothFindNextProtocolDescriptorStack
36BluetoothFindNextProtocolEntry
37BluetoothFindNextRadio
38BluetoothFindNextService
39BluetoothFindProfileDescriptorClose
40BluetoothFindProtocolDescriptorStackClose
41BluetoothFindProtocolEntryClose
42BluetoothFindRadioClose
43BluetoothFindServiceClose
44BluetoothGetDeviceInfo
45BluetoothGetRadioInfo
46BluetoothIsConnectable
47BluetoothIsDiscoverable
48BluetoothIsVersionAvailable
49BluetoothMapClassOfDeviceToImageIndex
50BluetoothMapClassOfDeviceToString
51BluetoothRegisterForAuthentication
52BluetoothRegisterForAuthenticationEx
53BluetoothRemoveDevice
54BluetoothSdpEnumAttributes
55BluetoothSdpGetAttributeValue
56BluetoothSdpGetContainerElementData
57BluetoothSdpGetElementData
58BluetoothSdpGetString
59BluetoothSelectDevices
60BluetoothSelectDevicesFree
61BluetoothSendAuthenticationResponse
62BluetoothSendAuthenticationResponseEx
63BluetoothSetLocalServiceInfo
64BluetoothSetServiceState
65BluetoothUnregisterAuthentication
66BluetoothUpdateDeviceRecord
67BthpEnableAllServices
68BthpFindPnpInfo
69BthpMapStatusToErr
70CPlApplet
lib/libc/mingw/lib64/fwpuclnt.def deleted-146
......@@ -1,146 +0,0 @@
1;
2; Definition file of fwpuclnt.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008
5;
6LIBRARY "fwpuclnt.dll"
7EXPORTS
8FwpmCalloutAdd0
9FwpmCalloutCreateEnumHandle0
10FwpmCalloutDeleteById0
11FwpmCalloutDeleteByKey0
12FwpmCalloutDestroyEnumHandle0
13FwpmCalloutEnum0
14FwpmCalloutGetById0
15FwpmCalloutGetByKey0
16FwpmCalloutGetSecurityInfoByKey0
17FwpmCalloutSetSecurityInfoByKey0
18FwpmCalloutSubscribeChanges0
19FwpmCalloutSubscriptionsGet0
20FwpmCalloutUnsubscribeChanges0
21FwpmDiagnoseNetFailure0
22FwpmEngineClose0
23FwpmEngineGetOption0
24FwpmEngineGetSecurityInfo0
25FwpmEngineOpen0
26FwpmEngineSetOption0
27FwpmEngineSetSecurityInfo0
28FwpmEventProviderCreate0
29FwpmEventProviderDestroy0
30FwpmEventProviderFireNetEvent0
31FwpmEventProviderIsNetEventTypeEnabled0
32FwpmFilterAdd0
33FwpmFilterCreateEnumHandle0
34FwpmFilterDeleteById0
35FwpmFilterDeleteByKey0
36FwpmFilterDestroyEnumHandle0
37FwpmFilterEnum0
38FwpmFilterGetById0
39FwpmFilterGetByKey0
40FwpmFilterGetSecurityInfoByKey0
41FwpmFilterSetSecurityInfoByKey0
42FwpmFilterSubscribeChanges0
43FwpmFilterSubscriptionsGet0
44FwpmFilterUnsubscribeChanges0
45FwpmFreeMemory0
46FwpmGetAppIdFromFileName0
47FwpmIPsecTunnelAdd0
48FwpmIPsecTunnelDeleteByKey0
49FwpmLayerCreateEnumHandle0
50FwpmLayerDestroyEnumHandle0
51FwpmLayerEnum0
52FwpmLayerGetById0
53FwpmLayerGetByKey0
54FwpmLayerGetSecurityInfoByKey0
55FwpmLayerSetSecurityInfoByKey0
56FwpmNetEventCreateEnumHandle0
57FwpmNetEventDestroyEnumHandle0
58FwpmNetEventEnum0
59FwpmNetEventsGetSecurityInfo0
60FwpmNetEventsSetSecurityInfo0
61FwpmProviderAdd0
62FwpmProviderContextAdd0
63FwpmProviderContextCreateEnumHandle0
64FwpmProviderContextDeleteById0
65FwpmProviderContextDeleteByKey0
66FwpmProviderContextDestroyEnumHandle0
67FwpmProviderContextEnum0
68FwpmProviderContextGetById0
69FwpmProviderContextGetByKey0
70FwpmProviderContextGetSecurityInfoByKey0
71FwpmProviderContextSetSecurityInfoByKey0
72FwpmProviderContextSubscribeChanges0
73FwpmProviderContextSubscriptionsGet0
74FwpmProviderContextUnsubscribeChanges0
75FwpmProviderCreateEnumHandle0
76FwpmProviderDeleteByKey0
77FwpmProviderDestroyEnumHandle0
78FwpmProviderEnum0
79FwpmProviderGetByKey0
80FwpmProviderGetSecurityInfoByKey0
81FwpmProviderSetSecurityInfoByKey0
82FwpmProviderSubscribeChanges0
83FwpmProviderSubscriptionsGet0
84FwpmProviderUnsubscribeChanges0
85FwpmSessionCreateEnumHandle0
86FwpmSessionDestroyEnumHandle0
87FwpmSessionEnum0
88FwpmSubLayerAdd0
89FwpmSubLayerCreateEnumHandle0
90FwpmSubLayerDeleteByKey0
91FwpmSubLayerDestroyEnumHandle0
92FwpmSubLayerEnum0
93FwpmSubLayerGetByKey0
94FwpmSubLayerGetSecurityInfoByKey0
95FwpmSubLayerSetSecurityInfoByKey0
96FwpmSubLayerSubscribeChanges0
97FwpmSubLayerSubscriptionsGet0
98FwpmSubLayerUnsubscribeChanges0
99FwpmTraceRestoreDefaults0
100FwpmTransactionAbort0
101FwpmTransactionBegin0
102FwpmTransactionCommit0
103FwpsAleExplicitCredentialsQuery0
104FwpsClassifyUser0
105FwpsFreeMemory0
106FwpsGetInProcReplicaOffset0
107FwpsLayerCreateInProcReplica0
108FwpsLayerReleaseInProcReplica0
109FwpsOpenToken0
110IPsecGetStatistics0
111IPsecKeyModuleAdd0
112IPsecKeyModuleCompleteAcquire0
113IPsecKeyModuleDelete0
114IPsecSaContextAddInbound0
115IPsecSaContextAddOutbound0
116IPsecSaContextCreate0
117IPsecSaContextCreateEnumHandle0
118IPsecSaContextDeleteById0
119IPsecSaContextDestroyEnumHandle0
120IPsecSaContextEnum0
121IPsecSaContextExpire0
122IPsecSaContextGetById0
123IPsecSaContextGetSpi0
124IPsecSaCreateEnumHandle0
125IPsecSaDbGetSecurityInfo0
126IPsecSaDbSetSecurityInfo0
127IPsecSaDestroyEnumHandle0
128IPsecSaEnum0
129IPsecSaInitiateAsync0
130IkeextGetConfigParameters0
131IkeextGetStatistics0
132IkeextSaCreateEnumHandle0
133IkeextSaDbGetSecurityInfo0
134IkeextSaDbSetSecurityInfo0
135IkeextSaDeleteById0
136IkeextSaDestroyEnumHandle0
137IkeextSaEnum0
138IkeextSaGetById0
139IkeextSetConfigParameters0
140WSADeleteSocketPeerTargetName
141WSAImpersonateSocketPeer
142WSAQuerySocketSecurity
143WSARevertImpersonation
144WSASetSocketPeerTargetName
145WSASetSocketSecurity
146wfpdiagW
lib/libc/mingw/lib64/glu32.def deleted-60
......@@ -1,60 +0,0 @@
1;
2; Exports of file GLU32.dll
3;
4; Autogenerated by gen_exportdef
5; Written by Kai Tietz, 2007
6;
7LIBRARY GLU32.dll
8EXPORTS
9gluBeginCurve
10gluBeginPolygon
11gluBeginSurface
12gluBeginTrim
13gluBuild1DMipmaps
14gluBuild2DMipmaps
15gluCylinder
16gluDeleteNurbsRenderer
17gluDeleteQuadric
18gluDeleteTess
19gluDisk
20gluEndCurve
21gluEndPolygon
22gluEndSurface
23gluEndTrim
24gluErrorString
25gluErrorUnicodeStringEXT
26gluGetNurbsProperty
27gluGetString
28gluGetTessProperty
29gluLoadSamplingMatrices
30gluLookAt
31gluNewNurbsRenderer
32gluNewQuadric
33gluNewTess
34gluNextContour
35gluNurbsCallback
36gluNurbsCurve
37gluNurbsProperty
38gluNurbsSurface
39gluOrtho2D
40gluPartialDisk
41gluPerspective
42gluPickMatrix
43gluProject
44gluPwlCurve
45gluQuadricCallback
46gluQuadricDrawStyle
47gluQuadricNormals
48gluQuadricOrientation
49gluQuadricTexture
50gluScaleImage
51gluSphere
52gluTessBeginContour
53gluTessBeginPolygon
54gluTessCallback
55gluTessEndContour
56gluTessEndPolygon
57gluTessNormal
58gluTessProperty
59gluTessVertex
60gluUnProject
lib/libc/mingw/lib64/opengl32.def deleted-376
......@@ -1,376 +0,0 @@
1;
2; Exports of file OPENGL32.dll
3;
4; Autogenerated by gen_exportdef
5; Written by Kai Tietz, 2007
6;
7LIBRARY OPENGL32.dll
8EXPORTS
9GlmfBeginGlsBlock
10GlmfCloseMetaFile
11GlmfEndGlsBlock
12GlmfEndPlayback
13GlmfInitPlayback
14GlmfPlayGlsRecord
15glAccum
16glAlphaFunc
17glAreTexturesResident
18glArrayElement
19glBegin
20glBindTexture
21glBitmap
22glBlendFunc
23glCallList
24glCallLists
25glClear
26glClearAccum
27glClearColor
28glClearDepth
29glClearIndex
30glClearStencil
31glClipPlane
32glColor3b
33glColor3bv
34glColor3d
35glColor3dv
36glColor3f
37glColor3fv
38glColor3i
39glColor3iv
40glColor3s
41glColor3sv
42glColor3ub
43glColor3ubv
44glColor3ui
45glColor3uiv
46glColor3us
47glColor3usv
48glColor4b
49glColor4bv
50glColor4d
51glColor4dv
52glColor4f
53glColor4fv
54glColor4i
55glColor4iv
56glColor4s
57glColor4sv
58glColor4ub
59glColor4ubv
60glColor4ui
61glColor4uiv
62glColor4us
63glColor4usv
64glColorMask
65glColorMaterial
66glColorPointer
67glCopyPixels
68glCopyTexImage1D
69glCopyTexImage2D
70glCopyTexSubImage1D
71glCopyTexSubImage2D
72glCullFace
73glDebugEntry
74glDeleteLists
75glDeleteTextures
76glDepthFunc
77glDepthMask
78glDepthRange
79glDisable
80glDisableClientState
81glDrawArrays
82glDrawBuffer
83glDrawElements
84glDrawPixels
85glEdgeFlag
86glEdgeFlagPointer
87glEdgeFlagv
88glEnable
89glEnableClientState
90glEnd
91glEndList
92glEvalCoord1d
93glEvalCoord1dv
94glEvalCoord1f
95glEvalCoord1fv
96glEvalCoord2d
97glEvalCoord2dv
98glEvalCoord2f
99glEvalCoord2fv
100glEvalMesh1
101glEvalMesh2
102glEvalPoint1
103glEvalPoint2
104glFeedbackBuffer
105glFinish
106glFlush
107glFogf
108glFogfv
109glFogi
110glFogiv
111glFrontFace
112glFrustum
113glGenLists
114glGenTextures
115glGetBooleanv
116glGetClipPlane
117glGetDoublev
118glGetError
119glGetFloatv
120glGetIntegerv
121glGetLightfv
122glGetLightiv
123glGetMapdv
124glGetMapfv
125glGetMapiv
126glGetMaterialfv
127glGetMaterialiv
128glGetPixelMapfv
129glGetPixelMapuiv
130glGetPixelMapusv
131glGetPointerv
132glGetPolygonStipple
133glGetString
134glGetTexEnvfv
135glGetTexEnviv
136glGetTexGendv
137glGetTexGenfv
138glGetTexGeniv
139glGetTexImage
140glGetTexLevelParameterfv
141glGetTexLevelParameteriv
142glGetTexParameterfv
143glGetTexParameteriv
144glHint
145glIndexMask
146glIndexPointer
147glIndexd
148glIndexdv
149glIndexf
150glIndexfv
151glIndexi
152glIndexiv
153glIndexs
154glIndexsv
155glIndexub
156glIndexubv
157glInitNames
158glInterleavedArrays
159glIsEnabled
160glIsList
161glIsTexture
162glLightModelf
163glLightModelfv
164glLightModeli
165glLightModeliv
166glLightf
167glLightfv
168glLighti
169glLightiv
170glLineStipple
171glLineWidth
172glListBase
173glLoadIdentity
174glLoadMatrixd
175glLoadMatrixf
176glLoadName
177glLogicOp
178glMap1d
179glMap1f
180glMap2d
181glMap2f
182glMapGrid1d
183glMapGrid1f
184glMapGrid2d
185glMapGrid2f
186glMaterialf
187glMaterialfv
188glMateriali
189glMaterialiv
190glMatrixMode
191glMultMatrixd
192glMultMatrixf
193glNewList
194glNormal3b
195glNormal3bv
196glNormal3d
197glNormal3dv
198glNormal3f
199glNormal3fv
200glNormal3i
201glNormal3iv
202glNormal3s
203glNormal3sv
204glNormalPointer
205glOrtho
206glPassThrough
207glPixelMapfv
208glPixelMapuiv
209glPixelMapusv
210glPixelStoref
211glPixelStorei
212glPixelTransferf
213glPixelTransferi
214glPixelZoom
215glPointSize
216glPolygonMode
217glPolygonOffset
218glPolygonStipple
219glPopAttrib
220glPopClientAttrib
221glPopMatrix
222glPopName
223glPrioritizeTextures
224glPushAttrib
225glPushClientAttrib
226glPushMatrix
227glPushName
228glRasterPos2d
229glRasterPos2dv
230glRasterPos2f
231glRasterPos2fv
232glRasterPos2i
233glRasterPos2iv
234glRasterPos2s
235glRasterPos2sv
236glRasterPos3d
237glRasterPos3dv
238glRasterPos3f
239glRasterPos3fv
240glRasterPos3i
241glRasterPos3iv
242glRasterPos3s
243glRasterPos3sv
244glRasterPos4d
245glRasterPos4dv
246glRasterPos4f
247glRasterPos4fv
248glRasterPos4i
249glRasterPos4iv
250glRasterPos4s
251glRasterPos4sv
252glReadBuffer
253glReadPixels
254glRectd
255glRectdv
256glRectf
257glRectfv
258glRecti
259glRectiv
260glRects
261glRectsv
262glRenderMode
263glRotated
264glRotatef
265glScaled
266glScalef
267glScissor
268glSelectBuffer
269glShadeModel
270glStencilFunc
271glStencilMask
272glStencilOp
273glTexCoord1d
274glTexCoord1dv
275glTexCoord1f
276glTexCoord1fv
277glTexCoord1i
278glTexCoord1iv
279glTexCoord1s
280glTexCoord1sv
281glTexCoord2d
282glTexCoord2dv
283glTexCoord2f
284glTexCoord2fv
285glTexCoord2i
286glTexCoord2iv
287glTexCoord2s
288glTexCoord2sv
289glTexCoord3d
290glTexCoord3dv
291glTexCoord3f
292glTexCoord3fv
293glTexCoord3i
294glTexCoord3iv
295glTexCoord3s
296glTexCoord3sv
297glTexCoord4d
298glTexCoord4dv
299glTexCoord4f
300glTexCoord4fv
301glTexCoord4i
302glTexCoord4iv
303glTexCoord4s
304glTexCoord4sv
305glTexCoordPointer
306glTexEnvf
307glTexEnvfv
308glTexEnvi
309glTexEnviv
310glTexGend
311glTexGendv
312glTexGenf
313glTexGenfv
314glTexGeni
315glTexGeniv
316glTexImage1D
317glTexImage2D
318glTexParameterf
319glTexParameterfv
320glTexParameteri
321glTexParameteriv
322glTexSubImage1D
323glTexSubImage2D
324glTranslated
325glTranslatef
326glVertex2d
327glVertex2dv
328glVertex2f
329glVertex2fv
330glVertex2i
331glVertex2iv
332glVertex2s
333glVertex2sv
334glVertex3d
335glVertex3dv
336glVertex3f
337glVertex3fv
338glVertex3i
339glVertex3iv
340glVertex3s
341glVertex3sv
342glVertex4d
343glVertex4dv
344glVertex4f
345glVertex4fv
346glVertex4i
347glVertex4iv
348glVertex4s
349glVertex4sv
350glVertexPointer
351glViewport
352wglChoosePixelFormat
353wglCopyContext
354wglCreateContext
355wglCreateLayerContext
356wglDeleteContext
357wglDescribeLayerPlane
358wglDescribePixelFormat
359wglGetCurrentContext
360wglGetCurrentDC
361wglGetDefaultProcAddress
362wglGetLayerPaletteEntries
363wglGetPixelFormat
364wglGetProcAddress
365wglMakeCurrent
366wglRealizeLayerPalette
367wglSetLayerPaletteEntries
368wglSetPixelFormat
369wglShareLists
370wglSwapBuffers
371wglSwapLayerBuffers
372wglSwapMultipleBuffers
373wglUseFontBitmapsA
374wglUseFontBitmapsW
375wglUseFontOutlinesA
376wglUseFontOutlinesW
lib/libc/mingw/lib64/query.def deleted-1447
......@@ -1,1447 +0,0 @@
1;
2; Exports of file query.dll
3;
4; Autogenerated by gen_exportdef
5; Written by Kai Tietz, 2007
6;
7LIBRARY query.dll
8EXPORTS
9; class CCoTaskAllocator CoTaskAllocator
10?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA
11; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
12??0CAllocStorageVariant@@QEAA@AEAUtagPROPVARIANT@@AEAVPMemoryAllocator@@@Z
13; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
14??0CAllocStorageVariant@@QEAA@AEAVPDeSerStream@@AEAVPMemoryAllocator@@@Z
15; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(char const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
16??0CAllocStorageVariant@@QEAA@PEBDAEAVPMemoryAllocator@@@Z
17; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(unsigned short const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
18??0CAllocStorageVariant@@QEAA@PEBGAEAVPMemoryAllocator@@@Z
19; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct _GUID const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
20??0CAllocStorageVariant@@QEAA@PEBU_GUID@@AEAVPMemoryAllocator@@@Z
21; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator & __ptr64) __ptr64
22??0CAllocStorageVariant@@QEAA@W4VARENUM@@KAEAVPMemoryAllocator@@@Z
23; public: __cdecl CCatState::CCatState(void) __ptr64
24??0CCatState@@QEAA@XZ
25; public: __cdecl CCategorizationSet::CCategorizationSet(class CCategorizationSet const & __ptr64) __ptr64
26??0CCategorizationSet@@QEAA@AEBV0@@Z
27; public: __cdecl CCategorizationSet::CCategorizationSet(unsigned int) __ptr64
28??0CCategorizationSet@@QEAA@I@Z
29; public: __cdecl CCiAdminParams::CCiAdminParams(class CLangList * __ptr64) __ptr64
30??0CCiAdminParams@@QEAA@PEAVCLangList@@@Z
31; public: __cdecl CCiRegParams::CCiRegParams(unsigned short const * __ptr64) __ptr64
32??0CCiRegParams@@QEAA@PEBG@Z
33; public: __cdecl CColumnSet::CColumnSet(unsigned int) __ptr64
34??0CColumnSet@@QEAA@I@Z
35; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64
36??0CColumns@@QEAA@AEBV0@@Z
37; public: __cdecl CColumns::CColumns(unsigned int) __ptr64
38??0CColumns@@QEAA@I@Z
39; public: __cdecl CContentRestriction::CContentRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long,unsigned long) __ptr64
40??0CContentRestriction@@QEAA@PEBGAEBVCFullPropSpec@@KK@Z
41; public: __cdecl CDFA::CDFA(unsigned short const * __ptr64,class CTimeLimit & __ptr64,unsigned char) __ptr64
42??0CDFA@@QEAA@PEBGAEAVCTimeLimit@@E@Z
43; public: __cdecl CDbColId::CDbColId(struct _GUID const & __ptr64,unsigned short const * __ptr64) __ptr64
44??0CDbColId@@QEAA@AEBU_GUID@@PEBG@Z
45; public: __cdecl CDbColId::CDbColId(struct tagDBID const & __ptr64) __ptr64
46??0CDbColId@@QEAA@AEBUtagDBID@@@Z
47; public: __cdecl CDbColId::CDbColId(class CDbColId const & __ptr64) __ptr64
48??0CDbColId@@QEAA@AEBV0@@Z
49; public: __cdecl CDbColId::CDbColId(void) __ptr64
50??0CDbColId@@QEAA@XZ
51; public: __cdecl CDbColumns::CDbColumns(unsigned int) __ptr64
52??0CDbColumns@@QEAA@I@Z
53; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long,unsigned long) __ptr64
54??0CDbContentRestriction@@QEAA@PEBGAEBUtagDBID@@KK@Z
55; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long,unsigned long) __ptr64
56??0CDbContentRestriction@@QEAA@PEBGAEBVCDbColumnNode@@KK@Z
57; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long) __ptr64
58??0CDbNatLangRestriction@@QEAA@PEBGAEBUtagDBID@@K@Z
59; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long) __ptr64
60??0CDbNatLangRestriction@@QEAA@PEBGAEBVCDbColumnNode@@K@Z
61; public: __cdecl CDbQueryResults::CDbQueryResults(void) __ptr64
62??0CDbQueryResults@@QEAA@XZ
63; public: __cdecl CDbSelectNode::CDbSelectNode(void) __ptr64
64??0CDbSelectNode@@QEAA@XZ
65; public: __cdecl CDbSortSet::CDbSortSet(unsigned int) __ptr64
66??0CDbSortSet@@QEAA@I@Z
67; public: __cdecl CDefColumnRegEntry::CDefColumnRegEntry(void) __ptr64
68??0CDefColumnRegEntry@@QEAA@XZ
69; public: __cdecl CDriveInfo::CDriveInfo(unsigned short const * __ptr64,unsigned long) __ptr64
70??0CDriveInfo@@QEAA@PEBGK@Z
71; public: __cdecl CDynStream::CDynStream(class PMmStream * __ptr64) __ptr64
72??0CDynStream@@QEAA@PEAVPMmStream@@@Z
73; public: __cdecl CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const * __ptr64) __ptr64
74??0CEventItem@@QEAA@GGKGKPEBX@Z
75; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
76??0CEventLog@@QEAA@PEBG0@Z
77; public: __cdecl CException::CException(long) __ptr64
78??0CException@@QEAA@J@Z
79; public: __cdecl CException::CException(void) __ptr64
80??0CException@@QEAA@XZ
81; public: __cdecl CFileBuffer::CFileBuffer(class CFileMapView & __ptr64,unsigned int) __ptr64
82??0CFileBuffer@@QEAA@AEAVCFileMapView@@I@Z
83; public: __cdecl CFileMapView::CFileMapView(unsigned short const * __ptr64) __ptr64
84??0CFileMapView@@QEAA@PEBG@Z
85; public: __cdecl CFilterDaemon::CFilterDaemon(class CiProxy & __ptr64,class CCiFrameworkParams & __ptr64,class CLangList & __ptr64,unsigned char * __ptr64,unsigned long,struct ICiCFilterClient * __ptr64) __ptr64
86??0CFilterDaemon@@QEAA@AEAVCiProxy@@AEAVCCiFrameworkParams@@AEAVCLangList@@PEAEKPEAUICiCFilterClient@@@Z
87; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64) __ptr64
88??0CFullPath@@QEAA@PEBG@Z
89; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64,unsigned int) __ptr64
90??0CFullPath@@QEAA@PEBGI@Z
91; public: __cdecl CFullPropSpec::CFullPropSpec(class PDeSerStream & __ptr64) __ptr64
92??0CFullPropSpec@@QEAA@AEAVPDeSerStream@@@Z
93; public: __cdecl CFullPropSpec::CFullPropSpec(class CFullPropSpec const & __ptr64) __ptr64
94??0CFullPropSpec@@QEAA@AEBV0@@Z
95; public: __cdecl CFullPropSpec::CFullPropSpec(void) __ptr64
96??0CFullPropSpec@@QEAA@XZ
97; public: __cdecl CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager & __ptr64,class CWorkQueue & __ptr64) __ptr64
98??0CFwAsyncWorkItem@@QEAA@AEAVCWorkManager@@AEAVCWorkQueue@@@Z
99; public: __cdecl CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void * __ptr64) __ptr64
100??0CFwEventItem@@QEAA@GKGKPEAX@Z
101; public: __cdecl CGenericCiProxy::CGenericCiProxy(class CSharedNameGen & __ptr64,unsigned long,unsigned long) __ptr64
102??0CGenericCiProxy@@QEAA@AEAVCSharedNameGen@@KK@Z
103; public: __cdecl CGetDbProps::CGetDbProps(void) __ptr64
104??0CGetDbProps@@QEAA@XZ
105; public: __cdecl CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache * __ptr64) __ptr64
106??0CImpersonateRemoteAccess@@QEAA@PEAVCImpersonationTokenCache@@@Z
107; public: __cdecl CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const * __ptr64) __ptr64
108??0CImpersonationTokenCache@@QEAA@PEBG@Z
109; public: __cdecl CIndexTable::CIndexTable(class CiStorage & __ptr64,class CTransaction & __ptr64) __ptr64
110??0CIndexTable@@QEAA@AEAVCiStorage@@AEAVCTransaction@@@Z
111; public: __cdecl CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const & __ptr64,class CRestriction * __ptr64) __ptr64
112??0CInternalPropertyRestriction@@QEAA@KKAEBVCStorageVariant@@PEAVCRestriction@@@Z
113; public: __cdecl CKeyArray::CKeyArray(int,int) __ptr64
114??0CKeyArray@@QEAA@HH@Z
115; public: __cdecl CLangList::CLangList(struct ICiCLangRes * __ptr64,unsigned long) __ptr64
116??0CLangList@@QEAA@PEAUICiCLangRes@@K@Z
117; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long) __ptr64
118??0CLocalGlobalPropertyList@@QEAA@K@Z
119; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
120??0CLocalGlobalPropertyList@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
121; public: __cdecl CMachineAdmin::CMachineAdmin(unsigned short const * __ptr64,int) __ptr64
122??0CMachineAdmin@@QEAA@PEBGH@Z
123; public: __cdecl CMemSerStream::CMemSerStream(unsigned int) __ptr64
124??0CMemSerStream@@QEAA@I@Z
125; public: __cdecl CMemSerStream::CMemSerStream(unsigned char * __ptr64,unsigned long) __ptr64
126??0CMemSerStream@@QEAA@PEAEK@Z
127; public: __cdecl CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const * __ptr64) __ptr64
128??0CMetaDataMgr@@QEAA@HW4CiVRootTypeEnum@@KPEBG@Z
129; public: __cdecl CMmStream::CMmStream(unsigned long,int) __ptr64
130??0CMmStream@@QEAA@KH@Z
131; public: __cdecl CMmStreamConsecBuf::CMmStreamConsecBuf(void) __ptr64
132??0CMmStreamConsecBuf@@QEAA@XZ
133; public: __cdecl CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long) __ptr64
134??0CNatLanguageRestriction@@QEAA@PEBGAEBVCFullPropSpec@@K@Z
135; public: __cdecl CNodeRestriction::CNodeRestriction(unsigned long,unsigned int) __ptr64
136??0CNodeRestriction@@QEAA@KI@Z
137; public: __cdecl CNormalizer::CNormalizer(class PNoiseList & __ptr64) __ptr64
138??0CNormalizer@@QEAA@AEAVPNoiseList@@@Z
139; public: __cdecl CPathParser::CPathParser(unsigned short const * __ptr64,unsigned long) __ptr64
140??0CPathParser@@QEAA@PEBGK@Z
141; public: __cdecl CPerfMon::CPerfMon(unsigned short const * __ptr64) __ptr64
142??0CPerfMon@@QEAA@PEBG@Z
143; public: __cdecl CPersDeComp::CPersDeComp(class PDirectory & __ptr64,unsigned long,class CPhysIndex & __ptr64,unsigned long,int,int) __ptr64
144??0CPersDeComp@@QEAA@AEAVPDirectory@@KAEAVCPhysIndex@@KHH@Z
145; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,unsigned int,class PMmStream * __ptr64,int,unsigned int,int) __ptr64
146??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KIPEAVPMmStream@@HIH@Z
147; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,class PMmStream * __ptr64,enum CPhysStorage::EOpenMode,int,unsigned int,int) __ptr64
148??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KPEAVPMmStream@@W4EOpenMode@1@HIH@Z
149; public: __cdecl CPidLookupTable::CPidLookupTable(void) __ptr64
150??0CPidLookupTable@@QEAA@XZ
151; public: __cdecl CPidRemapper::CPidRemapper(class XInterface<struct IPropertyMapper> & __ptr64) __ptr64
152??0CPidRemapper@@QEAA@AEAV?$XInterface@UIPropertyMapper@@@@@Z
153; public: __cdecl CPidRemapper::CPidRemapper(class CPidMapper const & __ptr64,class XInterface<struct IPropertyMapper> & __ptr64,class CRestriction * __ptr64,class CColumnSet * __ptr64,class CSortSet * __ptr64) __ptr64
154??0CPidRemapper@@QEAA@AEBVCPidMapper@@AEAV?$XInterface@UIPropertyMapper@@@@PEAVCRestriction@@PEAVCColumnSet@@PEAVCSortSet@@@Z
155; public: __cdecl CPropListFile::CPropListFile(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
156??0CPropListFile@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
157; public: __cdecl CPropNameArray::CPropNameArray(class PDeSerStream & __ptr64) __ptr64
158??0CPropNameArray@@QEAA@AEAVPDeSerStream@@@Z
159; public: __cdecl CPropNameArray::CPropNameArray(unsigned int) __ptr64
160??0CPropNameArray@@QEAA@I@Z
161; public: __cdecl CPropStoreManager::CPropStoreManager(unsigned long) __ptr64
162??0CPropStoreManager@@QEAA@K@Z
163; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const & __ptr64,class CStorageVariant const & __ptr64) __ptr64
164??0CPropertyRestriction@@QEAA@KAEBVCFullPropSpec@@AEBVCStorageVariant@@@Z
165; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64
166??0CPropertyRestriction@@QEAA@XZ
167; public: __cdecl CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager & __ptr64) __ptr64
168??0CPropertyStoreWids@@QEAA@AEAVCPropStoreManager@@@Z
169; public: __cdecl CPropertyValueParser::CPropertyValueParser(class CQueryScanner & __ptr64,unsigned short,unsigned long) __ptr64
170??0CPropertyValueParser@@QEAA@AEAVCQueryScanner@@GK@Z
171; public: __cdecl CQueryScanner::CQueryScanner(unsigned short const * __ptr64,int,unsigned long,int) __ptr64
172??0CQueryScanner@@QEAA@PEBGHKH@Z
173; public: __cdecl CRangeKeyRepository::CRangeKeyRepository(void) __ptr64
174??0CRangeKeyRepository@@QEAA@XZ
175; public: __cdecl CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj & __ptr64) __ptr64
176??0CRcovStrmAppendTrans@@QEAA@AEAVPRcovStorageObj@@@Z
177; public: __cdecl CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj & __ptr64,enum CRcovStrmMDTrans::MDOp,unsigned long) __ptr64
178??0CRcovStrmMDTrans@@QEAA@AEAVPRcovStorageObj@@W4MDOp@0@K@Z
179; protected: __cdecl CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj & __ptr64,enum RcovOpType) __ptr64
180??0CRcovStrmTrans@@IEAA@AEAVPRcovStorageObj@@W4RcovOpType@@@Z
181; public: __cdecl CRegAccess::CRegAccess(unsigned long,unsigned short const * __ptr64) __ptr64
182??0CRegAccess@@QEAA@KPEBG@Z
183; public: __cdecl CRegChangeEvent::CRegChangeEvent(unsigned short const * __ptr64,int) __ptr64
184??0CRegChangeEvent@@QEAA@PEBGH@Z
185; public: __cdecl CRegNotify::CRegNotify(unsigned short const * __ptr64) __ptr64
186??0CRegNotify@@QEAA@PEBG@Z
187; public: __cdecl CRequestClient::CRequestClient(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
188??0CRequestClient@@QEAA@PEBGPEAUIDBProperties@@@Z
189; public: __cdecl CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const & __ptr64) __ptr64
190??0CRequestQueue@@QEAA@IIIHIIAEBU_GUID@@@Z
191; public: __cdecl CScopeRestriction::CScopeRestriction(unsigned short const * __ptr64,int,int) __ptr64
192??0CScopeRestriction@@QEAA@PEBGHH@Z
193; public: __cdecl CSdidLookupTable::CSdidLookupTable(void) __ptr64
194??0CSdidLookupTable@@QEAA@XZ
195; public: __cdecl CSizeSerStream::CSizeSerStream(void) __ptr64
196??0CSizeSerStream@@QEAA@XZ
197; public: __cdecl CSort::CSort(unsigned int) __ptr64
198??0CSort@@QEAA@I@Z
199; public: __cdecl CSortSet::CSortSet(unsigned int) __ptr64
200??0CSortSet@@QEAA@I@Z
201; public: __cdecl CStandardPropMapper::CStandardPropMapper(void) __ptr64
202??0CStandardPropMapper@@QEAA@XZ
203; public: __cdecl CSvcQuery::CSvcQuery(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
204??0CSvcQuery@@QEAA@PEBGPEAUIDBProperties@@@Z
205; public: __cdecl CSynRestriction::CSynRestriction(class CKey const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
206??0CSynRestriction@@QEAA@AEBVCKey@@KKKH@Z
207; public: __cdecl CTimeLimit::CTimeLimit(unsigned long,unsigned long) __ptr64
208??0CTimeLimit@@QEAA@KK@Z
209; public: __cdecl CTransaction::CTransaction(void) __ptr64
210??0CTransaction@@QEAA@XZ
211; public: __cdecl CUnfilteredRestriction::CUnfilteredRestriction(void) __ptr64
212??0CUnfilteredRestriction@@QEAA@XZ
213; public: __cdecl CValueNormalizer::CValueNormalizer(class PKeyRepository & __ptr64) __ptr64
214??0CValueNormalizer@@QEAA@AEAVPKeyRepository@@@Z
215; public: __cdecl CVirtualString::CVirtualString(unsigned int) __ptr64
216??0CVirtualString@@QEAA@I@Z
217; public: __cdecl CWin32RegAccess::CWin32RegAccess(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
218??0CWin32RegAccess@@QEAA@PEAUHKEY__@@PEBG@Z
219; public: __cdecl CWordRestriction::CWordRestriction(class CKeyBuf const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
220??0CWordRestriction@@QEAA@AEBVCKeyBuf@@KKKH@Z
221; public: __cdecl CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType) __ptr64
222??0CWorkQueue@@QEAA@IW4WorkQueueType@0@@Z
223; public: __cdecl CiStorage::CiStorage(unsigned short const * __ptr64,struct ICiCAdviseStatus & __ptr64,unsigned long,unsigned long,int) __ptr64
224??0CiStorage@@QEAA@PEBGAEAUICiCAdviseStatus@@KKH@Z
225; public: __cdecl SStorageObject::SStorageObject(class PStorageObject * __ptr64) __ptr64
226??0SStorageObject@@QEAA@PEAVPStorageObject@@@Z
227; protected: __cdecl CAllocStorageVariant::~CAllocStorageVariant(void) __ptr64
228??1CAllocStorageVariant@@IEAA@XZ
229; public: __cdecl CCatState::~CCatState(void) __ptr64
230??1CCatState@@QEAA@XZ
231; public: __cdecl CCatalogAdmin::~CCatalogAdmin(void) __ptr64
232??1CCatalogAdmin@@QEAA@XZ
233; public: __cdecl CCatalogEnum::~CCatalogEnum(void) __ptr64
234??1CCatalogEnum@@QEAA@XZ
235; public: __cdecl CColumns::~CColumns(void) __ptr64
236??1CColumns@@QEAA@XZ
237; public: __cdecl CContentRestriction::~CContentRestriction(void) __ptr64
238??1CContentRestriction@@QEAA@XZ
239; public: __cdecl CDFA::~CDFA(void) __ptr64
240??1CDFA@@QEAA@XZ
241; public: __cdecl CDbCmdTreeNode::~CDbCmdTreeNode(void) __ptr64
242??1CDbCmdTreeNode@@QEAA@XZ
243; public: __cdecl CDbColumns::~CDbColumns(void) __ptr64
244??1CDbColumns@@QEAA@XZ
245; public: __cdecl CDbPropSet::~CDbPropSet(void) __ptr64
246??1CDbPropSet@@QEAA@XZ
247; public: __cdecl CDbQueryResults::~CDbQueryResults(void) __ptr64
248??1CDbQueryResults@@QEAA@XZ
249; public: __cdecl CDbSortSet::~CDbSortSet(void) __ptr64
250??1CDbSortSet@@QEAA@XZ
251; public: __cdecl CDynStream::~CDynStream(void) __ptr64
252??1CDynStream@@QEAA@XZ
253; public: __cdecl CEventItem::~CEventItem(void) __ptr64
254??1CEventItem@@QEAA@XZ
255; public: __cdecl CEventLog::~CEventLog(void) __ptr64
256??1CEventLog@@QEAA@XZ
257; public: __cdecl CFileMapView::~CFileMapView(void) __ptr64
258??1CFileMapView@@QEAA@XZ
259; public: __cdecl CFilterDaemon::~CFilterDaemon(void) __ptr64
260??1CFilterDaemon@@QEAA@XZ
261; public: virtual __cdecl CFwAsyncWorkItem::~CFwAsyncWorkItem(void) __ptr64
262??1CFwAsyncWorkItem@@UEAA@XZ
263; public: __cdecl CFwEventItem::~CFwEventItem(void) __ptr64
264??1CFwEventItem@@QEAA@XZ
265; public: virtual __cdecl CGenericCiProxy::~CGenericCiProxy(void) __ptr64
266??1CGenericCiProxy@@UEAA@XZ
267; public: __cdecl CImpersonateClient::~CImpersonateClient(void) __ptr64
268??1CImpersonateClient@@QEAA@XZ
269; public: __cdecl CImpersonateSystem::~CImpersonateSystem(void) __ptr64
270??1CImpersonateSystem@@QEAA@XZ
271; public: __cdecl CImpersonationTokenCache::~CImpersonationTokenCache(void) __ptr64
272??1CImpersonationTokenCache@@QEAA@XZ
273; public: __cdecl CInternalPropertyRestriction::~CInternalPropertyRestriction(void) __ptr64
274??1CInternalPropertyRestriction@@QEAA@XZ
275; public: __cdecl CKeyArray::~CKeyArray(void) __ptr64
276??1CKeyArray@@QEAA@XZ
277; public: __cdecl CLangList::~CLangList(void) __ptr64
278??1CLangList@@QEAA@XZ
279; public: __cdecl CMachineAdmin::~CMachineAdmin(void) __ptr64
280??1CMachineAdmin@@QEAA@XZ
281; public: virtual __cdecl CMemSerStream::~CMemSerStream(void) __ptr64
282??1CMemSerStream@@UEAA@XZ
283; public: __cdecl CMetaDataMgr::~CMetaDataMgr(void) __ptr64
284??1CMetaDataMgr@@QEAA@XZ
285; public: virtual __cdecl CMmStream::~CMmStream(void) __ptr64
286??1CMmStream@@UEAA@XZ
287; public: __cdecl CMmStreamConsecBuf::~CMmStreamConsecBuf(void) __ptr64
288??1CMmStreamConsecBuf@@QEAA@XZ
289; public: __cdecl CNatLanguageRestriction::~CNatLanguageRestriction(void) __ptr64
290??1CNatLanguageRestriction@@QEAA@XZ
291; public: __cdecl CNodeRestriction::~CNodeRestriction(void) __ptr64
292??1CNodeRestriction@@QEAA@XZ
293; public: __cdecl CNotRestriction::~CNotRestriction(void) __ptr64
294??1CNotRestriction@@QEAA@XZ
295; public: __cdecl COccRestriction::~COccRestriction(void) __ptr64
296??1COccRestriction@@QEAA@XZ
297; public: __cdecl CParseCommandTree::~CParseCommandTree(void) __ptr64
298??1CParseCommandTree@@QEAA@XZ
299; public: __cdecl CPerfMon::~CPerfMon(void) __ptr64
300??1CPerfMon@@QEAA@XZ
301; public: __cdecl CPhraseRestriction::~CPhraseRestriction(void) __ptr64
302??1CPhraseRestriction@@QEAA@XZ
303; public: virtual __cdecl CPhysStorage::~CPhysStorage(void) __ptr64
304??1CPhysStorage@@UEAA@XZ
305; public: __cdecl CPidLookupTable::~CPidLookupTable(void) __ptr64
306??1CPidLookupTable@@QEAA@XZ
307; public: __cdecl CPidRemapper::~CPidRemapper(void) __ptr64
308??1CPidRemapper@@QEAA@XZ
309; public: __cdecl CProcess::~CProcess(void) __ptr64
310??1CProcess@@QEAA@XZ
311; public: __cdecl CPropStoreManager::~CPropStoreManager(void) __ptr64
312??1CPropStoreManager@@QEAA@XZ
313; public: virtual __cdecl CPropertyList::~CPropertyList(void) __ptr64
314??1CPropertyList@@UEAA@XZ
315; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64
316??1CPropertyRestriction@@QEAA@XZ
317; public: __cdecl CPropertyStore::~CPropertyStore(void) __ptr64
318??1CPropertyStore@@QEAA@XZ
319; public: __cdecl CPropertyStoreWids::~CPropertyStoreWids(void) __ptr64
320??1CPropertyStoreWids@@QEAA@XZ
321; public: __cdecl CQueryUnknown::~CQueryUnknown(void) __ptr64
322??1CQueryUnknown@@QEAA@XZ
323; public: virtual __cdecl CRangeKeyRepository::~CRangeKeyRepository(void) __ptr64
324??1CRangeKeyRepository@@UEAA@XZ
325; public: __cdecl CRegChangeEvent::~CRegChangeEvent(void) __ptr64
326??1CRegChangeEvent@@QEAA@XZ
327; protected: virtual __cdecl CRegNotify::~CRegNotify(void) __ptr64
328??1CRegNotify@@MEAA@XZ
329; public: __cdecl CRestriction::~CRestriction(void) __ptr64
330??1CRestriction@@QEAA@XZ
331; public: __cdecl CScopeAdmin::~CScopeAdmin(void) __ptr64
332??1CScopeAdmin@@QEAA@XZ
333; public: __cdecl CScopeEnum::~CScopeEnum(void) __ptr64
334??1CScopeEnum@@QEAA@XZ
335; public: __cdecl CScopeRestriction::~CScopeRestriction(void) __ptr64
336??1CScopeRestriction@@QEAA@XZ
337; public: __cdecl CSdidLookupTable::~CSdidLookupTable(void) __ptr64
338??1CSdidLookupTable@@QEAA@XZ
339; public: virtual __cdecl CSizeSerStream::~CSizeSerStream(void) __ptr64
340??1CSizeSerStream@@UEAA@XZ
341; public: __cdecl CSort::~CSort(void) __ptr64
342??1CSort@@QEAA@XZ
343; public: __cdecl CSynRestriction::~CSynRestriction(void) __ptr64
344??1CSynRestriction@@QEAA@XZ
345; public: __cdecl CVirtualString::~CVirtualString(void) __ptr64
346??1CVirtualString@@QEAA@XZ
347; public: __cdecl CWin32RegAccess::~CWin32RegAccess(void) __ptr64
348??1CWin32RegAccess@@QEAA@XZ
349; public: __cdecl CWordRestriction::~CWordRestriction(void) __ptr64
350??1CWordRestriction@@QEAA@XZ
351; public: __cdecl CWorkManager::~CWorkManager(void) __ptr64
352??1CWorkManager@@QEAA@XZ
353; public: __cdecl CWorkQueue::~CWorkQueue(void) __ptr64
354??1CWorkQueue@@QEAA@XZ
355; public: __cdecl SStorageObject::~SStorageObject(void) __ptr64
356??1SStorageObject@@QEAA@XZ
357; public: class CDbColId & __ptr64 __cdecl CDbColId::operator=(class CDbColId const & __ptr64) __ptr64
358??4CDbColId@@QEAAAEAV0@AEBV0@@Z
359; public: int __cdecl CDbColId::operator==(class CDbColId const & __ptr64)const __ptr64
360??8CDbColId@@QEBAHAEBV0@@Z
361; public: void __cdecl CWorkManager::AbortWorkItems(void) __ptr64
362?AbortWorkItems@CWorkManager@@QEAAXXZ
363; public: void __cdecl CQueryScanner::Accept(void) __ptr64
364?Accept@CQueryScanner@@QEAAXXZ
365; public: void __cdecl CQueryScanner::AcceptCommand(void) __ptr64
366?AcceptCommand@CQueryScanner@@QEAAXXZ
367; public: void __cdecl CQueryScanner::AcceptWord(void) __ptr64
368?AcceptWord@CQueryScanner@@QEAAXXZ
369; public: int __cdecl CSdidLookupTable::AccessCheck(unsigned long,void * __ptr64,unsigned long,int & __ptr64) __ptr64
370?AccessCheck@CSdidLookupTable@@QEAAHKPEAXKAEAH@Z
371; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqLine(int) __ptr64
372?AcqLine@CQueryScanner@@QEAAPEAGH@Z
373; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPath(void) __ptr64
374?AcqPath@CQueryScanner@@QEAAPEAGXZ
375; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPhrase(void) __ptr64
376?AcqPhrase@CQueryScanner@@QEAAPEAGXZ
377; public: class CRangeRestriction * __ptr64 __cdecl CRangeKeyRepository::AcqRst(void) __ptr64
378?AcqRst@CRangeKeyRepository@@QEAAPEAVCRangeRestriction@@XZ
379; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqWord(void) __ptr64
380?AcqWord@CQueryScanner@@QEAAPEAGXZ
381; private: void __cdecl CPropertyStore::AcquireRead(class CReadWriteLockRecord & __ptr64) __ptr64
382?AcquireRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
383; public: int __cdecl CDbColumns::Add(class CDbColId const & __ptr64,unsigned int) __ptr64
384?Add@CDbColumns@@QEAAHAEBVCDbColId@@I@Z
385; public: void __cdecl CDbQueryResults::Add(unsigned short * __ptr64,unsigned long) __ptr64
386?Add@CDbQueryResults@@QEAAXPEAGK@Z
387; public: int __cdecl CDbSortSet::Add(class CDbColId const & __ptr64,unsigned long,unsigned int) __ptr64
388?Add@CDbSortSet@@QEAAHAEBVCDbColId@@KI@Z
389; public: int __cdecl CDbSortSet::Add(class CDbSortKey const & __ptr64,unsigned int) __ptr64
390?Add@CDbSortSet@@QEAAHAEBVCDbSortKey@@I@Z
391; public: int __cdecl CKeyArray::Add(int,class CKey const & __ptr64) __ptr64
392?Add@CKeyArray@@QEAAHHAEBVCKey@@@Z
393; public: int __cdecl CKeyArray::Add(int,class CKeyBuf const & __ptr64) __ptr64
394?Add@CKeyArray@@QEAAHHAEBVCKeyBuf@@@Z
395; public: void __cdecl CWorkQueue::Add(class PWorkItem * __ptr64) __ptr64
396?Add@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
397; public: void __cdecl CEventItem::AddArg(unsigned long) __ptr64
398?AddArg@CEventItem@@QEAAXK@Z
399; public: void __cdecl CEventItem::AddArg(unsigned short const * __ptr64) __ptr64
400?AddArg@CEventItem@@QEAAXPEBG@Z
401; public: void __cdecl CFwEventItem::AddArg(unsigned long) __ptr64
402?AddArg@CFwEventItem@@QEAAXK@Z
403; public: void __cdecl CFwEventItem::AddArg(unsigned short const * __ptr64) __ptr64
404?AddArg@CFwEventItem@@QEAAXPEBG@Z
405; public: void __cdecl CCatalogAdmin::AddCachedProperty(class CFullPropSpec const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
406?AddCachedProperty@CCatalogAdmin@@QEAAXAEBVCFullPropSpec@@KKKH@Z
407; public: void __cdecl CCatState::AddCatalog(class XPtrST<unsigned short> & __ptr64) __ptr64
408?AddCatalog@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
409; public: void __cdecl CMachineAdmin::AddCatalog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
410?AddCatalog@CMachineAdmin@@QEAAXPEBG0@Z
411; public: void __cdecl CNodeRestriction::AddChild(class CRestriction * __ptr64,unsigned int & __ptr64) __ptr64
412?AddChild@CNodeRestriction@@QEAAXPEAVCRestriction@@AEAI@Z
413; public: void __cdecl CCatState::AddDir(class XPtrST<unsigned short> & __ptr64) __ptr64
414?AddDir@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
415; public: virtual void __cdecl CPropertyList::AddEntry(class CPropEntry * __ptr64,int) __ptr64
416?AddEntry@CPropertyList@@UEAAXPEAVCPropEntry@@H@Z
417; public: void __cdecl CEventItem::AddError(unsigned long) __ptr64
418?AddError@CEventItem@@QEAAXK@Z
419; public: void __cdecl CSynRestriction::AddKey(class CKeyBuf const & __ptr64) __ptr64
420?AddKey@CSynRestriction@@QEAAXAEBVCKeyBuf@@@Z
421; public: void __cdecl CCatState::AddMachine(class XPtrST<unsigned short> & __ptr64) __ptr64
422?AddMachine@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
423; public: virtual unsigned long __cdecl CDbProperties::AddRef(void) __ptr64
424?AddRef@CDbProperties@@UEAAKXZ
425; public: virtual unsigned long __cdecl CEmptyPropertyList::AddRef(void) __ptr64
426?AddRef@CEmptyPropertyList@@UEAAKXZ
427; public: virtual unsigned long __cdecl CEnumString::AddRef(void) __ptr64
428?AddRef@CEnumString@@UEAAKXZ
429; public: virtual unsigned long __cdecl CEnumWorkid::AddRef(void) __ptr64
430?AddRef@CEnumWorkid@@UEAAKXZ
431; public: virtual unsigned long __cdecl CFwPropertyMapper::AddRef(void) __ptr64
432?AddRef@CFwPropertyMapper@@UEAAKXZ
433; public: virtual unsigned long __cdecl CQueryUnknown::AddRef(void) __ptr64
434?AddRef@CQueryUnknown@@UEAAKXZ
435; public: void __cdecl CWorkQueue::AddRefWorkThreads(void) __ptr64
436?AddRefWorkThreads@CWorkQueue@@QEAAXXZ
437; public: void __cdecl CCatalogAdmin::AddScope(unsigned short const * __ptr64,unsigned short const * __ptr64,int,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
438?AddScope@CCatalogAdmin@@QEAAXPEBG0H00@Z
439; public: int __cdecl CDbSortNode::AddSortColumn(struct tagDBID const & __ptr64,int,unsigned long) __ptr64
440?AddSortColumn@CDbSortNode@@QEAAHAEBUtagDBID@@HK@Z
441; public: int __cdecl CDbNestingNode::AddTable(class CDbCmdTreeNode * __ptr64) __ptr64
442?AddTable@CDbNestingNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
443; public: void __cdecl CWorkManager::AddToWorkList(class CFwAsyncWorkItem * __ptr64) __ptr64
444?AddToWorkList@CWorkManager@@QEAAXPEAVCFwAsyncWorkItem@@@Z
445; public: void __cdecl CFwAsyncWorkItem::AddToWorkQueue(void) __ptr64
446?AddToWorkQueue@CFwAsyncWorkItem@@QEAAXXZ
447; public: static unsigned short * __ptr64 __cdecl CDbCmdTreeNode::AllocAndCopyWString(unsigned short const * __ptr64)
448?AllocAndCopyWString@CDbCmdTreeNode@@SAPEAGPEBG@Z
449; unsigned short * __ptr64 __cdecl AllocHeapAndCopy(unsigned short const * __ptr64,unsigned long & __ptr64)
450?AllocHeapAndCopy@@YAPEAGPEBGAEAK@Z
451; unsigned short * __ptr64 __cdecl AllocHeapAndGetWString(class PDeSerStream & __ptr64)
452?AllocHeapAndGetWString@@YAPEAGAEAVPDeSerStream@@@Z
453; public: void __cdecl CEnumString::Append(unsigned short const * __ptr64) __ptr64
454?Append@CEnumString@@QEAAXPEBG@Z
455; public: void __cdecl CEnumWorkid::Append(unsigned long) __ptr64
456?Append@CEnumWorkid@@QEAAXK@Z
457; protected: void __cdecl CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode * __ptr64) __ptr64
458?AppendChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
459; protected: int __cdecl CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const & __ptr64) __ptr64
460?AppendListElement@CDbListAnchor@@IEAAHGAEBUtagDBID@@@Z
461; protected: int __cdecl CDbListAnchor::AppendListElement(class CDbCmdTreeNode * __ptr64) __ptr64
462?AppendListElement@CDbListAnchor@@IEAAHPEAVCDbCmdTreeNode@@@Z
463; public: int __cdecl CDbProjectListAnchor::AppendListElement(struct tagDBID const & __ptr64,unsigned short * __ptr64) __ptr64
464?AppendListElement@CDbProjectListAnchor@@QEAAHAEBUtagDBID@@PEAG@Z
465; public: unsigned __int64 __cdecl CPropStoreManager::BeginTransaction(void) __ptr64
466?BeginTransaction@CPropStoreManager@@QEAA_KXZ
467; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct _GUID const & __ptr64,struct IFilter * __ptr64 * __ptr64,int)
468?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@AEBU_GUID@@PEAPEAUIFilter@@H@Z
469; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct IFilter * __ptr64 * __ptr64,int)
470?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@PEAPEAUIFilter@@H@Z
471; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowBuffer(unsigned long,int,int) __ptr64
472?BorrowBuffer@CPhysStorage@@QEAAPEAKKHH@Z
473; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowNewBuffer(unsigned long) __ptr64
474?BorrowNewBuffer@CPhysStorage@@QEAAPEAKK@Z
475; void __cdecl BuildRegistryPropertiesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
476?BuildRegistryPropertiesKey@@YAXAEAV?$XArray@G@@PEBG@Z
477; void __cdecl BuildRegistryScopesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
478?BuildRegistryScopesKey@@YAXAEAV?$XArray@G@@PEBG@Z
479; void __cdecl CIShutdown(void)
480?CIShutdown@@YAXXZ
481; public: void __cdecl CCatState::ChangeCurrentCatalog(unsigned short const * __ptr64) __ptr64
482?ChangeCurrentCatalog@CCatState@@QEAAXPEBG@Z
483; public: void __cdecl CCatState::ChangeCurrentDepth(int) __ptr64
484?ChangeCurrentDepth@CCatState@@QEAAXH@Z
485; public: void __cdecl CCatState::ChangeCurrentMachine(unsigned short const * __ptr64) __ptr64
486?ChangeCurrentMachine@CCatState@@QEAAXPEBG@Z
487; public: void __cdecl CCatState::ChangeCurrentScope(unsigned short const * __ptr64) __ptr64
488?ChangeCurrentScope@CCatState@@QEAAXPEBG@Z
489; private: void __cdecl CPropStoreInfo::ChangeDirty(int) __ptr64
490?ChangeDirty@CPropStoreInfo@@AEAAXH@Z
491; public: long __cdecl CLocalGlobalPropertyList::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
492?CheckError@CLocalGlobalPropertyList@@QEAAJAEAKPEAPEAG@Z
493; public: long __cdecl CPropListFile::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
494?CheckError@CPropListFile@@QEAAJAEAKPEAPEAG@Z
495; public: static int __cdecl CiStorage::CheckHasIndexTable(unsigned short const * __ptr64)
496?CheckHasIndexTable@CiStorage@@SAHPEBG@Z
497CiCreateSecurityDescriptor
498; int __cdecl CiGetPassword(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64)
499?CiGetPassword@@YAHPEBG0PEAG@Z
500; void * __ptr64 __cdecl CiNtOpen(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
501?CiNtOpen@@YAPEAXPEBGKKK@Z
502; long __cdecl CiNtOpenNoThrow(void * __ptr64 & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
503?CiNtOpenNoThrow@@YAJAEAPEAXPEBGKKK@Z
504; public: void __cdecl CDbColId::Cleanup(void) __ptr64
505?Cleanup@CDbColId@@QEAAXXZ
506; protected: void __cdecl CDbCmdTreeNode::CleanupDataValue(void) __ptr64
507?CleanupDataValue@CDbCmdTreeNode@@IEAAXXZ
508; public: void __cdecl CCombinedPropertyList::ClearList(void) __ptr64
509?ClearList@CCombinedPropertyList@@QEAAXXZ
510; public: void __cdecl CPropertyList::ClearList(void) __ptr64
511?ClearList@CPropertyList@@QEAAXXZ
512; public: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::Clone(int)const __ptr64
513?Clone@CDbCmdTreeNode@@QEBAPEAV1@H@Z
514; public: virtual long __cdecl CEnumString::Clone(struct IEnumString * __ptr64 * __ptr64) __ptr64
515?Clone@CEnumString@@UEAAJPEAPEAUIEnumString@@@Z
516; public: class CNodeRestriction * __ptr64 __cdecl CNodeRestriction::Clone(void)const __ptr64
517?Clone@CNodeRestriction@@QEBAPEAV1@XZ
518; public: class COccRestriction * __ptr64 __cdecl COccRestriction::Clone(void)const __ptr64
519?Clone@COccRestriction@@QEBAPEAV1@XZ
520; public: class CRestriction * __ptr64 __cdecl CRestriction::Clone(void)const __ptr64
521?Clone@CRestriction@@QEBAPEAV1@XZ
522; public: void __cdecl CPhysStorage::Close(void) __ptr64
523?Close@CPhysStorage@@QEAAXXZ
524; protected: void __cdecl CPipeClient::Close(void) __ptr64
525?Close@CPipeClient@@IEAAXXZ
526; public: void __cdecl COLEPropManager::CPropSetMap::Close(void) __ptr64
527?Close@CPropSetMap@COLEPropManager@@QEAAXXZ
528; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecord * __ptr64) __ptr64
529?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecord@@@Z
530; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites * __ptr64) __ptr64
531?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecordForWrites@@@Z
532; public: void __cdecl CRcovStrmAppendTrans::Commit(void) __ptr64
533?Commit@CRcovStrmAppendTrans@@QEAAXXZ
534; public: void __cdecl CRcovStrmMDTrans::Commit(void) __ptr64
535?Commit@CRcovStrmMDTrans@@QEAAXXZ
536; public: void __cdecl CRcovStrmWriteTrans::Commit(void) __ptr64
537?Commit@CRcovStrmWriteTrans@@QEAAXXZ
538; public: static int __cdecl CDriveInfo::ContainsDrive(unsigned short const * __ptr64)
539?ContainsDrive@CDriveInfo@@SAHPEBG@Z
540; public: void __cdecl CMachineAdmin::CreateSubdirs(unsigned short const * __ptr64) __ptr64
541?CreateSubdirs@CMachineAdmin@@QEAAXPEBG@Z
542; public: void __cdecl CRequestClient::DataWriteRead(void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long & __ptr64) __ptr64
543?DataWriteRead@CRequestClient@@QEAAXPEAXK0KAEAK@Z
544; void __cdecl DecodeEscapes(unsigned short * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64)
545?DecodeEscapes@@YAXPEAGAEAK0@Z
546; void __cdecl DecodeHtmlNumeric(unsigned short * __ptr64)
547?DecodeHtmlNumeric@@YAXPEAG@Z
548; void __cdecl DecodeURLEscapes(unsigned char * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64,unsigned long)
549?DecodeURLEscapes@@YAXPEAEAEAKPEAGK@Z
550; public: void __cdecl CPropStoreManager::DeleteRecord(unsigned long) __ptr64
551?DeleteRecord@CPropStoreManager@@QEAAXK@Z
552; public: void __cdecl CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const * __ptr64) __ptr64
553?DeleteRegistryParamNoThrow@CCatalogAdmin@@QEAAXPEBG@Z
554; public: static unsigned int __cdecl CiStorage::DetermineDriveType(unsigned short const * __ptr64)
555?DetermineDriveType@CiStorage@@SAIPEBG@Z
556; public: int __cdecl CMachineAdmin::DisableCI(void) __ptr64
557?DisableCI@CMachineAdmin@@QEAAHXZ
558; public: void __cdecl CRegNotify::DisableNotification(void) __ptr64
559?DisableNotification@CRegNotify@@QEAAXXZ
560; public: void __cdecl CMetaDataMgr::DisableVPathNotify(void) __ptr64
561?DisableVPathNotify@CMetaDataMgr@@QEAAXXZ
562; public: void __cdecl CRequestClient::Disconnect(void) __ptr64
563?Disconnect@CRequestClient@@QEAAXXZ
564; public: long __cdecl CCopyRcovObject::DoIt(void) __ptr64
565?DoIt@CCopyRcovObject@@QEAAJXZ
566; public: long __cdecl CFilterDaemon::DoUpdates(void) __ptr64
567?DoUpdates@CFilterDaemon@@QEAAJXZ
568; public: void __cdecl CFwAsyncWorkItem::Done(void) __ptr64
569?Done@CFwAsyncWorkItem@@QEAAXXZ
570; long __cdecl DumpWorkId(unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
571?DumpWorkId@@YAJPEBGKPEAEAEAK00K@Z
572; public: void __cdecl CPidLookupTable::Empty(void) __ptr64
573?Empty@CPidLookupTable@@QEAAXXZ
574; public: void __cdecl CPropStoreManager::Empty(void) __ptr64
575?Empty@CPropStoreManager@@QEAAXXZ
576; public: void __cdecl CRcovStrmWriteTrans::Empty(void) __ptr64
577?Empty@CRcovStrmWriteTrans@@QEAAXXZ
578; public: void __cdecl CSdidLookupTable::Empty(void) __ptr64
579?Empty@CSdidLookupTable@@QEAAXXZ
580; public: int __cdecl CMachineAdmin::EnableCI(void) __ptr64
581?EnableCI@CMachineAdmin@@QEAAHXZ
582; public: void __cdecl CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack * __ptr64) __ptr64
583?EnableVPathNotify@CMetaDataMgr@@QEAAXPEAVCMetaDataVPathChangeCallBack@@@Z
584; public: void __cdecl CPropStoreManager::EndTransaction(unsigned __int64,int,unsigned long,unsigned long) __ptr64
585?EndTransaction@CPropStoreManager@@QEAAX_KHKK@Z
586; public: int __cdecl CWin32RegAccess::Enum(unsigned short * __ptr64,unsigned long) __ptr64
587?Enum@CWin32RegAccess@@QEAAHPEAGK@Z
588; public: virtual long __cdecl CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * __ptr64 * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
589?EnumPropInfo@CEmptyPropertyList@@UEAAJKPEAPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
590; public: void __cdecl CMetaDataMgr::EnumVPaths(class CMetaDataCallBack & __ptr64) __ptr64
591?EnumVPaths@CMetaDataMgr@@QEAAXAEAVCMetaDataCallBack@@@Z
592; public: void __cdecl CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack & __ptr64) __ptr64
593?EnumVServers@CMetaDataMgr@@QEAAXAEAVCMetaDataVirtualServerCallBack@@@Z
594; public: static void __cdecl CiStorage::EnumerateFilesInDir(unsigned short const * __ptr64,class CEnumString & __ptr64)
595?EnumerateFilesInDir@CiStorage@@SAXPEBGAEAVCEnumString@@@Z
596; public: int __cdecl CPidLookupTable::EnumerateProperty(class CFullPropSpec & __ptr64,unsigned int & __ptr64) __ptr64
597?EnumerateProperty@CPidLookupTable@@QEAAHAEAVCFullPropSpec@@AEAI@Z
598; public: void __cdecl CRegAccess::EnumerateValues(unsigned short * __ptr64,class CRegCallBack & __ptr64) __ptr64
599?EnumerateValues@CRegAccess@@QEAAXPEAGAEAVCRegCallBack@@@Z
600; public: int __cdecl CMmStreamConsecBuf::Eof(void) __ptr64
601?Eof@CMmStreamConsecBuf@@QEAAHXZ
602; public: int __cdecl CMetaDataMgr::ExtensionHasScriptMap(unsigned short const * __ptr64) __ptr64
603?ExtensionHasScriptMap@CMetaDataMgr@@QEAAHPEBG@Z
604; public: virtual long __cdecl CPidConverter::FPSToPROPID(class CFullPropSpec const & __ptr64,unsigned long & __ptr64) __ptr64
605?FPSToPROPID@CPidConverter@@UEAAJAEBVCFullPropSpec@@AEAK@Z
606; public: void __cdecl CPropStoreManager::FastInit(class CiStorage * __ptr64) __ptr64
607?FastInit@CPropStoreManager@@QEAAXPEAVCiStorage@@@Z
608; public: void __cdecl COLEPropManager::FetchProperty(struct _GUID const & __ptr64,struct tagPROPSPEC const & __ptr64,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
609?FetchProperty@COLEPropManager@@QEAAXAEBU_GUID@@AEBUtagPROPSPEC@@PEAUtagPROPVARIANT@@PEAI@Z
610; public: int __cdecl CKeyArray::FillMax(int) __ptr64
611?FillMax@CKeyArray@@QEAAHH@Z
612; public: class CPropEntry const * __ptr64 __cdecl CEmptyPropertyList::Find(class CDbColId const & __ptr64) __ptr64
613?Find@CEmptyPropertyList@@QEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
614; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(class CDbColId const & __ptr64) __ptr64
615?Find@CPropertyList@@UEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
616; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(unsigned short const * __ptr64) __ptr64
617?Find@CPropertyList@@UEAAPEBVCPropEntry@@PEBG@Z
618; public: int __cdecl CPidLookupTable::FindPropid(class CFullPropSpec const & __ptr64,unsigned long & __ptr64,int) __ptr64
619?FindPropid@CPidLookupTable@@QEAAHAEBVCFullPropSpec@@AEAKH@Z
620; public: void __cdecl CDynStream::Flush(void) __ptr64
621?Flush@CDynStream@@QEAAXXZ
622; public: void __cdecl CPhysStorage::Flush(int) __ptr64
623?Flush@CPhysStorage@@QEAAXH@Z
624; public: void __cdecl CPropStoreManager::Flush(void) __ptr64
625?Flush@CPropStoreManager@@QEAAXXZ
626; public: static void __cdecl CCiOle::FlushIdle(void)
627?FlushIdle@CCiOle@@SAXXZ
628; public: struct tagDBCOMMANDTREE * __ptr64 __cdecl CTextToTree::FormFullTree(void) __ptr64
629?FormFullTree@CTextToTree@@QEAAPEAUtagDBCOMMANDTREE@@XZ
630; class CDbCmdTreeNode * __ptr64 __cdecl FormQueryTree(class CDbCmdTreeNode & __ptr64,class CCatState & __ptr64,struct IColumnMapper * __ptr64,int,int)
631?FormQueryTree@@YAPEAVCDbCmdTreeNode@@AEAV1@AEAVCCatState@@PEAUIColumnMapper@@HH@Z
632FsCiShutdown
633; public: unsigned long __cdecl CRegAccess::Get(unsigned short const * __ptr64) __ptr64
634?Get@CRegAccess@@QEAAKPEBG@Z
635; public: void __cdecl CRegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int) __ptr64
636?Get@CRegAccess@@QEAAXPEBGPEAGI@Z
637; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
638?Get@CWin32RegAccess@@QEAAHPEBGAEAK@Z
639; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int,int) __ptr64
640?Get@CWin32RegAccess@@QEAAHPEBGPEAGIH@Z
641; public: virtual long __cdecl CPropertyList::GetAllEntries(class CPropEntry * __ptr64 * __ptr64,unsigned long) __ptr64
642?GetAllEntries@CPropertyList@@UEAAJPEAPEAVCPropEntry@@K@Z
643; public: short __cdecl CAllocStorageVariant::GetBOOL(unsigned int)const __ptr64
644?GetBOOL@CAllocStorageVariant@@QEBAFI@Z
645; public: unsigned long __cdecl CPropStoreManager::GetBackupSize(unsigned long) __ptr64
646?GetBackupSize@CPropStoreManager@@QEAAKK@Z
647; public: virtual void __cdecl CMemDeSerStream::GetBlob(unsigned char * __ptr64,unsigned long) __ptr64
648?GetBlob@CMemDeSerStream@@UEAAXPEAEK@Z
649; unsigned long __cdecl GetBrowserCodepage(class CWebServer & __ptr64,unsigned long)
650?GetBrowserCodepage@@YAKAEAVCWebServer@@K@Z
651; public: virtual unsigned char __cdecl CMemDeSerStream::GetByte(void) __ptr64
652?GetByte@CMemDeSerStream@@UEAAEXZ
653; public: unsigned short const * __ptr64 __cdecl CCatState::GetCD(void) __ptr64
654?GetCD@CCatState@@QEAAPEBGXZ
655; public: int __cdecl CWebServer::GetCGIVariable(char const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
656?GetCGIVariable@CWebServer@@QEAAHPEBDAEAV?$XArray@G@@AEAK@Z
657; public: int __cdecl CWebServer::GetCGIVariableW(unsigned short const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
658?GetCGIVariableW@CWebServer@@QEAAHPEBGAEAV?$XArray@G@@AEAK@Z
659; public: struct _GUID __cdecl CAllocStorageVariant::GetCLSID(unsigned int)const __ptr64
660?GetCLSID@CAllocStorageVariant@@QEBA?AU_GUID@@I@Z
661; public: union tagCY __cdecl CAllocStorageVariant::GetCY(unsigned int)const __ptr64
662?GetCY@CAllocStorageVariant@@QEBA?ATtagCY@@I@Z
663; public: unsigned short const * __ptr64 __cdecl CCatState::GetCategory(unsigned int)const __ptr64
664?GetCategory@CCatState@@QEBAPEBGI@Z
665; public: virtual void __cdecl CMemDeSerStream::GetChar(char * __ptr64,unsigned long) __ptr64
666?GetChar@CMemDeSerStream@@UEAAXPEADK@Z
667; public: unsigned short const * __ptr64 __cdecl CCatState::GetColumn(unsigned int)const __ptr64
668?GetColumn@CCatState@@QEBAPEBGI@Z
669; public: unsigned short __cdecl CQueryScanner::GetCommandChar(void) __ptr64
670?GetCommandChar@CQueryScanner@@QEAAGXZ
671; public: double __cdecl CAllocStorageVariant::GetDATE(unsigned int)const __ptr64
672?GetDATE@CAllocStorageVariant@@QEBANI@Z
673; public: int __cdecl CCatalogAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
674?GetDWORDParam@CCatalogAdmin@@QEAAHPEBGAEAK@Z
675; public: int __cdecl CMachineAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
676?GetDWORDParam@CMachineAdmin@@QEAAHPEBGAEAK@Z
677; public: void __cdecl CDriveInfo::GetDiskSpace(__int64 & __ptr64,__int64 & __ptr64) __ptr64
678?GetDiskSpace@CDriveInfo@@QEAAXAEA_J0@Z
679; public: virtual double __cdecl CMemDeSerStream::GetDouble(void) __ptr64
680?GetDouble@CMemDeSerStream@@UEAANXZ
681; public: static void __cdecl CDriveInfo::GetDrive(unsigned short const * __ptr64,unsigned short * __ptr64)
682?GetDrive@CDriveInfo@@SAXPEBGPEAG@Z
683; public: unsigned char * __ptr64 __cdecl CGenericCiProxy::GetEntryBuffer(unsigned long & __ptr64) __ptr64
684?GetEntryBuffer@CGenericCiProxy@@QEAAPEAEAEAK@Z
685; public: struct _FILETIME __cdecl CAllocStorageVariant::GetFILETIME(unsigned int)const __ptr64
686?GetFILETIME@CAllocStorageVariant@@QEBA?AU_FILETIME@@I@Z
687; public: int __cdecl CPathParser::GetFileName(unsigned short * __ptr64,unsigned long & __ptr64)const __ptr64
688?GetFileName@CPathParser@@QEBAHPEAGAEAK@Z
689; public: enum CDriveInfo::eFileSystem __cdecl CDriveInfo::GetFileSystem(int) __ptr64
690?GetFileSystem@CDriveInfo@@QEAA?AW4eFileSystem@1@H@Z
691; public: virtual float __cdecl CMemDeSerStream::GetFloat(void) __ptr64
692?GetFloat@CMemDeSerStream@@UEAAMXZ
693; public: virtual void __cdecl CMemDeSerStream::GetGUID(struct _GUID & __ptr64) __ptr64
694?GetGUID@CMemDeSerStream@@UEAAXAEAU_GUID@@@Z
695; class CPropListFile * __ptr64 __cdecl GetGlobalPropListFile(void)
696?GetGlobalPropListFile@@YAPEAVCPropListFile@@XZ
697; class CStaticPropertyList * __ptr64 __cdecl GetGlobalStaticPropertyList(void)
698?GetGlobalStaticPropertyList@@YAPEAVCStaticPropertyList@@XZ
699; public: short __cdecl CAllocStorageVariant::GetI2(unsigned int)const __ptr64
700?GetI2@CAllocStorageVariant@@QEBAFI@Z
701; public: long __cdecl CAllocStorageVariant::GetI4(unsigned int)const __ptr64
702?GetI4@CAllocStorageVariant@@QEBAJI@Z
703; public: union _LARGE_INTEGER __cdecl CAllocStorageVariant::GetI8(unsigned int)const __ptr64
704?GetI8@CAllocStorageVariant@@QEBA?AT_LARGE_INTEGER@@I@Z
705; unsigned long __cdecl GetLCIDFromString(unsigned short * __ptr64)
706?GetLCIDFromString@@YAKPEAG@Z
707; public: char * __ptr64 __cdecl CAllocStorageVariant::GetLPSTR(unsigned int)const __ptr64
708?GetLPSTR@CAllocStorageVariant@@QEBAPEADI@Z
709; public: unsigned short * __ptr64 __cdecl CAllocStorageVariant::GetLPWSTR(unsigned int)const __ptr64
710?GetLPWSTR@CAllocStorageVariant@@QEBAPEAGI@Z
711; public: unsigned short const * __ptr64 __cdecl CCatalogAdmin::GetLocation(void) __ptr64
712?GetLocation@CCatalogAdmin@@QEAAPEBGXZ
713; public: virtual long __cdecl CMemDeSerStream::GetLong(void) __ptr64
714?GetLong@CMemDeSerStream@@UEAAJXZ
715; public: int __cdecl CQueryScanner::GetNumber(unsigned long & __ptr64,int & __ptr64) __ptr64
716?GetNumber@CQueryScanner@@QEAAHAEAKAEAH@Z
717; public: int __cdecl CQueryScanner::GetNumber(double & __ptr64) __ptr64
718?GetNumber@CQueryScanner@@QEAAHAEAN@Z
719; public: int __cdecl CQueryScanner::GetNumber(__int64 & __ptr64,int & __ptr64) __ptr64
720?GetNumber@CQueryScanner@@QEAAHAEA_JAEAH@Z
721; public: int __cdecl CQueryScanner::GetNumber(unsigned __int64 & __ptr64,int & __ptr64) __ptr64
722?GetNumber@CQueryScanner@@QEAAHAEA_KAEAH@Z
723; public: void __cdecl CKeyDeComp::GetOffset(struct BitOffset & __ptr64) __ptr64
724?GetOffset@CKeyDeComp@@QEAAXAEAUBitOffset@@@Z
725; long __cdecl GetOleDBErrorInfo(struct IUnknown * __ptr64,struct _GUID const & __ptr64,unsigned long,unsigned int,struct tagERRORINFO * __ptr64,struct IErrorInfo * __ptr64 * __ptr64)
726?GetOleDBErrorInfo@@YAJPEAUIUnknown@@AEBU_GUID@@KIPEAUtagERRORINFO@@PEAPEAUIErrorInfo@@@Z
727; long __cdecl GetOleError(class CException & __ptr64)
728?GetOleError@@YAJAEAVCException@@@Z
729; public: unsigned long __cdecl CWebServer::GetPhysicalPath(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
730?GetPhysicalPath@CWebServer@@QEAAKPEBGPEAGKK@Z
731; public: int __cdecl CEmptyPropertyList::GetPropInfo(class CDbColId const & __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
732?GetPropInfo@CEmptyPropertyList@@QEAAHAEBVCDbColId@@PEAPEBGPEAGPEAI@Z
733; public: int __cdecl CEmptyPropertyList::GetPropInfo(unsigned short const * __ptr64,class CDbColId * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
734?GetPropInfo@CEmptyPropertyList@@QEAAHPEBGPEAPEAVCDbColId@@PEAGPEAI@Z
735; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
736?GetPropInfoFromId@CEmptyPropertyList@@UEAAJPEBUtagDBID@@PEAPEAGPEAGPEAI@Z
737; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromName(unsigned short const * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
738?GetPropInfoFromName@CEmptyPropertyList@@UEAAJPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
739; public: static unsigned short __cdecl CEmptyPropertyList::GetPropType(unsigned int)
740?GetPropType@CEmptyPropertyList@@SAGI@Z
741; public: static unsigned int __cdecl CEmptyPropertyList::GetPropTypeCount(void)
742?GetPropTypeCount@CEmptyPropertyList@@SAIXZ
743; public: static unsigned short const * __ptr64 __cdecl CEmptyPropertyList::GetPropTypeName(unsigned int)
744?GetPropTypeName@CEmptyPropertyList@@SAPEBGI@Z
745; public: virtual long __cdecl CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
746?GetProperties@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
747; public: void __cdecl CGetDbProps::GetProperties(struct IDBProperties * __ptr64,unsigned long) __ptr64
748?GetProperties@CGetDbProps@@QEAAXPEAUIDBProperties@@K@Z
749; public: virtual long __cdecl CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
750?GetPropertyInfo@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z
751; public: float __cdecl CAllocStorageVariant::GetR4(unsigned int)const __ptr64
752?GetR4@CAllocStorageVariant@@QEBAMI@Z
753; public: double __cdecl CAllocStorageVariant::GetR8(unsigned int)const __ptr64
754?GetR8@CAllocStorageVariant@@QEBANI@Z
755; public: int __cdecl CMachineAdmin::GetSZParam(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
756?GetSZParam@CMachineAdmin@@QEAAHPEBGPEAGK@Z
757; long __cdecl GetScodeError(class CException & __ptr64)
758?GetScodeError@@YAJAEAVCException@@@Z
759; int __cdecl GetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
760?GetSecret@@YAHPEBG0PEAPEAGPEAK@Z
761; public: unsigned long __cdecl CDriveInfo::GetSectorSize(void) __ptr64
762?GetSectorSize@CDriveInfo@@QEAAKXZ
763; public: void __cdecl CCatState::GetSortProp(unsigned int,unsigned short const * __ptr64 * __ptr64,enum SORTDIR * __ptr64)const __ptr64
764?GetSortProp@CCatState@@QEBAXIPEAPEBGPEAW4SORTDIR@@@Z
765; void __cdecl GetStackTrace(char * __ptr64,unsigned long)
766?GetStackTrace@@YAXPEADK@Z
767; public: unsigned char const * __ptr64 __cdecl CGenericCiProxy::GetStartupData(struct _GUID & __ptr64,unsigned long & __ptr64) __ptr64
768?GetStartupData@CGenericCiProxy@@QEAAPEBEAEAU_GUID@@AEAK@Z
769; public: class PStorage & __ptr64 __cdecl CPropStoreManager::GetStorage(unsigned long) __ptr64
770?GetStorage@CPropStoreManager@@QEAAAEAVPStorage@@K@Z
771; public: unsigned short * __ptr64 __cdecl CKey::GetStr(void)const __ptr64
772?GetStr@CKey@@QEBAPEAGXZ
773; public: unsigned short * __ptr64 __cdecl CKeyBuf::GetStr(void)const __ptr64
774?GetStr@CKeyBuf@@QEBAPEAGXZ
775; public: virtual char * __ptr64 __cdecl CMemDeSerStream::GetString(void) __ptr64
776?GetString@CMemDeSerStream@@UEAAPEADXZ
777; class CDbRestriction * __ptr64 __cdecl GetStringDbRestriction(unsigned short const * __ptr64,unsigned long,struct IColumnMapper * __ptr64,unsigned long)
778?GetStringDbRestriction@@YAPEAVCDbRestriction@@PEBGKPEAUIColumnMapper@@K@Z
779; void __cdecl GetStringFromLCID(unsigned long,unsigned short * __ptr64)
780?GetStringFromLCID@@YAXKPEAG@Z
781; public: unsigned long __cdecl CPropStoreManager::GetTotalSizeInKB(void) __ptr64
782?GetTotalSizeInKB@CPropStoreManager@@QEAAKXZ
783; public: unsigned long __cdecl CPropertyStore::GetTotalSizeInKB(void) __ptr64
784?GetTotalSizeInKB@CPropertyStore@@QEAAKXZ
785; public: virtual unsigned long __cdecl CMemDeSerStream::GetULong(void) __ptr64
786?GetULong@CMemDeSerStream@@UEAAKXZ
787; public: virtual unsigned short __cdecl CMemDeSerStream::GetUShort(void) __ptr64
788?GetUShort@CMemDeSerStream@@UEAAGXZ
789; public: void __cdecl CIndexTable::GetUserHdrInfo(unsigned int & __ptr64,int & __ptr64) __ptr64
790?GetUserHdrInfo@CIndexTable@@QEAAXAEAIAEAH@Z
791; public: unsigned long __cdecl CMetaDataMgr::GetVPathAccess(unsigned short const * __ptr64) __ptr64
792?GetVPathAccess@CMetaDataMgr@@QEAAKPEBG@Z
793; public: unsigned long __cdecl CMetaDataMgr::GetVPathAuthorization(unsigned short const * __ptr64) __ptr64
794?GetVPathAuthorization@CMetaDataMgr@@QEAAKPEBG@Z
795; public: unsigned long __cdecl CMetaDataMgr::GetVPathSSLAccess(unsigned short const * __ptr64) __ptr64
796?GetVPathSSLAccess@CMetaDataMgr@@QEAAKPEBG@Z
797; public: unsigned short const * __ptr64 __cdecl CDriveInfo::GetVolumeName(int) __ptr64
798?GetVolumeName@CDriveInfo@@QEAAPEBGH@Z
799; public: virtual void __cdecl CMemDeSerStream::GetWChar(unsigned short * __ptr64,unsigned long) __ptr64
800?GetWChar@CMemDeSerStream@@UEAAXPEAGK@Z
801; public: virtual unsigned short * __ptr64 __cdecl CMemDeSerStream::GetWString(void) __ptr64
802?GetWString@CMemDeSerStream@@UEAAPEAGXZ
803; public: long __cdecl CDbCmdTreeNode::GetWeight(void)const __ptr64
804?GetWeight@CDbCmdTreeNode@@QEBAJXZ
805; public: void __cdecl CDynStream::Grow(class PStorage & __ptr64,unsigned long) __ptr64
806?Grow@CDynStream@@QEAAXAEAVPStorage@@K@Z
807; private: void __cdecl CVirtualString::GrowBuffer(unsigned long) __ptr64
808?GrowBuffer@CVirtualString@@AEAAXK@Z
809; void __cdecl HTMLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long)
810?HTMLEscapeW@@YAXPEBGAEAVCVirtualString@@K@Z
811; private: void __cdecl CImpersonateClient::Impersonate(void) __ptr64
812?Impersonate@CImpersonateClient@@AEAAXXZ
813; public: void __cdecl CFileMapView::Init(void) __ptr64
814?Init@CFileMapView@@QEAAXXZ
815; public: void __cdecl CMmStreamConsecBuf::Init(class PMmStream * __ptr64) __ptr64
816?Init@CMmStreamConsecBuf@@QEAAXPEAVPMmStream@@@Z
817; public: int __cdecl CPidLookupTable::Init(class PRcovStorageObj * __ptr64) __ptr64
818?Init@CPidLookupTable@@QEAAHPEAVPRcovStorageObj@@@Z
819; public: void __cdecl CRcovStorageHdr::Init(unsigned long) __ptr64
820?Init@CRcovStorageHdr@@QEAAXK@Z
821; public: void __cdecl CRegChangeEvent::Init(void) __ptr64
822?Init@CRegChangeEvent@@QEAAXXZ
823; public: int __cdecl CSdidLookupTable::Init(class CiStorage * __ptr64) __ptr64
824?Init@CSdidLookupTable@@QEAAHPEAVCiStorage@@@Z
825; public: virtual void __cdecl CPropertyList::InitIterator(void) __ptr64
826?InitIterator@CPropertyList@@UEAAXXZ
827; public: void __cdecl CImpersonationTokenCache::Initialize(unsigned short const * __ptr64,int,int,int,unsigned long,unsigned long,unsigned long) __ptr64
828?Initialize@CImpersonationTokenCache@@QEAAXPEBGHHHKKK@Z
829; public: void __cdecl CDynStream::InitializeForRead(void) __ptr64
830?InitializeForRead@CDynStream@@QEAAXXZ
831; public: void __cdecl CDynStream::InitializeForWrite(unsigned long) __ptr64
832?InitializeForWrite@CDynStream@@QEAAXK@Z
833; protected: void __cdecl CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode * __ptr64) __ptr64
834?InsertChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
835; public: int __cdecl CMachineAdmin::IsCIEnabled(void) __ptr64
836?IsCIEnabled@CMachineAdmin@@QEAAHXZ
837; public: int __cdecl CMachineAdmin::IsCIPaused(void) __ptr64
838?IsCIPaused@CMachineAdmin@@QEAAHXZ
839; public: int __cdecl CMachineAdmin::IsCIStarted(void) __ptr64
840?IsCIStarted@CMachineAdmin@@QEAAHXZ
841; public: int __cdecl CMachineAdmin::IsCIStopped(void) __ptr64
842?IsCIStopped@CMachineAdmin@@QEAAHXZ
843; public: int __cdecl CCatalogAdmin::IsCatalogInactive(void) __ptr64
844?IsCatalogInactive@CCatalogAdmin@@QEAAHXZ
845; int __cdecl IsDirectoryWritable(unsigned short const * __ptr64)
846?IsDirectoryWritable@@YAHPEBG@Z
847; public: static int __cdecl CMetaDataMgr::IsIISAdminUp(int & __ptr64)
848?IsIISAdminUp@CMetaDataMgr@@SAHAEAH@Z
849; public: static int __cdecl CImpersonateSystem::IsImpersonated(void)
850?IsImpersonated@CImpersonateSystem@@SAHXZ
851; public: int __cdecl CRestriction::IsLeaf(void)const __ptr64
852?IsLeaf@CRestriction@@QEBAHXZ
853; int __cdecl IsNullPointerVariant(struct tagPROPVARIANT * __ptr64)
854?IsNullPointerVariant@@YAHPEAUtagPROPVARIANT@@@Z
855; public: int __cdecl CCatalogAdmin::IsPaused(void) __ptr64
856?IsPaused@CCatalogAdmin@@QEAAHXZ
857; public: static int __cdecl CImpersonateSystem::IsRunningAsSystem(void)
858?IsRunningAsSystem@CImpersonateSystem@@SAHXZ
859; public: int __cdecl CDriveInfo::IsSameDrive(unsigned short const * __ptr64) __ptr64
860?IsSameDrive@CDriveInfo@@QEAAHPEBG@Z
861; long __cdecl IsScopeValid(unsigned short const * __ptr64,unsigned int,int)
862?IsScopeValid@@YAJPEBGIH@Z
863; public: int __cdecl CCatalogAdmin::IsStarted(void) __ptr64
864?IsStarted@CCatalogAdmin@@QEAAHXZ
865; public: int __cdecl CCatalogAdmin::IsStopped(void) __ptr64
866?IsStopped@CCatalogAdmin@@QEAAHXZ
867; public: int __cdecl CAllocStorageVariant::IsValid(void)const __ptr64
868?IsValid@CAllocStorageVariant@@QEBAHXZ
869; public: int __cdecl CNodeRestriction::IsValid(void)const __ptr64
870?IsValid@CNodeRestriction@@QEBAHXZ
871; public: int __cdecl COccRestriction::IsValid(void)const __ptr64
872?IsValid@COccRestriction@@QEBAHXZ
873; public: int __cdecl CRestriction::IsValid(void)const __ptr64
874?IsValid@CRestriction@@QEBAHXZ
875; public: int __cdecl CFilterDaemon::IsWaitingForDocument(void) __ptr64
876?IsWaitingForDocument@CFilterDaemon@@QEAAHXZ
877; public: int __cdecl CDriveInfo::IsWriteProtected(void) __ptr64
878?IsWriteProtected@CDriveInfo@@QEAAHXZ
879; public: void __cdecl CLocalGlobalPropertyList::Load(unsigned short const * __ptr64 const) __ptr64
880?Load@CLocalGlobalPropertyList@@QEAAXQEBG@Z
881; unsigned long __cdecl LocaleToCodepage(unsigned long)
882?LocaleToCodepage@@YAKK@Z
883; private: unsigned long __cdecl CPropertyStore::LokNewWorkId(unsigned long,int,int) __ptr64
884?LokNewWorkId@CPropertyStore@@AEAAKKHH@Z
885; public: int __cdecl CCatStateInfo::LokUpdate(void) __ptr64
886?LokUpdate@CCatStateInfo@@QEAAHXZ
887; public: void __cdecl CPropStoreManager::LongInit(int & __ptr64,unsigned long & __ptr64,void (__cdecl*)(unsigned long,int,void const * __ptr64),void const * __ptr64) __ptr64
888?LongInit@CPropStoreManager@@QEAAXAEAHAEAKP6AXKHPEBX@Z2@Z
889; private: unsigned int __cdecl CPropStoreInfo::Lookup(unsigned long) __ptr64
890?Lookup@CPropStoreInfo@@AEAAIK@Z
891; public: unsigned long __cdecl CSdidLookupTable::LookupSDID(void * __ptr64,unsigned long) __ptr64
892?LookupSDID@CSdidLookupTable@@QEAAKPEAXK@Z
893; public: void __cdecl CPhysStorage::MakeBackupCopy(class CPhysStorage & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
894?MakeBackupCopy@CPhysStorage@@QEAAXAEAV1@AEAVPSaveProgressTracker@@@Z
895; public: void __cdecl CPidLookupTable::MakeBackupCopy(class PRcovStorageObj & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
896?MakeBackupCopy@CPidLookupTable@@QEAAXAEAVPRcovStorageObj@@AEAVPSaveProgressTracker@@@Z
897; public: void __cdecl CPropStoreManager::MakeBackupCopy(struct IProgressNotify * __ptr64,int & __ptr64,class CiStorage & __ptr64,struct ICiEnumWorkids * __ptr64,struct IEnumString * __ptr64 * __ptr64) __ptr64
898?MakeBackupCopy@CPropStoreManager@@QEAAXPEAUIProgressNotify@@AEAHAEAVCiStorage@@PEAUICiEnumWorkids@@PEAPEAUIEnumString@@@Z
899; long __cdecl MakeICommand(struct IUnknown * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
900?MakeICommand@@YAJPEAPEAUIUnknown@@PEBG1PEAU1@@Z
901; long __cdecl MakeISearch(struct ISearchQueryHits * __ptr64 * __ptr64,class CDbRestriction * __ptr64,unsigned short const * __ptr64)
902?MakeISearch@@YAJPEAPEAUISearchQueryHits@@PEAVCDbRestriction@@PEBG@Z
903; long __cdecl MakeLocalICommand(struct IUnknown * __ptr64 * __ptr64,struct ICiCDocStore * __ptr64,struct IUnknown * __ptr64)
904?MakeLocalICommand@@YAJPEAPEAUIUnknown@@PEAUICiCDocStore@@PEAU1@@Z
905; long __cdecl MakeMetadataICommand(struct IUnknown * __ptr64 * __ptr64,enum CiMetaData,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
906?MakeMetadataICommand@@YAJPEAPEAUIUnknown@@W4CiMetaData@@PEBG2PEAU1@@Z
907; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64) __ptr64
908?MakePath@CFullPath@@QEAAXPEBG@Z
909; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64,unsigned int) __ptr64
910?MakePath@CFullPath@@QEAAXPEBGI@Z
911; private: void __cdecl CImpersonateSystem::MakePrivileged(void) __ptr64
912?MakePrivileged@CImpersonateSystem@@AEAAXXZ
913; public: void __cdecl CMmStreamConsecBuf::Map(unsigned long) __ptr64
914?Map@CMmStreamConsecBuf@@QEAAXK@Z
915; public: int __cdecl CDynStream::MarkDirty(void) __ptr64
916?MarkDirty@CDynStream@@QEAAHXZ
917; public: void __cdecl CBaseStorageVariant::Marshall(class PSerStream & __ptr64)const __ptr64
918?Marshall@CBaseStorageVariant@@QEBAXAEAVPSerStream@@@Z
919; public: void __cdecl CContentRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
920?Marshall@CContentRestriction@@QEBAXAEAVPSerStream@@@Z
921; public: void __cdecl CDbCmdTreeNode::Marshall(class PSerStream & __ptr64)const __ptr64
922?Marshall@CDbCmdTreeNode@@QEBAXAEAVPSerStream@@@Z
923; public: void __cdecl CFullPropSpec::Marshall(class PSerStream & __ptr64)const __ptr64
924?Marshall@CFullPropSpec@@QEBAXAEAVPSerStream@@@Z
925; public: void __cdecl CNatLanguageRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
926?Marshall@CNatLanguageRestriction@@QEBAXAEAVPSerStream@@@Z
927; public: void __cdecl CNodeRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
928?Marshall@CNodeRestriction@@QEBAXAEAVPSerStream@@@Z
929; public: void __cdecl CNotRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
930?Marshall@CNotRestriction@@QEBAXAEAVPSerStream@@@Z
931; public: void __cdecl CPropNameArray::Marshall(class PSerStream & __ptr64)const __ptr64
932?Marshall@CPropNameArray@@QEBAXAEAVPSerStream@@@Z
933; public: void __cdecl CPropertyRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
934?Marshall@CPropertyRestriction@@QEBAXAEAVPSerStream@@@Z
935; public: void __cdecl CRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
936?Marshall@CRestriction@@QEBAXAEAVPSerStream@@@Z
937; public: void __cdecl CVectorRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
938?Marshall@CVectorRestriction@@QEBAXAEAVPSerStream@@@Z
939; public: int __cdecl CBufferCache::MinPageInUse(unsigned long & __ptr64) __ptr64
940?MinPageInUse@CBufferCache@@QEAAHAEAK@Z
941; public: int __cdecl CPhysStorage::MinPageInUse(unsigned long & __ptr64) __ptr64
942?MinPageInUse@CPhysStorage@@QEAAHAEAK@Z
943; unsigned long __cdecl MultiByteToXArrayWideChar(unsigned char const * __ptr64,unsigned long,unsigned int,class XArray<unsigned short> & __ptr64)
944?MultiByteToXArrayWideChar@@YAKPEBEKIAEAV?$XArray@G@@@Z
945; unsigned __int64 __cdecl My_wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
946?My_wcstoui64@@YA_KPEBGPEAPEAGH@Z
947; public: unsigned long __cdecl CPidRemapper::NameToReal(class CFullPropSpec const * __ptr64) __ptr64
948?NameToReal@CPidRemapper@@QEAAKPEBVCFullPropSpec@@@Z
949; public: static struct IStemmer * __ptr64 __cdecl CCiOle::NewStemmer(struct _GUID const & __ptr64)
950?NewStemmer@CCiOle@@SAPEAUIStemmer@@AEBU_GUID@@@Z
951; public: static struct IWordBreaker * __ptr64 __cdecl CCiOle::NewWordBreaker(struct _GUID const & __ptr64)
952?NewWordBreaker@CCiOle@@SAPEAUIWordBreaker@@AEBU_GUID@@@Z
953; public: int __cdecl CCatalogEnum::Next(void) __ptr64
954?Next@CCatalogEnum@@QEAAHXZ
955; public: virtual long __cdecl CEnumString::Next(unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
956?Next@CEnumString@@UEAAJKPEAPEAGPEAK@Z
957; public: virtual long __cdecl CEnumWorkid::Next(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
958?Next@CEnumWorkid@@UEAAJKPEAK0@Z
959; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Next(void) __ptr64
960?Next@CPropertyList@@UEAAPEBVCPropEntry@@XZ
961; public: int __cdecl CScopeEnum::Next(void) __ptr64
962?Next@CScopeEnum@@QEAAHXZ
963; public: unsigned long __cdecl CPropertyStoreWids::NextWorkId(void) __ptr64
964?NextWorkId@CPropertyStoreWids@@QEAAKXZ
965; public: unsigned int __cdecl CCatState::NumberOfColumns(void)const __ptr64
966?NumberOfColumns@CCatState@@QEBAIXZ
967; public: unsigned int __cdecl CCatState::NumberOfSortProps(void)const __ptr64
968?NumberOfSortProps@CCatState@@QEBAIXZ
969; public: void __cdecl CMmStream::Open(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
970?Open@CMmStream@@QEAAXPEBGKKKKH@Z
971; public: int __cdecl COLEPropManager::Open(class CFunnyPath const & __ptr64) __ptr64
972?Open@COLEPropManager@@QEAAHAEBVCFunnyPath@@@Z
973; public: void __cdecl CMmStream::OpenExclusive(unsigned short * __ptr64,int) __ptr64
974?OpenExclusive@CMmStream@@QEAAXPEAGH@Z
975; struct _iobuf * __ptr64 __cdecl OpenFileFromPath(unsigned short const * __ptr64)
976?OpenFileFromPath@@YAPEAU_iobuf@@PEBG@Z
977; public: class CCompositePropRecord * __ptr64 __cdecl CPropStoreManager::OpenRecord(unsigned long,unsigned char * __ptr64) __ptr64
978?OpenRecord@CPropStoreManager@@QEAAPEAVCCompositePropRecord@@KPEAE@Z
979; public: class CCompositePropRecordForWrites * __ptr64 __cdecl CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char * __ptr64) __ptr64
980?OpenRecordForWrites@CPropStoreManager@@QEAAPEAVCCompositePropRecordForWrites@@KPEAE@Z
981; long __cdecl ParseCatalogURL(unsigned short const * __ptr64,class XPtrST<unsigned short> & __ptr64,class XPtrST<unsigned short> & __ptr64)
982?ParseCatalogURL@@YAJPEBGAEAV?$XPtrST@G@@1@Z
983; public: class CRestriction * __ptr64 __cdecl CParseCommandTree::ParseExpression(class CDbCmdTreeNode * __ptr64) __ptr64
984?ParseExpression@CParseCommandTree@@QEAAPEAVCRestriction@@PEAVCDbCmdTreeNode@@@Z
985; public: static void __cdecl CPropertyList::ParseOneLine(class CQueryScanner & __ptr64,int,class XPtr<class CPropEntry> & __ptr64)
986?ParseOneLine@CPropertyList@@SAXAEAVCQueryScanner@@HAEAV?$XPtr@VCPropEntry@@@@@Z
987; public: class CDbRestriction * __ptr64 __cdecl CQueryParser::ParseQueryPhrase(void) __ptr64
988?ParseQueryPhrase@CQueryParser@@QEAAPEAVCDbRestriction@@XZ
989; class CDbColumns * __ptr64 __cdecl ParseStringColumns(unsigned short const * __ptr64,struct IColumnMapper * __ptr64,unsigned long,class PVariableSet * __ptr64,class CDynArray<unsigned short> * __ptr64)
990?ParseStringColumns@@YAPEAVCDbColumns@@PEBGPEAUIColumnMapper@@KPEAVPVariableSet@@PEAV?$CDynArray@G@@@Z
991; public: int __cdecl CCatalogAdmin::Pause(void) __ptr64
992?Pause@CCatalogAdmin@@QEAAHXZ
993; public: int __cdecl CMachineAdmin::PauseCI(void) __ptr64
994?PauseCI@CMachineAdmin@@QEAAHXZ
995; public: virtual unsigned long __cdecl CMemDeSerStream::PeekULong(void) __ptr64
996?PeekULong@CMemDeSerStream@@UEAAKXZ
997; public: unsigned long __cdecl CPidMapper::PidToRealPid(unsigned long) __ptr64
998?PidToRealPid@CPidMapper@@QEAAKK@Z
999; public: unsigned long __cdecl CStandardPropMapper::PropertyToPropId(class CFullPropSpec const & __ptr64,int) __ptr64
1000?PropertyToPropId@CStandardPropMapper@@QEAAKAEBVCFullPropSpec@@H@Z
1001; public: virtual long __cdecl CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const * __ptr64,int,unsigned long * __ptr64) __ptr64
1002?PropertyToPropid@CFwPropertyMapper@@UEAAJPEBUtagFULLPROPSPEC@@HPEAK@Z
1003; public: void __cdecl CValueNormalizer::PutMaxValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
1004?PutMaxValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
1005; public: void __cdecl CValueNormalizer::PutMinValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
1006?PutMinValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
1007; public: void __cdecl CValueNormalizer::PutValue(unsigned long,unsigned long & __ptr64,class CStorageVariant const & __ptr64) __ptr64
1008?PutValue@CValueNormalizer@@QEAAXKAEAKAEBVCStorageVariant@@@Z
1009; void __cdecl PutWString(class PSerStream & __ptr64,unsigned short const * __ptr64)
1010?PutWString@@YAXAEAVPSerStream@@PEBG@Z
1011; private: class CDbRestriction * __ptr64 __cdecl CQueryParser::Query(class CDbNodeRestriction * __ptr64) __ptr64
1012?Query@CQueryParser@@AEAAPEAVCDbRestriction@@PEAVCDbNodeRestriction@@@Z
1013; public: class CCatalogAdmin * __ptr64 __cdecl CCatalogEnum::QueryCatalogAdmin(void) __ptr64
1014?QueryCatalogAdmin@CCatalogEnum@@QEAAPEAVCCatalogAdmin@@XZ
1015; public: class CCatalogAdmin * __ptr64 __cdecl CMachineAdmin::QueryCatalogAdmin(unsigned short const * __ptr64) __ptr64
1016?QueryCatalogAdmin@CMachineAdmin@@QEAAPEAVCCatalogAdmin@@PEBG@Z
1017; public: class CCatalogEnum * __ptr64 __cdecl CMachineAdmin::QueryCatalogEnum(void) __ptr64
1018?QueryCatalogEnum@CMachineAdmin@@QEAAPEAVCCatalogEnum@@XZ
1019; public: virtual long __cdecl CDbProperties::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
1020?QueryInterface@CDbProperties@@UEAAJAEBU_GUID@@PEAPEAX@Z
1021; public: virtual long __cdecl CEmptyPropertyList::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
1022?QueryInterface@CEmptyPropertyList@@UEAAJAEBU_GUID@@PEAPEAX@Z
1023; public: virtual long __cdecl CEnumString::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
1024?QueryInterface@CEnumString@@UEAAJAEBU_GUID@@PEAPEAX@Z
1025; public: virtual long __cdecl CEnumWorkid::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
1026?QueryInterface@CEnumWorkid@@UEAAJAEBU_GUID@@PEAPEAX@Z
1027; public: virtual long __cdecl CFwPropertyMapper::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
1028?QueryInterface@CFwPropertyMapper@@UEAAJAEBU_GUID@@PEAPEAX@Z
1029; public: virtual long __cdecl CQueryUnknown::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
1030?QueryInterface@CQueryUnknown@@UEAAJAEBU_GUID@@PEAPEAX@Z
1031; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryPidLookupTable(unsigned long) __ptr64
1032?QueryPidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
1033; public: class CScopeAdmin * __ptr64 __cdecl CCatalogAdmin::QueryScopeAdmin(unsigned short const * __ptr64) __ptr64
1034?QueryScopeAdmin@CCatalogAdmin@@QEAAPEAVCScopeAdmin@@PEBG@Z
1035; public: class CScopeAdmin * __ptr64 __cdecl CScopeEnum::QueryScopeAdmin(void) __ptr64
1036?QueryScopeAdmin@CScopeEnum@@QEAAPEAVCScopeAdmin@@XZ
1037; public: class CScopeEnum * __ptr64 __cdecl CCatalogAdmin::QueryScopeEnum(void) __ptr64
1038?QueryScopeEnum@CCatalogAdmin@@QEAAPEAVCScopeEnum@@XZ
1039; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryScopeList(unsigned long) __ptr64
1040?QueryScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
1041; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QuerySdidLookupTable(unsigned long) __ptr64
1042?QuerySdidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
1043; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryVirtualScopeList(unsigned long) __ptr64
1044?QueryVirtualScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
1045; public: void __cdecl CPidRemapper::ReBuild(class CPidMapper const & __ptr64) __ptr64
1046?ReBuild@CPidRemapper@@QEAAXAEBVCPidMapper@@@Z
1047; public: void __cdecl CQueryUnknown::ReInit(unsigned long,class CRowset * __ptr64 * __ptr64) __ptr64
1048?ReInit@CQueryUnknown@@QEAAXKPEAPEAVCRowset@@@Z
1049; public: void __cdecl CImpersonationTokenCache::ReInitializeIISScopes(void) __ptr64
1050?ReInitializeIISScopes@CImpersonationTokenCache@@QEAAXXZ
1051; private: virtual void __cdecl CPhysIndex::ReOpenStream(void) __ptr64
1052?ReOpenStream@CPhysIndex@@EEAAXXZ
1053; public: unsigned long __cdecl CDynStream::Read(void * __ptr64,unsigned long) __ptr64
1054?Read@CDynStream@@QEAAKPEAXK@Z
1055; public: unsigned long __cdecl CRcovStrmTrans::Read(void * __ptr64,unsigned long) __ptr64
1056?Read@CRcovStrmTrans@@QEAAKPEAXK@Z
1057; public: unsigned long __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned long) __ptr64
1058?Read@CRegAccess@@QEAAKPEBGK@Z
1059; public: unsigned short * __ptr64 __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
1060?Read@CRegAccess@@QEAAPEAGPEBG0@Z
1061; public: int __cdecl CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
1062?ReadPrimaryProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
1063; public: int __cdecl COLEPropManager::ReadProperty(class CFullPropSpec const & __ptr64,struct tagPROPVARIANT & __ptr64) __ptr64
1064?ReadProperty@COLEPropManager@@QEAAHAEBVCFullPropSpec@@AEAUtagPROPVARIANT@@@Z
1065; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
1066?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@@Z
1067; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
1068?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@PEAEPEAI@Z
1069; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
1070?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KPEAUtagPROPVARIANT@@PEAI@Z
1071; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
1072?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
1073; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
1074?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@PEAEPEAI@Z
1075; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
1076?ReadProperty@CPropStoreManager@@QEAAHKKPEAUtagPROPVARIANT@@PEAI@Z
1077; public: int __cdecl CPropertyStore::ReadProperty(class CPropRecordNoLock & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
1078?ReadProperty@CPropertyStore@@QEAAHAEAVCPropRecordNoLock@@KPEAUtagPROPVARIANT@@PEAI@Z
1079; public: int __cdecl CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
1080?ReadProperty@CPropertyStore@@QEAAHKKAEAUtagPROPVARIANT@@@Z
1081; public: unsigned char __cdecl CDFA::Recognize(unsigned short const * __ptr64) __ptr64
1082?Recognize@CDFA@@QEAAEPEBG@Z
1083; public: void __cdecl CCiRegParams::Refresh(struct ICiAdminParams * __ptr64,int) __ptr64
1084?Refresh@CCiRegParams@@QEAAXPEAUICiAdminParams@@H@Z
1085; public: void __cdecl CDefColumnRegEntry::Refresh(int) __ptr64
1086?Refresh@CDefColumnRegEntry@@QEAAXH@Z
1087; public: void __cdecl CWorkQueue::RefreshParams(unsigned long,unsigned long) __ptr64
1088?RefreshParams@CWorkQueue@@QEAAXKK@Z
1089; public: virtual unsigned long __cdecl CDbProperties::Release(void) __ptr64
1090?Release@CDbProperties@@UEAAKXZ
1091; public: virtual unsigned long __cdecl CEmptyPropertyList::Release(void) __ptr64
1092?Release@CEmptyPropertyList@@UEAAKXZ
1093; public: virtual unsigned long __cdecl CEnumString::Release(void) __ptr64
1094?Release@CEnumString@@UEAAKXZ
1095; public: virtual unsigned long __cdecl CEnumWorkid::Release(void) __ptr64
1096?Release@CEnumWorkid@@UEAAKXZ
1097; public: virtual unsigned long __cdecl CFwPropertyMapper::Release(void) __ptr64
1098?Release@CFwPropertyMapper@@UEAAKXZ
1099; public: void __cdecl CImpersonateRemoteAccess::Release(void) __ptr64
1100?Release@CImpersonateRemoteAccess@@QEAAXXZ
1101; public: virtual unsigned long __cdecl CQueryUnknown::Release(void) __ptr64
1102?Release@CQueryUnknown@@UEAAKXZ
1103; public: void __cdecl CWorkQueue::Release(class CWorkThread * __ptr64) __ptr64
1104?Release@CWorkQueue@@QEAAXPEAVCWorkThread@@@Z
1105; private: void __cdecl CPropertyStore::ReleaseRead(class CReadWriteLockRecord & __ptr64) __ptr64
1106?ReleaseRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
1107; public: void __cdecl CWorkQueue::ReleaseWorkThreads(void) __ptr64
1108?ReleaseWorkThreads@CWorkQueue@@QEAAXXZ
1109; public: void __cdecl CColumns::Remove(unsigned int) __ptr64
1110?Remove@CColumns@@QEAAXI@Z
1111; public: void __cdecl CDbSortSet::Remove(unsigned int) __ptr64
1112?Remove@CDbSortSet@@QEAAXI@Z
1113; public: void __cdecl CSort::Remove(unsigned int) __ptr64
1114?Remove@CSort@@QEAAXI@Z
1115; private: void __cdecl CWorkQueue::Remove(class CWorkThread & __ptr64) __ptr64
1116?Remove@CWorkQueue@@AEAAXAEAVCWorkThread@@@Z
1117; public: void __cdecl CWorkQueue::Remove(class PWorkItem * __ptr64) __ptr64
1118?Remove@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
1119; public: void __cdecl CMachineAdmin::RemoveCatalog(unsigned short const * __ptr64,int) __ptr64
1120?RemoveCatalog@CMachineAdmin@@QEAAXPEBGH@Z
1121; public: void __cdecl CMachineAdmin::RemoveCatalogFiles(unsigned short const * __ptr64) __ptr64
1122?RemoveCatalogFiles@CMachineAdmin@@QEAAXPEBG@Z
1123; public: class CRestriction * __ptr64 __cdecl CNodeRestriction::RemoveChild(unsigned int) __ptr64
1124?RemoveChild@CNodeRestriction@@QEAAPEAVCRestriction@@I@Z
1125; protected: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::RemoveFirstChild(void) __ptr64
1126?RemoveFirstChild@CDbCmdTreeNode@@IEAAPEAV1@XZ
1127; public: void __cdecl CCatalogAdmin::RemoveScope(unsigned short const * __ptr64) __ptr64
1128?RemoveScope@CCatalogAdmin@@QEAAXPEBG@Z
1129; public: void __cdecl CPhysStorage::Reopen(int) __ptr64
1130?Reopen@CPhysStorage@@QEAAXH@Z
1131; public: void __cdecl CEventLog::ReportEventW(class CEventItem & __ptr64) __ptr64
1132?ReportEventW@CEventLog@@QEAAXAEAVCEventItem@@@Z
1133; public: void __cdecl CFwEventItem::ReportEventW(struct ICiCAdviseStatus & __ptr64) __ptr64
1134?ReportEventW@CFwEventItem@@QEAAXAEAUICiCAdviseStatus@@@Z
1135; public: int __cdecl CPhysStorage::RequiresFlush(unsigned long) __ptr64
1136?RequiresFlush@CPhysStorage@@QEAAHK@Z
1137; public: void __cdecl CRegChangeEvent::Reset(void) __ptr64
1138?Reset@CRegChangeEvent@@QEAAXXZ
1139; public: void __cdecl CQueryScanner::ResetBuffer(unsigned short const * __ptr64) __ptr64
1140?ResetBuffer@CQueryScanner@@QEAAXPEBG@Z
1141; protected: void __cdecl CAllocStorageVariant::ResetType(class PMemoryAllocator & __ptr64) __ptr64
1142?ResetType@CAllocStorageVariant@@IEAAXAEAVPMemoryAllocator@@@Z
1143; public: void __cdecl CProcess::Resume(void) __ptr64
1144?Resume@CProcess@@QEAAXXZ
1145; public: void __cdecl CPhysStorage::ReturnBuffer(unsigned long,int,int) __ptr64
1146?ReturnBuffer@CPhysStorage@@QEAAXKHH@Z
1147; public: void __cdecl CMmStreamConsecBuf::Rewind(void) __ptr64
1148?Rewind@CMmStreamConsecBuf@@QEAAXXZ
1149; unsigned long __cdecl SaComputeSize(unsigned short,struct tagSAFEARRAY & __ptr64)
1150?SaComputeSize@@YAKGAEAUtagSAFEARRAY@@@Z
1151; int __cdecl SaCreateAndCopy(class PMemoryAllocator & __ptr64,struct tagSAFEARRAY * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64)
1152?SaCreateAndCopy@@YAHAEAVPMemoryAllocator@@PEAUtagSAFEARRAY@@PEAPEAU2@@Z
1153; int __cdecl SaCreateData(class PVarAllocator & __ptr64,unsigned short,struct tagSAFEARRAY & __ptr64,struct tagSAFEARRAY & __ptr64,int)
1154?SaCreateData@@YAHAEAVPVarAllocator@@GAEAUtagSAFEARRAY@@1H@Z
1155; public: int __cdecl CRcovStrmTrans::Seek(unsigned long) __ptr64
1156?Seek@CRcovStrmTrans@@QEAAHK@Z
1157; public: void __cdecl CDbQueryResults::Serialize(class PSerStream & __ptr64)const __ptr64
1158?Serialize@CDbQueryResults@@QEBAXAEAVPSerStream@@@Z
1159; public: void __cdecl CPidRemapper::Set(class XArray<unsigned long> & __ptr64) __ptr64
1160?Set@CPidRemapper@@QEAAXAEAV?$XArray@K@@@Z
1161; public: void __cdecl CScopeAdmin::SetAlias(unsigned short const * __ptr64) __ptr64
1162?SetAlias@CScopeAdmin@@QEAAXPEBG@Z
1163; public: void __cdecl CStorageVariant::SetBOOL(short,unsigned int) __ptr64
1164?SetBOOL@CStorageVariant@@QEAAXFI@Z
1165; public: void __cdecl CAllocStorageVariant::SetBSTR(unsigned short * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
1166?SetBSTR@CAllocStorageVariant@@QEAAXPEAGAEAVPMemoryAllocator@@@Z
1167; public: void __cdecl CStorageVariant::SetBSTR(unsigned short * __ptr64,unsigned int) __ptr64
1168?SetBSTR@CStorageVariant@@QEAAXPEAGI@Z
1169; public: void __cdecl CPropStoreManager::SetBackupSize(unsigned long,unsigned long) __ptr64
1170?SetBackupSize@CPropStoreManager@@QEAAXKK@Z
1171; public: void __cdecl CCatState::SetCD(unsigned short const * __ptr64) __ptr64
1172?SetCD@CCatState@@QEAAXPEBG@Z
1173; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID const * __ptr64) __ptr64
1174?SetCLSID@CStorageVariant@@QEAAXPEBU_GUID@@@Z
1175; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID,unsigned int) __ptr64
1176?SetCLSID@CStorageVariant@@QEAAXU_GUID@@I@Z
1177; public: void __cdecl CStorageVariant::SetCY(union tagCY,unsigned int) __ptr64
1178?SetCY@CStorageVariant@@QEAAXTtagCY@@I@Z
1179; public: void __cdecl CCatState::SetCatalog(unsigned short const * __ptr64) __ptr64
1180?SetCatalog@CCatState@@QEAAXPEBG@Z
1181; public: void __cdecl CCatState::SetColumn(unsigned short const * __ptr64,unsigned int) __ptr64
1182?SetColumn@CCatState@@QEAAXPEBGI@Z
1183; private: void __cdecl CQueryParser::SetCurrentProperty(unsigned short const * __ptr64,enum PropertyType) __ptr64
1184?SetCurrentProperty@CQueryParser@@AEAAXPEBGW4PropertyType@@@Z
1185; public: void __cdecl CStorageVariant::SetDATE(double,unsigned int) __ptr64
1186?SetDATE@CStorageVariant@@QEAAXNI@Z
1187; public: void __cdecl CCatalogAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
1188?SetDWORDParam@CCatalogAdmin@@QEAAXPEBGK@Z
1189; public: void __cdecl CMachineAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
1190?SetDWORDParam@CMachineAdmin@@QEAAXPEBGK@Z
1191; public: void __cdecl CCatState::SetDefaultProperty(unsigned short const * __ptr64) __ptr64
1192?SetDefaultProperty@CCatState@@QEAAXPEBG@Z
1193; public: void __cdecl CScopeAdmin::SetExclude(int) __ptr64
1194?SetExclude@CScopeAdmin@@QEAAXH@Z
1195; public: void __cdecl CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int) __ptr64
1196?SetFILETIME@CStorageVariant@@QEAAXU_FILETIME@@I@Z
1197; public: void __cdecl CStorageVariant::SetI2(short,unsigned int) __ptr64
1198?SetI2@CStorageVariant@@QEAAXFI@Z
1199; public: void __cdecl CStorageVariant::SetI4(long,unsigned int) __ptr64
1200?SetI4@CStorageVariant@@QEAAXJI@Z
1201; public: void __cdecl CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int) __ptr64
1202?SetI8@CStorageVariant@@QEAAXT_LARGE_INTEGER@@I@Z
1203; public: void __cdecl CStorageVariant::SetLPSTR(char const * __ptr64,unsigned int) __ptr64
1204?SetLPSTR@CStorageVariant@@QEAAXPEBDI@Z
1205; public: void __cdecl CStorageVariant::SetLPWSTR(unsigned short const * __ptr64,unsigned int) __ptr64
1206?SetLPWSTR@CStorageVariant@@QEAAXPEBGI@Z
1207; public: void __cdecl CCatState::SetLocale(unsigned short const * __ptr64) __ptr64
1208?SetLocale@CCatState@@QEAAXPEBG@Z
1209; public: void __cdecl CScopeAdmin::SetLogonInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,class CCatalogAdmin & __ptr64) __ptr64
1210?SetLogonInfo@CScopeAdmin@@QEAAXPEBG0AEAVCCatalogAdmin@@@Z
1211; public: void __cdecl CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long) __ptr64
1212?SetMappedCacheSize@CPropStoreManager@@QEAAXKK@Z
1213; public: void __cdecl CCatState::SetNumberOfColumns(unsigned int) __ptr64
1214?SetNumberOfColumns@CCatState@@QEAAXI@Z
1215; public: void __cdecl CCatState::SetNumberOfSortProps(unsigned int) __ptr64
1216?SetNumberOfSortProps@CCatState@@QEAAXI@Z
1217; public: void __cdecl CScopeAdmin::SetPath(unsigned short const * __ptr64) __ptr64
1218?SetPath@CScopeAdmin@@QEAAXPEBG@Z
1219; public: void __cdecl CContentRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
1220?SetPhrase@CContentRestriction@@QEAAXPEBG@Z
1221; public: void __cdecl CNatLanguageRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
1222?SetPhrase@CNatLanguageRestriction@@QEAAXPEBG@Z
1223; public: void __cdecl CGenericCiProxy::SetPriority(unsigned long,unsigned long) __ptr64
1224?SetPriority@CGenericCiProxy@@QEAAXKK@Z
1225; public: virtual long __cdecl CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * __ptr64 const) __ptr64
1226?SetProperties@CDbProperties@@UEAAJKQEAUtagDBPROPSET@@@Z
1227; public: int __cdecl CDbColId::SetProperty(unsigned short const * __ptr64) __ptr64
1228?SetProperty@CDbColId@@QEAAHPEBG@Z
1229; public: int __cdecl CDbPropBaseRestriction::SetProperty(struct tagDBID const & __ptr64) __ptr64
1230?SetProperty@CDbPropBaseRestriction@@QEAAHAEBUtagDBID@@@Z
1231; public: int __cdecl CDbPropBaseRestriction::SetProperty(class CDbColumnNode const & __ptr64) __ptr64
1232?SetProperty@CDbPropBaseRestriction@@QEAAHAEBVCDbColumnNode@@@Z
1233; public: int __cdecl CFullPropSpec::SetProperty(unsigned short const * __ptr64) __ptr64
1234?SetProperty@CFullPropSpec@@QEAAHPEBG@Z
1235; public: void __cdecl CFullPropSpec::SetProperty(unsigned long) __ptr64
1236?SetProperty@CFullPropSpec@@QEAAXK@Z
1237; public: void __cdecl CStorageVariant::SetR4(float,unsigned int) __ptr64
1238?SetR4@CStorageVariant@@QEAAXMI@Z
1239; public: void __cdecl CStorageVariant::SetR8(double,unsigned int) __ptr64
1240?SetR8@CStorageVariant@@QEAAXNI@Z
1241; public: int __cdecl CDbSelectNode::SetRestriction(class CDbCmdTreeNode * __ptr64) __ptr64
1242?SetRestriction@CDbSelectNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
1243; public: static void __cdecl CImpersonateSystem::SetRunningAsSystem(void)
1244?SetRunningAsSystem@CImpersonateSystem@@SAXXZ
1245; public: void __cdecl CMachineAdmin::SetSZParam(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
1246?SetSZParam@CMachineAdmin@@QEAAXPEBG0K@Z
1247; void __cdecl SetScopeProperties(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
1248?SetScopeProperties@@YAXPEAUICommand@@IPEBQEBGPEBK11@Z
1249; long __cdecl SetScopePropertiesNoThrow(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
1250?SetScopePropertiesNoThrow@@YAJPEAUICommand@@IPEBQEBGPEBK11@Z
1251; void __cdecl SetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
1252?SetSecret@@YAXPEBG00K@Z
1253; public: void __cdecl CCatState::SetSortProp(unsigned short const * __ptr64,enum SORTDIR,unsigned int) __ptr64
1254?SetSortProp@CCatState@@QEAAXPEBGW4SORTDIR@@I@Z
1255; public: void __cdecl CStorageVariant::SetUI1(unsigned char,unsigned int) __ptr64
1256?SetUI1@CStorageVariant@@QEAAXEI@Z
1257; public: void __cdecl CStorageVariant::SetUI2(unsigned short,unsigned int) __ptr64
1258?SetUI2@CStorageVariant@@QEAAXGI@Z
1259; public: void __cdecl CStorageVariant::SetUI4(unsigned long,unsigned int) __ptr64
1260?SetUI4@CStorageVariant@@QEAAXKI@Z
1261; public: void __cdecl CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int) __ptr64
1262?SetUI8@CStorageVariant@@QEAAXT_ULARGE_INTEGER@@I@Z
1263; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64
1264?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z
1265; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64
1266?SetValue@CPropertyRestriction@@QEAAXPEAG@Z
1267; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64
1268?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z
1269; public: void __cdecl CDbCmdTreeNode::SetWeight(long) __ptr64
1270?SetWeight@CDbCmdTreeNode@@QEAAXJ@Z
1271; public: void __cdecl CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned __int64,int,unsigned long) __ptr64
1272?Setup@CPropStoreManager@@QEAAXKKK_KHK@Z
1273; public: void __cdecl CDynStream::Shrink(class PStorage & __ptr64,unsigned long) __ptr64
1274?Shrink@CDynStream@@QEAAXAEAVPStorage@@K@Z
1275; public: unsigned long __cdecl CPhysStorage::ShrinkFromFront(unsigned long,unsigned long) __ptr64
1276?ShrinkFromFront@CPhysStorage@@QEAAKKK@Z
1277; public: void __cdecl CPhysStorage::ShrinkToFit(void) __ptr64
1278?ShrinkToFit@CPhysStorage@@QEAAXXZ
1279; public: static void __cdecl CCiOle::Shutdown(void)
1280?Shutdown@CCiOle@@SAXXZ
1281; public: void __cdecl CPropStoreManager::Shutdown(void) __ptr64
1282?Shutdown@CPropStoreManager@@QEAAXXZ
1283; public: void __cdecl CWorkQueue::Shutdown(void) __ptr64
1284?Shutdown@CWorkQueue@@QEAAXXZ
1285; public: unsigned long __cdecl CDbQueryResults::Size(void) __ptr64
1286?Size@CDbQueryResults@@QEAAKXZ
1287; public: virtual long __cdecl CEnumString::Skip(unsigned long) __ptr64
1288?Skip@CEnumString@@UEAAJK@Z
1289; public: virtual long __cdecl CEnumWorkid::Skip(unsigned long) __ptr64
1290?Skip@CEnumWorkid@@UEAAJK@Z
1291; public: virtual void __cdecl CMemDeSerStream::SkipBlob(unsigned long) __ptr64
1292?SkipBlob@CMemDeSerStream@@UEAAXK@Z
1293; public: virtual void __cdecl CMemDeSerStream::SkipByte(void) __ptr64
1294?SkipByte@CMemDeSerStream@@UEAAXXZ
1295; public: virtual void __cdecl CMemDeSerStream::SkipChar(unsigned long) __ptr64
1296?SkipChar@CMemDeSerStream@@UEAAXK@Z
1297; public: virtual void __cdecl CMemDeSerStream::SkipDouble(void) __ptr64
1298?SkipDouble@CMemDeSerStream@@UEAAXXZ
1299; public: virtual void __cdecl CMemDeSerStream::SkipFloat(void) __ptr64
1300?SkipFloat@CMemDeSerStream@@UEAAXXZ
1301; public: virtual void __cdecl CMemDeSerStream::SkipGUID(void) __ptr64
1302?SkipGUID@CMemDeSerStream@@UEAAXXZ
1303; public: virtual void __cdecl CMemDeSerStream::SkipLong(void) __ptr64
1304?SkipLong@CMemDeSerStream@@UEAAXXZ
1305; public: virtual void __cdecl CMemDeSerStream::SkipULong(void) __ptr64
1306?SkipULong@CMemDeSerStream@@UEAAXXZ
1307; public: virtual void __cdecl CMemDeSerStream::SkipUShort(void) __ptr64
1308?SkipUShort@CMemDeSerStream@@UEAAXXZ
1309; public: virtual void __cdecl CMemDeSerStream::SkipWChar(unsigned long) __ptr64
1310?SkipWChar@CMemDeSerStream@@UEAAXK@Z
1311; public: int __cdecl CCatalogAdmin::Start(void) __ptr64
1312?Start@CCatalogAdmin@@QEAAHXZ
1313; public: int __cdecl CMachineAdmin::StartCI(void) __ptr64
1314?StartCI@CMachineAdmin@@QEAAHXZ
1315; public: int __cdecl CCatalogAdmin::Stop(void) __ptr64
1316?Stop@CCatalogAdmin@@QEAAHXZ
1317; public: int __cdecl CMachineAdmin::StopCI(void) __ptr64
1318?StopCI@CMachineAdmin@@QEAAHXZ
1319; public: void __cdecl CFilterDaemon::StopFiltering(void) __ptr64
1320?StopFiltering@CFilterDaemon@@QEAAXXZ
1321; public: unsigned int __cdecl CKey::StrLen(void)const __ptr64
1322?StrLen@CKey@@QEBAIXZ
1323; public: unsigned int __cdecl CKeyBuf::StrLen(void)const __ptr64
1324?StrLen@CKeyBuf@@QEBAIXZ
1325; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
1326?SystemExceptionTranslator@@YAXIPEAU_EXCEPTION_POINTERS@@@Z
1327; public: unsigned long __cdecl CRestriction::TreeCount(void)const __ptr64
1328?TreeCount@CRestriction@@QEBAKXZ
1329; public: void __cdecl CMachineAdmin::TunePerformance(int,unsigned short,unsigned short) __ptr64
1330?TunePerformance@CMachineAdmin@@QEAAXHGG@Z
1331; void __cdecl URLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long,int)
1332?URLEscapeW@@YAXPEBGAEAVCVirtualString@@KH@Z
1333; public: int __cdecl CDbProperties::UnMarshall(class PDeSerStream & __ptr64) __ptr64
1334?UnMarshall@CDbProperties@@QEAAHAEAVPDeSerStream@@@Z
1335; public: static class CRestriction * __ptr64 __cdecl CRestriction::UnMarshall(class PDeSerStream & __ptr64)
1336?UnMarshall@CRestriction@@SAPEAV1@AEAVPDeSerStream@@@Z
1337; public: static class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::UnMarshallTree(class PDeSerStream & __ptr64)
1338?UnMarshallTree@CDbCmdTreeNode@@SAPEAV1@AEAVPDeSerStream@@@Z
1339; void __cdecl UnPickle(int,class XPtr<class CColumnSet> & __ptr64,class XPtr<class CRestriction> & __ptr64,class XPtr<class CSortSet> & __ptr64,class XPtr<class CCategorizationSet> & __ptr64,class CRowsetProperties & __ptr64,class XPtr<class CPidMapper> & __ptr64,unsigned char * __ptr64,unsigned long)
1340?UnPickle@@YAXHAEAV?$XPtr@VCColumnSet@@@@AEAV?$XPtr@VCRestriction@@@@AEAV?$XPtr@VCSortSet@@@@AEAV?$XPtr@VCCategorizationSet@@@@AEAVCRowsetProperties@@AEAV?$XPtr@VCPidMapper@@@@PEAEK@Z
1341; protected: void __cdecl CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum) __ptr64
1342?Unmap@CRcovStrmTrans@@IEAAXW4DataCopyNum@CRcovStorageHdr@@@Z
1343; unsigned long __cdecl UpdateContentIndex(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int)
1344?UpdateContentIndex@@YAKPEBG00H@Z
1345; public: void __cdecl CDiskFreeStatus::UpdateDiskLowInfo(void) __ptr64
1346?UpdateDiskLowInfo@CDiskFreeStatus@@QEAAXXZ
1347; int __cdecl VT_VARIANT_EQ(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
1348?VT_VARIANT_EQ@@YAHAEBUtagPROPVARIANT@@0@Z
1349; int __cdecl VT_VARIANT_GE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
1350?VT_VARIANT_GE@@YAHAEBUtagPROPVARIANT@@0@Z
1351; int __cdecl VT_VARIANT_GT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
1352?VT_VARIANT_GT@@YAHAEBUtagPROPVARIANT@@0@Z
1353; int __cdecl VT_VARIANT_LE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
1354?VT_VARIANT_LE@@YAHAEBUtagPROPVARIANT@@0@Z
1355; int __cdecl VT_VARIANT_LT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
1356?VT_VARIANT_LT@@YAHAEBUtagPROPVARIANT@@0@Z
1357; int __cdecl VT_VARIANT_NE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
1358?VT_VARIANT_NE@@YAHAEBUtagPROPVARIANT@@0@Z
1359; int __cdecl ValidateScopeRestriction(class CRestriction * __ptr64)
1360?ValidateScopeRestriction@@YAHPEAVCRestriction@@@Z
1361; public: void __cdecl PRcovStorageObj::VerifyConsistency(void) __ptr64
1362?VerifyConsistency@PRcovStorageObj@@QEAAXXZ
1363; void __cdecl VerifyThreadHasAdminPrivilege(void)
1364?VerifyThreadHasAdminPrivilege@@YAXXZ
1365; unsigned long __cdecl WideCharToXArrayMultiByte(unsigned short const * __ptr64,unsigned long,unsigned int,class XArray<unsigned char> & __ptr64)
1366?WideCharToXArrayMultiByte@@YAKPEBGKIAEAV?$XArray@E@@@Z
1367; public: void __cdecl CDynStream::Write(void * __ptr64,unsigned long) __ptr64
1368?Write@CDynStream@@QEAAXPEAXK@Z
1369; protected: void __cdecl CRcovStrmTrans::Write(void const * __ptr64,unsigned long) __ptr64
1370?Write@CRcovStrmTrans@@IEAAXPEBXK@Z
1371; public: long __cdecl CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
1372?WritePrimaryProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
1373; public: long __cdecl CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
1374?WritePrimaryProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
1375; public: long __cdecl CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
1376?WriteProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
1377; public: long __cdecl CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
1378?WriteProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
1379; public: unsigned long __cdecl CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const & __ptr64) __ptr64
1380?WritePropertyInNewRecord@CPropStoreManager@@QEAAKKAEBVCStorageVariant@@@Z
1381; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbNestingNode::_FindGroupListAnchor(void) __ptr64
1382?_FindGroupListAnchor@CDbNestingNode@@AEAAPEAVCDbProjectListAnchor@@XZ
1383; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbProjectNode::_FindOrAddAnchor(void) __ptr64
1384?_FindOrAddAnchor@CDbProjectNode@@AEAAPEAVCDbProjectListAnchor@@XZ
1385; private: class CDbSortListAnchor * __ptr64 __cdecl CDbSortNode::_FindOrAddAnchor(void) __ptr64
1386?_FindOrAddAnchor@CDbSortNode@@AEAAPEAVCDbSortListAnchor@@XZ
1387; private: class CDbScalarValue * __ptr64 __cdecl CDbPropertyRestriction::_FindOrAddValueNode(void) __ptr64
1388?_FindOrAddValueNode@CDbPropertyRestriction@@AEAAPEAVCDbScalarValue@@XZ
1389; private: int __cdecl CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
1390?_ImpersonateIf@CImpersonateRemoteAccess@@AEAAHPEBG0K@Z
1391; unsigned __int64 __cdecl _wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
1392?_wcstoui64@@YA_KPEBGPEAPEAGH@Z
1393; void __cdecl ciDelete(void * __ptr64)
1394?ciDelete@@YAXPEAX@Z
1395; int __cdecl ciIsValidPointer(void const * __ptr64)
1396?ciIsValidPointer@@YAHPEBX@Z
1397; void * __ptr64 __cdecl ciNew(unsigned __int64)
1398?ciNew@@YAPEAX_K@Z
1399; public: unsigned long __cdecl CFileBuffer::fgetsw(class XGrowable<unsigned short,260> & __ptr64) __ptr64
1400?fgetsw@CFileBuffer@@QEAAKAEAV?$XGrowable@G$0BAE@@@@Z
1401; unsigned short * __ptr64 __cdecl wcsipattern(unsigned short * __ptr64,unsigned short const * __ptr64)
1402?wcsipattern@@YAPEAGPEAGPEBG@Z
1403AbortMerges
1404BeginCacheTransaction
1405BindIFilterFromStorage
1406BindIFilterFromStream
1407CIBuildQueryNode
1408CIBuildQueryTree
1409CICreateCommand
1410CIGetGlobalPropertyList
1411CIMakeICommand
1412CIRestrictionToFullTree
1413CIState
1414CITextToFullTree
1415CITextToFullTreeEx
1416CITextToSelectTree
1417CITextToSelectTreeEx
1418CiSvcMain
1419CollectCIISAPIPerformanceData
1420CollectCIPerformanceData
1421CollectFILTERPerformanceData
1422DllCanUnloadNow
1423DllGetClassObject
1424DllRegisterServer
1425DllUnregisterServer
1426DoneCIISAPIPerformanceData
1427DoneCIPerformanceData
1428DoneFILTERPerformanceData
1429EndCacheTransaction
1430ForceMasterMerge
1431InitializeCIISAPIPerformanceData
1432InitializeCIPerformanceData
1433InitializeFILTERPerformanceData
1434LoadBHIFilter
1435LoadBinaryFilter
1436LoadIFilter
1437LoadIFilterEx
1438LoadTextFilter
1439LocateCatalogs
1440LocateCatalogsA
1441LocateCatalogsW
1442SetCatalogState
1443SetupCache
1444SetupCacheEx
1445StartFWCiSvcWork
1446StopFWCiSvcWork
1447SvcEntry_CiSvc
lib/libc/mingw/libarm32/fwpuclnt.def deleted-259
......@@ -1,259 +0,0 @@
1;
2; Definition file of fwpuclnt.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008-2014
5;
6LIBRARY "fwpuclnt.dll"
7EXPORTS
8FwpiExpandCriteria0
9FwpiFreeCriteria0
10FwpiVpnTriggerAddAppSids
11FwpiVpnTriggerAddFilePaths
12FwpiVpnTriggerConfigureParameters
13FwpiVpnTriggerEventSubscribe0
14FwpiVpnTriggerEventUnsubscribe0
15FwpiVpnTriggerInitializeNrptTriggering
16FwpiVpnTriggerRemoveAppSids
17FwpiVpnTriggerRemoveFilePaths
18FwpiVpnTriggerResetNrptTriggering
19FwpiVpnTriggerSetStateDisconnected
20FwpiVpnTriggerUninitializeNrptTriggering
21FwpmCalloutAdd0
22FwpmCalloutCreateEnumHandle0
23FwpmCalloutDeleteById0
24FwpmCalloutDeleteByKey0
25FwpmCalloutDestroyEnumHandle0
26FwpmCalloutEnum0
27FwpmCalloutGetById0
28FwpmCalloutGetByKey0
29FwpmCalloutGetSecurityInfoByKey0
30FwpmCalloutSetSecurityInfoByKey0
31FwpmCalloutSubscribeChanges0
32FwpmCalloutSubscriptionsGet0
33FwpmCalloutUnsubscribeChanges0
34FwpmConnectionCreateEnumHandle0
35FwpmConnectionDestroyEnumHandle0
36FwpmConnectionEnum0
37FwpmConnectionGetById0
38FwpmConnectionGetSecurityInfo0
39FwpmConnectionSetSecurityInfo0
40FwpmConnectionSubscribe0
41FwpmConnectionUnsubscribe0
42FwpmDiagnoseNetFailure0
43FwpmEngineClose0
44FwpmEngineGetOption0
45FwpmEngineGetSecurityInfo0
46FwpmEngineOpen0
47FwpmEngineSetOption0
48FwpmEngineSetSecurityInfo0
49FwpmEventProviderCreate0
50FwpmEventProviderDestroy0
51FwpmEventProviderFireNetEvent0
52FwpmEventProviderIsNetEventTypeEnabled0
53FwpmFilterAdd0
54FwpmFilterCreateEnumHandle0
55FwpmFilterDeleteById0
56FwpmFilterDeleteByKey0
57FwpmFilterDestroyEnumHandle0
58FwpmFilterEnum0
59FwpmFilterGetById0
60FwpmFilterGetByKey0
61FwpmFilterGetSecurityInfoByKey0
62FwpmFilterSetSecurityInfoByKey0
63FwpmFilterSubscribeChanges0
64FwpmFilterSubscriptionsGet0
65FwpmFilterUnsubscribeChanges0
66FwpmFreeMemory0
67FwpmGetAppIdFromFileName0
68FwpmGetSidFromOnlineId0
69FwpmIPsecTunnelAdd0
70FwpmIPsecTunnelAdd1
71FwpmIPsecTunnelAdd2
72FwpmIPsecTunnelAddConditions0
73FwpmIPsecTunnelDeleteByKey0
74FwpmLayerCreateEnumHandle0
75FwpmLayerDestroyEnumHandle0
76FwpmLayerEnum0
77FwpmLayerGetById0
78FwpmLayerGetByKey0
79FwpmLayerGetSecurityInfoByKey0
80FwpmLayerSetSecurityInfoByKey0
81FwpmNetEventCreateEnumHandle0
82FwpmNetEventDestroyEnumHandle0
83FwpmNetEventEnum0
84FwpmNetEventEnum1
85FwpmNetEventEnum2
86FwpmNetEventSubscribe0
87FwpmNetEventSubscribe1
88FwpmNetEventSubscriptionsGet0
89FwpmNetEventUnsubscribe0
90FwpmNetEventsGetSecurityInfo0
91FwpmNetEventsLost0
92FwpmNetEventsSetSecurityInfo0
93FwpmProcessNameResolutionEvent0
94FwpmProviderAdd0
95FwpmProviderContextAdd0
96FwpmProviderContextAdd1
97FwpmProviderContextAdd2
98FwpmProviderContextCreateEnumHandle0
99FwpmProviderContextDeleteById0
100FwpmProviderContextDeleteByKey0
101FwpmProviderContextDestroyEnumHandle0
102FwpmProviderContextEnum0
103FwpmProviderContextEnum1
104FwpmProviderContextEnum2
105FwpmProviderContextGetById0
106FwpmProviderContextGetById1
107FwpmProviderContextGetById2
108FwpmProviderContextGetByKey0
109FwpmProviderContextGetByKey1
110FwpmProviderContextGetByKey2
111FwpmProviderContextGetSecurityInfoByKey0
112FwpmProviderContextSetSecurityInfoByKey0
113FwpmProviderContextSubscribeChanges0
114FwpmProviderContextSubscriptionsGet0
115FwpmProviderContextUnsubscribeChanges0
116FwpmProviderCreateEnumHandle0
117FwpmProviderDeleteByKey0
118FwpmProviderDestroyEnumHandle0
119FwpmProviderEnum0
120FwpmProviderGetByKey0
121FwpmProviderGetSecurityInfoByKey0
122FwpmProviderSetSecurityInfoByKey0
123FwpmProviderSubscribeChanges0
124FwpmProviderSubscriptionsGet0
125FwpmProviderUnsubscribeChanges0
126FwpmSessionCreateEnumHandle0
127FwpmSessionDestroyEnumHandle0
128FwpmSessionEnum0
129FwpmSubLayerAdd0
130FwpmSubLayerCreateEnumHandle0
131FwpmSubLayerDeleteByKey0
132FwpmSubLayerDestroyEnumHandle0
133FwpmSubLayerEnum0
134FwpmSubLayerGetByKey0
135FwpmSubLayerGetSecurityInfoByKey0
136FwpmSubLayerSetSecurityInfoByKey0
137FwpmSubLayerSubscribeChanges0
138FwpmSubLayerSubscriptionsGet0
139FwpmSubLayerUnsubscribeChanges0
140FwpmSystemPortsGet0
141FwpmSystemPortsSubscribe0
142FwpmSystemPortsUnsubscribe0
143FwpmTraceRestoreDefaults0
144FwpmTransactionAbort0
145FwpmTransactionBegin0
146FwpmTransactionCommit0
147FwpmvSwitchEventSubscribe0
148FwpmvSwitchEventUnsubscribe0
149FwpmvSwitchEventsGetSecurityInfo0
150FwpmvSwitchEventsSetSecurityInfo0
151FwppConnectionGetByIPsecInfo
152FwpsAleEndpointCreateEnumHandle0
153FwpsAleEndpointDestroyEnumHandle0
154FwpsAleEndpointEnum0
155FwpsAleEndpointGetById0
156FwpsAleEndpointGetSecurityInfo0
157FwpsAleEndpointSetSecurityInfo0
158FwpsAleExplicitCredentialsQuery0
159FwpsAleGetPortStatus0
160FwpsClassifyUser0
161FwpsFreeMemory0
162FwpsGetInProcReplicaOffset0
163FwpsLayerCreateInProcReplica0
164FwpsLayerReleaseInProcReplica0
165FwpsOpenToken0
166FwpsQueryIPsecDosFWUsed0
167FwpsQueryIPsecOffloadDone0
168GetUnifiedTraceHandle
169IPsecDospGetSecurityInfo0
170IPsecDospGetStatistics0
171IPsecDospSetSecurityInfo0
172IPsecDospStateCreateEnumHandle0
173IPsecDospStateDestroyEnumHandle0
174IPsecDospStateEnum0
175IPsecGetKeyFromDictator0
176IPsecGetStatistics0
177IPsecGetStatistics1
178IPsecKeyDictationCheck0
179IPsecKeyManagerAddAndRegister0
180IPsecKeyManagerGetSecurityInfoByKey0
181IPsecKeyManagerSetSecurityInfoByKey0
182IPsecKeyManagerUnregisterAndDelete0
183IPsecKeyManagersGet0
184IPsecKeyModuleAdd0
185IPsecKeyModuleDelete0
186IPsecKeyModuleUpdateAcquire0
187IPsecKeyNotification0
188IPsecSaContextAddInbound0
189IPsecSaContextAddInbound1
190IPsecSaContextAddInboundAndTrackConnection
191IPsecSaContextAddOutbound0
192IPsecSaContextAddOutbound1
193IPsecSaContextAddOutboundAndTrackConnection
194IPsecSaContextCreate0
195IPsecSaContextCreate1
196IPsecSaContextCreateEnumHandle0
197IPsecSaContextDeleteById0
198IPsecSaContextDestroyEnumHandle0
199IPsecSaContextEnum0
200IPsecSaContextEnum1
201IPsecSaContextExpire0
202IPsecSaContextGetById0
203IPsecSaContextGetById1
204IPsecSaContextGetSpi0
205IPsecSaContextGetSpi1
206IPsecSaContextSetSpi0
207IPsecSaContextSubscribe0
208IPsecSaContextSubscriptionsGet0
209IPsecSaContextUnsubscribe0
210IPsecSaContextUpdate0
211IPsecSaCreateEnumHandle0
212IPsecSaDbGetSecurityInfo0
213IPsecSaDbSetSecurityInfo0
214IPsecSaDestroyEnumHandle0
215IPsecSaEnum0
216IPsecSaEnum1
217IPsecSaInitiateAsync0
218IkeextGetConfigParameters0
219IkeextGetStatistics0
220IkeextGetStatistics1
221IkeextSaCreateEnumHandle0
222IkeextSaDbGetSecurityInfo0
223IkeextSaDbSetSecurityInfo0
224IkeextSaDeleteById0
225IkeextSaDestroyEnumHandle0
226IkeextSaEnum0
227IkeextSaEnum1
228IkeextSaEnum2
229IkeextSaGetById0
230IkeextSaGetById1
231IkeextSaGetById2
232IkeextSaUpdateAdditionalAddressesByTunnelId0
233IkeextSaUpdatePreferredAddressesByTunnelId0
234IkeextSetConfigParameters0
235NamespaceCallout
236WFPRIODequeueCompletion
237WSADeleteSocketPeerTargetName
238WSAImpersonateSocketPeer
239WSAQuerySocketSecurity
240WSARevertImpersonation
241WSASetSocketPeerTargetName
242WSASetSocketSecurity
243WfpCloseDPConfigureHandle
244WfpConfigureDPSecurityDescriptor
245WfpCreateDPConfigureHandle
246WfpRIOChannelClose
247WfpRIOCleanupRequestQueue
248WfpRIOCloseCompletionQueue
249WfpRIOCreateChannel
250WfpRIOCreateCompletionQueue
251WfpRIOCreateRequestQueue
252WfpRIODeregisterBuffer
253WfpRIOIndicateActivityThreshold
254WfpRIONotify
255WfpRIOReceive
256WfpRIORegisterBuffer
257WfpRIOResume
258WfpRIOSend
259WfpRIOSuspend
lib/libc/mingw/libarm32/query.def deleted-51
......@@ -1,51 +0,0 @@
1;
2; Definition file of query.dll
3; Automatic generated by gendef
4; written by Kai Tietz 2008-2014
5;
6LIBRARY "query.dll"
7EXPORTS
8BeginCacheTransaction
9CIBuildQueryNode
10CIBuildQueryTree
11CICreateCommand
12CIGetGlobalPropertyList
13CIMakeICommand
14CIRestrictionToFullTree
15CIState
16CITextToFullTree
17CITextToFullTreeEx
18CITextToSelectTree
19CITextToSelectTreeEx
20CiCreateSecurityDescriptor
21CiSvcMain
22CollectCIISAPIPerformanceData
23CollectCIPerformanceData
24CollectFILTERPerformanceData
25DoneCIISAPIPerformanceData
26DoneCIPerformanceData
27DoneFILTERPerformanceData
28EndCacheTransaction
29FsCiShutdown
30InitializeCIISAPIPerformanceData
31InitializeCIPerformanceData
32InitializeFILTERPerformanceData
33LoadBinaryFilter
34LoadTextFilter
35SetCatalogState
36SetupCache
37SetupCacheEx
38SvcEntry_CiSvc
39BindIFilterFromStorage
40BindIFilterFromStream
41CIRevertToSelf
42CIShutdown
43InternalBindIFilterFromDocCLSID
44InternalBindIFilterFromFileName
45InternalBindIFilterFromStorage
46InternalBindIFilterFromStream
47LoadIFilter
48LoadIFilterEx
49LocateCatalogs
50LocateCatalogsA
51LocateCatalogsW
lib/libc/mingw/math/cephes_emath.c deleted-1283
......@@ -1,1283 +0,0 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#include "cephes_emath.h"
7
8/*
9 * The constants are for 64 bit precision.
10 */
11
12
13/* Move in external format number,
14 * converting it to internal format.
15 */
16void __emovi(const short unsigned int * __restrict__ a,
17 short unsigned int * __restrict__ b)
18{
19 register const unsigned short *p;
20 register unsigned short *q;
21 int i;
22
23 q = b;
24 p = a + (NE-1); /* point to last word of external number */
25 /* get the sign bit */
26 if (*p & 0x8000)
27 *q++ = 0xffff;
28 else
29 *q++ = 0;
30 /* get the exponent */
31 *q = *p--;
32 *q++ &= 0x7fff; /* delete the sign bit */
33#ifdef INFINITY
34 if ((*(q - 1) & 0x7fff) == 0x7fff)
35 {
36#ifdef NANS
37 if (__eisnan(a))
38 {
39 *q++ = 0;
40 for (i = 3; i < NI; i++ )
41 *q++ = *p--;
42 return;
43 }
44#endif
45 for (i = 2; i < NI; i++)
46 *q++ = 0;
47 return;
48 }
49#endif
50 /* clear high guard word */
51 *q++ = 0;
52 /* move in the significand */
53 for (i = 0; i < NE - 1; i++ )
54 *q++ = *p--;
55 /* clear low guard word */
56 *q = 0;
57}
58
59
60/*
61; Add significands
62; x + y replaces y
63*/
64
65void __eaddm(const short unsigned int * __restrict__ x,
66 short unsigned int * __restrict__ y)
67{
68 register unsigned long a;
69 int i;
70 unsigned int carry;
71
72 x += NI - 1;
73 y += NI - 1;
74 carry = 0;
75 for (i = M; i < NI; i++)
76 {
77 a = (unsigned long)(*x) + (unsigned long)(*y) + carry;
78 if (a & 0x10000)
79 carry = 1;
80 else
81 carry = 0;
82 *y = (unsigned short)a;
83 --x;
84 --y;
85 }
86}
87
88/*
89; Subtract significands
90; y - x replaces y
91*/
92
93void __esubm(const short unsigned int * __restrict__ x,
94 short unsigned int * __restrict__ y)
95{
96 unsigned long a;
97 int i;
98 unsigned int carry;
99
100 x += NI - 1;
101 y += NI - 1;
102 carry = 0;
103 for (i = M; i < NI; i++)
104 {
105 a = (unsigned long)(*y) - (unsigned long)(*x) - carry;
106 if (a & 0x10000)
107 carry = 1;
108 else
109 carry = 0;
110 *y = (unsigned short)a;
111 --x;
112 --y;
113 }
114}
115
116
117/* Multiply significand of e-type number b
118by 16-bit quantity a, e-type result to c. */
119
120static void __m16m(short unsigned int a,
121 short unsigned int * __restrict__ b,
122 short unsigned int * __restrict__ c)
123{
124 register unsigned short *pp;
125 register unsigned long carry;
126 unsigned short *ps;
127 unsigned short p[NI];
128 unsigned long aa, m;
129 int i;
130
131 aa = a;
132 pp = &p[NI - 2];
133 *pp++ = 0;
134 *pp = 0;
135 ps = &b[NI - 1];
136
137 for(i = M + 1; i < NI; i++)
138 {
139 if (*ps == 0)
140 {
141 --ps;
142 --pp;
143 *(pp - 1) = 0;
144 }
145 else
146 {
147 m = (unsigned long) aa * *ps--;
148 carry = (m & 0xffff) + *pp;
149 *pp-- = (unsigned short)carry;
150 carry = (carry >> 16) + (m >> 16) + *pp;
151 *pp = (unsigned short)carry;
152 *(pp - 1) = carry >> 16;
153 }
154 }
155 for (i = M; i < NI; i++)
156 c[i] = p[i];
157}
158
159
160/* Divide significands. Neither the numerator nor the denominator
161is permitted to have its high guard word nonzero. */
162
163int __edivm(short unsigned int * __restrict__ den,
164 short unsigned int * __restrict__ num)
165{
166 int i;
167 register unsigned short *p;
168 unsigned long tnum;
169 unsigned short j, tdenm, tquot;
170 unsigned short tprod[NI + 1];
171 unsigned short equot[NI];
172
173 p = &equot[0];
174 *p++ = num[0];
175 *p++ = num[1];
176
177 for (i = M; i < NI; i++)
178 {
179 *p++ = 0;
180 }
181 __eshdn1(num);
182 tdenm = den[M + 1];
183 for (i = M; i < NI; i++)
184 {
185 /* Find trial quotient digit (the radix is 65536). */
186 tnum = (((unsigned long) num[M]) << 16) + num[M + 1];
187
188 /* Do not execute the divide instruction if it will overflow. */
189 if ((tdenm * 0xffffUL) < tnum)
190 tquot = 0xffff;
191 else
192 tquot = tnum / tdenm;
193
194 /* Prove that the divide worked. */
195 /*
196 tcheck = (unsigned long)tquot * tdenm;
197 if (tnum - tcheck > tdenm)
198 tquot = 0xffff;
199 */
200 /* Multiply denominator by trial quotient digit. */
201 __m16m(tquot, den, tprod);
202 /* The quotient digit may have been overestimated. */
203 if (__ecmpm(tprod, num) > 0)
204 {
205 tquot -= 1;
206 __esubm(den, tprod);
207 if(__ecmpm(tprod, num) > 0)
208 {
209 tquot -= 1;
210 __esubm(den, tprod);
211 }
212 }
213 __esubm(tprod, num);
214 equot[i] = tquot;
215 __eshup6(num);
216 }
217 /* test for nonzero remainder after roundoff bit */
218 p = &num[M];
219 j = 0;
220 for (i = M; i < NI; i++)
221 {
222 j |= *p++;
223 }
224 if (j)
225 j = 1;
226
227 for (i = 0; i < NI; i++)
228 num[i] = equot[i];
229
230 return ( (int)j );
231}
232
233
234/* Multiply significands */
235int __emulm(const short unsigned int * __restrict__ a,
236 short unsigned int * __restrict__ b)
237{
238 const unsigned short *p;
239 unsigned short *q;
240 unsigned short pprod[NI];
241 unsigned short equot[NI];
242 unsigned short j;
243 int i;
244
245 equot[0] = b[0];
246 equot[1] = b[1];
247 for (i = M; i < NI; i++)
248 equot[i] = 0;
249
250 j = 0;
251 p = &a[NI - 1];
252 q = &equot[NI - 1];
253 for (i = M + 1; i < NI; i++)
254 {
255 if (*p == 0)
256 {
257 --p;
258 }
259 else
260 {
261 __m16m(*p--, b, pprod);
262 __eaddm(pprod, equot);
263 }
264 j |= *q;
265 __eshdn6(equot);
266 }
267
268 for (i = 0; i < NI; i++)
269 b[i] = equot[i];
270
271 /* return flag for lost nonzero bits */
272 return ( (int)j );
273}
274
275
276/*
277 * Normalize and round off.
278 *
279 * The internal format number to be rounded is "s".
280 * Input "lost" indicates whether the number is exact.
281 * This is the so-called sticky bit.
282 *
283 * Input "subflg" indicates whether the number was obtained
284 * by a subtraction operation. In that case if lost is nonzero
285 * then the number is slightly smaller than indicated.
286 *
287 * Input "expo" is the biased exponent, which may be negative.
288 * the exponent field of "s" is ignored but is replaced by
289 * "expo" as adjusted by normalization and rounding.
290 *
291 * Input "rcntrl" is the rounding control.
292 *
293 * Input "rnprc" is precison control (64 or NBITS).
294 */
295
296void __emdnorm(short unsigned int *s, int lost, int subflg, int expo, int rcntrl, int rndprc)
297{
298 int i, j;
299 unsigned short r;
300 int rw = NI-1; /* low guard word */
301 int re = NI-2;
302 const unsigned short rmsk = 0xffff;
303 const unsigned short rmbit = 0x8000;
304#if NE == 6
305 unsigned short rbit[NI] = {0,0,0,0,0,0,0,1,0};
306#else
307 unsigned short rbit[NI] = {0,0,0,0,0,0,0,0,0,0,0,1,0};
308#endif
309
310 /* Normalize */
311 j = __enormlz(s);
312
313 /* a blank significand could mean either zero or infinity. */
314#ifndef INFINITY
315 if (j > NBITS)
316 {
317 __ecleazs(s);
318 return;
319 }
320#endif
321 expo -= j;
322#ifndef INFINITY
323 if (expo >= 32767L)
324 goto overf;
325#else
326 if ((j > NBITS) && (expo < 32767L))
327 {
328 __ecleazs(s);
329 return;
330 }
331#endif
332 if (expo < 0L)
333 {
334 if (expo > (long)(-NBITS - 1))
335 {
336 j = (int)expo;
337 i = __eshift(s, j);
338 if (i)
339 lost = 1;
340 }
341 else
342 {
343 __ecleazs(s);
344 return;
345 }
346 }
347 /* Round off, unless told not to by rcntrl. */
348 if (rcntrl == 0)
349 goto mdfin;
350 if (rndprc == 64)
351 {
352 rw = 7;
353 re = 6;
354 rbit[NI - 2] = 0;
355 rbit[6] = 1;
356 }
357
358 /* Shift down 1 temporarily if the data structure has an implied
359 * most significant bit and the number is denormal.
360 * For rndprc = 64 or NBITS, there is no implied bit.
361 * But Intel long double denormals lose one bit of significance even so.
362 */
363#if IBMPC
364 if ((expo <= 0) && (rndprc != NBITS))
365#else
366 if ((expo <= 0) && (rndprc != 64) && (rndprc != NBITS))
367#endif
368 {
369 lost |= s[NI - 1] & 1;
370 __eshdn1(s);
371 }
372 /* Clear out all bits below the rounding bit,
373 * remembering in r if any were nonzero.
374 */
375 r = s[rw] & rmsk;
376 if (rndprc < NBITS)
377 {
378 i = rw + 1;
379 while (i < NI)
380 {
381 if( s[i] )
382 r |= 1;
383 s[i] = 0;
384 ++i;
385 }
386 }
387 s[rw] &= (rmsk ^ 0xffff);
388 if ((r & rmbit) != 0)
389 {
390 if (r == rmbit)
391 {
392 if (lost == 0)
393 { /* round to even */
394 if ((s[re] & 1) == 0)
395 goto mddone;
396 }
397 else
398 {
399 if (subflg != 0)
400 goto mddone;
401 }
402 }
403 __eaddm(rbit, s);
404 }
405mddone:
406#if IBMPC
407 if ((expo <= 0) && (rndprc != NBITS))
408#else
409 if ((expo <= 0) && (rndprc != 64) && (rndprc != NBITS))
410#endif
411 {
412 __eshup1(s);
413 }
414 if (s[2] != 0)
415 { /* overflow on roundoff */
416 __eshdn1(s);
417 expo += 1;
418 }
419mdfin:
420 s[NI - 1] = 0;
421 if (expo >= 32767L)
422 {
423#ifndef INFINITY
424overf:
425#endif
426#ifdef INFINITY
427 s[1] = 32767;
428 for (i = 2; i < NI - 1; i++ )
429 s[i] = 0;
430#else
431 s[1] = 32766;
432 s[2] = 0;
433 for (i = M + 1; i < NI - 1; i++)
434 s[i] = 0xffff;
435 s[NI - 1] = 0;
436 if ((rndprc < 64) || (rndprc == 113))
437 s[rw] &= (rmsk ^ 0xffff);
438#endif
439 return;
440 }
441 if (expo < 0)
442 s[1] = 0;
443 else
444 s[1] = (unsigned short)expo;
445}
446
447
448/*
449; Multiply.
450;
451; unsigned short a[NE], b[NE], c[NE];
452; emul( a, b, c ); c = b * a
453*/
454void __emul(const short unsigned int *a,
455 const short unsigned int *b,
456 short unsigned int *c)
457{
458 unsigned short ai[NI], bi[NI];
459 int i, j;
460 long lt, lta, ltb;
461
462#ifdef NANS
463 /* NaN times anything is the same NaN. */
464 if (__eisnan(a))
465 {
466 __emov(a, c);
467 return;
468 }
469 if (__eisnan(b))
470 {
471 __emov(b, c);
472 return;
473 }
474 /* Zero times infinity is a NaN. */
475 if ((__eisinf(a) && __eiiszero(b))
476 || (__eisinf(b) && __eiiszero(a)))
477 {
478 mtherr( "emul", DOMAIN);
479 __enan_NBITS(c);
480 return;
481 }
482#endif
483/* Infinity times anything else is infinity. */
484#ifdef INFINITY
485 if (__eisinf(a) || __eisinf(b))
486 {
487 if (__eisneg(a) ^ __eisneg(b))
488 *(c + (NE-1)) = 0x8000;
489 else
490 *(c + (NE-1)) = 0;
491 __einfin(c);
492 return;
493 }
494#endif
495 __emovi(a, ai);
496 __emovi(b, bi);
497 lta = ai[E];
498 ltb = bi[E];
499 if (ai[E] == 0)
500 {
501 for (i = 1; i < NI - 1; i++)
502 {
503 if (ai[i] != 0)
504 {
505 lta -= __enormlz( ai );
506 goto mnzer1;
507 }
508 }
509 __eclear(c);
510 return;
511 }
512mnzer1:
513
514 if (bi[E] == 0)
515 {
516 for (i = 1; i < NI - 1; i++)
517 {
518 if (bi[i] != 0)
519 {
520 ltb -= __enormlz(bi);
521 goto mnzer2;
522 }
523 }
524 __eclear(c);
525 return;
526 }
527mnzer2:
528
529 /* Multiply significands */
530 j = __emulm(ai, bi);
531 /* calculate exponent */
532 lt = lta + ltb - (EXONE - 1);
533 __emdnorm(bi, j, 0, lt, 64, NBITS);
534 /* calculate sign of product */
535 if (ai[0] == bi[0])
536 bi[0] = 0;
537 else
538 bi[0] = 0xffff;
539 __emovo(bi, c);
540}
541
542
543/* move out internal format to ieee long double */
544void __toe64(short unsigned int *a, short unsigned int *b)
545{
546 register unsigned short *p, *q;
547 unsigned short i;
548
549#ifdef NANS
550 if (__eiisnan(a))
551 {
552 __enan_64(b);
553 return;
554 }
555#endif
556#ifdef IBMPC
557 /* Shift Intel denormal significand down 1. */
558 if (a[E] == 0)
559 __eshdn1(a);
560#endif
561 p = a;
562#ifdef MIEEE
563 q = b;
564#else
565 q = b + 4; /* point to output exponent */
566#if 1
567 /* NOTE: if data type is 96 bits wide, clear the last word here. */
568 *(q + 1)= 0;
569#endif
570#endif
571
572 /* combine sign and exponent */
573 i = *p++;
574#ifdef MIEEE
575 if (i)
576 *q++ = *p++ | 0x8000;
577 else
578 *q++ = *p++;
579 *q++ = 0;
580#else
581 if (i)
582 *q-- = *p++ | 0x8000;
583 else
584 *q-- = *p++;
585#endif
586 /* skip over guard word */
587 ++p;
588 /* move the significand */
589#ifdef MIEEE
590 for (i = 0; i < 4; i++)
591 *q++ = *p++;
592#else
593#ifdef INFINITY
594 if (__eiisinf(a))
595 {
596 /* Intel long double infinity. */
597 *q-- = 0x8000;
598 *q-- = 0;
599 *q-- = 0;
600 *q = 0;
601 return;
602 }
603#endif
604 for (i = 0; i < 4; i++)
605 *q-- = *p++;
606#endif
607}
608
609
610/* Compare two e type numbers.
611 *
612 * unsigned short a[NE], b[NE];
613 * ecmp( a, b );
614 *
615 * returns +1 if a > b
616 * 0 if a == b
617 * -1 if a < b
618 * -2 if either a or b is a NaN.
619 */
620int __ecmp(const short unsigned int * __restrict__ a,
621 const short unsigned int * __restrict__ b)
622{
623 unsigned short ai[NI], bi[NI];
624 register unsigned short *p, *q;
625 register int i;
626 int msign;
627
628#ifdef NANS
629 if (__eisnan (a) || __eisnan (b))
630 return (-2);
631#endif
632 __emovi(a, ai);
633 p = ai;
634 __emovi(b, bi);
635 q = bi;
636
637 if (*p != *q)
638 { /* the signs are different */
639 /* -0 equals + 0 */
640 for (i = 1; i < NI - 1; i++)
641 {
642 if (ai[i] != 0)
643 goto nzro;
644 if (bi[i] != 0)
645 goto nzro;
646 }
647 return (0);
648nzro:
649 if (*p == 0)
650 return (1);
651 else
652 return (-1);
653 }
654 /* both are the same sign */
655 if (*p == 0)
656 msign = 1;
657 else
658 msign = -1;
659 i = NI - 1;
660 do
661 {
662 if (*p++ != *q++)
663 {
664 goto diff;
665 }
666 }
667 while (--i > 0);
668
669 return (0); /* equality */
670
671diff:
672 if ( *(--p) > *(--q) )
673 return (msign); /* p is bigger */
674 else
675 return (-msign); /* p is littler */
676}
677
678/*
679; Shift significand
680;
681; Shifts significand area up or down by the number of bits
682; given by the variable sc.
683*/
684int __eshift(short unsigned int *x, int sc)
685{
686 unsigned short lost;
687 unsigned short *p;
688
689 if (sc == 0)
690 return (0);
691
692 lost = 0;
693 p = x + NI - 1;
694
695 if (sc < 0)
696 {
697 sc = -sc;
698 while (sc >= 16)
699 {
700 lost |= *p; /* remember lost bits */
701 __eshdn6(x);
702 sc -= 16;
703 }
704
705 while (sc >= 8)
706 {
707 lost |= *p & 0xff;
708 __eshdn8(x);
709 sc -= 8;
710 }
711
712 while (sc > 0)
713 {
714 lost |= *p & 1;
715 __eshdn1(x);
716 sc -= 1;
717 }
718 }
719 else
720 {
721 while (sc >= 16)
722 {
723 __eshup6(x);
724 sc -= 16;
725 }
726
727 while (sc >= 8)
728 {
729 __eshup8(x);
730 sc -= 8;
731 }
732
733 while (sc > 0)
734 {
735 __eshup1(x);
736 sc -= 1;
737 }
738 }
739 if (lost)
740 lost = 1;
741 return ( (int)lost );
742}
743
744
745/*
746; normalize
747;
748; Shift normalizes the significand area pointed to by argument
749; shift count (up = positive) is returned.
750*/
751int __enormlz(short unsigned int *x)
752{
753 register unsigned short *p;
754 int sc;
755
756 sc = 0;
757 p = &x[M];
758 if (*p != 0)
759 goto normdn;
760 ++p;
761 if (*p & 0x8000)
762 return (0); /* already normalized */
763 while (*p == 0)
764 {
765 __eshup6(x);
766 sc += 16;
767 /* With guard word, there are NBITS+16 bits available.
768 * return true if all are zero.
769 */
770 if (sc > NBITS)
771 return (sc);
772 }
773 /* see if high byte is zero */
774 while ((*p & 0xff00) == 0)
775 {
776 __eshup8(x);
777 sc += 8;
778 }
779 /* now shift 1 bit at a time */
780 while ((*p & 0x8000) == 0)
781 {
782 __eshup1(x);
783 sc += 1;
784 if (sc > (NBITS + 16))
785 {
786 mtherr( "enormlz", UNDERFLOW);
787 return (sc);
788 }
789 }
790 return (sc);
791
792 /* Normalize by shifting down out of the high guard word
793 of the significand */
794normdn:
795 if (*p & 0xff00)
796 {
797 __eshdn8(x);
798 sc -= 8;
799 }
800 while (*p != 0)
801 {
802 __eshdn1(x);
803 sc -= 1;
804
805 if (sc < -NBITS)
806 {
807 mtherr("enormlz", OVERFLOW);
808 return (sc);
809 }
810 }
811 return (sc);
812}
813
814
815/* Move internal format number out,
816 * converting it to external format.
817 */
818void __emovo(const short unsigned int * __restrict__ a,
819 short unsigned int * __restrict__ b)
820{
821 register const unsigned short *p;
822 register unsigned short *q;
823 unsigned short i;
824
825 p = a;
826 q = b + (NE - 1); /* point to output exponent */
827 /* combine sign and exponent */
828 i = *p++;
829 if (i)
830 *q-- = *p++ | 0x8000;
831 else
832 *q-- = *p++;
833#ifdef INFINITY
834 if (*(p - 1) == 0x7fff)
835 {
836#ifdef NANS
837 if (__eiisnan(a))
838 {
839 __enan_NBITS(b);
840 return;
841 }
842#endif
843 __einfin(b);
844 return;
845 }
846#endif
847 /* skip over guard word */
848 ++p;
849 /* move the significand */
850 for (i = 0; i < NE - 1; i++)
851 *q-- = *p++;
852}
853
854
855#if USE_LDTOA
856
857void __eiremain(short unsigned int *den, short unsigned int *num,
858 short unsigned int *equot )
859{
860 long ld, ln;
861 unsigned short j;
862
863 ld = den[E];
864 ld -= __enormlz(den);
865 ln = num[E];
866 ln -= __enormlz(num);
867 __ecleaz(equot);
868 while (ln >= ld)
869 {
870 if(__ecmpm(den,num) <= 0)
871 {
872 __esubm(den, num);
873 j = 1;
874 }
875 else
876 {
877 j = 0;
878 }
879 __eshup1(equot);
880 equot[NI - 1] |= j;
881 __eshup1(num);
882 ln -= 1;
883 }
884 __emdnorm( num, 0, 0, ln, 0, NBITS );
885}
886
887
888void __eadd1(const short unsigned int * __restrict__ a,
889 const short unsigned int * __restrict__ b,
890 short unsigned int * __restrict__ c,
891 int subflg)
892{
893 unsigned short ai[NI], bi[NI], ci[NI];
894 int i, lost, j, k;
895 long lt, lta, ltb;
896
897#ifdef INFINITY
898 if (__eisinf(a))
899 {
900 __emov(a, c);
901 if( subflg )
902 __eneg(c);
903 return;
904 }
905 if (__eisinf(b))
906 {
907 __emov(b, c);
908 return;
909 }
910#endif
911 __emovi(a, ai);
912 __emovi(b, bi);
913 if (sub)
914 ai[0] = ~ai[0];
915
916 /* compare exponents */
917 lta = ai[E];
918 ltb = bi[E];
919 lt = lta - ltb;
920 if (lt > 0L)
921 { /* put the larger number in bi */
922 __emovz(bi, ci);
923 __emovz(ai, bi);
924 __emovz(ci, ai);
925 ltb = bi[E];
926 lt = -lt;
927 }
928 lost = 0;
929 if (lt != 0L)
930 {
931 if (lt < (long)(-NBITS - 1))
932 goto done; /* answer same as larger addend */
933 k = (int)lt;
934 lost = __eshift(ai, k); /* shift the smaller number down */
935 }
936 else
937 {
938 /* exponents were the same, so must compare significands */
939 i = __ecmpm(ai, bi);
940 if (i == 0)
941 { /* the numbers are identical in magnitude */
942 /* if different signs, result is zero */
943 if (ai[0] != bi[0])
944 {
945 __eclear(c);
946 return;
947 }
948 /* if same sign, result is double */
949 /* double denomalized tiny number */
950 if ((bi[E] == 0) && ((bi[3] & 0x8000) == 0))
951 {
952 __eshup1( bi );
953 goto done;
954 }
955 /* add 1 to exponent unless both are zero! */
956 for (j = 1; j < NI - 1; j++)
957 {
958 if (bi[j] != 0)
959 {
960 /* This could overflow, but let emovo take care of that. */
961 ltb += 1;
962 break;
963 }
964 }
965 bi[E] = (unsigned short )ltb;
966 goto done;
967 }
968 if (i > 0)
969 { /* put the larger number in bi */
970 __emovz(bi, ci);
971 __emovz(ai, bi);
972 __emovz(ci, ai);
973 }
974 }
975 if (ai[0] == bi[0])
976 {
977 __eaddm(ai, bi);
978 subflg = 0;
979 }
980 else
981 {
982 __esubm(ai, bi);
983 subflg = 1;
984 }
985 __emdnorm(bi, lost, subflg, ltb, 64, NBITS);
986
987done:
988 __emovo(bi, c);
989}
990
991
992/* y = largest integer not greater than x
993 * (truncated toward minus infinity)
994 *
995 * unsigned short x[NE], y[NE]
996 *
997 * efloor( x, y );
998 */
999
1000
1001void __efloor(short unsigned int *x, short unsigned int *y)
1002{
1003 register unsigned short *p;
1004 int e, expon, i;
1005 unsigned short f[NE];
1006 const unsigned short bmask[] = {
1007 0xffff,
1008 0xfffe,
1009 0xfffc,
1010 0xfff8,
1011 0xfff0,
1012 0xffe0,
1013 0xffc0,
1014 0xff80,
1015 0xff00,
1016 0xfe00,
1017 0xfc00,
1018 0xf800,
1019 0xf000,
1020 0xe000,
1021 0xc000,
1022 0x8000,
1023 0x0000,
1024 };
1025
1026 __emov(x, f); /* leave in external format */
1027 expon = (int) f[NE - 1];
1028 e = (expon & 0x7fff) - (EXONE - 1);
1029 if (e <= 0)
1030 {
1031 __eclear(y);
1032 goto isitneg;
1033 }
1034 /* number of bits to clear out */
1035 e = NBITS - e;
1036 __emov(f, y);
1037 if (e <= 0)
1038 return;
1039
1040 p = &y[0];
1041 while (e >= 16)
1042 {
1043 *p++ = 0;
1044 e -= 16;
1045 }
1046 /* clear the remaining bits */
1047 *p &= bmask[e];
1048 /* truncate negatives toward minus infinity */
1049isitneg:
1050
1051 if ((unsigned short)expon & (unsigned short)0x8000)
1052 {
1053 for (i = 0; i < NE - 1; i++)
1054 {
1055 if (f[i] != y[i])
1056 {
1057 __esub( __eone, y, y );
1058 break;
1059 }
1060 }
1061 }
1062}
1063
1064/*
1065; Subtract external format numbers.
1066;
1067; unsigned short a[NE], b[NE], c[NE];
1068; esub( a, b, c ); c = b - a
1069*/
1070
1071void __esub(const short unsigned int * a,
1072 const short unsigned int * b,
1073 short unsigned int * c)
1074{
1075#ifdef NANS
1076 if (__eisnan(a))
1077 {
1078 __emov (a, c);
1079 return;
1080 }
1081 if ( __eisnan(b))
1082 {
1083 __emov(b, c);
1084 return;
1085 }
1086 /* Infinity minus infinity is a NaN.
1087 * Test for subtracting infinities of the same sign.
1088 */
1089 if (__eisinf(a) && __eisinf(b) && ((__eisneg (a) ^ __eisneg (b)) == 0))
1090 {
1091 mtherr("esub", DOMAIN);
1092 __enan_NBITS( c );
1093 return;
1094 }
1095#endif
1096 __eadd1(a, b, c, 1);
1097}
1098
1099
1100/*
1101; Divide.
1102;
1103; unsigned short a[NI], b[NI], c[NI];
1104; ediv( a, b, c ); c = b / a
1105*/
1106
1107void __ediv(const short unsigned int *a,
1108 const short unsigned int *b,
1109 short unsigned int *c)
1110{
1111 unsigned short ai[NI], bi[NI];
1112 int i;
1113 long lt, lta, ltb;
1114
1115#ifdef NANS
1116 /* Return any NaN input. */
1117 if (__eisnan(a))
1118 {
1119 __emov(a, c);
1120 return;
1121 }
1122 if (__eisnan(b))
1123 {
1124 __emov(b, c);
1125 return;
1126 }
1127 /* Zero over zero, or infinity over infinity, is a NaN. */
1128 if ((__eiszero(a) && __eiszero(b))
1129 || (__eisinf (a) && __eisinf (b)))
1130 {
1131 mtherr("ediv", DOMAIN);
1132 __enan_NBITS( c );
1133 return;
1134 }
1135#endif
1136/* Infinity over anything else is infinity. */
1137#ifdef INFINITY
1138 if (__eisinf(b))
1139 {
1140 if (__eisneg(a) ^ __eisneg(b))
1141 *(c + (NE - 1)) = 0x8000;
1142 else
1143 *(c + (NE - 1)) = 0;
1144 __einfin(c);
1145 return;
1146 }
1147 if (__eisinf(a))
1148 {
1149 __eclear(c);
1150 return;
1151 }
1152#endif
1153 __emovi(a, ai);
1154 __emovi(b, bi);
1155 lta = ai[E];
1156 ltb = bi[E];
1157 if (bi[E] == 0)
1158 { /* See if numerator is zero. */
1159 for (i = 1; i < NI - 1; i++)
1160 {
1161 if (bi[i] != 0)
1162 {
1163 ltb -= __enormlz(bi);
1164 goto dnzro1;
1165 }
1166 }
1167 __eclear(c);
1168 return;
1169 }
1170dnzro1:
1171
1172 if (ai[E] == 0)
1173 { /* possible divide by zero */
1174 for (i = 1; i < NI - 1; i++)
1175 {
1176 if (ai[i] != 0)
1177 {
1178 lta -= __enormlz(ai);
1179 goto dnzro2;
1180 }
1181 }
1182 if (ai[0] == bi[0])
1183 *(c + (NE - 1)) = 0;
1184 else
1185 *(c + (NE - 1)) = 0x8000;
1186 __einfin(c);
1187 mtherr("ediv", SING);
1188 return;
1189 }
1190dnzro2:
1191
1192 i = __edivm(ai, bi);
1193 /* calculate exponent */
1194 lt = ltb - lta + EXONE;
1195 __emdnorm(bi, i, 0, lt, 64, NBITS);
1196 /* set the sign */
1197 if (ai[0] == bi[0])
1198 bi[0] = 0;
1199 else
1200 bi[0] = 0Xffff;
1201 __emovo(bi, c);
1202}
1203
1204void __e64toe(short unsigned int *pe, short unsigned int *y)
1205{
1206 unsigned short yy[NI];
1207 unsigned short *p, *q, *e;
1208 int i;
1209
1210 e = pe;
1211 p = yy;
1212 for (i = 0; i < NE - 5; i++)
1213 *p++ = 0;
1214#ifdef IBMPC
1215 for (i = 0; i < 5; i++)
1216 *p++ = *e++;
1217#endif
1218#ifdef DEC
1219 for (i = 0; i < 5; i++)
1220 *p++ = *e++;
1221#endif
1222#ifdef MIEEE
1223 p = &yy[0] + (NE - 1);
1224 *p-- = *e++;
1225 ++e;
1226 for (i = 0; i < 4; i++)
1227 *p-- = *e++;
1228#endif
1229
1230#ifdef IBMPC
1231 /* For Intel long double, shift denormal significand up 1
1232 -- but only if the top significand bit is zero. */
1233 if ((yy[NE - 1] & 0x7fff) == 0 && (yy[NE - 2] & 0x8000) == 0)
1234 {
1235 unsigned short temp[NI + 1];
1236 __emovi(yy, temp);
1237 __eshup1(temp);
1238 __emovo(temp,y);
1239 return;
1240 }
1241#endif
1242#ifdef INFINITY
1243 /* Point to the exponent field. */
1244 p = &yy[NE - 1];
1245 if (*p == 0x7fff)
1246 {
1247#ifdef NANS
1248#ifdef IBMPC
1249 for (i = 0; i < 4; i++)
1250 {
1251 if ((i != 3 && pe[i] != 0)
1252 /* Check for Intel long double infinity pattern. */
1253 || (i == 3 && pe[i] != 0x8000))
1254 {
1255 __enan_NBITS(y);
1256 return;
1257 }
1258 }
1259#else
1260 for (i = 1; i <= 4; i++)
1261 {
1262 if (pe[i] != 0)
1263 {
1264 __enan_NBITS(y);
1265 return;
1266 }
1267 }
1268#endif
1269#endif /* NANS */
1270 __eclear(y);
1271 __einfin(y);
1272 if (*p & 0x8000)
1273 __eneg(y);
1274 return;
1275 }
1276#endif
1277 p = yy;
1278 q = y;
1279 for (i = 0; i < NE; i++)
1280 *q++ = *p++;
1281}
1282
1283#endif /* USE_LDTOA */
lib/libc/mingw/math/cephes_emath.h deleted-719
......@@ -1,719 +0,0 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _CEPHES_EMATH_H
7#define _CEPHES_EMATH_H
8
9/**
10 * This is a workaround for a gcc bug
11 */
12#define __restrict__
13
14/* This file is extracted from S L Moshier's ioldoubl.c,
15 * modified for use in MinGW
16 *
17 * Extended precision arithmetic functions for long double I/O.
18 * This program has been placed in the public domain.
19 */
20
21
22/*
23 * Revision history:
24 *
25 * 5 Jan 84 PDP-11 assembly language version
26 * 6 Dec 86 C language version
27 * 30 Aug 88 100 digit version, improved rounding
28 * 15 May 92 80-bit long double support
29 *
30 * Author: S. L. Moshier.
31 *
32 * 6 Oct 02 Modified for MinGW by inlining utility routines,
33 * removing global variables, and splitting out strtold
34 * from _IO_ldtoa and _IO_ldtostr.
35 *
36 * Danny Smith <dannysmith@users.sourceforge.net>
37 *
38 */
39
40
41/* ieee.c
42 *
43 * Extended precision IEEE binary floating point arithmetic routines
44 *
45 * Numbers are stored in C language as arrays of 16-bit unsigned
46 * short integers. The arguments of the routines are pointers to
47 * the arrays.
48 *
49 *
50 * External e type data structure, simulates Intel 8087 chip
51 * temporary real format but possibly with a larger significand:
52 *
53 * NE-1 significand words (least significant word first,
54 * most significant bit is normally set)
55 * exponent (value = EXONE for 1.0,
56 * top bit is the sign)
57 *
58 *
59 * Internal data structure of a number (a "word" is 16 bits):
60 *
61 * ei[0] sign word (0 for positive, 0xffff for negative)
62 * ei[1] biased __exponent (value = EXONE for the number 1.0)
63 * ei[2] high guard word (always zero after normalization)
64 * ei[3]
65 * to ei[NI-2] significand (NI-4 significand words,
66 * most significant word first,
67 * most significant bit is set)
68 * ei[NI-1] low guard word (0x8000 bit is rounding place)
69 *
70 *
71 *
72 * Routines for external format numbers
73 *
74 * __asctoe64( string, &d ) ASCII string to long double
75 * __asctoeg( string, e, prec ) ASCII string to specified precision
76 * __e64toe( &d, e ) IEEE long double precision to e type
77 * __eadd( a, b, c ) c = b + a
78 * __eclear(e) e = 0
79 * __ecmp (a, b) Returns 1 if a > b, 0 if a == b,
80 * -1 if a < b, -2 if either a or b is a NaN.
81 * __ediv( a, b, c ) c = b / a
82 * __efloor( a, b ) truncate to integer, toward -infinity
83 * __efrexp( a, exp, s ) extract exponent and significand
84 * __eifrac( e, &l, frac ) e to long integer and e type fraction
85 * __euifrac( e, &l, frac ) e to unsigned long integer and e type fraction
86 * __einfin( e ) set e to infinity, leaving its sign alone
87 * __eldexp( a, n, b ) multiply by 2**n
88 * __emov( a, b ) b = a
89 * __emul( a, b, c ) c = b * a
90 * __eneg(e) e = -e
91 * __eround( a, b ) b = nearest integer value to a
92 * __esub( a, b, c ) c = b - a
93 * __e24toasc( &f, str, n ) single to ASCII string, n digits after decimal
94 * __e53toasc( &d, str, n ) double to ASCII string, n digits after decimal
95 * __e64toasc( &d, str, n ) long double to ASCII string
96 * __etoasc( e, str, n ) e to ASCII string, n digits after decimal
97 * __etoe24( e, &f ) convert e type to IEEE single precision
98 * __etoe53( e, &d ) convert e type to IEEE double precision
99 * __etoe64( e, &d ) convert e type to IEEE long double precision
100 * __eisneg( e ) 1 if sign bit of e != 0, else 0
101 * __eisinf( e ) 1 if e has maximum exponent (non-IEEE)
102 * or is infinite (IEEE)
103 * __eisnan( e ) 1 if e is a NaN
104 * __esqrt( a, b ) b = square root of a
105 *
106 *
107 * Routines for internal format numbers
108 *
109 * __eaddm( ai, bi ) add significands, bi = bi + ai
110 * __ecleaz(ei) ei = 0
111 * __ecleazs(ei) set ei = 0 but leave its sign alone
112 * __ecmpm( ai, bi ) compare significands, return 1, 0, or -1
113 * __edivm( ai, bi ) divide significands, bi = bi / ai
114 * __emdnorm(ai,l,s,exp) normalize and round off
115 * __emovi( a, ai ) convert external a to internal ai
116 * __emovo( ai, a ) convert internal ai to external a
117 * __emovz( ai, bi ) bi = ai, low guard word of bi = 0
118 * __emulm( ai, bi ) multiply significands, bi = bi * ai
119 * __enormlz(ei) left-justify the significand
120 * __eshdn1( ai ) shift significand and guards down 1 bit
121 * __eshdn8( ai ) shift down 8 bits
122 * __eshdn6( ai ) shift down 16 bits
123 * __eshift( ai, n ) shift ai n bits up (or down if n < 0)
124 * __eshup1( ai ) shift significand and guards up 1 bit
125 * __eshup8( ai ) shift up 8 bits
126 * __eshup6( ai ) shift up 16 bits
127 * __esubm( ai, bi ) subtract significands, bi = bi - ai
128 *
129 *
130 * The result is always normalized and rounded to NI-4 word precision
131 * after each arithmetic operation.
132 *
133 * Exception flags are NOT fully supported.
134 *
135 * Define INFINITY in mconf.h for support of infinity; otherwise a
136 * saturation arithmetic is implemented.
137 *
138 * Define NANS for support of Not-a-Number items; otherwise the
139 * arithmetic will never produce a NaN output, and might be confused
140 * by a NaN input.
141 * If NaN's are supported, the output of ecmp(a,b) is -2 if
142 * either a or b is a NaN. This means asking if(ecmp(a,b) < 0)
143 * may not be legitimate. Use if(ecmp(a,b) == -1) for less-than
144 * if in doubt.
145 * Signaling NaN's are NOT supported; they are treated the same
146 * as quiet NaN's.
147 *
148 * Denormals are always supported here where appropriate (e.g., not
149 * for conversion to DEC numbers).
150 */
151
152#include <stdio.h>
153#include <stdlib.h>
154#include <string.h>
155#include <errno.h>
156#include <math.h>
157#include <locale.h>
158#include <ctype.h>
159
160#undef alloca
161#define alloca __builtin_alloca
162
163/* Don't build non-ANSI _IO_ldtoa. It is not thread safe. */
164#ifndef USE_LDTOA
165#define USE_LDTOA 0
166#endif
167
168
169 /* Number of 16 bit words in external x type format */
170#define NE 6
171
172 /* Number of 16 bit words in internal format */
173#define NI (NE+3)
174
175 /* Array offset to exponent */
176#define E 1
177
178 /* Array offset to high guard word */
179#define M 2
180
181 /* Number of bits of precision */
182#define NBITS ((NI-4)*16)
183
184 /* Maximum number of decimal digits in ASCII conversion
185 * = NBITS*log10(2)
186 */
187#define NDEC (NBITS*8/27)
188
189 /* The exponent of 1.0 */
190#define EXONE (0x3fff)
191
192
193#define mtherr(fname, code)
194
195
196extern long double strtold (const char * __restrict__ s, char ** __restrict__ se);
197extern int __asctoe64(const char * __restrict__ ss,
198 short unsigned int * __restrict__ y);
199extern void __emul(const short unsigned int * a,
200 const short unsigned int * b,
201 short unsigned int * c);
202extern int __ecmp(const short unsigned int * __restrict__ a,
203 const short unsigned int * __restrict__ b);
204extern int __enormlz(short unsigned int *x);
205extern int __eshift(short unsigned int *x, int sc);
206extern void __eaddm(const short unsigned int * __restrict__ x,
207 short unsigned int * __restrict__ y);
208extern void __esubm(const short unsigned int * __restrict__ x,
209 short unsigned int * __restrict__ y);
210extern void __emdnorm(short unsigned int *s, int lost, int subflg,
211 int exp, int rcntrl, const int rndprc);
212extern void __toe64(short unsigned int * __restrict__ a,
213 short unsigned int * __restrict__ b);
214extern int __edivm(short unsigned int * __restrict__ den,
215 short unsigned int * __restrict__ num);
216extern int __emulm(const short unsigned int * __restrict__ a,
217 short unsigned int * __restrict__ b);
218extern void __emovi(const short unsigned int * __restrict__ a,
219 short unsigned int * __restrict__ b);
220extern void __emovo(const short unsigned int * __restrict__ a,
221 short unsigned int * __restrict__ b);
222
223#if USE_LDTOA
224
225extern char * _IO_ldtoa(long double, int, int, int *, int *, char **);
226extern void _IO_ldtostr(long double *x, char *string, int ndigs,
227 int flags, char fmt);
228
229extern void __eiremain(short unsigned int * __restrict__ den,
230 short unsigned int *__restrict__ num,
231 short unsigned int *__restrict__ equot);
232extern void __efloor(short unsigned int *x, short unsigned int *y);
233extern void __eadd1(const short unsigned int * __restrict__ a,
234 const short unsigned int * __restrict__ b,
235 short unsigned int * __restrict__ c,
236 int subflg);
237extern void __esub(const short unsigned int *a, const short unsigned int *b,
238 short unsigned int *c);
239extern void __ediv(const short unsigned int *a, const short unsigned int *b,
240 short unsigned int *c);
241extern void __e64toe(short unsigned int *pe, short unsigned int *y);
242
243
244#endif
245
246static __inline__ int __eisneg(const short unsigned int *x);
247static __inline__ int __eisinf(const short unsigned int *x);
248static __inline__ int __eisnan(const short unsigned int *x);
249static __inline__ int __eiszero(const short unsigned int *a);
250static __inline__ void __emovz(register const short unsigned int * __restrict__ a,
251 register short unsigned int * __restrict__ b);
252static __inline__ void __eclear(register short unsigned int *x);
253static __inline__ void __ecleaz(register short unsigned int *xi);
254static __inline__ void __ecleazs(register short unsigned int *xi);
255static __inline__ int __eiisinf(const short unsigned int *x);
256static __inline__ int __eiisnan(const short unsigned int *x);
257static __inline__ int __eiiszero(const short unsigned int *x);
258static __inline__ void __enan_64(short unsigned int *nanptr);
259static __inline__ void __enan_NBITS (short unsigned int *nanptr);
260static __inline__ void __enan_NI16 (short unsigned int *nanptr);
261static __inline__ void __einfin(register short unsigned int *x);
262static __inline__ void __eneg(short unsigned int *x);
263static __inline__ void __eshup1(register short unsigned int *x);
264static __inline__ void __eshup8(register short unsigned int *x);
265static __inline__ void __eshup6(register short unsigned int *x);
266static __inline__ void __eshdn1(register short unsigned int *x);
267static __inline__ void __eshdn8(register short unsigned int *x);
268static __inline__ void __eshdn6(register short unsigned int *x);
269
270
271
272/* Intel IEEE, low order words come first:
273 */
274#define IBMPC 1
275
276/* Define 1 for ANSI C atan2() function
277 * See atan.c and clog.c.
278 */
279#define ANSIC 1
280
281/*define VOLATILE volatile*/
282#define VOLATILE
283
284/* For 12-byte long doubles on an i386, pad a 16-bit short 0
285 * to the end of real constants initialized by integer arrays.
286 *
287 * #define XPD 0,
288 *
289 * Otherwise, the type is 10 bytes long and XPD should be
290 * defined blank.
291 *
292 * #define XPD
293 */
294#define XPD 0,
295/* #define XPD */
296#define NANS 1
297
298/* NaN's require infinity support. */
299#ifdef NANS
300#ifndef INFINITY
301#define INFINITY
302#endif
303#endif
304
305/* This handles 64-bit long ints. */
306#define LONGBITS (8 * sizeof(long))
307
308
309#define NTEN 12
310#define MAXP 4096
311
312/*
313; Clear out entire external format number.
314;
315; unsigned short x[];
316; eclear( x );
317*/
318
319static __inline__ void __eclear(register short unsigned int *x)
320{
321 memset(x, 0, NE * sizeof(unsigned short));
322}
323
324
325/* Move external format number from a to b.
326 *
327 * emov( a, b );
328 */
329
330static __inline__ void __emov(register const short unsigned int * __restrict__ a,
331 register short unsigned int * __restrict__ b)
332{
333 memcpy(b, a, NE * sizeof(unsigned short));
334}
335
336
337/*
338; Negate external format number
339;
340; unsigned short x[NE];
341; eneg( x );
342*/
343
344static __inline__ void __eneg(short unsigned int *x)
345{
346#ifdef NANS
347 if (__eisnan(x))
348 return;
349#endif
350 x[NE-1] ^= 0x8000; /* Toggle the sign bit */
351}
352
353
354/* Return 1 if external format number is negative,
355 * else return zero.
356 */
357static __inline__ int __eisneg(const short unsigned int *x)
358{
359#ifdef NANS
360 if (__eisnan(x))
361 return (0);
362#endif
363 if (x[NE-1] & 0x8000)
364 return (1);
365 else
366 return (0);
367}
368
369
370/* Return 1 if external format number has maximum possible exponent,
371 * else return zero.
372 */
373static __inline__ int __eisinf(const short unsigned int *x)
374{
375 if ((x[NE - 1] & 0x7fff) == 0x7fff)
376 {
377#ifdef NANS
378 if (__eisnan(x))
379 return (0);
380#endif
381 return (1);
382 }
383 else
384 return (0);
385}
386
387/* Check if e-type number is not a number.
388 */
389static __inline__ int __eisnan(const short unsigned int *x)
390{
391#ifdef NANS
392 int i;
393 /* NaN has maximum __exponent */
394 if ((x[NE - 1] & 0x7fff) == 0x7fff)
395 /* ... and non-zero significand field. */
396 for (i = 0; i < NE - 1; i++)
397 {
398 if (*x++ != 0)
399 return (1);
400 }
401#endif
402 return (0);
403}
404
405/*
406; Fill __entire number, including __exponent and significand, with
407; largest possible number. These programs implement a saturation
408; value that is an ordinary, legal number. A special value
409; "infinity" may also be implemented; this would require tests
410; for that value and implementation of special rules for arithmetic
411; operations involving inifinity.
412*/
413
414static __inline__ void __einfin(register short unsigned int *x)
415{
416 register int i;
417#ifdef INFINITY
418 for (i = 0; i < NE - 1; i++)
419 *x++ = 0;
420 *x |= 32767;
421#else
422 for (i = 0; i < NE - 1; i++)
423 *x++ = 0xffff;
424 *x |= 32766;
425 *(x - 5) = 0;
426#endif
427}
428
429/* Clear out internal format number.
430 */
431
432static __inline__ void __ecleaz(register short unsigned int *xi)
433{
434 memset(xi, 0, NI * sizeof(unsigned short));
435}
436
437/* same, but don't touch the sign. */
438
439static __inline__ void __ecleazs(register short unsigned int *xi)
440{
441 ++xi;
442 memset(xi, 0, (NI-1) * sizeof(unsigned short));
443}
444
445/* Move internal format number from a to b.
446 */
447static __inline__ void __emovz(register const short unsigned int * __restrict__ a,
448 register short unsigned int * __restrict__ b)
449{
450 memcpy(b, a, (NI-1) * sizeof(unsigned short));
451 b[NI - 1] = 0;
452}
453
454/* Return nonzero if internal format number is a NaN.
455 */
456
457static __inline__ int __eiisnan (const short unsigned int *x)
458{
459 int i;
460
461 if ((x[E] & 0x7fff) == 0x7fff)
462 {
463 for (i = M + 1; i < NI; i++ )
464 {
465 if (x[i] != 0)
466 return (1);
467 }
468 }
469 return (0);
470}
471
472/* Return nonzero if external format number is zero. */
473
474static __inline__ int
475__eiszero(const short unsigned int * a)
476{
477 union {
478 long double ld;
479 unsigned short sh[8];
480 } av;
481 av.ld = 0.0;
482 memcpy (av.sh, a, 12);
483 if (av.ld == 0.0)
484 return (1);
485 return (0);
486}
487
488/* Return nonzero if internal format number is zero. */
489
490static __inline__ int
491__eiiszero(const short unsigned int * ai)
492{
493 int i;
494 /* skip the sign word */
495 for (i = 1; i < NI - 1; i++ )
496 {
497 if (ai[i] != 0)
498 return (0);
499 }
500 return (1);
501}
502
503
504/* Return nonzero if internal format number is infinite. */
505
506static __inline__ int
507__eiisinf (const unsigned short *x)
508{
509#ifdef NANS
510 if (__eiisnan (x))
511 return (0);
512#endif
513 if ((x[E] & 0x7fff) == 0x7fff)
514 return (1);
515 return (0);
516}
517
518/*
519; Compare significands of numbers in internal format.
520; Guard words are included in the comparison.
521;
522; unsigned short a[NI], b[NI];
523; cmpm( a, b );
524;
525; for the significands:
526; returns +1 if a > b
527; 0 if a == b
528; -1 if a < b
529*/
530static __inline__ int __ecmpm(register const short unsigned int * __restrict__ a,
531 register const short unsigned int * __restrict__ b)
532{
533 int i;
534
535 a += M; /* skip up to significand area */
536 b += M;
537 for (i = M; i < NI; i++)
538 {
539 if( *a++ != *b++ )
540 goto difrnt;
541 }
542 return(0);
543
544 difrnt:
545 if ( *(--a) > *(--b) )
546 return (1);
547 else
548 return (-1);
549}
550
551
552/*
553; Shift significand down by 1 bit
554*/
555
556static __inline__ void __eshdn1(register short unsigned int *x)
557{
558 register unsigned short bits;
559 int i;
560
561 x += M; /* point to significand area */
562
563 bits = 0;
564 for (i = M; i < NI; i++ )
565 {
566 if (*x & 1)
567 bits |= 1;
568 *x >>= 1;
569 if (bits & 2)
570 *x |= 0x8000;
571 bits <<= 1;
572 ++x;
573 }
574}
575
576/*
577; Shift significand up by 1 bit
578*/
579
580static __inline__ void __eshup1(register short unsigned int *x)
581{
582 register unsigned short bits;
583 int i;
584
585 x += NI-1;
586 bits = 0;
587
588 for (i = M; i < NI; i++)
589 {
590 if (*x & 0x8000)
591 bits |= 1;
592 *x <<= 1;
593 if (bits & 2)
594 *x |= 1;
595 bits <<= 1;
596 --x;
597 }
598}
599
600
601/*
602; Shift significand down by 8 bits
603*/
604
605static __inline__ void __eshdn8(register short unsigned int *x)
606{
607 register unsigned short newbyt, oldbyt;
608 int i;
609
610 x += M;
611 oldbyt = 0;
612 for (i = M; i < NI; i++)
613 {
614 newbyt = *x << 8;
615 *x >>= 8;
616 *x |= oldbyt;
617 oldbyt = newbyt;
618 ++x;
619 }
620}
621
622/*
623; Shift significand up by 8 bits
624*/
625
626static __inline__ void __eshup8(register short unsigned int *x)
627{
628 int i;
629 register unsigned short newbyt, oldbyt;
630
631 x += NI - 1;
632 oldbyt = 0;
633
634 for (i = M; i < NI; i++)
635 {
636 newbyt = *x >> 8;
637 *x <<= 8;
638 *x |= oldbyt;
639 oldbyt = newbyt;
640 --x;
641 }
642}
643
644/*
645; Shift significand up by 16 bits
646*/
647
648static __inline__ void __eshup6(register short unsigned int *x)
649{
650 int i;
651 register unsigned short *p;
652
653 p = x + M;
654 x += M + 1;
655
656 for (i = M; i < NI - 1; i++)
657 *p++ = *x++;
658
659 *p = 0;
660}
661
662/*
663; Shift significand down by 16 bits
664*/
665
666static __inline__ void __eshdn6(register short unsigned int *x)
667{
668 int i;
669 register unsigned short *p;
670
671 x += NI - 1;
672 p = x + 1;
673
674 for (i = M; i < NI - 1; i++)
675 *(--p) = *(--x);
676
677 *(--p) = 0;
678}
679
680/*
681; Add significands
682; x + y replaces y
683*/
684
685static __inline__ void __enan_64(unsigned short* nanptr)
686{
687 int i;
688 for (i = 0; i < 3; i++)
689 *nanptr++ = 0;
690 *nanptr++ = 0xc000;
691 *nanptr++ = 0x7fff;
692 *nanptr = 0;
693 return;
694}
695
696static __inline__ void __enan_NBITS(unsigned short* nanptr)
697{
698 int i;
699 for (i = 0; i < NE - 2; i++)
700 *nanptr++ = 0;
701 *nanptr++ = 0xc000;
702 *nanptr = 0x7fff;
703 return;
704}
705
706static __inline__ void __enan_NI16(unsigned short* nanptr)
707{
708 int i;
709 *nanptr++ = 0;
710 *nanptr++ = 0x7fff;
711 *nanptr++ = 0;
712 *nanptr++ = 0xc000;
713 for (i = 4; i < NI; i++)
714 *nanptr++ = 0;
715 return;
716}
717
718#endif /* _CEPHES_EMATH_H */
719
lib/libc/mingw/math/x86/asinh.c+48-7
......@@ -5,6 +5,7 @@
55 */
66#include <math.h>
77#include <errno.h>
8#include <float.h>
89#include "fastmath.h"
910
1011 /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
......@@ -21,13 +22,53 @@ double asinh(double x)
2122 return x;
2223#endif
2324
24 /* Use log1p to avoid cancellation with small x. Put
25 x * x in denom, so overflow is harmless.
26 asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
27 = log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
25 /* NB the previous formula
26 z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
27 was defective in two ways:
28 1: It ommitted required brackets:
29 z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
30 ^ ^
31 so would still overflow for large z.
32 2: Even with the brackets, it still degraded quickly for large z
33 (where z*z+1 == z*z).
34 e.g. asinh (sinh 356.0)) gave 355.30685281944005
35 */
2836
29 z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
37 const double asinhCutover = pow(2,DBL_MAX_EXP/2); // 1.3407807929943e+154
3038
31 return ( x > 0.0 ? z : -z);
39 if (z < asinhCutover)
40 /* After excluding large values, the rearranged formula gives better results
41 the original formula log(z + sqrt(z * z + 1.0)) for very small z.
42 e.g. rearranged asinh(sinh 2e-301)) = 2e-301
43 original asinh(sinh 2e-301)) = 0.
44 asinh(z) = log (z + sqrt (z * z + 1.0))
45 = log1p (z + sqrt (z * z + 1.0) - 1.0)
46 = log1p (z + (sqrt (z * z + 1.0) - 1.0)
47 * (sqrt (z * z + 1.0) + 1.0)
48 / (sqrt (z * z + 1.0) + 1.0))
49 = log1p (z + ((z * z + 1.0) - 1.0)
50 / (sqrt (z * z + 1.0) + 1.0))
51 = log1p (z + z * z / (sqrt (z * z + 1.0) + 1.0))
52 */
53 z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
54 else
55 /* above this, z*z+1 == z*z, so we can simplify
56 (and avoid z*z being infinity).
57 asinh(z) = log (z + sqrt (z * z + 1.0))
58 = log (z + sqrt (z * z ))
59 = log (2 * z)
60 = log 2 + log z
61 Choosing asinhCutover is a little tricky.
62 We'd like something that's based on the nature of
63 the numeric type (DBL_MAX_EXP, etc).
64 If c = asinhCutover, then we need:
65 (1) c*c == c*c + 1
66 (2) log (2*c) = log 2 + log c.
67 For float:
68 9.490626562425156e7 is the smallest value that
69 achieves (1), but it fails (2). (It only just fails,
70 but enough to make the function erroneously non-monotonic).
71 */
72 z = __fast_log(2) + __fast_log(z);
73 return copysign(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
3274}
33
lib/libc/mingw/math/x86/asinhf.c+9-8
......@@ -5,6 +5,7 @@
55 */
66#include <math.h>
77#include <errno.h>
8#include <float.h>
89#include "fastmath.h"
910
1011 /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
......@@ -21,13 +22,13 @@ float asinhf(float x)
2122 return x;
2223#endif
2324
25 /* See commentary in asinh */
26 const float asinhCutover = pow(2,FLT_MAX_EXP/2);
2427
25 /* Use log1p to avoid cancellation with small x. Put
26 x * x in denom, so overflow is harmless.
27 asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
28 = log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
29
30 z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
31
32 return ( x > 0.0 ? z : -z);
28 if (z < asinhCutover)
29 z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
30 //z = __fast_log(z + __fast_sqrt(z * z + 1.0));
31 else
32 z = __fast_log(2) + __fast_log(z);
33 return copysignf(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
3334}
lib/libc/mingw/math/x86/asinhl.c+8-7
......@@ -5,6 +5,7 @@
55 */
66#include <math.h>
77#include <errno.h>
8#include <float.h>
89#include "fastmath.h"
910
1011 /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
......@@ -22,12 +23,12 @@ long double asinhl(long double x)
2223 return x;
2324#endif
2425
25 /* Use log1p to avoid cancellation with small x. Put
26 x * x in denom, so overflow is harmless.
27 asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
28 = log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
26 /* See commentary in asinh */
27 const long double asinhCutover = powl(2,LDBL_MAX_EXP/2);
2928
30 z = __fast_log1pl (z + z * z / (__fast_sqrtl (z * z + 1.0L) + 1.0L));
31
32 return ( x > 0.0 ? z : -z);
29 if (z < asinhCutover)
30 z = __fast_log1pl (z + z * (z / (__fast_sqrtl (z * z + 1.0) + 1.0)));
31 else
32 z = __fast_logl(2) + __fast_logl(z);
33 return copysignl(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
3334}
lib/libc/mingw/math/x86/atanh.c+1-1
......@@ -32,5 +32,5 @@ double atanh(double x)
3232 = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
3333 = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
3434 z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
35 return x >= 0 ? z : -z;
35 return copysign(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
3636}
lib/libc/mingw/math/x86/atanhf.c+1-1
......@@ -31,5 +31,5 @@ float atanhf (float x)
3131 = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
3232 = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
3333 z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
34 return x >= 0 ? z : -z;
34 return copysignf(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
3535}
lib/libc/mingw/math/x86/atanhl.c+1-1
......@@ -30,5 +30,5 @@ long double atanhl (long double x)
3030 = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
3131 = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
3232 z = 0.5L * __fast_log1pl ((z + z) / (1.0L - z));
33 return x >= 0 ? z : -z;
33 return copysignl(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
3434}
lib/libc/mingw/misc/btowc.c+4-2
......@@ -19,8 +19,10 @@ wint_t btowc (int c)
1919 {
2020 unsigned char ch = c;
2121 wchar_t wc = WEOF;
22 MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS,
23 (char*)&ch, 1, &wc, 1);
22 if (!MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS,
23 (char*)&ch, 1, &wc, 1))
24 return WEOF;
25
2426 return wc;
2527 }
2628}
lib/libc/mingw/misc/lc_locale_func.c+20-11
......@@ -2,18 +2,11 @@
22#define ___lc_codepage_func __dummy____lc_codepage_func
33#include <windows.h>
44#include <locale.h>
5#include <msvcrt.h>
65
76#undef __lc_codepage
87#undef ___lc_codepage_func
98#include "mb_wc_common.h"
109
11static unsigned int *msvcrt__lc_codepage;
12static unsigned int __cdecl msvcrt___lc_codepage_func(void)
13{
14 return *msvcrt__lc_codepage;
15}
16
1710static unsigned int __cdecl setlocale_codepage_hack(void)
1811{
1912 /* locale :: "lang[_country[.code_page]]" | ".code_page" */
......@@ -21,14 +14,23 @@ static unsigned int __cdecl setlocale_codepage_hack(void)
2114 return cp_str ? atoi(cp_str + 1) : 0;
2215}
2316
24static unsigned int __cdecl init_codepage_func(void);
25unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func;
17#ifndef __LIBMSVCRT_OS__
2618
27unsigned int __cdecl ___lc_codepage_func (void)
19unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = setlocale_codepage_hack;
20
21#else
22
23#include <msvcrt.h>
24
25static unsigned int *msvcrt__lc_codepage;
26static unsigned int __cdecl msvcrt___lc_codepage_func(void)
2827{
29 return __MINGW_IMP_SYMBOL(___lc_codepage_func) ();
28 return *msvcrt__lc_codepage;
3029}
3130
31static unsigned int __cdecl init_codepage_func(void);
32unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func;
33
3234static unsigned int __cdecl init_codepage_func(void)
3335{
3436 HMODULE msvcrt = __mingw_get_msvcrt_handle();
......@@ -48,3 +50,10 @@ static unsigned int __cdecl init_codepage_func(void)
4850
4951 return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)();
5052}
53
54#endif
55
56unsigned int __cdecl ___lc_codepage_func(void)
57{
58 return __MINGW_IMP_SYMBOL(___lc_codepage_func)();
59}
lib/libc/mingw/misc/mingw_wcstod.c+17-1
......@@ -1,4 +1,7 @@
11#include <stdio.h>
2#include <float.h>
3#include <errno.h>
4#include <math.h>
25
36extern long double __cdecl
47__mingw_wcstold (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr);
......@@ -9,7 +12,20 @@ __mingw_wcstod (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndP
912double __cdecl
1013__mingw_wcstod (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr)
1114{
12 return (double) __mingw_wcstold (_Str, _EndPtr);
15 long double ret = __mingw_wcstold (_Str, _EndPtr);
16 if (isfinite(ret)) {
17 /* Check for cases that aren't out of range for long doubles, but that are
18 * for doubles. */
19 if (ret > DBL_MAX)
20 errno = ERANGE;
21 else if (ret < -DBL_MAX)
22 errno = ERANGE;
23 else if (ret > 0 && ret < DBL_MIN)
24 errno = ERANGE;
25 else if (ret < 0 && ret > -DBL_MIN)
26 errno = ERANGE;
27 }
28 return ret;
1329}
1430
1531
lib/libc/mingw/misc/mingw_wcstold.c+69-27
......@@ -1,32 +1,74 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6/* Wide char wrapper for strtold
7 * Revision history:
8 * 6 Nov 2002 Initial version.
9 * 25 Aug 2006 Don't use strtold internal functions.
10 *
11 * Contributor: Danny Smith <dannysmith@users.sourceforege.net>
12 */
13
14 /* This routine has been placed in the public domain.*/
15
16#ifndef WIN32_LEAN_AND_MEAN
17#define WIN32_LEAN_AND_MEAN
18#endif
119#include <windows.h>
2#include <stdio.h>
20#include <locale.h>
21#include <wchar.h>
22#include <stdlib.h>
23#include <string.h>
24#include <mbstring.h>
325
4long double __cdecl
5__mingw_wcstold (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr);
26#include "mb_wc_common.h"
627
7long double __cdecl
8__mingw_wcstold (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr)
28long double __mingw_wcstold (const wchar_t * __restrict__ wcs, wchar_t ** __restrict__ wcse)
929{
10 long double r;
11 char *n, *ep = NULL;
12 size_t l, l2;
13
14 l = WideCharToMultiByte(CP_UTF8, 0, _Str, -1, NULL, 0, NULL, NULL);
15 n = alloca (l + 1);
16 if (l != 0) WideCharToMultiByte (CP_UTF8, 0, _Str, -1, n, l, NULL, NULL);
17 n[l] = 0;
18 r = __mingw_strtold (n, &ep);
19 if (ep != NULL)
20 {
21 *ep = 0;
22 l2 = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, n, -1, NULL, 0);
23 if (l2 > 0)
24 l2 -= 1; /* Remove zero terminator from length. */
25 if (_EndPtr)
26 *_EndPtr = (wchar_t *) &_Str[l2];
27 }
28 else if (_EndPtr)
29 *_EndPtr = NULL;
30 return r;
31}
30 char * cs;
31 char * cse;
32 unsigned int i;
33 long double ret;
34 const unsigned int cp = ___lc_codepage_func();
35
36 /* Allocate enough room for (possibly) mb chars */
37 cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX);
3238
39 if (cp == 0) /* C locale */
40 {
41 for (i = 0; (wcs[i] != 0) && wcs[i] <= 255; i++)
42 cs[i] = (char) wcs[i];
43 cs[i] = '\0';
44 }
45 else
46 {
47 int nbytes = -1;
48 int mb_len = 0;
49 /* loop through till we hit null or invalid character */
50 for (i = 0; (wcs[i] != 0) && (nbytes != 0); i++)
51 {
52 nbytes = WideCharToMultiByte(cp, WC_COMPOSITECHECK | WC_SEPCHARS,
53 wcs + i, 1, cs + mb_len, MB_CUR_MAX,
54 NULL, NULL);
55 mb_len += nbytes;
56 }
57 cs[mb_len] = '\0';
58 }
59
60 ret = strtold (cs, &cse);
61
62 if (wcse)
63 {
64 /* Make sure temp mbstring has 0 at cse. */
65 *cse = '\0';
66 i = MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, cs, -1, NULL, 0);
67 if (i > 0)
68 i -= 1; /* Remove zero terminator from length. */
69 *wcse = (wchar_t *) wcs + i;
70 }
71 free (cs);
72
73 return ret;
74}
lib/libc/mingw/misc/seterrno.c+9-3
......@@ -8,11 +8,17 @@
88errno_t __cdecl _set_errno (int _Value)
99{
1010 errno = _Value;
11 return errno;
11 return 0;
1212}
1313
1414errno_t __cdecl _get_errno (int *_Value)
1515{
16 if(_Value) *_Value=errno;
17 return errno;
16 if(!_Value)
17 {
18 errno = EINVAL;
19 return EINVAL;
20 }
21
22 *_Value = errno;
23 return 0;
1824}
lib/libc/mingw/misc/setjmp.S+2
......@@ -50,6 +50,8 @@ __MINGW_USYMBOL(__intrinsic_setjmpex):
5050 movq %r15,0x48(%rcx) /* jmp_buf->R15 */
5151 movq (%rsp),%rax
5252 movq %rax,0x50(%rcx) /* jmp_buf->Rip */
53 stmxcsr 0x58(%rcx) /* jmp_buf->MxCsr */
54 fnstcw 0x5c(%rcx) /* jmp_buf->FpCsr */
5355 movdqa %xmm6,0x60(%rcx) /* jmp_buf->Xmm6 */
5456 movdqa %xmm7,0x70(%rcx) /* jmp_buf->Xmm7 */
5557 movdqa %xmm8,0x80(%rcx) /* jmp_buf->Xmm8 */
lib/libc/mingw/misc/strtold.c deleted-398
......@@ -1,398 +0,0 @@
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#include "math/cephes_emath.h"
8
9#if NE == 10
10/* 1.0E0 */
11static const unsigned short __eone[NE] = {
12 0x0000, 0x0000, 0x0000, 0x0000,
13 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x3fff,
14};
15#else
16static const unsigned short __eone[NE] = {
17 0, 0000000,0000000,0000000,0100000,0x3fff,
18};
19#endif
20
21#if NE == 10
22static const unsigned short __etens[NTEN + 1][NE] =
23{
24 {0x6576, 0x4a92, 0x804a, 0x153f,
25 0xc94c, 0x979a, 0x8a20, 0x5202, 0xc460, 0x7525,}, /* 10**4096 */
26 {0x6a32, 0xce52, 0x329a, 0x28ce,
27 0xa74d, 0x5de4, 0xc53d, 0x3b5d, 0x9e8b, 0x5a92,}, /* 10**2048 */
28 {0x526c, 0x50ce, 0xf18b, 0x3d28,
29 0x650d, 0x0c17, 0x8175, 0x7586, 0xc976, 0x4d48,},
30 {0x9c66, 0x58f8, 0xbc50, 0x5c54,
31 0xcc65, 0x91c6, 0xa60e, 0xa0ae, 0xe319, 0x46a3,},
32 {0x851e, 0xeab7, 0x98fe, 0x901b,
33 0xddbb, 0xde8d, 0x9df9, 0xebfb, 0xaa7e, 0x4351,},
34 {0x0235, 0x0137, 0x36b1, 0x336c,
35 0xc66f, 0x8cdf, 0x80e9, 0x47c9, 0x93ba, 0x41a8,},
36 {0x50f8, 0x25fb, 0xc76b, 0x6b71,
37 0x3cbf, 0xa6d5, 0xffcf, 0x1f49, 0xc278, 0x40d3,},
38 {0x0000, 0x0000, 0x0000, 0x0000,
39 0xf020, 0xb59d, 0x2b70, 0xada8, 0x9dc5, 0x4069,},
40 {0x0000, 0x0000, 0x0000, 0x0000,
41 0x0000, 0x0000, 0x0400, 0xc9bf, 0x8e1b, 0x4034,},
42 {0x0000, 0x0000, 0x0000, 0x0000,
43 0x0000, 0x0000, 0x0000, 0x2000, 0xbebc, 0x4019,},
44 {0x0000, 0x0000, 0x0000, 0x0000,
45 0x0000, 0x0000, 0x0000, 0x0000, 0x9c40, 0x400c,},
46 {0x0000, 0x0000, 0x0000, 0x0000,
47 0x0000, 0x0000, 0x0000, 0x0000, 0xc800, 0x4005,},
48 {0x0000, 0x0000, 0x0000, 0x0000,
49 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x4002,}, /* 10**1 */
50};
51#else
52static const unsigned short __etens[NTEN+1][NE] = {
53 {0xc94c,0x979a,0x8a20,0x5202,0xc460,0x7525,},/* 10**4096 */
54 {0xa74d,0x5de4,0xc53d,0x3b5d,0x9e8b,0x5a92,},/* 10**2048 */
55 {0x650d,0x0c17,0x8175,0x7586,0xc976,0x4d48,},
56 {0xcc65,0x91c6,0xa60e,0xa0ae,0xe319,0x46a3,},
57 {0xddbc,0xde8d,0x9df9,0xebfb,0xaa7e,0x4351,},
58 {0xc66f,0x8cdf,0x80e9,0x47c9,0x93ba,0x41a8,},
59 {0x3cbf,0xa6d5,0xffcf,0x1f49,0xc278,0x40d3,},
60 {0xf020,0xb59d,0x2b70,0xada8,0x9dc5,0x4069,},
61 {0x0000,0x0000,0x0400,0xc9bf,0x8e1b,0x4034,},
62 {0x0000,0x0000,0x0000,0x2000,0xbebc,0x4019,},
63 {0x0000,0x0000,0x0000,0x0000,0x9c40,0x400c,},
64 {0x0000,0x0000,0x0000,0x0000,0xc800,0x4005,},
65 {0x0000,0x0000,0x0000,0x0000,0xa000,0x4002,}, /* 10**1 */
66};
67#endif
68
69int __asctoe64(const char * __restrict__ ss, short unsigned int * __restrict__ y)
70{
71 unsigned short yy[NI], xt[NI], tt[NI];
72 int esign, decflg, nexp, expo, lost;
73 int k, c;
74 int valid_lead_string = 0;
75 int have_non_zero_mant = 0;
76 int prec = 0;
77 /* int trail = 0; */
78 int lexp;
79 unsigned short nsign = 0;
80 const unsigned short *p;
81 char *sp, *lstr;
82 char *s;
83
84 const char dec_sym = *(localeconv ()->decimal_point);
85
86 int lenldstr = 0;
87
88 /* Copy the input string. */
89 c = strlen (ss) + 2;
90 lstr = (char *) alloca (c);
91 s = (char *) ss;
92 while( isspace ((int)(unsigned char)*s)) /* skip leading spaces */
93 {
94 ++s;
95 ++lenldstr;
96 }
97 sp = lstr;
98 for (k = 0; k < c; k++)
99 {
100 if ((*sp++ = *s++) == '\0')
101 break;
102 }
103 *sp = '\0';
104 s = lstr;
105
106 if (*s == '-')
107 {
108 nsign = 0xffff;
109 ++s;
110 }
111 else if (*s == '+')
112 {
113 ++s;
114 }
115
116 if (_strnicmp("INF", s , 3) == 0)
117 {
118 valid_lead_string = 1;
119 s += 3;
120 if ( _strnicmp ("INITY", s, 5) == 0)
121 s += 5;
122 __ecleaz(yy);
123 yy[E] = 0x7fff; /* infinity */
124 goto aexit;
125 }
126 else if(_strnicmp ("NAN", s, 3) == 0)
127 {
128 valid_lead_string = 1;
129 s += 3;
130 __enan_NI16( yy );
131 goto aexit;
132 }
133
134 /* FIXME: Handle case of strtold ("NAN(n_char_seq)",endptr) */
135
136 /* Now get some digits. */
137 lost = 0;
138 decflg = 0;
139 nexp = 0;
140 expo = 0;
141 __ecleaz( yy );
142
143 /* Ignore leading zeros */
144 while (*s == '0')
145 {
146 valid_lead_string = 1;
147 s++;
148 }
149
150nxtcom:
151
152 k = *s - '0';
153 if ((k >= 0) && (k <= 9))
154 {
155#if 0
156/* The use of a special char as a flag for trailing zeroes causes problems when input
157 actually contains the char */
158/* Identify and strip trailing zeros after the decimal point. */
159 if ((trail == 0) && (decflg != 0))
160 {
161 sp = s;
162 while ((*sp >= '0') && (*sp <= '9'))
163 ++sp;
164 --sp;
165 while (*sp == '0')
166 {
167 *sp-- = (char)-1;
168 trail++;
169 }
170 if( *s == (char)-1 )
171 goto donchr;
172 }
173#endif
174
175/* If enough digits were given to more than fill up the yy register,
176 * continuing until overflow into the high guard word yy[2]
177 * guarantees that there will be a roundoff bit at the top
178 * of the low guard word after normalization.
179 */
180 if (yy[2] == 0)
181 {
182 if( decflg )
183 nexp += 1; /* count digits after decimal point */
184 __eshup1( yy ); /* multiply current number by 10 */
185 __emovz( yy, xt );
186 __eshup1( xt );
187 __eshup1( xt );
188 __eaddm( xt, yy );
189 __ecleaz( xt );
190 xt[NI-2] = (unsigned short )k;
191 __eaddm( xt, yy );
192 }
193 else
194 {
195 /* Mark any lost non-zero digit. */
196 lost |= k;
197 /* Count lost digits before the decimal point. */
198 if (decflg == 0)
199 nexp -= 1;
200 }
201 have_non_zero_mant |= k;
202 prec ++;
203 /* goto donchr; */
204 }
205 else if (*s == dec_sym)
206 {
207 if( decflg )
208 goto daldone;
209 ++decflg;
210 }
211 else if ((*s == 'E') || (*s == 'e') )
212 {
213 if (prec || valid_lead_string)
214 goto expnt;
215 else
216 goto daldone;
217 }
218#if 0
219 else if (*s == (char)-1)
220 goto donchr;
221#endif
222 else /* an invalid char */
223 goto daldone;
224
225 /* donchr: */
226 ++s;
227 goto nxtcom;
228
229/* Exponent interpretation */
230expnt:
231
232 esign = 1;
233 expo = 0;
234 /* Save position in case we need to fall back. */
235 sp = s;
236 ++s;
237 /* check for + or - */
238 if (*s == '-')
239 {
240 esign = -1;
241 ++s;
242 }
243 if (*s == '+')
244 ++s;
245
246 /* Check for valid exponent. */
247 if (!(*s >= '0' && *s <= '9'))
248 {
249 s = sp;
250 goto daldone;
251 }
252
253 while ((*s >= '0') && (*s <= '9'))
254 {
255 /* Stop modifying exp if we are going to overflow anyway,
256 but keep parsing the string. */
257 if (expo < 4978)
258 {
259 expo *= 10;
260 expo += *s - '0';
261 }
262 s++;
263 }
264
265 if (esign < 0)
266 expo = -expo;
267
268 if (expo > 4977) /* maybe overflow */
269 {
270 __ecleaz(yy);
271 if (have_non_zero_mant)
272 yy[E] = 0x7fff;
273 goto aexit;
274 }
275 else if (expo < -4977) /* underflow */
276 {
277 __ecleaz(yy);
278 goto aexit;
279 }
280
281daldone:
282
283 nexp = expo - nexp;
284
285 /* Pad trailing zeros to minimize power of 10, per IEEE spec. */
286 while ((nexp > 0) && (yy[2] == 0))
287 {
288 __emovz( yy, xt );
289 __eshup1( xt );
290 __eshup1( xt );
291 __eaddm( yy, xt );
292 __eshup1( xt );
293 if (xt[2] != 0)
294 break;
295 nexp -= 1;
296 __emovz( xt, yy );
297 }
298 if ((k = __enormlz(yy)) > NBITS)
299 {
300 __ecleaz(yy);
301 goto aexit;
302 }
303 lexp = (EXONE - 1 + NBITS) - k;
304 __emdnorm( yy, lost, 0, lexp, 64, NBITS );
305 /* convert to external format */
306
307 /* Multiply by 10**nexp. If precision is 64 bits,
308 * the maximum relative error incurred in forming 10**n
309 * for 0 <= n <= 324 is 8.2e-20, at 10**180.
310 * For 0 <= n <= 999, the peak relative error is 1.4e-19 at 10**947.
311 * For 0 >= n >= -999, it is -1.55e-19 at 10**-435.
312 */
313 lexp = yy[E];
314 if (nexp == 0)
315 {
316 k = 0;
317 goto expdon;
318 }
319 esign = 1;
320 if (nexp < 0)
321 {
322 nexp = -nexp;
323 esign = -1;
324 if (nexp > 4096)
325 { /* Punt. Can't handle this without 2 divides. */
326 __emovi( __etens[0], tt );
327 lexp -= tt[E];
328 k = __edivm( tt, yy );
329 lexp += EXONE;
330 nexp -= 4096;
331 }
332 }
333 p = &__etens[NTEN][0];
334 __emov( __eone, xt );
335 expo = 1;
336 do
337 {
338 if (expo & nexp)
339 __emul( p, xt, xt );
340 p -= NE;
341 expo = expo + expo;
342 }
343 while (expo <= MAXP);
344
345 __emovi( xt, tt );
346 if (esign < 0)
347 {
348 lexp -= tt[E];
349 k = __edivm( tt, yy );
350 lexp += EXONE;
351 }
352 else
353 {
354 lexp += tt[E];
355 k = __emulm( tt, yy );
356 lexp -= EXONE - 1;
357 }
358
359expdon:
360
361 /* Round and convert directly to the destination type */
362
363 __emdnorm( yy, k, 0, lexp, 64, 64 );
364
365aexit:
366
367 yy[0] = nsign;
368
369 __toe64( yy, y );
370
371 /* Check for overflow, undeflow */
372 if (have_non_zero_mant &&
373 (*((long double*) y) == 0.0L || isinf (*((long double*) y))))
374 errno = ERANGE;
375
376 if (prec || valid_lead_string)
377 return (lenldstr + (s - lstr));
378
379 return 0;
380}
381
382
383long double strtold (const char * __restrict__ s, char ** __restrict__ se)
384{
385 int lenldstr;
386 union
387 {
388 unsigned short int us[6];
389 long double ld;
390 } xx = {{0}};
391
392 lenldstr = __asctoe64( s, xx.us);
393 if (se)
394 *se = (char*)s + lenldstr;
395
396 return xx.ld;
397}
398
lib/libc/mingw/misc/wcstold.c+1-63
......@@ -3,72 +3,10 @@
33 * This file is part of the mingw-w64 runtime package.
44 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
55 */
6/* Wide char wrapper for strtold
7 * Revision history:
8 * 6 Nov 2002 Initial version.
9 * 25 Aug 2006 Don't use strtold internal functions.
10 *
11 * Contributor: Danny Smith <dannysmith@users.sourceforege.net>
12 */
13
14 /* This routine has been placed in the public domain.*/
156
16#ifndef WIN32_LEAN_AND_MEAN
17#define WIN32_LEAN_AND_MEAN
18#endif
19#include <windows.h>
20#include <locale.h>
21#include <wchar.h>
227#include <stdlib.h>
23#include <string.h>
24#include <mbstring.h>
25
26#include "mb_wc_common.h"
278
289long double wcstold (const wchar_t * __restrict__ wcs, wchar_t ** __restrict__ wcse)
2910{
30 char * cs;
31 char * cse;
32 unsigned int i;
33 long double ret;
34 const unsigned int cp = ___lc_codepage_func();
35
36 /* Allocate enough room for (possibly) mb chars */
37 cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX);
38
39 if (cp == 0) /* C locale */
40 {
41 for (i = 0; (wcs[i] != 0) && wcs[i] <= 255; i++)
42 cs[i] = (char) wcs[i];
43 cs[i] = '\0';
44 }
45 else
46 {
47 int nbytes = -1;
48 int mb_len = 0;
49 /* loop through till we hit null or invalid character */
50 for (i = 0; (wcs[i] != 0) && (nbytes != 0); i++)
51 {
52 nbytes = WideCharToMultiByte(cp, WC_COMPOSITECHECK | WC_SEPCHARS,
53 wcs + i, 1, cs + mb_len, MB_CUR_MAX,
54 NULL, NULL);
55 mb_len += nbytes;
56 }
57 cs[mb_len] = '\0';
58 }
59
60 ret = strtold (cs, &cse);
61
62 if (wcse)
63 {
64 /* Make sure temp mbstring has 0 at cse. */
65 *cse = '\0';
66 i = MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, cs, -1, NULL, 0);
67 if (i > 0)
68 i -= 1; /* Remove zero terminator from length. */
69 *wcse = (wchar_t *) wcs + i;
70 }
71 free (cs);
72
73 return ret;
11 return __mingw_wcstold(wcs, wcse);
7412}
lib/libc/mingw/secapi/vsprintf_s.c-5
......@@ -33,13 +33,8 @@ vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
3333 return _stub (_DstBuf, _Size, _Format, _ArgList);
3434}
3535
36#pragma clang diagnostic push
37#pragma clang diagnostic ignored "-Wimplicit-function-declaration"
38
3936static int __cdecl
4037_int_vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
4138{
4239 return __ms_vsnprintf (_DstBuf, _Size, _Format, _ArgList);
4340}
44
45#pragma clang diagnostic pop
lib/libc/mingw/stdio/mingw_pformat.c+987-899
......@@ -212,7 +212,7 @@ typedef enum
212212 PFORMAT_SET_PRECISION,
213213 PFORMAT_END
214214} __pformat_state_t;
215
215
216216typedef enum
217217{
218218 /* Argument length classification indices...
......@@ -289,8 +289,8 @@ typedef struct
289289 int precision;
290290 int rplen;
291291 wchar_t rpchr;
292 int thousands_chr_len;
293 wchar_t thousands_chr;
292 int thousands_chr_len;
293 wchar_t thousands_chr;
294294 int count;
295295 int quota;
296296 int expmin;
......@@ -787,7 +787,7 @@ while( value.__pformat_ullong_t )
787787 {
788788 /* decomposing it into its constituent decimal digits,
789789 * in order from least significant to most significant, using
790 * the local buffer as a LIFO queue in which to store them.
790 * the local buffer as a LIFO queue in which to store them.
791791 */
792792 if (p != buf && (stream->flags & PFORMAT_GROUPED) != 0 && stream->thousands_chr != 0
793793 && ((p - buf) % 4) == 3)
......@@ -833,7 +833,7 @@ while( value.__pformat_ullong_t )
833833 * to the left of the displayed value, with zeros.
834834 */
835835 while( stream->width-- > 0 )
836 *p++ = '0';
836 *p++ = '0';
837837
838838 else if( (stream->flags & PFORMAT_LJUSTIFY) == 0 )
839839 /*
......@@ -842,7 +842,7 @@ while( value.__pformat_ullong_t )
842842 * the value appears right justified within the output field.
843843 */
844844 while( stream->width-- > 0 )
845 __pformat_putc( '\x20', stream );
845 __pformat_putc( '\x20', stream );
846846 }
847847
848848 if( stream->flags & PFORMAT_NEGATIVE )
......@@ -943,7 +943,7 @@ void __pformat_xint( int fmt, __pformat_intarg_t value, __pformat_t *stream )
943943 */
944944 while( width-- > 0 )
945945 *p++ = '0';
946
946
947947 else if( (fmt == 'o') && (stream->flags & PFORMAT_HASHED) )
948948 /*
949949 * The field width specified for minimum `precision' has already
......@@ -1048,38 +1048,57 @@ typedef union
10481048 */
10491049#include "../gdtoa/gdtoa.h"
10501050
1051static
1052char *__pformat_cvt( int mode, __pformat_fpreg_t x, int nd, int *dp, int *sign )
1051static __pformat_fpreg_t init_fpreg_ldouble( long double val )
10531052{
1054 /* Helper function, derived from David M. Gay's `g_xfmt()', calling
1055 * his `__gdtoa()' function in a manner to provide extended precision
1056 * replacements for `ecvt()' and `fcvt()'.
1057 */
1058 int k; unsigned int e = 0; char *ep;
1059 static FPI fpi = { 64, 1-16383-64+1, 32766-16383-64+1, FPI_Round_near, 0, 14 /* Int_max */ };
1060
1053 __pformat_fpreg_t x;
1054 x.__pformat_fpreg_ldouble_t = val;
1055
10611056 if( sizeof( double ) == sizeof( long double ) )
10621057 {
1063 /* The caller has written into x.__pformat_fpreg_ldouble_t, which
1064 * actually isn't laid out in the way the rest of the union expects it.
1058 /* Here, __pformat_fpreg_t expects to be initialized with a 80 bit long
1059 * double, but this platform doesn't have long doubles that differ from
1060 * regular 64 bit doubles. Therefore manually convert the 64 bit float
1061 * value to an 80 bit float value.
10651062 */
10661063 int exp = (x.__pformat_fpreg_mantissa >> 52) & 0x7ff;
10671064 unsigned long long mant = x.__pformat_fpreg_mantissa & 0x000fffffffffffffULL;
1068 int integer = exp ? 1 : 0;
1065 int topbit = exp ? 1 : 0;
10691066 int signbit = x.__pformat_fpreg_mantissa >> 63;
10701067
1071 k = __fpclassify( x.__pformat_fpreg_double_t );
1072
10731068 if (exp == 0x7ff)
10741069 exp = 0x7fff;
10751070 else if (exp != 0)
10761071 exp = exp - 1023 + 16383;
1077 x.__pformat_fpreg_mantissa = (mant << 11) | ((unsigned long long)integer << 63);
1072 else if (mant != 0) {
1073 /* Denormal when stored as a 64 bit double, but becomes a normal when
1074 * converted to 80 bit long double form. */
1075 exp = 1 - 1023 + 16383;
1076 while (!(mant & 0x0010000000000000ULL)) {
1077 /* Normalize the mantissa. */
1078 mant <<= 1;
1079 exp--;
1080 }
1081 topbit = 1; /* The top bit, which is implicit in the 64 bit form. */
1082 }
1083 x.__pformat_fpreg_mantissa = (mant << 11) | ((unsigned long long)topbit << 63);
10781084 x.__pformat_fpreg_exponent = exp | (signbit << 15);
10791085 }
1080 else
1081 k = __fpclassifyl( x.__pformat_fpreg_ldouble_t );
10821086
1087 return x;
1088}
1089
1090static
1091char *__pformat_cvt( int mode, long double val, int nd, int *dp, int *sign )
1092{
1093 /* Helper function, derived from David M. Gay's `g_xfmt()', calling
1094 * his `__gdtoa()' function in a manner to provide extended precision
1095 * replacements for `ecvt()' and `fcvt()'.
1096 */
1097 int k; unsigned int e = 0; char *ep;
1098 static FPI fpi = { 64, 1-16383-64+1, 32766-16383-64+1, FPI_Round_near, 0, 14 /* Int_max */ };
1099 __pformat_fpreg_t x = init_fpreg_ldouble( val );
1100
1101 k = __fpclassifyl( val );
10831102
10841103 /* Classify the argument into an appropriate `__gdtoa()' category...
10851104 */
......@@ -1130,8 +1149,7 @@ char *__pformat_ecvt( long double x, int precision, int *dp, int *sign )
11301149 /* A convenience wrapper for the above...
11311150 * it emulates `ecvt()', but takes a `long double' argument.
11321151 */
1133 __pformat_fpreg_t z; z.__pformat_fpreg_ldouble_t = x;
1134 return __pformat_cvt( 2, z, precision, dp, sign );
1152 return __pformat_cvt( 2, x, precision, dp, sign );
11351153}
11361154
11371155static
......@@ -1140,8 +1158,7 @@ char *__pformat_fcvt( long double x, int precision, int *dp, int *sign )
11401158 /* A convenience wrapper for the above...
11411159 * it emulates `fcvt()', but takes a `long double' argument.
11421160 */
1143 __pformat_fpreg_t z; z.__pformat_fpreg_ldouble_t = x;
1144 return __pformat_cvt( 3, z, precision, dp, sign );
1161 return __pformat_cvt( 3, x, precision, dp, sign );
11451162}
11461163
11471164/* The following are required, to clean up the `__gdtoa()' memory pool,
......@@ -1218,7 +1235,7 @@ void __pformat_emit_radix_point( __pformat_t *stream )
12181235 * establish a multibyte to `wchar_t' converter...
12191236 */
12201237 int len; wchar_t rpchr; mbstate_t state;
1221
1238
12221239 /* Initialise the conversion state...
12231240 */
12241241 memset( &state, 0, sizeof( state ) );
......@@ -1259,7 +1276,7 @@ void __pformat_emit_radix_point( __pformat_t *stream )
12591276 */
12601277 char *p = buf;
12611278 while( len-- > 0 )
1262 __pformat_putc( *p++, stream );
1279 __pformat_putc( *p++, stream );
12631280 }
12641281
12651282 else
......@@ -1290,7 +1307,7 @@ void __pformat_emit_numeric_value( int c, __pformat_t *stream )
12901307 {
12911308 wchar_t wcs;
12921309 if ((wcs = stream->thousands_chr) != 0)
1293 __pformat_wputchars (&wcs, 1, stream);
1310 __pformat_wputchars (&wcs, 1, stream);
12941311 }
12951312 else
12961313 /* and passing all other characters through, unmodified.
......@@ -1468,8 +1485,8 @@ void __pformat_emit_float( int sign, char *value, int len, __pformat_t *stream )
14681485 __pformat_putc( *value ? *value++ : '0', stream);
14691486 --len;
14701487 if (len != 0 && (stream->flags & PFORMAT_GROUPED) != 0 && stream->thousands_chr != 0
1471 && (len % 3) == 0)
1472 __pformat_wputchars (&stream->thousands_chr, 1, stream);
1488 && (len % 3) == 0)
1489 __pformat_wputchars (&stream->thousands_chr, 1, stream);
14731490 }
14741491 while (len > 0);
14751492 }
......@@ -1539,7 +1556,7 @@ void __pformat_emit_efloat( int sign, char *value, int e, __pformat_t *stream )
15391556 */
15401557 if( stream->width > (exp_width += 2) )
15411558 stream->width -= exp_width;
1542
1559
15431560 else
15441561 /* ignoring the field width specification, if insufficient.
15451562 */
......@@ -1587,7 +1604,7 @@ void __pformat_float( long double x, __pformat_t *stream )
15871604 * output in fixed point format.
15881605 */
15891606 int sign, intlen; char *value;
1590
1607
15911608 /* Establish the precision for the displayed value, defaulting to six
15921609 * digits following the decimal point, if not explicitly specified.
15931610 */
......@@ -1847,7 +1864,7 @@ void __pformat_efloat( long double x, __pformat_t *stream )
18471864 * output in floating point format.
18481865 */
18491866 int sign, intlen; char *value;
1850
1867
18511868 /* Establish the precision for the displayed value, defaulting to six
18521869 * digits following the decimal point, if not explicitly specified.
18531870 */
......@@ -1885,7 +1902,7 @@ void __pformat_gfloat( long double x, __pformat_t *stream )
18851902 * fixed or floating point format.
18861903 */
18871904 int sign, intlen; char *value;
1888
1905
18891906 /* Establish the precision for the displayed value, defaulting to
18901907 * six significant digits, if not explicitly specified...
18911908 */
......@@ -1923,7 +1940,7 @@ void __pformat_gfloat( long double x, __pformat_t *stream )
19231940 * the balance following it...
19241941 */
19251942 stream->precision -= intlen;
1926
1943
19271944 else
19281945 /* The `#' flag is not in effect...
19291946 * Here we adjust the precision to accommodate all digits which
......@@ -1932,12 +1949,12 @@ void __pformat_gfloat( long double x, __pformat_t *stream )
19321949 */
19331950 if( ((stream->precision = strlen( value ) - intlen) < 0)
19341951 /*
1935 * This may require a compensating adjustment to the field
1936 * width, to accommodate significant trailing zeros, which
1937 * precede the radix point...
1938 */
1952 * This may require a compensating adjustment to the field
1953 * width, to accommodate significant trailing zeros, which
1954 * precede the radix point...
1955 */
19391956 && (stream->width > 0) )
1940 stream->width += stream->precision;
1957 stream->width += stream->precision;
19411958
19421959 /* Now, we format the result as any other fixed point value.
19431960 */
......@@ -1996,6 +2013,17 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
19962013 char buf[18 + 6], *p = buf;
19972014 __pformat_intarg_t exponent; short exp_width = 2;
19982015
2016 if (value.__pformat_fpreg_mantissa != 0 ||
2017 value.__pformat_fpreg_exponent != 0)
2018 {
2019 /* Reduce the exponent since the leading digit emited will start at
2020 * the 4th bit from the highest order bit instead, the later being
2021 * the leading digit of the floating point. Don't do this adjustment
2022 * if the value is an actual zero.
2023 */
2024 value.__pformat_fpreg_exponent -= 3;
2025 }
2026
19992027 /* The mantissa field of the argument value representation can
20002028 * accommodate at most 16 hexadecimal digits, of which one will
20012029 * be placed before the radix point, leaving at most 15 digits
......@@ -2010,15 +2038,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
20102038 * for exactly one digit discarded, shifting 4 bits per
20112039 * digit, with up to 14 additional digits, to consume the
20122040 * full availability of 15 precision digits).
2013 *
2014 * However, before we perform the rounding operation, we
2015 * normalise the mantissa, shifting it to the left by as many
2016 * bit positions may be necessary, until its highest order bit
2017 * is set, thus preserving the maximum number of bits in the
2018 * rounded result as possible.
2019 */
2020 while( value.__pformat_fpreg_mantissa < (LLONG_MAX + 1ULL) )
2021 value.__pformat_fpreg_mantissa <<= 1;
2041 */
20222042
20232043 /* We then shift the mantissa one bit position back to the
20242044 * right, to guard against possible overflow when the rounding
......@@ -2041,11 +2061,15 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
20412061 value.__pformat_fpreg_mantissa <<= 1;
20422062
20432063 else
2064 {
20442065 /* Otherwise the rounding adjustment would have overflowed,
20452066 * so the carry has already filled the vacated bit; the effect
2046 * of this is equivalent to an increment of the exponent.
2067 * of this is equivalent to an increment of the exponent. We will
2068 * discard a whole digit to match glibc's behavior.
20472069 */
2048 value.__pformat_fpreg_exponent++;
2070 value.__pformat_fpreg_exponent += 4;
2071 value.__pformat_fpreg_mantissa >>= 3;
2072 }
20492073
20502074 /* We now complete the rounding to the required precision, by
20512075 * shifting the unwanted digits out, from the right hand end of
......@@ -2054,71 +2078,63 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
20542078 value.__pformat_fpreg_mantissa >>= 4 * (15 - stream->precision);
20552079 }
20562080
2057 /* Encode the significant digits of the mantissa in hexadecimal
2058 * ASCII notation, ready for transfer to the output stream...
2081 /* Don't print anything if mantissa is zero unless we have to satisfy
2082 * desired precision.
20592083 */
2060 while( value.__pformat_fpreg_mantissa )
2084 if( value.__pformat_fpreg_mantissa || stream->precision > 0 )
20612085 {
2062 /* taking the rightmost digit in each pass...
2086 /* Encode the significant digits of the mantissa in hexadecimal
2087 * ASCII notation, ready for transfer to the output stream...
20632088 */
2064 unsigned c = value.__pformat_fpreg_mantissa & 0xF;
2065 if( c == value.__pformat_fpreg_mantissa)
2089 for( int i=stream->precision >= 15 || stream->precision < 0 ? 16 : stream->precision + 1; i>0; --i )
20662090 {
2067 /* inserting the radix point, when we reach the last,
2068 * (i.e. the most significant digit), unless we found no
2069 * less significant digits, with no mandatory radix point
2070 * inclusion, and no additional required precision...
2091 /* taking the rightmost digit in each pass...
20712092 */
2072 if( (p > buf)
2073 || (stream->flags & PFORMAT_HASHED) || (stream->precision > 0) )
2093 unsigned c = value.__pformat_fpreg_mantissa & 0xF;
2094 if( i == 1 )
20742095 {
2075 /*
2076 * Internally, we represent the radix point as an ASCII '.';
2077 * we will replace it with any locale specific alternative,
2078 * at the time of transfer to the ultimate destination.
2079 */
2080 *p++ = '.';
2096 /* inserting the radix point, when we reach the last,
2097 * (i.e. the most significant digit), unless we found no
2098 * less significant digits, with no mandatory radix point
2099 * inclusion, and no additional required precision...
2100 */
2101 if( (p > buf)
2102 || (stream->flags & PFORMAT_HASHED) || (stream->precision > 0) )
2103 {
2104 /*
2105 * Internally, we represent the radix point as an ASCII '.';
2106 * we will replace it with any locale specific alternative,
2107 * at the time of transfer to the ultimate destination.
2108 */
2109 *p++ = '.';
2110 }
20812111 }
20822112
2083 /* If the most significant hexadecimal digit of the encoded
2084 * output value is greater than one, then the indicated value
2085 * will appear too large, by an additional binary exponent
2086 * corresponding to the number of higher order bit positions
2087 * which it occupies...
2088 */
2089 while( value.__pformat_fpreg_mantissa > 1 )
2113 else if( stream->precision > 0 )
2114 /*
2115 * we have not yet fulfilled the desired precision,
2116 * and we have not yet found the most significant digit,
2117 * so account for the current digit, within the field
2118 * width required to meet the specified precision.
2119 */
2120 stream->precision--;
2121
2122 if( (c > 0) || (p > buf) || (stream->precision >= 0) )
20902123 {
2091 /* so reduce the exponent value to compensate...
2092 */
2093 value.__pformat_fpreg_exponent--;
2094 value.__pformat_fpreg_mantissa >>= 1;
2124 /*
2125 * Ignoring insignificant trailing zeros, (unless required to
2126 * satisfy specified precision), store the current encoded digit
2127 * into the pending output buffer, in LIFO order, and using the
2128 * appropriate case for digits in the `A'..`F' range.
2129 */
2130 *p++ = c > 9 ? (c - 10 + 'A') | (stream->flags & PFORMAT_XCASE) : c + '0';
20952131 }
2096 }
2097
2098 else if( stream->precision > 0 )
2099 /*
2100 * we have not yet fulfilled the desired precision,
2101 * and we have not yet found the most significant digit,
2102 * so account for the current digit, within the field
2103 * width required to meet the specified precision.
2104 */
2105 stream->precision--;
2106
2107 if( (c > 0) || (p > buf) || (stream->precision >= 0) )
2108 {
2109 /*
2110 * Ignoring insignificant trailing zeros, (unless required to
2111 * satisfy specified precision), store the current encoded digit
2112 * into the pending output buffer, in LIFO order, and using the
2113 * appropriate case for digits in the `A'..`F' range.
2132 /* Shift out the current digit, (4-bit logical shift right),
2133 * to align the next more significant digit to be extracted,
2134 * and encoded in the next pass.
21142135 */
2115 *p++ = c > 9 ? (c - 10 + 'A') | (stream->flags & PFORMAT_XCASE) : c + '0';
2136 value.__pformat_fpreg_mantissa >>= 4;
21162137 }
2117 /* Shift out the current digit, (4-bit logical shift right),
2118 * to align the next more significant digit to be extracted,
2119 * and encoded in the next pass.
2120 */
2121 value.__pformat_fpreg_mantissa >>= 4;
21222138 }
21232139
21242140 if( p == buf )
......@@ -2169,7 +2185,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
21692185 min_width++;
21702186 exp_width++;
21712187 }
2172
2188
21732189 if( stream->width > min_width )
21742190 {
21752191 /* When specified field width exceeds the minimum required,
......@@ -2180,8 +2196,8 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
21802196 /* and then emit any required left side padding spaces.
21812197 */
21822198 if( (stream->flags & PFORMAT_JUSTIFY) == 0 )
2183 while( stream->width-- > 0 )
2184 __pformat_putc( '\x20', stream );
2199 while( stream->width-- > 0 )
2200 __pformat_putc( '\x20', stream );
21852201 }
21862202
21872203 else
......@@ -2215,7 +2231,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
22152231 */
22162232 __pformat_putc( '0', stream );
22172233 __pformat_putc( 'X' | (stream->flags & PFORMAT_XCASE), stream );
2218
2234
22192235 /* If the `0' flag is in effect...
22202236 * Zero padding, to fill out the field, goes here...
22212237 */
......@@ -2259,7 +2275,69 @@ void __pformat_xldouble( long double x, __pformat_t *stream )
22592275 * value specified as `long double' type).
22602276 */
22612277 unsigned sign_bit = 0;
2262 __pformat_fpreg_t z; z.__pformat_fpreg_ldouble_t = x;
2278 __pformat_fpreg_t z = init_fpreg_ldouble( x );
2279
2280 /* First check for NaN; it is emitted unsigned...
2281 */
2282 if( isnan( x ) )
2283 __pformat_emit_inf_or_nan( sign_bit, "NaN", stream );
2284
2285 else
2286 { /* Capture the sign bit up-front, so we can show it correctly
2287 * even when the argument value is zero or infinite.
2288 */
2289 if( (sign_bit = (z.__pformat_fpreg_exponent & 0x8000)) != 0 )
2290 stream->flags |= PFORMAT_NEGATIVE;
2291
2292 /* Check for infinity, (positive or negative)...
2293 */
2294 if( isinf( x ) )
2295 /*
2296 * displaying the appropriately signed indicator,
2297 * when appropriate.
2298 */
2299 __pformat_emit_inf_or_nan( sign_bit, "Inf", stream );
2300
2301 else
2302 { /* The argument value is a representable number...
2303 * extract the effective value of the biased exponent...
2304 */
2305 z.__pformat_fpreg_exponent &= 0x7FFF;
2306 if( z.__pformat_fpreg_exponent == 0 )
2307 {
2308 /* A biased exponent value of zero means either a
2309 * true zero value, if the mantissa field also has
2310 * a zero value, otherwise...
2311 */
2312 if( z.__pformat_fpreg_mantissa != 0 )
2313 {
2314 /* ...this mantissa represents a subnormal value.
2315 */
2316 z.__pformat_fpreg_exponent = 1 - 0x3FFF;
2317 }
2318 }
2319 else
2320 /* This argument represents a non-zero normal number;
2321 * eliminate the bias from the exponent...
2322 */
2323 z.__pformat_fpreg_exponent -= 0x3FFF;
2324
2325 /* Finally, hand the adjusted representation off to the
2326 * generalised hexadecimal floating point format handler...
2327 */
2328 __pformat_emit_xfloat( z, stream );
2329 }
2330 }
2331}
2332
2333static
2334void __pformat_xdouble( double x, __pformat_t *stream )
2335{
2336 /* Handler for `%la' and `%lA' format specifiers, (with argument
2337 * value specified as `double' type).
2338 */
2339 unsigned sign_bit = 0;
2340 __pformat_fpreg_t z = init_fpreg_ldouble( (long double)x );
22632341
22642342 /* First check for NaN; it is emitted unsigned...
22652343 */
......@@ -2287,31 +2365,40 @@ void __pformat_xldouble( long double x, __pformat_t *stream )
22872365 * extract the effective value of the biased exponent...
22882366 */
22892367 z.__pformat_fpreg_exponent &= 0x7FFF;
2368
2369 /* If the double value was a denormalized number, it might have been renormalized by
2370 * the conversion to long double. We will redenormalize it.
2371 */
2372 if( z.__pformat_fpreg_exponent != 0 && z.__pformat_fpreg_exponent <= (0x3FFF - 0x3FF) )
2373 {
2374 int shifted = (0x3FFF - 0x3FF) - z.__pformat_fpreg_exponent + 1;
2375 z.__pformat_fpreg_mantissa >>= shifted;
2376 z.__pformat_fpreg_exponent += shifted;
2377 }
2378
22902379 if( z.__pformat_fpreg_exponent == 0 )
22912380 {
2292 /* A biased exponent value of zero means either a
2293 * true zero value, if the mantissa field also has
2294 * a zero value, otherwise...
2295 */
2296 if( z.__pformat_fpreg_mantissa != 0 )
2297 {
2298 /* ...this mantissa represents a subnormal value;
2299 * adjust the exponent, while shifting the mantissa
2300 * to the left, until its leading bit is 1.
2301 */
2302 z.__pformat_fpreg_exponent = 1-0x3FFF;
2303 while( (z.__pformat_fpreg_mantissa & (LLONG_MAX + 1ULL)) == 0 )
2304 {
2305 z.__pformat_fpreg_mantissa <<= 1;
2306 --z.__pformat_fpreg_exponent;
2307 }
2308 }
2381 /* A biased exponent value of zero means either a
2382 * true zero value, if the mantissa field also has
2383 * a zero value, otherwise...
2384 */
2385 if( z.__pformat_fpreg_mantissa != 0 )
2386 {
2387 /* ...this mantissa represents a subnormal value.
2388 */
2389 z.__pformat_fpreg_exponent = 1 - 0x3FF + 3;
2390 }
23092391 }
23102392 else
2311 /* This argument represents a non-zero normal number;
2312 * eliminate the bias from the exponent...
2313 */
2314 z.__pformat_fpreg_exponent -= 0x3FFF;
2393 /* This argument represents a non-zero normal number;
2394 * eliminate the bias from the exponent...
2395 */
2396 z.__pformat_fpreg_exponent -= 0x3FFF - 3;
2397
2398 /* Shift the mantissa so the leading 4 bits digit is 0 or 1.
2399 * The exponent was also adjusted by 3 previously.
2400 */
2401 z.__pformat_fpreg_mantissa >>= 3;
23152402
23162403 /* Finally, hand the adjusted representation off to the
23172404 * generalised hexadecimal floating point format handler...
......@@ -2332,17 +2419,17 @@ __pformat (int flags, void *dest, int max, const APICHAR *fmt, va_list argv)
23322419 /* Create and initialise a format control block
23332420 * for this output request.
23342421 */
2335 dest, /* output goes to here */
2336 flags &= PFORMAT_TO_FILE | PFORMAT_NOLIMIT, /* only these valid initially */
2337 PFORMAT_IGNORE, /* no field width yet */
2338 PFORMAT_IGNORE, /* nor any precision spec */
2339 PFORMAT_RPINIT, /* radix point uninitialised */
2340 (wchar_t)(0), /* leave it unspecified */
2422 dest, /* output goes to here */
2423 flags &= PFORMAT_TO_FILE | PFORMAT_NOLIMIT, /* only these valid initially */
2424 PFORMAT_IGNORE, /* no field width yet */
2425 PFORMAT_IGNORE, /* nor any precision spec */
2426 PFORMAT_RPINIT, /* radix point uninitialised */
2427 (wchar_t)(0), /* leave it unspecified */
23412428 0,
2342 (wchar_t)(0), /* leave it unspecified */
2343 0, /* zero output char count */
2344 max, /* establish output limit */
2345 -1 /* exponent chars preferred;
2429 (wchar_t)(0), /* leave it unspecified */
2430 0, /* zero output char count */
2431 max, /* establish output limit */
2432 -1 /* exponent chars preferred;
23462433 -1 means to be determined. */
23472434 };
23482435
......@@ -2390,793 +2477,794 @@ __pformat (int flags, void *dest, int max, const APICHAR *fmt, va_list argv)
23902477
23912478 while( *fmt )
23922479 {
2393 switch( c = *fmt++ )
2394 {
2395 /* Data type specifiers...
2396 * All are terminal, so exit the conversion spec parsing loop
2397 * with a `goto format_scan', thus resuming at the outer level
2398 * in the regular format string parser.
2399 */
2400 case '%':
2401 /*
2402 * Not strictly a data type specifier...
2403 * it simply converts as a literal `%' character.
2404 *
2405 * FIXME: should we require this to IMMEDIATELY follow the
2406 * initial `%' of the "conversion spec"? (glibc `printf()'
2407 * on GNU/Linux does NOT appear to require this, but POSIX
2408 * and SUSv3 do seem to demand it).
2409 */
2480 switch( c = *fmt++ )
2481 {
2482 /* Data type specifiers...
2483 * All are terminal, so exit the conversion spec parsing loop
2484 * with a `goto format_scan', thus resuming at the outer level
2485 * in the regular format string parser.
2486 */
2487 case '%':
2488 /*
2489 * Not strictly a data type specifier...
2490 * it simply converts as a literal `%' character.
2491 *
2492 * FIXME: should we require this to IMMEDIATELY follow the
2493 * initial `%' of the "conversion spec"? (glibc `printf()'
2494 * on GNU/Linux does NOT appear to require this, but POSIX
2495 * and SUSv3 do seem to demand it).
2496 */
24102497 #ifndef __BUILD_WIDEAPI
2411 __pformat_putc( c, &stream );
2498 __pformat_putc( c, &stream );
24122499 #else
24132500 stream.width = stream.precision = PFORMAT_IGNORE;
24142501 __pformat_wputchars( L"%", 1, &stream );
24152502 #endif
2416 goto format_scan;
2417
2418 case 'C':
2419 /*
2420 * Equivalent to `%lc'; set `length' accordingly,
2421 * and simply fall through.
2422 */
2423 length = PFORMAT_LENGTH_LONG;
2424
2425 case 'c':
2426 /*
2427 * Single, (or single multibyte), character output...
2428 *
2429 * We handle these by copying the argument into our local
2430 * `argval' buffer, and then we pass the address of that to
2431 * either `__pformat_putchars()' or `__pformat_wputchars()',
2432 * as appropriate, effectively formatting it as a string of
2433 * the appropriate type, with a length of one.
2434 *
2435 * A side effect of this method of handling character data
2436 * is that, if the user sets a precision of zero, then no
2437 * character is actually emitted; we don't want that, so we
2438 * forcibly override any user specified precision.
2439 */
2440 stream.precision = PFORMAT_IGNORE;
2441
2442 /* Now we invoke the appropriate format handler...
2443 */
2444 if( (length == PFORMAT_LENGTH_LONG)
2445 || (length == PFORMAT_LENGTH_LLONG) )
2446 {
2447 /* considering any `long' type modifier as a reference to
2448 * `wchar_t' data, (which is promoted to an `int' argument)...
2449 */
2450 wchar_t iargval = (wchar_t)(va_arg( argv, int ));
2451 __pformat_wputchars( &iargval, 1, &stream );
2452 }
2453 else
2454 { /* while anything else is simply taken as `char', (which
2455 * is also promoted to an `int' argument)...
2456 */
2457 argval.__pformat_uchar_t = (unsigned char)(va_arg( argv, int ));
2458 __pformat_putchars( (char *)(&argval), 1, &stream );
2459 }
2460 goto format_scan;
2461
2462 case 'S':
2463 /*
2464 * Equivalent to `%ls'; set `length' accordingly,
2465 * and simply fall through.
2466 */
2467 length = PFORMAT_LENGTH_LONG;
2468
2469 case 's':
2470 if( (length == PFORMAT_LENGTH_LONG)
2471 || (length == PFORMAT_LENGTH_LLONG))
2472 {
2473 /* considering any `long' type modifier as a reference to
2474 * a `wchar_t' string...
2475 */
2476 __pformat_wcputs( va_arg( argv, wchar_t * ), &stream );
2477 }
2478 else
2479 /* This is normal string output;
2480 * we simply invoke the appropriate handler...
2481 */
2482 __pformat_puts( va_arg( argv, char * ), &stream );
2483 goto format_scan;
2484 case 'm': /* strerror (errno) */
2485 __pformat_puts (strerror (saved_errno), &stream);
2486 goto format_scan;
2487
2488 case 'o':
2489 case 'u':
2490 case 'x':
2491 case 'X':
2492 /*
2493 * Unsigned integer values; octal, decimal or hexadecimal format...
2494 */
2503 goto format_scan;
2504
2505 case 'C':
2506 /*
2507 * Equivalent to `%lc'; set `length' accordingly,
2508 * and simply fall through.
2509 */
2510 length = PFORMAT_LENGTH_LONG;
2511
2512 case 'c':
2513 /*
2514 * Single, (or single multibyte), character output...
2515 *
2516 * We handle these by copying the argument into our local
2517 * `argval' buffer, and then we pass the address of that to
2518 * either `__pformat_putchars()' or `__pformat_wputchars()',
2519 * as appropriate, effectively formatting it as a string of
2520 * the appropriate type, with a length of one.
2521 *
2522 * A side effect of this method of handling character data
2523 * is that, if the user sets a precision of zero, then no
2524 * character is actually emitted; we don't want that, so we
2525 * forcibly override any user specified precision.
2526 */
2527 stream.precision = PFORMAT_IGNORE;
2528
2529 /* Now we invoke the appropriate format handler...
2530 */
2531 if( (length == PFORMAT_LENGTH_LONG)
2532 || (length == PFORMAT_LENGTH_LLONG) )
2533 {
2534 /* considering any `long' type modifier as a reference to
2535 * `wchar_t' data, (which is promoted to an `int' argument)...
2536 */
2537 wchar_t iargval = (wchar_t)(va_arg( argv, int ));
2538 __pformat_wputchars( &iargval, 1, &stream );
2539 }
2540 else
2541 { /* while anything else is simply taken as `char', (which
2542 * is also promoted to an `int' argument)...
2543 */
2544 argval.__pformat_uchar_t = (unsigned char)(va_arg( argv, int ));
2545 __pformat_putchars( (char *)(&argval), 1, &stream );
2546 }
2547 goto format_scan;
2548
2549 case 'S':
2550 /*
2551 * Equivalent to `%ls'; set `length' accordingly,
2552 * and simply fall through.
2553 */
2554 length = PFORMAT_LENGTH_LONG;
2555
2556 case 's':
2557 if( (length == PFORMAT_LENGTH_LONG)
2558 || (length == PFORMAT_LENGTH_LLONG))
2559 {
2560 /* considering any `long' type modifier as a reference to
2561 * a `wchar_t' string...
2562 */
2563 __pformat_wcputs( va_arg( argv, wchar_t * ), &stream );
2564 }
2565 else
2566 /* This is normal string output;
2567 * we simply invoke the appropriate handler...
2568 */
2569 __pformat_puts( va_arg( argv, char * ), &stream );
2570 goto format_scan;
2571 case 'm': /* strerror (errno) */
2572 __pformat_puts (strerror (saved_errno), &stream);
2573 goto format_scan;
2574
2575 case 'o':
2576 case 'u':
2577 case 'x':
2578 case 'X':
2579 /*
2580 * Unsigned integer values; octal, decimal or hexadecimal format...
2581 */
2582 stream.flags &= ~PFORMAT_POSITIVE;
24952583#if __ENABLE_PRINTF128
24962584 argval.__pformat_u128_t.t128.digits[1] = 0LL; /* no sign extend needed */
2497 if( length == PFORMAT_LENGTH_LLONG128 )
2498 argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
2499 else
2585 if( length == PFORMAT_LENGTH_LLONG128 )
2586 argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
2587 else
25002588#endif
25012589 if( length == PFORMAT_LENGTH_LLONG ) {
2502 /*
2503 * with an `unsigned long long' argument, which we
2504 * process `as is'...
2505 */
2506 argval.__pformat_ullong_t = va_arg( argv, unsigned long long );
2507
2508 } else if( length == PFORMAT_LENGTH_LONG ) {
2509 /*
2510 * or with an `unsigned long', which we promote to
2511 * `unsigned long long'...
2512 */
2513 argval.__pformat_ullong_t = va_arg( argv, unsigned long );
2514
2515 } else
2516 { /* or for any other size, which will have been promoted
2517 * to `unsigned int', we select only the appropriately sized
2518 * least significant segment, and again promote to the same
2519 * size as `unsigned long long'...
2520 */
2521 argval.__pformat_ullong_t = va_arg( argv, unsigned int );
2522 if( length == PFORMAT_LENGTH_SHORT )
2523 /*
2524 * from `unsigned short'...
2525 */
2526 argval.__pformat_ullong_t = argval.__pformat_ushort_t;
2527
2528 else if( length == PFORMAT_LENGTH_CHAR )
2529 /*
2530 * or even from `unsigned char'...
2531 */
2532 argval.__pformat_ullong_t = argval.__pformat_uchar_t;
2533 }
2534
2535 /* so we can pass any size of argument to either of two
2536 * common format handlers...
2537 */
2538 if( c == 'u' )
2539 /*
2540 * depending on whether output is to be encoded in
2541 * decimal format...
2542 */
2543 __pformat_int( argval, &stream );
2544
2545 else
2546 /* or in octal or hexadecimal format...
2547 */
2548 __pformat_xint( c, argval, &stream );
2549
2550 goto format_scan;
2551
2552 case 'd':
2553 case 'i':
2554 /*
2555 * Signed integer values; decimal format...
2556 * This is similar to `u', but must process `argval' as signed,
2557 * and be prepared to handle negative numbers.
2558 */
2559 stream.flags |= PFORMAT_NEGATIVE;
2590 /*
2591 * with an `unsigned long long' argument, which we
2592 * process `as is'...
2593 */
2594 argval.__pformat_ullong_t = va_arg( argv, unsigned long long );
2595
2596 } else if( length == PFORMAT_LENGTH_LONG ) {
2597 /*
2598 * or with an `unsigned long', which we promote to
2599 * `unsigned long long'...
2600 */
2601 argval.__pformat_ullong_t = va_arg( argv, unsigned long );
2602
2603 } else
2604 { /* or for any other size, which will have been promoted
2605 * to `unsigned int', we select only the appropriately sized
2606 * least significant segment, and again promote to the same
2607 * size as `unsigned long long'...
2608 */
2609 argval.__pformat_ullong_t = va_arg( argv, unsigned int );
2610 if( length == PFORMAT_LENGTH_SHORT )
2611 /*
2612 * from `unsigned short'...
2613 */
2614 argval.__pformat_ullong_t = argval.__pformat_ushort_t;
2615
2616 else if( length == PFORMAT_LENGTH_CHAR )
2617 /*
2618 * or even from `unsigned char'...
2619 */
2620 argval.__pformat_ullong_t = argval.__pformat_uchar_t;
2621 }
2622
2623 /* so we can pass any size of argument to either of two
2624 * common format handlers...
2625 */
2626 if( c == 'u' )
2627 /*
2628 * depending on whether output is to be encoded in
2629 * decimal format...
2630 */
2631 __pformat_int( argval, &stream );
2632
2633 else
2634 /* or in octal or hexadecimal format...
2635 */
2636 __pformat_xint( c, argval, &stream );
2637
2638 goto format_scan;
2639
2640 case 'd':
2641 case 'i':
2642 /*
2643 * Signed integer values; decimal format...
2644 * This is similar to `u', but must process `argval' as signed,
2645 * and be prepared to handle negative numbers.
2646 */
2647 stream.flags |= PFORMAT_NEGATIVE;
25602648#if __ENABLE_PRINTF128
2561 if( length == PFORMAT_LENGTH_LLONG128 ) {
2562 argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
2649 if( length == PFORMAT_LENGTH_LLONG128 ) {
2650 argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
25632651 goto skip_sign; /* skip sign extend */
2564 } else
2652 } else
25652653#endif
2566 if( length == PFORMAT_LENGTH_LLONG ){
2567 /*
2568 * The argument is a `long long' type...
2569 */
2570 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long long );
2571 } else if( length == PFORMAT_LENGTH_LONG ) {
2572 /*
2573 * or here, a `long' type...
2574 */
2575 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long );
2576 } else
2577 { /* otherwise, it's an `int' type...
2578 */
2579 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, int );
2580 if( length == PFORMAT_LENGTH_SHORT )
2581 /*
2582 * but it was promoted from a `short' type...
2583 */
2584 argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_short_t;
2585 else if( length == PFORMAT_LENGTH_CHAR )
2586 /*
2587 * or even from a `char' type...
2588 */
2589 argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_char_t;
2590 }
2591
2592 /* In any case, all share a common handler...
2593 */
2654 if( length == PFORMAT_LENGTH_LLONG ){
2655 /*
2656 * The argument is a `long long' type...
2657 */
2658 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long long );
2659 } else if( length == PFORMAT_LENGTH_LONG ) {
2660 /*
2661 * or here, a `long' type...
2662 */
2663 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long );
2664 } else
2665 { /* otherwise, it's an `int' type...
2666 */
2667 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, int );
2668 if( length == PFORMAT_LENGTH_SHORT )
2669 /*
2670 * but it was promoted from a `short' type...
2671 */
2672 argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_short_t;
2673 else if( length == PFORMAT_LENGTH_CHAR )
2674 /*
2675 * or even from a `char' type...
2676 */
2677 argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_char_t;
2678 }
2679
2680 /* In any case, all share a common handler...
2681 */
25942682 argval.__pformat_u128_t.t128.digits[1] = (argval.__pformat_llong_t < 0) ? -1LL : 0LL;
25952683#if __ENABLE_PRINTF128
25962684 skip_sign:
25972685#endif
2598 __pformat_int( argval, &stream );
2599 goto format_scan;
2600
2601 case 'p':
2602 /*
2603 * Pointer argument; format as hexadecimal, subject to...
2604 */
2605 if( (state == PFORMAT_INIT) && (stream.flags == flags) )
2606 {
2607 /* Here, the user didn't specify any particular
2608 * formatting attributes. We must choose a default
2609 * which will be compatible with Microsoft's (broken)
2610 * scanf() implementation, (i.e. matching the default
2611 * used by MSVCRT's printf(), which appears to resemble
2612 * "%0.8X" for 32-bit pointers); in particular, we MUST
2613 * NOT adopt a GNU-like format resembling "%#x", because
2614 * Microsoft's scanf() will choke on the "0x" prefix.
2615 */
2616 stream.flags |= PFORMAT_ZEROFILL;
2617 stream.precision = 2 * sizeof( uintptr_t );
2618 }
2619 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, uintptr_t );
2620 argval.__pformat_u128_t.t128.digits[1] = 0;
2621 __pformat_xint( 'x', argval, &stream );
2622 goto format_scan;
2623
2624 case 'e':
2625 /*
2626 * Floating point format, with lower case exponent indicator
2627 * and lower case `inf' or `nan' representation when required;
2628 * select lower case mode, and simply fall through...
2629 */
2630 stream.flags |= PFORMAT_XCASE;
2631
2632 case 'E':
2633 /*
2634 * Floating point format, with upper case exponent indicator
2635 * and upper case `INF' or `NAN' representation when required,
2636 * (or lower case for all of these, on fall through from above);
2637 * select lower case mode, and simply fall through...
2638 */
2686 __pformat_int( argval, &stream );
2687 goto format_scan;
2688
2689 case 'p':
2690 /*
2691 * Pointer argument; format as hexadecimal, subject to...
2692 */
2693 if( (state == PFORMAT_INIT) && (stream.flags == flags) )
2694 {
2695 /* Here, the user didn't specify any particular
2696 * formatting attributes. We must choose a default
2697 * which will be compatible with Microsoft's (broken)
2698 * scanf() implementation, (i.e. matching the default
2699 * used by MSVCRT's printf(), which appears to resemble
2700 * "%0.8X" for 32-bit pointers); in particular, we MUST
2701 * NOT adopt a GNU-like format resembling "%#x", because
2702 * Microsoft's scanf() will choke on the "0x" prefix.
2703 */
2704 stream.flags |= PFORMAT_ZEROFILL;
2705 stream.precision = 2 * sizeof( uintptr_t );
2706 }
2707 argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, uintptr_t );
2708 argval.__pformat_u128_t.t128.digits[1] = 0;
2709 __pformat_xint( 'x', argval, &stream );
2710 goto format_scan;
2711
2712 case 'e':
2713 /*
2714 * Floating point format, with lower case exponent indicator
2715 * and lower case `inf' or `nan' representation when required;
2716 * select lower case mode, and simply fall through...
2717 */
2718 stream.flags |= PFORMAT_XCASE;
2719
2720 case 'E':
2721 /*
2722 * Floating point format, with upper case exponent indicator
2723 * and upper case `INF' or `NAN' representation when required,
2724 * (or lower case for all of these, on fall through from above);
2725 * select lower case mode, and simply fall through...
2726 */
26392727#ifdef __ENABLE_DFP
2640 if( stream.flags & PFORMAT_DECIM32 )
2641 /* Is a 32bit decimal float */
2642 __pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
2643 else if( stream.flags & PFORMAT_DECIM64 )
2644 /*
2645 * Is a 64bit decimal float
2646 */
2647 __pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
2648 else if( stream.flags & PFORMAT_DECIM128 )
2649 /*
2650 * Is a 128bit decimal float
2651 */
2652 __pformat_efloat_decimal(va_arg( argv, _Decimal128 ), &stream );
2653 else
2728 if( stream.flags & PFORMAT_DECIM32 )
2729 /* Is a 32bit decimal float */
2730 __pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
2731 else if( stream.flags & PFORMAT_DECIM64 )
2732 /*
2733 * Is a 64bit decimal float
2734 */
2735 __pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
2736 else if( stream.flags & PFORMAT_DECIM128 )
2737 /*
2738 * Is a 128bit decimal float
2739 */
2740 __pformat_efloat_decimal(va_arg( argv, _Decimal128 ), &stream );
2741 else
26542742#endif /* __ENABLE_DFP */
2655 if( stream.flags & PFORMAT_LDOUBLE )
2656 /*
2657 * for a `long double' argument...
2658 */
2659 __pformat_efloat( va_arg( argv, long double ), &stream );
2660
2661 else
2662 /* or just a `double', which we promote to `long double',
2663 * so the two may share a common format handler.
2664 */
2665 __pformat_efloat( (long double)(va_arg( argv, double )), &stream );
2666
2667 goto format_scan;
2668
2669 case 'f':
2670 /*
2671 * Fixed point format, using lower case for `inf' and
2672 * `nan', when appropriate; select lower case mode, and
2673 * simply fall through...
2674 */
2675 stream.flags |= PFORMAT_XCASE;
2676
2677 case 'F':
2678 /*
2679 * Fixed case format using upper case, or lower case on
2680 * fall through from above, for `INF' and `NAN'...
2681 */
2743 if( stream.flags & PFORMAT_LDOUBLE )
2744 /*
2745 * for a `long double' argument...
2746 */
2747 __pformat_efloat( va_arg( argv, long double ), &stream );
2748
2749 else
2750 /* or just a `double', which we promote to `long double',
2751 * so the two may share a common format handler.
2752 */
2753 __pformat_efloat( (long double)(va_arg( argv, double )), &stream );
2754
2755 goto format_scan;
2756
2757 case 'f':
2758 /*
2759 * Fixed point format, using lower case for `inf' and
2760 * `nan', when appropriate; select lower case mode, and
2761 * simply fall through...
2762 */
2763 stream.flags |= PFORMAT_XCASE;
2764
2765 case 'F':
2766 /*
2767 * Fixed case format using upper case, or lower case on
2768 * fall through from above, for `INF' and `NAN'...
2769 */
26822770#ifdef __ENABLE_DFP
2683 if( stream.flags & PFORMAT_DECIM32 )
2684 /* Is a 32bit decimal float */
2685 __pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
2686 else if( stream.flags & PFORMAT_DECIM64 )
2687 /*
2688 * Is a 64bit decimal float
2689 */
2690 __pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
2691 else if( stream.flags & PFORMAT_DECIM128 )
2692 /*
2693 * Is a 128bit decimal float
2694 */
2695 __pformat_float_decimal(va_arg( argv, _Decimal128 ), &stream );
2696 else
2771 if( stream.flags & PFORMAT_DECIM32 )
2772 /* Is a 32bit decimal float */
2773 __pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
2774 else if( stream.flags & PFORMAT_DECIM64 )
2775 /*
2776 * Is a 64bit decimal float
2777 */
2778 __pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
2779 else if( stream.flags & PFORMAT_DECIM128 )
2780 /*
2781 * Is a 128bit decimal float
2782 */
2783 __pformat_float_decimal(va_arg( argv, _Decimal128 ), &stream );
2784 else
26972785#endif /* __ENABLE_DFP */
2698 if( stream.flags & PFORMAT_LDOUBLE )
2699 /*
2700 * for a `long double' argument...
2701 */
2702 __pformat_float( va_arg( argv, long double ), &stream );
2703
2704 else
2705 /* or just a `double', which we promote to `long double',
2706 * so the two may share a common format handler.
2707 */
2708 __pformat_float( (long double)(va_arg( argv, double )), &stream );
2709
2710 goto format_scan;
2711
2712 case 'g':
2713 /*
2714 * Generalised floating point format, with lower case
2715 * exponent indicator when required; select lower case
2716 * mode, and simply fall through...
2717 */
2718 stream.flags |= PFORMAT_XCASE;
2719
2720 case 'G':
2721 /*
2722 * Generalised floating point format, with upper case,
2723 * or on fall through from above, with lower case exponent
2724 * indicator when required...
2725 */
2786 if( stream.flags & PFORMAT_LDOUBLE )
2787 /*
2788 * for a `long double' argument...
2789 */
2790 __pformat_float( va_arg( argv, long double ), &stream );
2791
2792 else
2793 /* or just a `double', which we promote to `long double',
2794 * so the two may share a common format handler.
2795 */
2796 __pformat_float( (long double)(va_arg( argv, double )), &stream );
2797
2798 goto format_scan;
2799
2800 case 'g':
2801 /*
2802 * Generalised floating point format, with lower case
2803 * exponent indicator when required; select lower case
2804 * mode, and simply fall through...
2805 */
2806 stream.flags |= PFORMAT_XCASE;
2807
2808 case 'G':
2809 /*
2810 * Generalised floating point format, with upper case,
2811 * or on fall through from above, with lower case exponent
2812 * indicator when required...
2813 */
27262814#ifdef __ENABLE_DFP
2727 if( stream.flags & PFORMAT_DECIM32 )
2728 /* Is a 32bit decimal float */
2729 __pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
2730 else if( stream.flags & PFORMAT_DECIM64 )
2731 /*
2732 * Is a 64bit decimal float
2733 */
2734 __pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
2735 else if( stream.flags & PFORMAT_DECIM128 )
2736 /*
2737 * Is a 128bit decimal float
2738 */
2739 __pformat_gfloat_decimal(va_arg( argv, _Decimal128 ), &stream );
2740 else
2815 if( stream.flags & PFORMAT_DECIM32 )
2816 /* Is a 32bit decimal float */
2817 __pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
2818 else if( stream.flags & PFORMAT_DECIM64 )
2819 /*
2820 * Is a 64bit decimal float
2821 */
2822 __pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
2823 else if( stream.flags & PFORMAT_DECIM128 )
2824 /*
2825 * Is a 128bit decimal float
2826 */
2827 __pformat_gfloat_decimal(va_arg( argv, _Decimal128 ), &stream );
2828 else
27412829#endif /* __ENABLE_DFP */
2742 if( stream.flags & PFORMAT_LDOUBLE )
2743 /*
2744 * for a `long double' argument...
2745 */
2746 __pformat_gfloat( va_arg( argv, long double ), &stream );
2747
2748 else
2749 /* or just a `double', which we promote to `long double',
2750 * so the two may share a common format handler.
2751 */
2752 __pformat_gfloat( (long double)(va_arg( argv, double )), &stream );
2753
2754 goto format_scan;
2755
2756 case 'a':
2757 /*
2758 * Hexadecimal floating point format, with lower case radix
2759 * and exponent indicators; select the lower case mode, and
2760 * fall through...
2761 */
2762 stream.flags |= PFORMAT_XCASE;
2763
2764 case 'A':
2765 /*
2766 * Hexadecimal floating point format; handles radix and
2767 * exponent indicators in either upper or lower case...
2768 */
2769 if( stream.flags & PFORMAT_LDOUBLE )
2770 /*
2771 * with a `long double' argument...
2772 */
2773 __pformat_xldouble( va_arg( argv, long double ), &stream );
2774
2775 else
2776 /* or just a `double'.
2777 */
2778 __pformat_xldouble( (long double)(va_arg( argv, double )), &stream );
2779
2780 goto format_scan;
2781
2782 case 'n':
2783 /*
2784 * Save current output character count...
2785 */
2786 if( length == PFORMAT_LENGTH_CHAR )
2787 /*
2788 * to a signed `char' destination...
2789 */
2790 *va_arg( argv, char * ) = stream.count;
2791
2792 else if( length == PFORMAT_LENGTH_SHORT )
2793 /*
2794 * or to a signed `short'...
2795 */
2796 *va_arg( argv, short * ) = stream.count;
2797
2798 else if( length == PFORMAT_LENGTH_LONG )
2799 /*
2800 * or to a signed `long'...
2801 */
2802 *va_arg( argv, long * ) = stream.count;
2803
2804 else if( length == PFORMAT_LENGTH_LLONG )
2805 /*
2806 * or to a signed `long long'...
2807 */
2808 *va_arg( argv, long long * ) = stream.count;
2809
2810 else
2811 /*
2812 * or, by default, to a signed `int'.
2813 */
2814 *va_arg( argv, int * ) = stream.count;
2815
2816 goto format_scan;
2817
2818 /* Argument length modifiers...
2819 * These are non-terminal; each sets the format parser
2820 * into the PFORMAT_END state, and ends with a `break'.
2821 */
2822 case 'h':
2823 /*
2824 * Interpret the argument as explicitly of a `short'
2825 * or `char' data type, truncated from the standard
2826 * length defined for integer promotion.
2827 */
2828 if( *fmt == 'h' )
2829 {
2830 /* Modifier is `hh'; data type is `char' sized...
2831 * Skip the second `h', and set length accordingly.
2832 */
2833 ++fmt;
2834 length = PFORMAT_LENGTH_CHAR;
2835 }
2836
2837 else
2838 /* Modifier is `h'; data type is `short' sized...
2839 */
2840 length = PFORMAT_LENGTH_SHORT;
2841
2842 state = PFORMAT_END;
2843 break;
2844
2845 case 'j':
2846 /*
2847 * Interpret the argument as being of the same size as
2848 * a `intmax_t' entity...
2849 */
2850 length = __pformat_arg_length( intmax_t );
2851 state = PFORMAT_END;
2852 break;
2853
2854# ifdef _WIN32
2855
2856 case 'I':
2857 /*
2858 * The MSVCRT implementation of the printf() family of
2859 * functions explicitly uses...
2860 */
2830 if( stream.flags & PFORMAT_LDOUBLE )
2831 /*
2832 * for a `long double' argument...
2833 */
2834 __pformat_gfloat( va_arg( argv, long double ), &stream );
2835
2836 else
2837 /* or just a `double', which we promote to `long double',
2838 * so the two may share a common format handler.
2839 */
2840 __pformat_gfloat( (long double)(va_arg( argv, double )), &stream );
2841
2842 goto format_scan;
2843
2844 case 'a':
2845 /*
2846 * Hexadecimal floating point format, with lower case radix
2847 * and exponent indicators; select the lower case mode, and
2848 * fall through...
2849 */
2850 stream.flags |= PFORMAT_XCASE;
2851
2852 case 'A':
2853 /*
2854 * Hexadecimal floating point format; handles radix and
2855 * exponent indicators in either upper or lower case...
2856 */
2857 if( sizeof( double ) != sizeof( long double ) && stream.flags & PFORMAT_LDOUBLE )
2858 /*
2859 * with a `long double' argument...
2860 */
2861 __pformat_xldouble( va_arg( argv, long double ), &stream );
2862
2863 else
2864 /* or just a `double'.
2865 */
2866 __pformat_xdouble( va_arg( argv, double ), &stream );
2867
2868 goto format_scan;
2869
2870 case 'n':
2871 /*
2872 * Save current output character count...
2873 */
2874 if( length == PFORMAT_LENGTH_CHAR )
2875 /*
2876 * to a signed `char' destination...
2877 */
2878 *va_arg( argv, char * ) = stream.count;
2879
2880 else if( length == PFORMAT_LENGTH_SHORT )
2881 /*
2882 * or to a signed `short'...
2883 */
2884 *va_arg( argv, short * ) = stream.count;
2885
2886 else if( length == PFORMAT_LENGTH_LONG )
2887 /*
2888 * or to a signed `long'...
2889 */
2890 *va_arg( argv, long * ) = stream.count;
2891
2892 else if( length == PFORMAT_LENGTH_LLONG )
2893 /*
2894 * or to a signed `long long'...
2895 */
2896 *va_arg( argv, long long * ) = stream.count;
2897
2898 else
2899 /*
2900 * or, by default, to a signed `int'.
2901 */
2902 *va_arg( argv, int * ) = stream.count;
2903
2904 goto format_scan;
2905
2906 /* Argument length modifiers...
2907 * These are non-terminal; each sets the format parser
2908 * into the PFORMAT_END state, and ends with a `break'.
2909 */
2910 case 'h':
2911 /*
2912 * Interpret the argument as explicitly of a `short'
2913 * or `char' data type, truncated from the standard
2914 * length defined for integer promotion.
2915 */
2916 if( *fmt == 'h' )
2917 {
2918 /* Modifier is `hh'; data type is `char' sized...
2919 * Skip the second `h', and set length accordingly.
2920 */
2921 ++fmt;
2922 length = PFORMAT_LENGTH_CHAR;
2923 }
2924
2925 else
2926 /* Modifier is `h'; data type is `short' sized...
2927 */
2928 length = PFORMAT_LENGTH_SHORT;
2929
2930 state = PFORMAT_END;
2931 break;
2932
2933 case 'j':
2934 /*
2935 * Interpret the argument as being of the same size as
2936 * a `intmax_t' entity...
2937 */
2938 length = __pformat_arg_length( intmax_t );
2939 state = PFORMAT_END;
2940 break;
2941
2942# ifdef _WIN32
2943
2944 case 'I':
2945 /*
2946 * The MSVCRT implementation of the printf() family of
2947 * functions explicitly uses...
2948 */
28612949#ifdef __ENABLE_PRINTF128
2862 if( (fmt[0] == '1') && (fmt[1] == '2') && (fmt[2] == '8')){
2863 length = PFORMAT_LENGTH_LLONG128;
2864 fmt += 3;
2865 } else
2950 if( (fmt[0] == '1') && (fmt[1] == '2') && (fmt[2] == '8')){
2951 length = PFORMAT_LENGTH_LLONG128;
2952 fmt += 3;
2953 } else
28662954#endif
2867 if( (fmt[0] == '6') && (fmt[1] == '4') )
2868 {
2869 /* I64' instead of `ll',
2870 * when referring to `long long' integer types...
2871 */
2872 length = PFORMAT_LENGTH_LLONG;
2873 fmt += 2;
2874 } else
2875 if( (fmt[0] == '3') && (fmt[1] == '2') )
2876 {
2877 /* and `I32' instead of `l',
2878 * when referring to `long' integer types...
2879 */
2880 length = PFORMAT_LENGTH_LONG;
2881 fmt += 2;
2882 }
2883
2884 else
2885 /* or unqualified `I' instead of `t' or `z',
2886 * when referring to `ptrdiff_t' or `size_t' entities;
2887 * (we will choose to map it to `ptrdiff_t').
2888 */
2889 length = __pformat_arg_length( ptrdiff_t );
2890
2891 state = PFORMAT_END;
2892 break;
2893
2894# endif
2895
2955 if( (fmt[0] == '6') && (fmt[1] == '4') )
2956 {
2957 /* I64' instead of `ll',
2958 * when referring to `long long' integer types...
2959 */
2960 length = PFORMAT_LENGTH_LLONG;
2961 fmt += 2;
2962 } else
2963 if( (fmt[0] == '3') && (fmt[1] == '2') )
2964 {
2965 /* and `I32' instead of `l',
2966 * when referring to `long' integer types...
2967 */
2968 length = PFORMAT_LENGTH_LONG;
2969 fmt += 2;
2970 }
2971
2972 else
2973 /* or unqualified `I' instead of `t' or `z',
2974 * when referring to `ptrdiff_t' or `size_t' entities;
2975 * (we will choose to map it to `ptrdiff_t').
2976 */
2977 length = __pformat_arg_length( ptrdiff_t );
2978
2979 state = PFORMAT_END;
2980 break;
2981
2982# endif
2983
28962984#ifdef __ENABLE_DFP
2897 case 'H':
2898 stream.flags |= PFORMAT_DECIM32;
2899 state = PFORMAT_END;
2900 break;
2901
2902 case 'D':
2903 /*
2904 * Interpret the argument as explicitly of a
2905 * `_Decimal64' or `_Decimal128' data type.
2906 */
2907 if( *fmt == 'D' )
2908 {
2909 /* Modifier is `DD'; data type is `_Decimal128' sized...
2910 * Skip the second `D', and set length accordingly.
2911 */
2912 ++fmt;
2913 stream.flags |= PFORMAT_DECIM128;
2914 }
2915
2916 else
2917 /* Modifier is `D'; data type is `_Decimal64' sized...
2918 */
2919 stream.flags |= PFORMAT_DECIM64;
2920
2921 state = PFORMAT_END;
2922 break;
2985 case 'H':
2986 stream.flags |= PFORMAT_DECIM32;
2987 state = PFORMAT_END;
2988 break;
2989
2990 case 'D':
2991 /*
2992 * Interpret the argument as explicitly of a
2993 * `_Decimal64' or `_Decimal128' data type.
2994 */
2995 if( *fmt == 'D' )
2996 {
2997 /* Modifier is `DD'; data type is `_Decimal128' sized...
2998 * Skip the second `D', and set length accordingly.
2999 */
3000 ++fmt;
3001 stream.flags |= PFORMAT_DECIM128;
3002 }
3003
3004 else
3005 /* Modifier is `D'; data type is `_Decimal64' sized...
3006 */
3007 stream.flags |= PFORMAT_DECIM64;
3008
3009 state = PFORMAT_END;
3010 break;
29233011#endif /* __ENABLE_DFP */
2924 case 'l':
2925 /*
2926 * Interpret the argument as explicitly of a
2927 * `long' or `long long' data type.
2928 */
2929 if( *fmt == 'l' )
2930 {
2931 /* Modifier is `ll'; data type is `long long' sized...
2932 * Skip the second `l', and set length accordingly.
2933 */
2934 ++fmt;
2935 length = PFORMAT_LENGTH_LLONG;
2936 }
2937
2938 else
2939 /* Modifier is `l'; data type is `long' sized...
2940 */
2941 length = PFORMAT_LENGTH_LONG;
2942
2943 state = PFORMAT_END;
2944 break;
2945
2946 case 'L':
2947 /*
2948 * Identify the appropriate argument as a `long double',
2949 * when associated with `%a', `%A', `%e', `%E', `%f', `%F',
2950 * `%g' or `%G' format specifications.
2951 */
2952 stream.flags |= PFORMAT_LDOUBLE;
2953 state = PFORMAT_END;
2954 break;
2955
2956 case 't':
2957 /*
2958 * Interpret the argument as being of the same size as
2959 * a `ptrdiff_t' entity...
2960 */
2961 length = __pformat_arg_length( ptrdiff_t );
2962 state = PFORMAT_END;
2963 break;
2964
2965 case 'z':
2966 /*
2967 * Interpret the argument as being of the same size as
2968 * a `size_t' entity...
2969 */
2970 length = __pformat_arg_length( size_t );
2971 state = PFORMAT_END;
2972 break;
2973
2974 /* Precision indicator...
2975 * May appear once only; it must precede any modifier
2976 * for argument length, or any data type specifier.
2977 */
2978 case '.':
2979 if( state < PFORMAT_GET_PRECISION )
2980 {
2981 /* We haven't seen a precision specification yet,
2982 * so initialise it to zero, (in case no digits follow),
2983 * and accept any following digits as the precision.
2984 */
2985 stream.precision = 0;
2986 width_spec = &stream.precision;
2987 state = PFORMAT_GET_PRECISION;
2988 }
2989
2990 else
2991 /* We've already seen a precision specification,
2992 * so this is just junk; proceed to end game.
2993 */
2994 state = PFORMAT_END;
2995
2996 /* Either way, we must not fall through here.
2997 */
2998 break;
2999
3000 /* Variable field width, or precision specification,
3001 * derived from the argument list...
3002 */
3003 case '*':
3004 /*
3005 * When this appears...
3006 */
3007 if( width_spec
3008 && ((state == PFORMAT_INIT) || (state == PFORMAT_GET_PRECISION)) )
3009 {
3010 /* in proper context; assign to field width
3011 * or precision, as appropriate.
3012 */
3013 if( (*width_spec = va_arg( argv, int )) < 0 )
3014 {
3015 /* Assigned value was negative...
3016 */
3017 if( state == PFORMAT_INIT )
3018 {
3019 /* For field width, this is equivalent to
3020 * a positive value with the `-' flag...
3021 */
3022 stream.flags |= PFORMAT_LJUSTIFY;
3023 stream.width = -stream.width;
3024 }
3025
3026 else
3027 /* while as a precision specification,
3028 * it should simply be ignored.
3029 */
3030 stream.precision = PFORMAT_IGNORE;
3031 }
3032 }
3033
3034 else
3035 /* out of context; give up on width and precision
3036 * specifications for this conversion.
3037 */
3038 state = PFORMAT_END;
3039
3040 /* Mark as processed...
3041 * we must not see `*' again, in this context.
3042 */
3043 width_spec = NULL;
3044 break;
3045
3046 /* Formatting flags...
3047 * Must appear while in the PFORMAT_INIT state,
3048 * and are non-terminal, so again, end with `break'.
3049 */
3050 case '#':
3051 /*
3052 * Select alternate PFORMAT_HASHED output style.
3053 */
3054 if( state == PFORMAT_INIT )
3055 stream.flags |= PFORMAT_HASHED;
3056 break;
3057
3058 case '+':
3059 /*
3060 * Print a leading sign with numeric output,
3061 * for both positive and negative values.
3062 */
3063 if( state == PFORMAT_INIT )
3064 stream.flags |= PFORMAT_POSITIVE;
3065 break;
3066
3067 case '-':
3068 /*
3069 * Select left justification of displayed output
3070 * data, within the output field width, instead of
3071 * the default flush right justification.
3072 */
3073 if( state == PFORMAT_INIT )
3074 stream.flags |= PFORMAT_LJUSTIFY;
3075 break;
3076
3077 case '\'':
3078 /*
3079 * This is an XSI extension to the POSIX standard,
3080 * which we do not support, at present.
3081 */
3082 if (state == PFORMAT_INIT)
3083 {
3084 stream.flags |= PFORMAT_GROUPED; /* $$$$ */
3085 int len; wchar_t rpchr; mbstate_t cstate;
3086 memset (&cstate, 0, sizeof(state));
3087 if ((len = mbrtowc( &rpchr, localeconv()->thousands_sep, 16, &cstate)) > 0)
3088 stream.thousands_chr = rpchr;
3089 stream.thousands_chr_len = len;
3090 }
3091 break;
3092
3093 case '\x20':
3094 /*
3095 * Reserve a single space, within the output field,
3096 * for display of the sign of signed data; this will
3097 * be occupied by the minus sign, if the data value
3098 * is negative, or by a plus sign if the data value
3099 * is positive AND the `+' flag is also present, or
3100 * by a space otherwise. (Technically, this flag
3101 * is redundant, if the `+' flag is present).
3102 */
3103 if( state == PFORMAT_INIT )
3104 stream.flags |= PFORMAT_ADDSPACE;
3105 break;
3106
3107 case '0':
3108 /*
3109 * May represent a flag, to activate the `pad with zeros'
3110 * option, or it may simply be a digit in a width or in a
3111 * precision specification...
3112 */
3113 if( state == PFORMAT_INIT )
3114 {
3115 /* This is the flag usage...
3116 */
3117 stream.flags |= PFORMAT_ZEROFILL;
3118 break;
3119 }
3120
3121 default:
3122 /*
3123 * If we didn't match anything above, then we will check
3124 * for digits, which we may accumulate to generate field
3125 * width or precision specifications...
3126 */
3127 if( (state < PFORMAT_END) && ('9' >= c) && (c >= '0') )
3128 {
3129 if( state == PFORMAT_INIT )
3130 /*
3131 * Initial digits explicitly relate to field width...
3132 */
3133 state = PFORMAT_SET_WIDTH;
3134
3135 else if( state == PFORMAT_GET_PRECISION )
3136 /*
3137 * while those following a precision indicator
3138 * explicitly relate to precision.
3139 */
3140 state = PFORMAT_SET_PRECISION;
3141
3142 if( width_spec )
3143 {
3144 /* We are accepting a width or precision specification...
3145 */
3146 if( *width_spec < 0 )
3147 /*
3148 * and accumulation hasn't started yet; we simply
3149 * initialise the accumulator with the current digit
3150 * value, converting from ASCII to decimal.
3151 */
3152 *width_spec = c - '0';
3153
3154 else
3155 /* Accumulation has already started; we perform a
3156 * `leftwise decimal digit shift' on the accumulator,
3157 * (i.e. multiply it by ten), then add the decimal
3158 * equivalent value of the current digit.
3159 */
3160 *width_spec = *width_spec * 10 + c - '0';
3161 }
3162 }
3163
3164 else
3165 {
3166 /* We found a digit out of context, or some other character
3167 * with no designated meaning; reject this format specification,
3168 * backtrack, and emit it as literal text...
3169 */
3170 fmt = backtrack;
3012 case 'l':
3013 /*
3014 * Interpret the argument as explicitly of a
3015 * `long' or `long long' data type.
3016 */
3017 if( *fmt == 'l' )
3018 {
3019 /* Modifier is `ll'; data type is `long long' sized...
3020 * Skip the second `l', and set length accordingly.
3021 */
3022 ++fmt;
3023 length = PFORMAT_LENGTH_LLONG;
3024 }
3025
3026 else
3027 /* Modifier is `l'; data type is `long' sized...
3028 */
3029 length = PFORMAT_LENGTH_LONG;
3030
3031 state = PFORMAT_END;
3032 break;
3033
3034 case 'L':
3035 /*
3036 * Identify the appropriate argument as a `long double',
3037 * when associated with `%a', `%A', `%e', `%E', `%f', `%F',
3038 * `%g' or `%G' format specifications.
3039 */
3040 stream.flags |= PFORMAT_LDOUBLE;
3041 state = PFORMAT_END;
3042 break;
3043
3044 case 't':
3045 /*
3046 * Interpret the argument as being of the same size as
3047 * a `ptrdiff_t' entity...
3048 */
3049 length = __pformat_arg_length( ptrdiff_t );
3050 state = PFORMAT_END;
3051 break;
3052
3053 case 'z':
3054 /*
3055 * Interpret the argument as being of the same size as
3056 * a `size_t' entity...
3057 */
3058 length = __pformat_arg_length( size_t );
3059 state = PFORMAT_END;
3060 break;
3061
3062 /* Precision indicator...
3063 * May appear once only; it must precede any modifier
3064 * for argument length, or any data type specifier.
3065 */
3066 case '.':
3067 if( state < PFORMAT_GET_PRECISION )
3068 {
3069 /* We haven't seen a precision specification yet,
3070 * so initialise it to zero, (in case no digits follow),
3071 * and accept any following digits as the precision.
3072 */
3073 stream.precision = 0;
3074 width_spec = &stream.precision;
3075 state = PFORMAT_GET_PRECISION;
3076 }
3077
3078 else
3079 /* We've already seen a precision specification,
3080 * so this is just junk; proceed to end game.
3081 */
3082 state = PFORMAT_END;
3083
3084 /* Either way, we must not fall through here.
3085 */
3086 break;
3087
3088 /* Variable field width, or precision specification,
3089 * derived from the argument list...
3090 */
3091 case '*':
3092 /*
3093 * When this appears...
3094 */
3095 if( width_spec
3096 && ((state == PFORMAT_INIT) || (state == PFORMAT_GET_PRECISION)) )
3097 {
3098 /* in proper context; assign to field width
3099 * or precision, as appropriate.
3100 */
3101 if( (*width_spec = va_arg( argv, int )) < 0 )
3102 {
3103 /* Assigned value was negative...
3104 */
3105 if( state == PFORMAT_INIT )
3106 {
3107 /* For field width, this is equivalent to
3108 * a positive value with the `-' flag...
3109 */
3110 stream.flags |= PFORMAT_LJUSTIFY;
3111 stream.width = -stream.width;
3112 }
3113
3114 else
3115 /* while as a precision specification,
3116 * it should simply be ignored.
3117 */
3118 stream.precision = PFORMAT_IGNORE;
3119 }
3120 }
3121
3122 else
3123 /* out of context; give up on width and precision
3124 * specifications for this conversion.
3125 */
3126 state = PFORMAT_END;
3127
3128 /* Mark as processed...
3129 * we must not see `*' again, in this context.
3130 */
3131 width_spec = NULL;
3132 break;
3133
3134 /* Formatting flags...
3135 * Must appear while in the PFORMAT_INIT state,
3136 * and are non-terminal, so again, end with `break'.
3137 */
3138 case '#':
3139 /*
3140 * Select alternate PFORMAT_HASHED output style.
3141 */
3142 if( state == PFORMAT_INIT )
3143 stream.flags |= PFORMAT_HASHED;
3144 break;
3145
3146 case '+':
3147 /*
3148 * Print a leading sign with numeric output,
3149 * for both positive and negative values.
3150 */
3151 if( state == PFORMAT_INIT )
3152 stream.flags |= PFORMAT_POSITIVE;
3153 break;
3154
3155 case '-':
3156 /*
3157 * Select left justification of displayed output
3158 * data, within the output field width, instead of
3159 * the default flush right justification.
3160 */
3161 if( state == PFORMAT_INIT )
3162 stream.flags |= PFORMAT_LJUSTIFY;
3163 break;
3164
3165 case '\'':
3166 /*
3167 * This is an XSI extension to the POSIX standard,
3168 * which we do not support, at present.
3169 */
3170 if (state == PFORMAT_INIT)
3171 {
3172 stream.flags |= PFORMAT_GROUPED; /* $$$$ */
3173 int len; wchar_t rpchr; mbstate_t cstate;
3174 memset (&cstate, 0, sizeof(state));
3175 if ((len = mbrtowc( &rpchr, localeconv()->thousands_sep, 16, &cstate)) > 0)
3176 stream.thousands_chr = rpchr;
3177 stream.thousands_chr_len = len;
3178 }
3179 break;
3180
3181 case '\x20':
3182 /*
3183 * Reserve a single space, within the output field,
3184 * for display of the sign of signed data; this will
3185 * be occupied by the minus sign, if the data value
3186 * is negative, or by a plus sign if the data value
3187 * is positive AND the `+' flag is also present, or
3188 * by a space otherwise. (Technically, this flag
3189 * is redundant, if the `+' flag is present).
3190 */
3191 if( state == PFORMAT_INIT )
3192 stream.flags |= PFORMAT_ADDSPACE;
3193 break;
3194
3195 case '0':
3196 /*
3197 * May represent a flag, to activate the `pad with zeros'
3198 * option, or it may simply be a digit in a width or in a
3199 * precision specification...
3200 */
3201 if( state == PFORMAT_INIT )
3202 {
3203 /* This is the flag usage...
3204 */
3205 stream.flags |= PFORMAT_ZEROFILL;
3206 break;
3207 }
3208
3209 default:
3210 /*
3211 * If we didn't match anything above, then we will check
3212 * for digits, which we may accumulate to generate field
3213 * width or precision specifications...
3214 */
3215 if( (state < PFORMAT_END) && ('9' >= c) && (c >= '0') )
3216 {
3217 if( state == PFORMAT_INIT )
3218 /*
3219 * Initial digits explicitly relate to field width...
3220 */
3221 state = PFORMAT_SET_WIDTH;
3222
3223 else if( state == PFORMAT_GET_PRECISION )
3224 /*
3225 * while those following a precision indicator
3226 * explicitly relate to precision.
3227 */
3228 state = PFORMAT_SET_PRECISION;
3229
3230 if( width_spec )
3231 {
3232 /* We are accepting a width or precision specification...
3233 */
3234 if( *width_spec < 0 )
3235 /*
3236 * and accumulation hasn't started yet; we simply
3237 * initialise the accumulator with the current digit
3238 * value, converting from ASCII to decimal.
3239 */
3240 *width_spec = c - '0';
3241
3242 else
3243 /* Accumulation has already started; we perform a
3244 * `leftwise decimal digit shift' on the accumulator,
3245 * (i.e. multiply it by ten), then add the decimal
3246 * equivalent value of the current digit.
3247 */
3248 *width_spec = *width_spec * 10 + c - '0';
3249 }
3250 }
3251
3252 else
3253 {
3254 /* We found a digit out of context, or some other character
3255 * with no designated meaning; reject this format specification,
3256 * backtrack, and emit it as literal text...
3257 */
3258 fmt = backtrack;
31713259 #ifndef __BUILD_WIDEAPI
3172 __pformat_putc( '%', &stream );
3260 __pformat_putc( '%', &stream );
31733261 #else
31743262 stream.width = stream.precision = PFORMAT_IGNORE;
31753263 __pformat_wputchars( L"%", 1, &stream );
31763264 #endif
3177 goto format_scan;
3178 }
3179 }
3265 goto format_scan;
3266 }
3267 }
31803268 }
31813269 }
31823270
lib/libc/mingw/stdio/scanf.S+82-72
......@@ -9,17 +9,14 @@
99 The goal of this routine is to turn a call to v*scanf into a call to
1010 s*scanf. This is needed because mingw-w64 uses msvcr100.dll, which doesn't
1111 support the v*scanf functions instead of msvcr120.dll which does.
12 Unfortunately, there is no defined way to know exactly how big a va_list
13 is, so we use a hard-coded buffer.
14
15 I suppose a sufficiently-motivated person could try to parse the format
16 to figure out how many tokens there are... */
12*/
1713
1814/* The function prototype here is (essentially):
1915
20 int __ms_vsscanf_internal (void *s,
16 int __ms_v*scanf_internal (void *s,
2117 void *format,
2218 void *arg,
19 size_t count,
2320 void *func);
2421
2522 I say 'essentially' because passing a function pointer as void in ISO
......@@ -37,19 +34,6 @@
3734 */
3835 .def __argtos; .scl 2; .type 32; .endef
3936
40 /* The max number of pointers we support. Must be an even number
41 to keep the 64bit stack 16byte aligned. Must not be less than 4. */
42 .equ entries, 30
43
44 /* 64bit pointers are 8 bytes. */
45 .equ sizeof, 8
46
47 /* Size of our buffer. */
48 .equ iBytes, entries * sizeof
49
50 /* Stack space for first 2 args to s*scanf. */
51 .equ iOffset, (2 * sizeof)
52
5337 .seh_proc __argtos
5438__argtos:
5539
......@@ -58,48 +42,58 @@ __argtos:
5842 - format must be in rdx. That's where it is on entry.
5943 - The first pointer in arg must be in r8. arg is in r8 on entry.
6044 - The second pointer in arg must be in r9. arg is in r8 on entry.
61 - The ($entries - 2) other pointers in arg must be on the stack,
45 - The (count - 2) other pointers in arg must be on the stack,
6246 starting 32bytes into rsp. */
6347
64 /* We need enough room to shadow (s + format)
65 + (enough room for all the other args). */
66 subq $(iOffset + iBytes), %rsp
67 .seh_stackalloc iOffset + iBytes
48 pushq %rbp
49 .seh_pushreg %rbp
50 movq %rsp, %rbp
51 .seh_setframe %rbp, 0
6852
53 /* We need to always reserve space to shadow 4 parameters. */
54 subq $32, %rsp
55 .seh_stackalloc 32
6956 .seh_endprologue
7057
71 /* We are going to copy $entries pointers from arg to our
72 local stack. Except the first 2, since they will be
73 loaded in registers. */
74 movq $entries - 2, %r10 /* # of ptrs to copy. */
75
76 /* The first 32 bytes are in registers, but by spec, space
77 must still be reserved for them on the stack. Put the
58 movq 48(%rbp), %r10 /* func. */
59
60 /* We need enough room to shadow all the other args.
61 Except the first 2, since they will be loaded in registers. */
62 cmpq $2, %r9 /* count. */
63 jbe .SKIP
64 subq $2, %r9 /* # of ptrs to copy. */
65 /* Calculate stack size (arg is 8byte) and keep the stack 16byte aligned. */
66 leaq 8(, %r9, 8), %rax /* %rax = (%r9 + 1) * 8 */
67 andq $-16, %rax
68 subq %rax, %rsp
69
70 /* We are going to copy parameters from arg to our local stack.
71 The first 32 bytes are in registers, but by spec, space
72 must still be reserved for them on the stack. Put the
7873 rest of the pointers in the stack after that. */
7974 lea 32(%rsp), %r11 /* dst. */
8075
8176.LOOP:
82 subq $1, %r10
77 subq $1, %r9
8378
8479 /* Use 16 to skip over the first 2 pointers. */
85 movq 16(%r8, %r10, 8), %rax
86 movq %rax, (%r11, %r10, 8)
80 movq 16(%r8, %r9, 8), %rax
81 movq %rax, (%r11, %r9, 8)
8782 jnz .LOOP
8883
89 /* r9 contains the routine we are going to call. Since we are about to
90 overwrite it, move it somewhere safe. */
91 movq %r9, %r10
92
84.SKIP:
9385 /* The stack is now correctly populated, and so are rcx and rdx.
9486 But we need to load the last 2 regs before making the call. */
9587 movq 0x8(%r8), %r9 /* 2nd dest location (may be garbage if only 1 arg). */
96 movq (%r8), %r8 /* 1st dest location. */
88 movq (%r8), %r8 /* 1st dest location (may be garbage if no arg). */
9789
9890 /* Make the call. */
9991 callq *%r10
10092
101 addq $(iOffset + iBytes), %rsp
93 /* Restore stack. */
94 movq %rbp, %rsp
10295
96 popq %rbp
10397 retq
10498 .seh_endproc
10599
......@@ -113,31 +107,23 @@ __argtos:
113107 */
114108 .def __argtos; .scl 2; .type 32; .endef
115109
116 /* The max number of pointers we support. Must not be less than 1. */
117 .equ entries, 30
118
119 /* 64bit pointers are 8 bytes. */
120 .equ sizeof, 4
121
122 /* Size of our buffer. */
123 .set iBytes, entries * sizeof
124
125 /* Stack space for first 2 args to s*scanf. */
126 .equ iOffset, (2 * sizeof)
127
128110__argtos:
129111 pushl %ebp
130112 movl %esp, %ebp
131113 pushl %edi
114 pushl %ebx
132115
133116 /* Reserve enough stack space for everything.
134117
135118 Stack usage will look like:
136119 4 bytes - s
137120 4 bytes - format
138 (iBytes) bytes - variable # of parameters for sscanf (all ptrs). */
121 4*count bytes - variable # of parameters for sscanf (all ptrs). */
139122
140 subl $(iOffset + iBytes), %esp
123 movl 20(%ebp), %ebx /* count. */
124 addl $2, %ebx /* s + format. */
125 sall $2, %ebx /* (count + 2) * 4. */
126 subl %ebx, %esp
141127
142128 /* Write out s and format where they need to be for the sscanf call. */
143129 movl 8(%ebp), %eax
......@@ -145,10 +131,12 @@ __argtos:
145131 movl 12(%ebp), %edx
146132 movl %edx, 0x4(%esp) /* format. */
147133
148 /* We are going to copy $entries pointers from arg to our
134 /* We are going to copy _count_ pointers from arg to our
149135 local stack. */
150 movl $entries, %ecx /* # of ptrs to copy. */
151 lea iOffset(%esp), %edi /* dst. */
136 movl 20(%ebp), %ecx /* # of ptrs to copy. */
137 testl %ecx, %ecx
138 jz .SKIP
139 lea 8(%esp), %edi /* dst. */
152140 movl 16(%ebp), %edx /* src. */
153141
154142.LOOP:
......@@ -158,13 +146,16 @@ __argtos:
158146 movl %eax, (%edi, %ecx, 4)
159147 jnz .LOOP
160148
149.SKIP:
161150 /* The stack is now correctly populated. */
162151
163152 /* Make the call. */
164 call *20(%ebp)
153 call *24(%ebp)
165154
166155 /* Restore stack. */
167 addl $(iOffset + iBytes), %esp
156 addl %ebx, %esp
157
158 popl %ebx
168159 popl %edi
169160 leave
170161
......@@ -178,25 +169,35 @@ __argtos:
178169 .globl __argtos
179170
180171__argtos:
181 push {r4-r7, lr}
182 sub sp, sp, #128
183 mov r12, r3
184 mov r4, sp
172 push {r4-r8, lr}
173 ldr r12, [sp, #24]
185174
186175 ldr r5, [r2], #4
187176 ldr r6, [r2], #4
188177
189 mov r3, #116
178 subs r3, r3, #2
179 mov r8, #0
180 ble 2f
181
182 /* Round the number of entries to an even number, to maintain
183 * 8 byte stack alignment. */
184 mov r8, r3
185 add r8, r8, #1
186 bic r8, r8, #1
187 sub sp, sp, r8, lsl #2
188 mov r4, sp
1901891: ldr r7, [r2], #4
190 subs r3, r3, #1
191191 str r7, [r4], #4
192 subs r3, r3, #4
193192 bne 1b
194193
1942:
195195 mov r2, r5
196196 mov r3, r6
197197 blx r12
198 add sp, sp, #128
199 pop {r4-r7, pc}
198
199 add sp, sp, r8, lsl #2
200 pop {r4-r8, pc}
200201
201202#elif defined (__aarch64__)
202203
......@@ -207,10 +208,9 @@ __argtos:
207208__argtos:
208209 stp x29, x30, [sp, #-16]!
209210 mov x29, sp
210 sub sp, sp, #256
211 mov x9, sp
212211 mov x10, x2
213212 mov x11, x3
213 mov x12, x4
214214
215215 ldr x2, [x10], #8
216216 ldr x3, [x10], #8
......@@ -219,13 +219,23 @@ __argtos:
219219 ldr x6, [x10], #8
220220 ldr x7, [x10], #8
221221
222 mov x12, #240
222 subs x11, x11, #6
223 b.le 2f
224
225 /* Round the number of entries to an even number, to maintain
226 * 16 byte stack alignment. */
227 mov x13, x11
228 add x13, x13, #1
229 bic x13, x13, #1
230 sub sp, sp, x13, lsl #3
231 mov x9, sp
2232321: ldr x13, [x10], #8
233 subs x11, x11, #1
224234 str x13, [x9], #8
225 subs x12, x12, #8
226235 b.ne 1b
227236
228 blr x11
2372:
238 blr x12
229239 mov sp, x29
230240 ldp x29, x30, [sp], #16
231241 ret
lib/libc/mingw/stdio/snprintf.c+1-21
......@@ -12,27 +12,7 @@ int __cdecl __ms_snprintf(char* buffer, size_t n, const char *format, ...)
1212 va_list argptr;
1313
1414 va_start(argptr, format);
15
16 /* _vsnprintf() does not work with zero length buffer
17 * so count number of character by _vscprintf() call */
18 if (n == 0 || !buffer)
19 {
20 retval = _vscprintf(format, argptr);
21 va_end(argptr);
22 return retval;
23 }
24
25 retval = _vsnprintf (buffer, n, format, argptr);
26
27 /* _vsnprintf() returns negative number if buffer is too small
28 * so count number of character by _vscprintf() call */
29 if (retval < 0)
30 retval = _vscprintf(format, argptr);
31
32 /* _vsnprintf() does not fill trailing null byte if there is not place for it */
33 if ((size_t)retval >= n)
34 buffer[n-1] = '\0';
35
15 retval = __ms_vsnprintf(buffer, n, format, argptr);
3616 va_end(argptr);
3717 return retval;
3818}
lib/libc/mingw/stdio/strtof.c+17-1
......@@ -4,8 +4,24 @@
44 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
55 */
66#include <stdlib.h>
7#include <float.h>
8#include <errno.h>
9#include <math.h>
710
811float strtof( const char *nptr, char **endptr)
912{
10 return (strtod(nptr, endptr));
13 double ret = strtod(nptr, endptr);
14 if (isfinite(ret)) {
15 /* Check for cases that aren't out of range for doubles, but that are
16 * for floats. */
17 if (ret > FLT_MAX)
18 errno = ERANGE;
19 else if (ret < -FLT_MAX)
20 errno = ERANGE;
21 else if (ret > 0 && ret < FLT_MIN)
22 errno = ERANGE;
23 else if (ret < 0 && ret > -FLT_MIN)
24 errno = ERANGE;
25 }
26 return ret;
1127}
lib/libc/mingw/stdio/vfscanf.c+5-1
......@@ -11,18 +11,22 @@ extern int __ms_vfscanf_internal (
1111 FILE * s,
1212 const char * format,
1313 va_list arg,
14 size_t count,
1415 int (*func)(FILE * __restrict__, const char * __restrict__, ...))
1516 asm("__argtos");
1617
18extern size_t __ms_scanf_max_arg_count_internal (const char * format);
19
1720int __ms_vfscanf (FILE * __restrict__ stream, const char * __restrict__ format, va_list arg)
1821{
22 size_t count = __ms_scanf_max_arg_count_internal (format);
1923 int ret;
2024
2125#if defined(_AMD64_) || defined(__x86_64__) || \
2226 defined(_X86_) || defined(__i386__) || \
2327 defined(_ARM_) || defined(__arm__) || \
2428 defined(_ARM64_) || defined(__aarch64__)
25 ret = __ms_vfscanf_internal (stream, format, arg, fscanf);
29 ret = __ms_vfscanf_internal (stream, format, arg, count, fscanf);
2630#else
2731#error "unknown platform"
2832#endif
lib/libc/mingw/stdio/vfwscanf.c+5-1
......@@ -11,19 +11,23 @@ extern int __ms_vfwscanf_internal (
1111 FILE * s,
1212 const wchar_t * format,
1313 va_list arg,
14 size_t count,
1415 int (*func)(FILE * __restrict__, const wchar_t * __restrict__, ...))
1516 asm("__argtos");
1617
18extern size_t __ms_wscanf_max_arg_count_internal (const wchar_t * format);
19
1720int __ms_vfwscanf (FILE * __restrict__ stream,
1821 const wchar_t * __restrict__ format, va_list arg)
1922{
23 size_t count = __ms_wscanf_max_arg_count_internal (format);
2024 int ret;
2125
2226#if defined(_AMD64_) || defined(__x86_64__) || \
2327 defined(_X86_) || defined(__i386__) || \
2428 defined(_ARM_) || defined(__arm__) || \
2529 defined (_ARM64_) || defined (__aarch64__)
26 ret = __ms_vfwscanf_internal (stream, format, arg, fwscanf);
30 ret = __ms_vfwscanf_internal (stream, format, arg, count, fwscanf);
2731#else
2832#error "unknown platform"
2933#endif
lib/libc/mingw/stdio/vsnprintf.c+5-5
......@@ -13,19 +13,19 @@ int __cdecl __ms_vsnprintf (char *s,size_t n,const char *format,va_list arg)
1313
1414 /* _vsnprintf() does not work with zero length buffer
1515 * so count number of character by _vscprintf() call */
16 if (n == 0 || !s)
16 if (n == 0)
1717 return _vscprintf(format, arg);
1818
1919 retval = _vsnprintf(s, n, format, arg);
2020
21 /* _vsnprintf() does not fill trailing null byte if there is not place for it */
22 if (retval < 0 || (size_t)retval == n)
23 s[n-1] = '\0';
24
2125 /* _vsnprintf() returns negative number if buffer is too small
2226 * so count number of character by _vscprintf() call */
2327 if (retval < 0)
2428 retval = _vscprintf(format, arg);
2529
26 /* _vsnprintf() does not fill trailing null byte if there is not place for it */
27 if ((size_t)retval >= n)
28 s[n-1] = '\0';
29
3030 return retval;
3131}
lib/libc/mingw/stdio/vsscanf.c+5-1
......@@ -11,19 +11,23 @@ extern int __ms_vsscanf_internal (
1111 const char * s,
1212 const char * format,
1313 va_list arg,
14 size_t count,
1415 int (*func)(const char * __restrict__, const char * __restrict__, ...))
1516 asm("__argtos");
1617
18extern size_t __ms_scanf_max_arg_count_internal (const char * format);
19
1720int __ms_vsscanf (const char * __restrict__ s,
1821 const char * __restrict__ format, va_list arg)
1922{
23 size_t count = __ms_scanf_max_arg_count_internal (format);
2024 int ret;
2125
2226#if defined(_AMD64_) || defined(__x86_64__) || \
2327 defined(_X86_) || defined(__i386__) || \
2428 defined(_ARM_) || defined(__arm__) || \
2529 defined(_ARM64_) || defined(__aarch64__)
26 ret = __ms_vsscanf_internal (s, format, arg, sscanf);
30 ret = __ms_vsscanf_internal (s, format, arg, count, sscanf);
2731#else
2832#error "unknown platform"
2933#endif
lib/libc/mingw/stdio/vswscanf.c+5-1
......@@ -11,19 +11,23 @@ extern int __ms_vswscanf_internal (
1111 const wchar_t * s,
1212 const wchar_t * format,
1313 va_list arg,
14 size_t count,
1415 int (*func)(const wchar_t * __restrict__, const wchar_t * __restrict__, ...))
1516 asm("__argtos");
1617
18extern size_t __ms_wscanf_max_arg_count_internal (const wchar_t * format);
19
1720int __ms_vswscanf(const wchar_t * __restrict__ s, const wchar_t * __restrict__ format,
1821 va_list arg)
1922{
23 size_t count = __ms_wscanf_max_arg_count_internal (format);
2024 int ret;
2125
2226#if defined(_AMD64_) || defined(__x86_64__) || \
2327 defined(_X86_) || defined(__i386__) || \
2428 defined(_ARM_) || defined(__arm__) || \
2529 defined(_ARM64_) || defined(__aarch64__)
26 ret = __ms_vswscanf_internal (s, format, arg, swscanf);
30 ret = __ms_vswscanf_internal (s, format, arg, count, swscanf);
2731#else
2832#error "unknown platform"
2933#endif
lib/libc/mingw/stdio/vwscanf.c-5
......@@ -10,12 +10,7 @@
1010#include <wchar.h>
1111#include <stdio.h>
1212
13#pragma clang diagnostic push
14#pragma clang diagnostic ignored "-Wimplicit-function-declaration"
15
1613int __ms_vwscanf (const wchar_t * __restrict__ format, va_list arg)
1714{
1815 return __ms_vfwscanf(stdin, format, arg);
1916}
20
21#pragma clang diagnostic pop
src/mingw.zig+6-3
......@@ -91,6 +91,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
9191 "-D_CRTBLD",
9292 "-D_WIN32_WINNT=0x0f00",
9393 "-D__MSVCRT_VERSION__=0x700",
94 "-D__USE_MINGW_ANSI_STDIO=0",
9495 });
9596 c_source_files[i] = .{
9697 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
......@@ -105,7 +106,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
105106 .msvcrt_os_lib => {
106107 const extra_flags = try arena.dupe([]const u8, &[_][]const u8{
107108 "-DHAVE_CONFIG_H",
108 "-D__LIBMSVCRT__",
109 "-D__LIBMSVCRT_OS__",
109110
110111 "-I",
111112 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
......@@ -114,6 +115,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
114115 "-D_CRTBLD",
115116 "-D_WIN32_WINNT=0x0f00",
116117 "-D__MSVCRT_VERSION__=0x700",
118 "-D__USE_MINGW_ANSI_STDIO=0",
117119
118120 "-isystem",
119121 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "include", "any-windows-any" }),
......@@ -162,6 +164,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
162164 "-D_CRTBLD",
163165 "-D_WIN32_WINNT=0x0f00",
164166 "-D__MSVCRT_VERSION__=0x700",
167 "-D__USE_MINGW_ANSI_STDIO=0",
165168
166169 "-isystem",
167170 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "include", "any-windows-any" }),
......@@ -224,6 +227,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
224227 "-D_CRTBLD",
225228 "-D_WIN32_WINNT=0x0f00",
226229 "-D__MSVCRT_VERSION__=0x700",
230 "-D__USE_MINGW_ANSI_STDIO=0",
227231
228232 "-isystem",
229233 try comp.zig_lib_directory.join(arena, &[_][]const u8{
......@@ -269,6 +273,7 @@ fn add_cc_args(
269273 "-D_CRTBLD",
270274 "-D_WIN32_WINNT=0x0f00",
271275 "-D__MSVCRT_VERSION__=0x700",
276 "-D__USE_MINGW_ANSI_STDIO=0",
272277 });
273278}
274279
......@@ -677,7 +682,6 @@ const mingwex_generic_src = [_][]const u8{
677682 "math" ++ path.sep_str ++ "cbrt.c",
678683 "math" ++ path.sep_str ++ "cbrtf.c",
679684 "math" ++ path.sep_str ++ "cbrtl.c",
680 "math" ++ path.sep_str ++ "cephes_emath.c",
681685 "math" ++ path.sep_str ++ "copysign.c",
682686 "math" ++ path.sep_str ++ "copysignf.c",
683687 "math" ++ path.sep_str ++ "coshf.c",
......@@ -810,7 +814,6 @@ const mingwex_generic_src = [_][]const u8{
810814 "misc" ++ path.sep_str ++ "strnlen.c",
811815 "misc" ++ path.sep_str ++ "strsafe.c",
812816 "misc" ++ path.sep_str ++ "strtoimax.c",
813 "misc" ++ path.sep_str ++ "strtold.c",
814817 "misc" ++ path.sep_str ++ "strtoumax.c",
815818 "misc" ++ path.sep_str ++ "tdelete.c",
816819 "misc" ++ path.sep_str ++ "tfind.c",