authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-10-06 07:04:29-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-10-11 01:05:42-07:00
loge52931e50f6360b78074602de1f114796857ab11
tree85564ffd7ce689a006fbfc83ceb2dce5a9c5efbe
parentb316c25cc6f5b1703d7912da16c5c987f4406451

update mingw-w64 headers to v10.0.0


296 files changed, 35046 insertions(+), 3158 deletions(-)

lib/libc/include/any-windows-any/_mingw.h+10-4
...@@ -221,13 +221,19 @@ limitations in handling dllimport attribute. */...@@ -221,13 +221,19 @@ limitations in handling dllimport attribute. */
221221
222#ifndef __MSVCRT_VERSION__222#ifndef __MSVCRT_VERSION__
223/* High byte is the major version, low byte is the minor. */223/* High byte is the major version, low byte is the minor. */
224# ifndef _UCRT224# if defined(__CRTDLL__)
225# define __MSVCRT_VERSION__ 0x700225# define __MSVCRT_VERSION__ 0x00
226# else226# elif defined(_UCRT)
227# define __MSVCRT_VERSION__ 0xE00227# define __MSVCRT_VERSION__ 0xE00
228# else
229# define __MSVCRT_VERSION__ 0x700
228# endif230# endif
229#endif231#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
232#ifndef _WIN32_WINNT238#ifndef _WIN32_WINNT
233#define _WIN32_WINNT 0x0603239#define _WIN32_WINNT 0x0603
...@@ -583,7 +589,7 @@ __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void)...@@ -583,7 +589,7 @@ __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void)
583#if defined(__i386__) || defined(__x86_64__)589#if defined(__i386__) || defined(__x86_64__)
584 __asm__ __volatile__("int {$}3":);590 __asm__ __volatile__("int {$}3":);
585#elif defined(__arm__)591#elif defined(__arm__)
586 __asm__ __volatile__("udf #1");592 __asm__ __volatile__("udf #0xfe");
587#elif defined(__aarch64__)593#elif defined(__aarch64__)
588 __asm__ __volatile__("brk #0xf000");594 __asm__ __volatile__("brk #0xf000");
589#else595#else
lib/libc/include/any-windows-any/_mingw_mac.h+4-2
...@@ -11,7 +11,7 @@...@@ -11,7 +11,7 @@
11#define __MINGW64_STRINGIFY(x) \11#define __MINGW64_STRINGIFY(x) \
12 __STRINGIFY(x)12 __STRINGIFY(x)
1313
14#define __MINGW64_VERSION_MAJOR 914#define __MINGW64_VERSION_MAJOR 10
15#define __MINGW64_VERSION_MINOR 015#define __MINGW64_VERSION_MINOR 0
16#define __MINGW64_VERSION_BUGFIX 016#define __MINGW64_VERSION_BUGFIX 0
1717
...@@ -301,6 +301,8 @@...@@ -301,6 +301,8 @@
301# define __mingw_attribute_artificial301# define __mingw_attribute_artificial
302#endif302#endif
303303
304#define __MINGW_SELECTANY __attribute__((__selectany__))
305
304#if _FORTIFY_SOURCE > 0 && __OPTIMIZE__ > 0 && __MINGW_GNUC_PREREQ(4, 1)306#if _FORTIFY_SOURCE > 0 && __OPTIMIZE__ > 0 && __MINGW_GNUC_PREREQ(4, 1)
305# if _FORTIFY_SOURCE > 1307# if _FORTIFY_SOURCE > 1
306# define __MINGW_FORTIFY_LEVEL 2308# define __MINGW_FORTIFY_LEVEL 2
...@@ -353,7 +355,7 @@...@@ -353,7 +355,7 @@
353355
354/* Enable workaround for ABI incompatibility on affected platforms */356/* Enable workaround for ABI incompatibility on affected platforms */
355#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS357#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
356#if defined(__GNUC__) && defined(__cplusplus) && (defined(__x86_64__) || defined(__i386__))358#if defined(__GNUC__) && defined(__cplusplus)
357#define WIDL_EXPLICIT_AGGREGATE_RETURNS359#define WIDL_EXPLICIT_AGGREGATE_RETURNS
358#endif360#endif
359#endif361#endif
lib/libc/include/any-windows-any/activation.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activaut.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activdbg.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activdbg100.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activprof.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/activscp.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/adhoc.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/amstream.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/amvideo.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/asyncinfo.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/audioclient.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/audioendpoints.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/audiopolicy.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/austream.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/bdaiface.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/bits.h+1084-456
...@@ -1,379 +1,792 @@...@@ -1,379 +1,792 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/bits.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 4755#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif6#endif
97#include <rpc.h>
10#include "rpc.h"8#include <rpcndr.h>
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif9#endif
1610
17#ifndef COM_NO_WINDOWS_H11#ifndef COM_NO_WINDOWS_H
18#include "windows.h"12#include <windows.h>
19#include "ole2.h"13#include <ole2.h>
20#endif14#endif
2115
22#ifndef __bits_h__16#ifndef __bits_h__
23#define __bits_h__17#define __bits_h__
2418
19/* Forward declarations */
20
25#ifndef __IBackgroundCopyFile_FWD_DEFINED__21#ifndef __IBackgroundCopyFile_FWD_DEFINED__
26#define __IBackgroundCopyFile_FWD_DEFINED__22#define __IBackgroundCopyFile_FWD_DEFINED__
27typedef struct IBackgroundCopyFile IBackgroundCopyFile;23typedef interface IBackgroundCopyFile IBackgroundCopyFile;
24#ifdef __cplusplus
25interface IBackgroundCopyFile;
26#endif /* __cplusplus */
28#endif27#endif
2928
30#ifndef __IEnumBackgroundCopyFiles_FWD_DEFINED__29#ifndef __IEnumBackgroundCopyFiles_FWD_DEFINED__
31#define __IEnumBackgroundCopyFiles_FWD_DEFINED__30#define __IEnumBackgroundCopyFiles_FWD_DEFINED__
32typedef struct IEnumBackgroundCopyFiles IEnumBackgroundCopyFiles;31typedef interface IEnumBackgroundCopyFiles IEnumBackgroundCopyFiles;
32#ifdef __cplusplus
33interface IEnumBackgroundCopyFiles;
34#endif /* __cplusplus */
33#endif35#endif
3436
35#ifndef __IBackgroundCopyError_FWD_DEFINED__37#ifndef __IBackgroundCopyError_FWD_DEFINED__
36#define __IBackgroundCopyError_FWD_DEFINED__38#define __IBackgroundCopyError_FWD_DEFINED__
37typedef struct IBackgroundCopyError IBackgroundCopyError;39typedef interface IBackgroundCopyError IBackgroundCopyError;
40#ifdef __cplusplus
41interface IBackgroundCopyError;
42#endif /* __cplusplus */
38#endif43#endif
3944
40#ifndef __IBackgroundCopyJob_FWD_DEFINED__45#ifndef __IBackgroundCopyJob_FWD_DEFINED__
41#define __IBackgroundCopyJob_FWD_DEFINED__46#define __IBackgroundCopyJob_FWD_DEFINED__
42typedef struct IBackgroundCopyJob IBackgroundCopyJob;47typedef interface IBackgroundCopyJob IBackgroundCopyJob;
48#ifdef __cplusplus
49interface IBackgroundCopyJob;
50#endif /* __cplusplus */
43#endif51#endif
4452
45#ifndef __IEnumBackgroundCopyJobs_FWD_DEFINED__53#ifndef __IEnumBackgroundCopyJobs_FWD_DEFINED__
46#define __IEnumBackgroundCopyJobs_FWD_DEFINED__54#define __IEnumBackgroundCopyJobs_FWD_DEFINED__
47typedef struct IEnumBackgroundCopyJobs IEnumBackgroundCopyJobs;55typedef interface IEnumBackgroundCopyJobs IEnumBackgroundCopyJobs;
56#ifdef __cplusplus
57interface IEnumBackgroundCopyJobs;
58#endif /* __cplusplus */
48#endif59#endif
4960
50#ifndef __IBackgroundCopyCallback_FWD_DEFINED__61#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
51#define __IBackgroundCopyCallback_FWD_DEFINED__62#define __IBackgroundCopyCallback_FWD_DEFINED__
52typedef struct IBackgroundCopyCallback IBackgroundCopyCallback;63typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
53#endif64#ifdef __cplusplus
5465interface IBackgroundCopyCallback;
55#ifndef __AsyncIBackgroundCopyCallback_FWD_DEFINED__66#endif /* __cplusplus */
56#define __AsyncIBackgroundCopyCallback_FWD_DEFINED__
57typedef struct AsyncIBackgroundCopyCallback AsyncIBackgroundCopyCallback;
58#endif67#endif
5968
60#ifndef __IBackgroundCopyManager_FWD_DEFINED__69#ifndef __IBackgroundCopyManager_FWD_DEFINED__
61#define __IBackgroundCopyManager_FWD_DEFINED__70#define __IBackgroundCopyManager_FWD_DEFINED__
62typedef struct IBackgroundCopyManager IBackgroundCopyManager;71typedef interface IBackgroundCopyManager IBackgroundCopyManager;
72#ifdef __cplusplus
73interface IBackgroundCopyManager;
74#endif /* __cplusplus */
63#endif75#endif
6476
65#ifndef __BackgroundCopyManager_FWD_DEFINED__77#ifndef __BackgroundCopyManager_FWD_DEFINED__
66#define __BackgroundCopyManager_FWD_DEFINED__78#define __BackgroundCopyManager_FWD_DEFINED__
67
68#ifdef __cplusplus79#ifdef __cplusplus
69typedef class BackgroundCopyManager BackgroundCopyManager;80typedef class BackgroundCopyManager BackgroundCopyManager;
70#else81#else
71typedef struct BackgroundCopyManager BackgroundCopyManager;82typedef struct BackgroundCopyManager BackgroundCopyManager;
72#endif83#endif /* defined __cplusplus */
73#endif84#endif /* defined __BackgroundCopyManager_FWD_DEFINED__ */
7485
75#ifndef __IBackgroundCopyCallback_FWD_DEFINED__86/* Headers for imported files */
76#define __IBackgroundCopyCallback_FWD_DEFINED__
77typedef struct IBackgroundCopyCallback IBackgroundCopyCallback;
78#endif
7987
80#include "unknwn.h"88#include <unknwn.h>
8189
82#ifdef __cplusplus90#ifdef __cplusplus
83extern "C"{91extern "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 *);
90#endif92#endif
9193
92#include "bitsmsg.h"94#include "bitsmsg.h"
93#define BG_SIZE_UNKNOWN (UINT64)(-1)95#define BG_SIZE_UNKNOWN (UINT64)(-1)
9496#define BG_NOTIFY_JOB_TRANSFERRED 0x0001
95 extern RPC_IF_HANDLE __MIDL_itf_bits_0000_v0_0_c_ifspec;97#define BG_NOTIFY_JOB_ERROR 0x0002
96 extern RPC_IF_HANDLE __MIDL_itf_bits_0000_v0_0_s_ifspec;98#define BG_NOTIFY_DISABLE 0x0004
9799#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 */
98#ifndef __IBackgroundCopyFile_INTERFACE_DEFINED__108#ifndef __IBackgroundCopyFile_INTERFACE_DEFINED__
99#define __IBackgroundCopyFile_INTERFACE_DEFINED__109#define __IBackgroundCopyFile_INTERFACE_DEFINED__
100110
101 typedef struct _BG_FILE_PROGRESS {111typedef struct _BG_FILE_PROGRESS {
102 UINT64 BytesTotal;112 UINT64 BytesTotal;
103 UINT64 BytesTransferred;113 UINT64 BytesTransferred;
104 WINBOOL Completed;114 WINBOOL Completed;
105 } BG_FILE_PROGRESS;115} BG_FILE_PROGRESS;
106116DEFINE_GUID(IID_IBackgroundCopyFile, 0x01b7bd23, 0xfb88, 0x4a77, 0x84,0x90, 0x58,0x91,0xd3,0xe4,0x65,0x3a);
107 EXTERN_C const IID IID_IBackgroundCopyFile;
108#if defined(__cplusplus) && !defined(CINTERFACE)117#if defined(__cplusplus) && !defined(CINTERFACE)
109 struct IBackgroundCopyFile : public IUnknown {118MIDL_INTERFACE("01b7bd23-fb88-4a77-8490-5891d3e4653a")
110 public:119IBackgroundCopyFile : public IUnknown
111 virtual HRESULT WINAPI GetRemoteName(LPWSTR *pVal) = 0;120{
112 virtual HRESULT WINAPI GetLocalName(LPWSTR *pVal) = 0;121 virtual HRESULT STDMETHODCALLTYPE GetRemoteName(
113 virtual HRESULT WINAPI GetProgress(BG_FILE_PROGRESS *pVal) = 0;122 LPWSTR *pVal) = 0;
114 };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
115#else134#else
116 typedef struct IBackgroundCopyFileVtbl {135typedef struct IBackgroundCopyFileVtbl {
117 BEGIN_INTERFACE136 BEGIN_INTERFACE
118 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyFile *This,REFIID riid,void **ppvObject);137
119 ULONG (WINAPI *AddRef)(IBackgroundCopyFile *This);138 /*** IUnknown methods ***/
120 ULONG (WINAPI *Release)(IBackgroundCopyFile *This);139 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
121 HRESULT (WINAPI *GetRemoteName)(IBackgroundCopyFile *This,LPWSTR *pVal);140 IBackgroundCopyFile *This,
122 HRESULT (WINAPI *GetLocalName)(IBackgroundCopyFile *This,LPWSTR *pVal);141 REFIID riid,
123 HRESULT (WINAPI *GetProgress)(IBackgroundCopyFile *This,BG_FILE_PROGRESS *pVal);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
124 END_INTERFACE163 END_INTERFACE
125 } IBackgroundCopyFileVtbl;164} IBackgroundCopyFileVtbl;
126 struct IBackgroundCopyFile {165
127 CONST_VTBL struct IBackgroundCopyFileVtbl *lpVtbl;166interface IBackgroundCopyFile {
128 };167 CONST_VTBL IBackgroundCopyFileVtbl* lpVtbl;
168};
169
129#ifdef COBJMACROS170#ifdef COBJMACROS
171#ifndef WIDL_C_INLINE_WRAPPERS
172/*** IUnknown methods ***/
130#define IBackgroundCopyFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)173#define IBackgroundCopyFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
131#define IBackgroundCopyFile_AddRef(This) (This)->lpVtbl->AddRef(This)174#define IBackgroundCopyFile_AddRef(This) (This)->lpVtbl->AddRef(This)
132#define IBackgroundCopyFile_Release(This) (This)->lpVtbl->Release(This)175#define IBackgroundCopyFile_Release(This) (This)->lpVtbl->Release(This)
176/*** IBackgroundCopyFile methods ***/
133#define IBackgroundCopyFile_GetRemoteName(This,pVal) (This)->lpVtbl->GetRemoteName(This,pVal)177#define IBackgroundCopyFile_GetRemoteName(This,pVal) (This)->lpVtbl->GetRemoteName(This,pVal)
134#define IBackgroundCopyFile_GetLocalName(This,pVal) (This)->lpVtbl->GetLocalName(This,pVal)178#define IBackgroundCopyFile_GetLocalName(This,pVal) (This)->lpVtbl->GetLocalName(This,pVal)
135#define IBackgroundCopyFile_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)179#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}
136#endif201#endif
137#endif202#endif
138 HRESULT WINAPI IBackgroundCopyFile_GetRemoteName_Proxy(IBackgroundCopyFile *This,LPWSTR *pVal);203
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);
144#endif204#endif
145205
206
207#endif /* __IBackgroundCopyFile_INTERFACE_DEFINED__ */
208
209/*****************************************************************************
210 * IEnumBackgroundCopyFiles interface
211 */
146#ifndef __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__212#ifndef __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__
147#define __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__213#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);
149#if defined(__cplusplus) && !defined(CINTERFACE)216#if defined(__cplusplus) && !defined(CINTERFACE)
150 struct IEnumBackgroundCopyFiles : public IUnknown {217MIDL_INTERFACE("ca51e165-c365-424c-8d41-24aaa4ff3c40")
151 public:218IEnumBackgroundCopyFiles : public IUnknown
152 virtual HRESULT WINAPI Next(ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched) = 0;219{
153 virtual HRESULT WINAPI Skip(ULONG celt) = 0;220 virtual HRESULT STDMETHODCALLTYPE Next(
154 virtual HRESULT WINAPI Reset(void) = 0;221 ULONG celt,
155 virtual HRESULT WINAPI Clone(IEnumBackgroundCopyFiles **ppenum) = 0;222 IBackgroundCopyFile **rgelt,
156 virtual HRESULT WINAPI GetCount(ULONG *puCount) = 0;223 ULONG *pceltFetched) = 0;
157 };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
158#else241#else
159 typedef struct IEnumBackgroundCopyFilesVtbl {242typedef struct IEnumBackgroundCopyFilesVtbl {
160 BEGIN_INTERFACE243 BEGIN_INTERFACE
161 HRESULT (WINAPI *QueryInterface)(IEnumBackgroundCopyFiles *This,REFIID riid,void **ppvObject);244
162 ULONG (WINAPI *AddRef)(IEnumBackgroundCopyFiles *This);245 /*** IUnknown methods ***/
163 ULONG (WINAPI *Release)(IEnumBackgroundCopyFiles *This);246 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
164 HRESULT (WINAPI *Next)(IEnumBackgroundCopyFiles *This,ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched);247 IEnumBackgroundCopyFiles *This,
165 HRESULT (WINAPI *Skip)(IEnumBackgroundCopyFiles *This,ULONG celt);248 REFIID riid,
166 HRESULT (WINAPI *Reset)(IEnumBackgroundCopyFiles *This);249 void **ppvObject);
167 HRESULT (WINAPI *Clone)(IEnumBackgroundCopyFiles *This,IEnumBackgroundCopyFiles **ppenum);250
168 HRESULT (WINAPI *GetCount)(IEnumBackgroundCopyFiles *This,ULONG *puCount);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
169 END_INTERFACE279 END_INTERFACE
170 } IEnumBackgroundCopyFilesVtbl;280} IEnumBackgroundCopyFilesVtbl;
171 struct IEnumBackgroundCopyFiles {281
172 CONST_VTBL struct IEnumBackgroundCopyFilesVtbl *lpVtbl;282interface IEnumBackgroundCopyFiles {
173 };283 CONST_VTBL IEnumBackgroundCopyFilesVtbl* lpVtbl;
284};
285
174#ifdef COBJMACROS286#ifdef COBJMACROS
287#ifndef WIDL_C_INLINE_WRAPPERS
288/*** IUnknown methods ***/
175#define IEnumBackgroundCopyFiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)289#define IEnumBackgroundCopyFiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
176#define IEnumBackgroundCopyFiles_AddRef(This) (This)->lpVtbl->AddRef(This)290#define IEnumBackgroundCopyFiles_AddRef(This) (This)->lpVtbl->AddRef(This)
177#define IEnumBackgroundCopyFiles_Release(This) (This)->lpVtbl->Release(This)291#define IEnumBackgroundCopyFiles_Release(This) (This)->lpVtbl->Release(This)
292/*** IEnumBackgroundCopyFiles methods ***/
178#define IEnumBackgroundCopyFiles_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)293#define IEnumBackgroundCopyFiles_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
179#define IEnumBackgroundCopyFiles_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)294#define IEnumBackgroundCopyFiles_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
180#define IEnumBackgroundCopyFiles_Reset(This) (This)->lpVtbl->Reset(This)295#define IEnumBackgroundCopyFiles_Reset(This) (This)->lpVtbl->Reset(This)
181#define IEnumBackgroundCopyFiles_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)296#define IEnumBackgroundCopyFiles_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
182#define IEnumBackgroundCopyFiles_GetCount(This,puCount) (This)->lpVtbl->GetCount(This,puCount)297#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}
183#endif325#endif
184#endif326#endif
185 HRESULT WINAPI IEnumBackgroundCopyFiles_Next_Proxy(IEnumBackgroundCopyFiles *This,ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched);327
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);
195#endif328#endif
196329
330
331#endif /* __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__ */
332
333/*****************************************************************************
334 * IBackgroundCopyError interface
335 */
197#ifndef __IBackgroundCopyError_INTERFACE_DEFINED__336#ifndef __IBackgroundCopyError_INTERFACE_DEFINED__
198#define __IBackgroundCopyError_INTERFACE_DEFINED__337#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);
205#if defined(__cplusplus) && !defined(CINTERFACE)350#if defined(__cplusplus) && !defined(CINTERFACE)
206 struct IBackgroundCopyError : public IUnknown {351MIDL_INTERFACE("19c613a0-fcb8-4f28-81ae-897c3d078f81")
207 public:352IBackgroundCopyError : public IUnknown
208 virtual HRESULT WINAPI GetError(BG_ERROR_CONTEXT *pContext,HRESULT *pCode) = 0;353{
209 virtual HRESULT WINAPI GetFile(IBackgroundCopyFile **pVal) = 0;354 virtual HRESULT STDMETHODCALLTYPE GetError(
210 virtual HRESULT WINAPI GetErrorDescription(DWORD LanguageId,LPWSTR *pErrorDescription) = 0;355 BG_ERROR_CONTEXT *pContext,
211 virtual HRESULT WINAPI GetErrorContextDescription(DWORD LanguageId,LPWSTR *pContextDescription) = 0;356 HRESULT *pCode) = 0;
212 virtual HRESULT WINAPI GetProtocol(LPWSTR *pProtocol) = 0;357
213 };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
214#else376#else
215 typedef struct IBackgroundCopyErrorVtbl {377typedef struct IBackgroundCopyErrorVtbl {
216 BEGIN_INTERFACE378 BEGIN_INTERFACE
217 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyError *This,REFIID riid,void **ppvObject);379
218 ULONG (WINAPI *AddRef)(IBackgroundCopyError *This);380 /*** IUnknown methods ***/
219 ULONG (WINAPI *Release)(IBackgroundCopyError *This);381 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
220 HRESULT (WINAPI *GetError)(IBackgroundCopyError *This,BG_ERROR_CONTEXT *pContext,HRESULT *pCode);382 IBackgroundCopyError *This,
221 HRESULT (WINAPI *GetFile)(IBackgroundCopyError *This,IBackgroundCopyFile **pVal);383 REFIID riid,
222 HRESULT (WINAPI *GetErrorDescription)(IBackgroundCopyError *This,DWORD LanguageId,LPWSTR *pErrorDescription);384 void **ppvObject);
223 HRESULT (WINAPI *GetErrorContextDescription)(IBackgroundCopyError *This,DWORD LanguageId,LPWSTR *pContextDescription);385
224 HRESULT (WINAPI *GetProtocol)(IBackgroundCopyError *This,LPWSTR *pProtocol);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
225 END_INTERFACE416 END_INTERFACE
226 } IBackgroundCopyErrorVtbl;417} IBackgroundCopyErrorVtbl;
227 struct IBackgroundCopyError {418
228 CONST_VTBL struct IBackgroundCopyErrorVtbl *lpVtbl;419interface IBackgroundCopyError {
229 };420 CONST_VTBL IBackgroundCopyErrorVtbl* lpVtbl;
421};
422
230#ifdef COBJMACROS423#ifdef COBJMACROS
424#ifndef WIDL_C_INLINE_WRAPPERS
425/*** IUnknown methods ***/
231#define IBackgroundCopyError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)426#define IBackgroundCopyError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
232#define IBackgroundCopyError_AddRef(This) (This)->lpVtbl->AddRef(This)427#define IBackgroundCopyError_AddRef(This) (This)->lpVtbl->AddRef(This)
233#define IBackgroundCopyError_Release(This) (This)->lpVtbl->Release(This)428#define IBackgroundCopyError_Release(This) (This)->lpVtbl->Release(This)
429/*** IBackgroundCopyError methods ***/
234#define IBackgroundCopyError_GetError(This,pContext,pCode) (This)->lpVtbl->GetError(This,pContext,pCode)430#define IBackgroundCopyError_GetError(This,pContext,pCode) (This)->lpVtbl->GetError(This,pContext,pCode)
235#define IBackgroundCopyError_GetFile(This,pVal) (This)->lpVtbl->GetFile(This,pVal)431#define IBackgroundCopyError_GetFile(This,pVal) (This)->lpVtbl->GetFile(This,pVal)
236#define IBackgroundCopyError_GetErrorDescription(This,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,LanguageId,pErrorDescription)432#define IBackgroundCopyError_GetErrorDescription(This,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,LanguageId,pErrorDescription)
237#define IBackgroundCopyError_GetErrorContextDescription(This,LanguageId,pContextDescription) (This)->lpVtbl->GetErrorContextDescription(This,LanguageId,pContextDescription)433#define IBackgroundCopyError_GetErrorContextDescription(This,LanguageId,pContextDescription) (This)->lpVtbl->GetErrorContextDescription(This,LanguageId,pContextDescription)
238#define IBackgroundCopyError_GetProtocol(This,pProtocol) (This)->lpVtbl->GetProtocol(This,pProtocol)434#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}
239#endif462#endif
240#endif463#endif
241 HRESULT WINAPI IBackgroundCopyError_GetError_Proxy(IBackgroundCopyError *This,BG_ERROR_CONTEXT *pContext,HRESULT *pCode);464
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);
251#endif465#endif
252466
467
468#endif /* __IBackgroundCopyError_INTERFACE_DEFINED__ */
469
470/*****************************************************************************
471 * IBackgroundCopyJob interface
472 */
253#ifndef __IBackgroundCopyJob_INTERFACE_DEFINED__473#ifndef __IBackgroundCopyJob_INTERFACE_DEFINED__
254#define __IBackgroundCopyJob_INTERFACE_DEFINED__474#define __IBackgroundCopyJob_INTERFACE_DEFINED__
255 typedef struct _BG_FILE_INFO {475
476typedef struct _BG_FILE_INFO {
256 LPWSTR RemoteName;477 LPWSTR RemoteName;
257 LPWSTR LocalName;478 LPWSTR LocalName;
258 } BG_FILE_INFO;479} BG_FILE_INFO;
259480typedef struct _BG_JOB_PROGRESS {
260 typedef struct _BG_JOB_PROGRESS {
261 UINT64 BytesTotal;481 UINT64 BytesTotal;
262 UINT64 BytesTransferred;482 UINT64 BytesTransferred;
263 ULONG FilesTotal;483 ULONG FilesTotal;
264 ULONG FilesTransferred;484 ULONG FilesTransferred;
265 } BG_JOB_PROGRESS;485} BG_JOB_PROGRESS;
266486typedef struct _BG_JOB_TIMES {
267 typedef struct _BG_JOB_TIMES {
268 FILETIME CreationTime;487 FILETIME CreationTime;
269 FILETIME ModificationTime;488 FILETIME ModificationTime;
270 FILETIME TransferCompletionTime;489 FILETIME TransferCompletionTime;
271 } BG_JOB_TIMES;490} BG_JOB_TIMES;
272491typedef enum __WIDL_bits_generated_name_0000000D {
273 typedef enum __MIDL_IBackgroundCopyJob_0001 {
274 BG_JOB_PRIORITY_FOREGROUND = 0,492 BG_JOB_PRIORITY_FOREGROUND = 0,
275 BG_JOB_PRIORITY_HIGH,BG_JOB_PRIORITY_NORMAL,BG_JOB_PRIORITY_LOW493 BG_JOB_PRIORITY_HIGH = 1,
276 } BG_JOB_PRIORITY;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 {528 virtual HRESULT STDMETHODCALLTYPE AddFile(
279 BG_JOB_STATE_QUEUED = 0,BG_JOB_STATE_CONNECTING,BG_JOB_STATE_TRANSFERRING,529 LPCWSTR RemoteUrl,
280 BG_JOB_STATE_SUSPENDED,BG_JOB_STATE_ERROR,BG_JOB_STATE_TRANSIENT_ERROR,530 LPCWSTR LocalName) = 0;
281 BG_JOB_STATE_TRANSFERRED,BG_JOB_STATE_ACKNOWLEDGED,BG_JOB_STATE_CANCELLED
282 } BG_JOB_STATE;
283531
284 typedef enum __MIDL_IBackgroundCopyJob_0003 {532 virtual HRESULT STDMETHODCALLTYPE EnumFiles(
285 BG_JOB_TYPE_DOWNLOAD = 0,BG_JOB_TYPE_UPLOAD,BG_JOB_TYPE_UPLOAD_REPLY533 IEnumBackgroundCopyFiles **pEnum) = 0;
286 } BG_JOB_TYPE;
287534
288 typedef enum __MIDL_IBackgroundCopyJob_0004 {535 virtual HRESULT STDMETHODCALLTYPE Suspend(
289 BG_JOB_PROXY_USAGE_PRECONFIG = 0,BG_JOB_PROXY_USAGE_NO_PROXY,536 ) = 0;
290 BG_JOB_PROXY_USAGE_OVERRIDE,BG_JOB_PROXY_USAGE_AUTODETECT
291 } BG_JOB_PROXY_USAGE;
292537
293 EXTERN_C const IID IID_IBackgroundCopyJob;538 virtual HRESULT STDMETHODCALLTYPE Resume(
294#if defined(__cplusplus) && !defined(CINTERFACE)539 ) = 0;
295 struct IBackgroundCopyJob : public IUnknown {540
296 public:541 virtual HRESULT STDMETHODCALLTYPE Cancel(
297 virtual HRESULT WINAPI AddFileSet(ULONG cFileCount,BG_FILE_INFO *pFileSet) = 0;542 ) = 0;
298 virtual HRESULT WINAPI AddFile(LPCWSTR RemoteUrl,LPCWSTR LocalName) = 0;543
299 virtual HRESULT WINAPI EnumFiles(IEnumBackgroundCopyFiles **pEnum) = 0;544 virtual HRESULT STDMETHODCALLTYPE Complete(
300 virtual HRESULT WINAPI Suspend(void) = 0;545 ) = 0;
301 virtual HRESULT WINAPI Resume(void) = 0;546
302 virtual HRESULT WINAPI Cancel(void) = 0;547 virtual HRESULT STDMETHODCALLTYPE GetId(
303 virtual HRESULT WINAPI Complete(void) = 0;548 GUID *pVal) = 0;
304 virtual HRESULT WINAPI GetId(GUID *pVal) = 0;549
305 virtual HRESULT WINAPI GetType(BG_JOB_TYPE *pVal) = 0;550 virtual HRESULT STDMETHODCALLTYPE GetType(
306 virtual HRESULT WINAPI GetProgress(BG_JOB_PROGRESS *pVal) = 0;551 BG_JOB_TYPE *pVal) = 0;
307 virtual HRESULT WINAPI GetTimes(BG_JOB_TIMES *pVal) = 0;552
308 virtual HRESULT WINAPI GetState(BG_JOB_STATE *pVal) = 0;553 virtual HRESULT STDMETHODCALLTYPE GetProgress(
309 virtual HRESULT WINAPI GetError(IBackgroundCopyError **ppError) = 0;554 BG_JOB_PROGRESS *pVal) = 0;
310 virtual HRESULT WINAPI GetOwner(LPWSTR *pVal) = 0;555
311 virtual HRESULT WINAPI SetDisplayName(LPCWSTR Val) = 0;556 virtual HRESULT STDMETHODCALLTYPE GetTimes(
312 virtual HRESULT WINAPI GetDisplayName(LPWSTR *pVal) = 0;557 BG_JOB_TIMES *pVal) = 0;
313 virtual HRESULT WINAPI SetDescription(LPCWSTR Val) = 0;558
314 virtual HRESULT WINAPI GetDescription(LPWSTR *pVal) = 0;559 virtual HRESULT STDMETHODCALLTYPE GetState(
315 virtual HRESULT WINAPI SetPriority(BG_JOB_PRIORITY Val) = 0;560 BG_JOB_STATE *pVal) = 0;
316 virtual HRESULT WINAPI GetPriority(BG_JOB_PRIORITY *pVal) = 0;561
317 virtual HRESULT WINAPI SetNotifyFlags(ULONG Val) = 0;562 virtual HRESULT STDMETHODCALLTYPE GetError(
318 virtual HRESULT WINAPI GetNotifyFlags(ULONG *pVal) = 0;563 IBackgroundCopyError **ppError) = 0;
319 virtual HRESULT WINAPI SetNotifyInterface(IUnknown *Val) = 0;564
320 virtual HRESULT WINAPI GetNotifyInterface(IUnknown **pVal) = 0;565 virtual HRESULT STDMETHODCALLTYPE GetOwner(
321 virtual HRESULT WINAPI SetMinimumRetryDelay(ULONG Seconds) = 0;566 LPWSTR *pVal) = 0;
322 virtual HRESULT WINAPI GetMinimumRetryDelay(ULONG *Seconds) = 0;567
323 virtual HRESULT WINAPI SetNoProgressTimeout(ULONG Seconds) = 0;568 virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
324 virtual HRESULT WINAPI GetNoProgressTimeout(ULONG *Seconds) = 0;569 LPCWSTR Val) = 0;
325 virtual HRESULT WINAPI GetErrorCount(ULONG *Errors) = 0;570
326 virtual HRESULT WINAPI SetProxySettings(BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) = 0;571 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
327 virtual HRESULT WINAPI GetProxySettings(BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) = 0;572 LPWSTR *pVal) = 0;
328 virtual HRESULT WINAPI TakeOwnership(void) = 0;573
329 };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
330#else630#else
331 typedef struct IBackgroundCopyJobVtbl {631typedef struct IBackgroundCopyJobVtbl {
332 BEGIN_INTERFACE632 BEGIN_INTERFACE
333 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob *This,REFIID riid,void **ppvObject);633
334 ULONG (WINAPI *AddRef)(IBackgroundCopyJob *This);634 /*** IUnknown methods ***/
335 ULONG (WINAPI *Release)(IBackgroundCopyJob *This);635 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
336 HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);636 IBackgroundCopyJob *This,
337 HRESULT (WINAPI *AddFile)(IBackgroundCopyJob *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);637 REFIID riid,
338 HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob *This,IEnumBackgroundCopyFiles **pEnum);638 void **ppvObject);
339 HRESULT (WINAPI *Suspend)(IBackgroundCopyJob *This);639
340 HRESULT (WINAPI *Resume)(IBackgroundCopyJob *This);640 ULONG (STDMETHODCALLTYPE *AddRef)(
341 HRESULT (WINAPI *Cancel)(IBackgroundCopyJob *This);641 IBackgroundCopyJob *This);
342 HRESULT (WINAPI *Complete)(IBackgroundCopyJob *This);642
343 HRESULT (WINAPI *GetId)(IBackgroundCopyJob *This,GUID *pVal);643 ULONG (STDMETHODCALLTYPE *Release)(
344 HRESULT (WINAPI *GetType)(IBackgroundCopyJob *This,BG_JOB_TYPE *pVal);644 IBackgroundCopyJob *This);
345 HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob *This,BG_JOB_PROGRESS *pVal);645
346 HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob *This,BG_JOB_TIMES *pVal);646 /*** IBackgroundCopyJob methods ***/
347 HRESULT (WINAPI *GetState)(IBackgroundCopyJob *This,BG_JOB_STATE *pVal);647 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
348 HRESULT (WINAPI *GetError)(IBackgroundCopyJob *This,IBackgroundCopyError **ppError);648 IBackgroundCopyJob *This,
349 HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob *This,LPWSTR *pVal);649 ULONG cFileCount,
350 HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob *This,LPCWSTR Val);650 BG_FILE_INFO *pFileSet);
351 HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob *This,LPWSTR *pVal);651
352 HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob *This,LPCWSTR Val);652 HRESULT (STDMETHODCALLTYPE *AddFile)(
353 HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob *This,LPWSTR *pVal);653 IBackgroundCopyJob *This,
354 HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob *This,BG_JOB_PRIORITY Val);654 LPCWSTR RemoteUrl,
355 HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob *This,BG_JOB_PRIORITY *pVal);655 LPCWSTR LocalName);
356 HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob *This,ULONG Val);656
357 HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob *This,ULONG *pVal);657 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
358 HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob *This,IUnknown *Val);658 IBackgroundCopyJob *This,
359 HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob *This,IUnknown **pVal);659 IEnumBackgroundCopyFiles **pEnum);
360 HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob *This,ULONG Seconds);660
361 HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob *This,ULONG *Seconds);661 HRESULT (STDMETHODCALLTYPE *Suspend)(
362 HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob *This,ULONG Seconds);662 IBackgroundCopyJob *This);
363 HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob *This,ULONG *Seconds);663
364 HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob *This,ULONG *Errors);664 HRESULT (STDMETHODCALLTYPE *Resume)(
365 HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);665 IBackgroundCopyJob *This);
366 HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);666
367 HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob *This);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
368 END_INTERFACE776 END_INTERFACE
369 } IBackgroundCopyJobVtbl;777} IBackgroundCopyJobVtbl;
370 struct IBackgroundCopyJob {778
371 CONST_VTBL struct IBackgroundCopyJobVtbl *lpVtbl;779interface IBackgroundCopyJob {
372 };780 CONST_VTBL IBackgroundCopyJobVtbl* lpVtbl;
781};
782
373#ifdef COBJMACROS783#ifdef COBJMACROS
784#ifndef WIDL_C_INLINE_WRAPPERS
785/*** IUnknown methods ***/
374#define IBackgroundCopyJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)786#define IBackgroundCopyJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
375#define IBackgroundCopyJob_AddRef(This) (This)->lpVtbl->AddRef(This)787#define IBackgroundCopyJob_AddRef(This) (This)->lpVtbl->AddRef(This)
376#define IBackgroundCopyJob_Release(This) (This)->lpVtbl->Release(This)788#define IBackgroundCopyJob_Release(This) (This)->lpVtbl->Release(This)
789/*** IBackgroundCopyJob methods ***/
377#define IBackgroundCopyJob_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)790#define IBackgroundCopyJob_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
378#define IBackgroundCopyJob_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)791#define IBackgroundCopyJob_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
379#define IBackgroundCopyJob_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)792#define IBackgroundCopyJob_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
...@@ -406,294 +819,509 @@ extern "C"{...@@ -406,294 +819,509 @@ extern "C"{
406#define IBackgroundCopyJob_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)819#define IBackgroundCopyJob_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
407#define IBackgroundCopyJob_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)820#define IBackgroundCopyJob_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
408#define IBackgroundCopyJob_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)821#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}
409#endif930#endif
410#endif931#endif
411 HRESULT WINAPI IBackgroundCopyJob_AddFileSet_Proxy(IBackgroundCopyJob *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);932
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);
475#endif933#endif
476934
935
936#endif /* __IBackgroundCopyJob_INTERFACE_DEFINED__ */
937
938/*****************************************************************************
939 * IEnumBackgroundCopyJobs interface
940 */
477#ifndef __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__941#ifndef __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__
478#define __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__942#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);
480#if defined(__cplusplus) && !defined(CINTERFACE)945#if defined(__cplusplus) && !defined(CINTERFACE)
481 struct IEnumBackgroundCopyJobs : public IUnknown {946MIDL_INTERFACE("1af4f612-3b71-466f-8f58-7b6f73ac57ad")
482 public:947IEnumBackgroundCopyJobs : public IUnknown
483 virtual HRESULT WINAPI Next(ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched) = 0;948{
484 virtual HRESULT WINAPI Skip(ULONG celt) = 0;949 virtual HRESULT STDMETHODCALLTYPE Next(
485 virtual HRESULT WINAPI Reset(void) = 0;950 ULONG celt,
486 virtual HRESULT WINAPI Clone(IEnumBackgroundCopyJobs **ppenum) = 0;951 IBackgroundCopyJob **rgelt,
487 virtual HRESULT WINAPI GetCount(ULONG *puCount) = 0;952 ULONG *pceltFetched) = 0;
488 };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
489#else970#else
490 typedef struct IEnumBackgroundCopyJobsVtbl {971typedef struct IEnumBackgroundCopyJobsVtbl {
491 BEGIN_INTERFACE972 BEGIN_INTERFACE
492 HRESULT (WINAPI *QueryInterface)(IEnumBackgroundCopyJobs *This,REFIID riid,void **ppvObject);973
493 ULONG (WINAPI *AddRef)(IEnumBackgroundCopyJobs *This);974 /*** IUnknown methods ***/
494 ULONG (WINAPI *Release)(IEnumBackgroundCopyJobs *This);975 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
495 HRESULT (WINAPI *Next)(IEnumBackgroundCopyJobs *This,ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched);976 IEnumBackgroundCopyJobs *This,
496 HRESULT (WINAPI *Skip)(IEnumBackgroundCopyJobs *This,ULONG celt);977 REFIID riid,
497 HRESULT (WINAPI *Reset)(IEnumBackgroundCopyJobs *This);978 void **ppvObject);
498 HRESULT (WINAPI *Clone)(IEnumBackgroundCopyJobs *This,IEnumBackgroundCopyJobs **ppenum);979
499 HRESULT (WINAPI *GetCount)(IEnumBackgroundCopyJobs *This,ULONG *puCount);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
500 END_INTERFACE1008 END_INTERFACE
501 } IEnumBackgroundCopyJobsVtbl;1009} IEnumBackgroundCopyJobsVtbl;
502 struct IEnumBackgroundCopyJobs {1010
503 CONST_VTBL struct IEnumBackgroundCopyJobsVtbl *lpVtbl;1011interface IEnumBackgroundCopyJobs {
504 };1012 CONST_VTBL IEnumBackgroundCopyJobsVtbl* lpVtbl;
1013};
1014
505#ifdef COBJMACROS1015#ifdef COBJMACROS
1016#ifndef WIDL_C_INLINE_WRAPPERS
1017/*** IUnknown methods ***/
506#define IEnumBackgroundCopyJobs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1018#define IEnumBackgroundCopyJobs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
507#define IEnumBackgroundCopyJobs_AddRef(This) (This)->lpVtbl->AddRef(This)1019#define IEnumBackgroundCopyJobs_AddRef(This) (This)->lpVtbl->AddRef(This)
508#define IEnumBackgroundCopyJobs_Release(This) (This)->lpVtbl->Release(This)1020#define IEnumBackgroundCopyJobs_Release(This) (This)->lpVtbl->Release(This)
1021/*** IEnumBackgroundCopyJobs methods ***/
509#define IEnumBackgroundCopyJobs_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)1022#define IEnumBackgroundCopyJobs_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
510#define IEnumBackgroundCopyJobs_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)1023#define IEnumBackgroundCopyJobs_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
511#define IEnumBackgroundCopyJobs_Reset(This) (This)->lpVtbl->Reset(This)1024#define IEnumBackgroundCopyJobs_Reset(This) (This)->lpVtbl->Reset(This)
512#define IEnumBackgroundCopyJobs_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)1025#define IEnumBackgroundCopyJobs_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
513#define IEnumBackgroundCopyJobs_GetCount(This,puCount) (This)->lpVtbl->GetCount(This,puCount)1026#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}
514#endif1054#endif
515#endif1055#endif
516 HRESULT WINAPI IEnumBackgroundCopyJobs_Next_Proxy(IEnumBackgroundCopyJobs *This,ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched);1056
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);
526#endif1057#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;1060#endif /* __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__ */
534 extern RPC_IF_HANDLE __MIDL_itf_bits_0013_v0_0_s_ifspec;
5351061
1062/*****************************************************************************
1063 * IBackgroundCopyCallback interface
1064 */
536#ifndef __IBackgroundCopyCallback_INTERFACE_DEFINED__1065#ifndef __IBackgroundCopyCallback_INTERFACE_DEFINED__
537#define __IBackgroundCopyCallback_INTERFACE_DEFINED__1066#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);
539#if defined(__cplusplus) && !defined(CINTERFACE)1069#if defined(__cplusplus) && !defined(CINTERFACE)
540 struct IBackgroundCopyCallback : public IUnknown {1070MIDL_INTERFACE("97ea99c7-0186-4ad4-8df9-c5b4e0ed6b22")
541 public:1071IBackgroundCopyCallback : public IUnknown
542 virtual HRESULT WINAPI JobTransferred(IBackgroundCopyJob *pJob) = 0;1072{
543 virtual HRESULT WINAPI JobError(IBackgroundCopyJob *pJob,IBackgroundCopyError *pError) = 0;1073 virtual HRESULT STDMETHODCALLTYPE JobTransferred(
544 virtual HRESULT WINAPI JobModification(IBackgroundCopyJob *pJob,DWORD dwReserved) = 0;1074 IBackgroundCopyJob *pJob) = 0;
545 };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
546#else1088#else
547 typedef struct IBackgroundCopyCallbackVtbl {1089typedef struct IBackgroundCopyCallbackVtbl {
548 BEGIN_INTERFACE1090 BEGIN_INTERFACE
549 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyCallback *This,REFIID riid,void **ppvObject);1091
550 ULONG (WINAPI *AddRef)(IBackgroundCopyCallback *This);1092 /*** IUnknown methods ***/
551 ULONG (WINAPI *Release)(IBackgroundCopyCallback *This);1093 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
552 HRESULT (WINAPI *JobTransferred)(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob);1094 IBackgroundCopyCallback *This,
553 HRESULT (WINAPI *JobError)(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError);1095 REFIID riid,
554 HRESULT (WINAPI *JobModification)(IBackgroundCopyCallback *This,IBackgroundCopyJob *pJob,DWORD dwReserved);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
555 END_INTERFACE1119 END_INTERFACE
556 } IBackgroundCopyCallbackVtbl;1120} IBackgroundCopyCallbackVtbl;
557 struct IBackgroundCopyCallback {1121
558 CONST_VTBL struct IBackgroundCopyCallbackVtbl *lpVtbl;1122interface IBackgroundCopyCallback {
559 };1123 CONST_VTBL IBackgroundCopyCallbackVtbl* lpVtbl;
1124};
1125
560#ifdef COBJMACROS1126#ifdef COBJMACROS
1127#ifndef WIDL_C_INLINE_WRAPPERS
1128/*** IUnknown methods ***/
561#define IBackgroundCopyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1129#define IBackgroundCopyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
562#define IBackgroundCopyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)1130#define IBackgroundCopyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
563#define IBackgroundCopyCallback_Release(This) (This)->lpVtbl->Release(This)1131#define IBackgroundCopyCallback_Release(This) (This)->lpVtbl->Release(This)
1132/*** IBackgroundCopyCallback methods ***/
564#define IBackgroundCopyCallback_JobTransferred(This,pJob) (This)->lpVtbl->JobTransferred(This,pJob)1133#define IBackgroundCopyCallback_JobTransferred(This,pJob) (This)->lpVtbl->JobTransferred(This,pJob)
565#define IBackgroundCopyCallback_JobError(This,pJob,pError) (This)->lpVtbl->JobError(This,pJob,pError)1134#define IBackgroundCopyCallback_JobError(This,pJob,pError) (This)->lpVtbl->JobError(This,pJob,pError)
566#define IBackgroundCopyCallback_JobModification(This,pJob,dwReserved) (This)->lpVtbl->JobModification(This,pJob,dwReserved)1135#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}
567#endif1157#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);
575#endif1158#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);
631#endif1160#endif
6321161
1162
1163#endif /* __IBackgroundCopyCallback_INTERFACE_DEFINED__ */
1164
1165/*****************************************************************************
1166 * IBackgroundCopyManager interface
1167 */
633#ifndef __IBackgroundCopyManager_INTERFACE_DEFINED__1168#ifndef __IBackgroundCopyManager_INTERFACE_DEFINED__
634#define __IBackgroundCopyManager_INTERFACE_DEFINED__1169#define __IBackgroundCopyManager_INTERFACE_DEFINED__
6351170
636#define BG_JOB_ENUM_ALL_USERS 0x00011171#define BG_JOB_ENUM_ALL_USERS 0x0001
6371172DEFINE_GUID(IID_IBackgroundCopyManager, 0x5ce34c0d, 0x0dc9, 0x4c1f, 0x89,0x7c, 0xda,0xa1,0xb7,0x8c,0xee,0x7c);
638 EXTERN_C const IID IID_IBackgroundCopyManager;
639#if defined(__cplusplus) && !defined(CINTERFACE)1173#if defined(__cplusplus) && !defined(CINTERFACE)
640 struct IBackgroundCopyManager : public IUnknown {1174MIDL_INTERFACE("5ce34c0d-0dc9-4c1f-897c-daa1b78cee7c")
641 public:1175IBackgroundCopyManager : public IUnknown
642 virtual HRESULT WINAPI CreateJob(LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob) = 0;1176{
643 virtual HRESULT WINAPI GetJob(REFGUID jobID,IBackgroundCopyJob **ppJob) = 0;1177 virtual HRESULT STDMETHODCALLTYPE CreateJob(
644 virtual HRESULT WINAPI EnumJobs(DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum) = 0;1178 LPCWSTR DisplayName,
645 virtual HRESULT WINAPI GetErrorDescription(HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription) = 0;1179 BG_JOB_TYPE Type,
646 };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
647#else1200#else
648 typedef struct IBackgroundCopyManagerVtbl {1201typedef struct IBackgroundCopyManagerVtbl {
649 BEGIN_INTERFACE1202 BEGIN_INTERFACE
650 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyManager *This,REFIID riid,void **ppvObject);1203
651 ULONG (WINAPI *AddRef)(IBackgroundCopyManager *This);1204 /*** IUnknown methods ***/
652 ULONG (WINAPI *Release)(IBackgroundCopyManager *This);1205 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
653 HRESULT (WINAPI *CreateJob)(IBackgroundCopyManager *This,LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob);1206 IBackgroundCopyManager *This,
654 HRESULT (WINAPI *GetJob)(IBackgroundCopyManager *This,REFGUID jobID,IBackgroundCopyJob **ppJob);1207 REFIID riid,
655 HRESULT (WINAPI *EnumJobs)(IBackgroundCopyManager *This,DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum);1208 void **ppvObject);
656 HRESULT (WINAPI *GetErrorDescription)(IBackgroundCopyManager *This,HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription);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
657 END_INTERFACE1240 END_INTERFACE
658 } IBackgroundCopyManagerVtbl;1241} IBackgroundCopyManagerVtbl;
659 struct IBackgroundCopyManager {1242
660 CONST_VTBL struct IBackgroundCopyManagerVtbl *lpVtbl;1243interface IBackgroundCopyManager {
661 };1244 CONST_VTBL IBackgroundCopyManagerVtbl* lpVtbl;
1245};
1246
662#ifdef COBJMACROS1247#ifdef COBJMACROS
1248#ifndef WIDL_C_INLINE_WRAPPERS
1249/*** IUnknown methods ***/
663#define IBackgroundCopyManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1250#define IBackgroundCopyManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
664#define IBackgroundCopyManager_AddRef(This) (This)->lpVtbl->AddRef(This)1251#define IBackgroundCopyManager_AddRef(This) (This)->lpVtbl->AddRef(This)
665#define IBackgroundCopyManager_Release(This) (This)->lpVtbl->Release(This)1252#define IBackgroundCopyManager_Release(This) (This)->lpVtbl->Release(This)
1253/*** IBackgroundCopyManager methods ***/
666#define IBackgroundCopyManager_CreateJob(This,DisplayName,Type,pJobId,ppJob) (This)->lpVtbl->CreateJob(This,DisplayName,Type,pJobId,ppJob)1254#define IBackgroundCopyManager_CreateJob(This,DisplayName,Type,pJobId,ppJob) (This)->lpVtbl->CreateJob(This,DisplayName,Type,pJobId,ppJob)
667#define IBackgroundCopyManager_GetJob(This,jobID,ppJob) (This)->lpVtbl->GetJob(This,jobID,ppJob)1255#define IBackgroundCopyManager_GetJob(This,jobID,ppJob) (This)->lpVtbl->GetJob(This,jobID,ppJob)
668#define IBackgroundCopyManager_EnumJobs(This,dwFlags,ppEnum) (This)->lpVtbl->EnumJobs(This,dwFlags,ppEnum)1256#define IBackgroundCopyManager_EnumJobs(This,dwFlags,ppEnum) (This)->lpVtbl->EnumJobs(This,dwFlags,ppEnum)
669#define IBackgroundCopyManager_GetErrorDescription(This,hResult,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,hResult,LanguageId,pErrorDescription)1257#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}
670#endif1282#endif
671#endif1283#endif
672 HRESULT WINAPI IBackgroundCopyManager_CreateJob_Proxy(IBackgroundCopyManager *This,LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob);1284
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);
680#endif1285#endif
6811286
1287
1288#endif /* __IBackgroundCopyManager_INTERFACE_DEFINED__ */
1289
682#ifndef __BackgroundCopyManager_LIBRARY_DEFINED__1290#ifndef __BackgroundCopyManager_LIBRARY_DEFINED__
683#define __BackgroundCopyManager_LIBRARY_DEFINED__1291#define __BackgroundCopyManager_LIBRARY_DEFINED__
684 EXTERN_C const IID LIBID_BackgroundCopyManager;1292
685 EXTERN_C const CLSID CLSID_BackgroundCopyManager;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
686#ifdef __cplusplus1301#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
688#endif1306#endif
1307
1308#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
1309#define __IBackgroundCopyCallback_FWD_DEFINED__
1310typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
1311#ifdef __cplusplus
1312interface IBackgroundCopyCallback;
1313#endif /* __cplusplus */
689#endif1314#endif
6901315
1316#endif /* __BackgroundCopyManager_LIBRARY_DEFINED__ */
691#include "bits1_5.h"1317#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;1321/* End additional prototypes */
694 extern RPC_IF_HANDLE __MIDL_itf_bits_0015_v0_0_s_ifspec;
6951322
696#ifdef __cplusplus1323#ifdef __cplusplus
697}1324}
698#endif1325#endif
699#endif1326
1327#endif /* __bits_h__ */
lib/libc/include/any-windows-any/bits1_5.h+447-142
...@@ -1,30 +1,29 @@...@@ -1,30 +1,29 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/bits1_5.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 4755#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif6#endif
97#include <rpc.h>
10#include "rpc.h"8#include <rpcndr.h>
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif9#endif
1610
17#ifndef COM_NO_WINDOWS_H11#ifndef COM_NO_WINDOWS_H
18#include "windows.h"12#include <windows.h>
19#include "ole2.h"13#include <ole2.h>
20#endif14#endif
2115
22#ifndef __bits1_5_h__16#ifndef __bits1_5_h__
23#define __bits1_5_h__17#define __bits1_5_h__
2418
19/* Forward declarations */
20
25#ifndef __IBackgroundCopyJob2_FWD_DEFINED__21#ifndef __IBackgroundCopyJob2_FWD_DEFINED__
26#define __IBackgroundCopyJob2_FWD_DEFINED__22#define __IBackgroundCopyJob2_FWD_DEFINED__
27typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;23typedef interface IBackgroundCopyJob2 IBackgroundCopyJob2;
24#ifdef __cplusplus
25interface IBackgroundCopyJob2;
26#endif /* __cplusplus */
28#endif27#endif
2928
30#ifndef __BackgroundCopyManager1_5_FWD_DEFINED__29#ifndef __BackgroundCopyManager1_5_FWD_DEFINED__
...@@ -33,130 +32,286 @@ typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;...@@ -33,130 +32,286 @@ typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;
33typedef class BackgroundCopyManager1_5 BackgroundCopyManager1_5;32typedef class BackgroundCopyManager1_5 BackgroundCopyManager1_5;
34#else33#else
35typedef struct BackgroundCopyManager1_5 BackgroundCopyManager1_5;34typedef struct BackgroundCopyManager1_5 BackgroundCopyManager1_5;
36#endif35#endif /* defined __cplusplus */
37#endif36#endif /* defined __BackgroundCopyManager1_5_FWD_DEFINED__ */
3837
39#ifndef __IBackgroundCopyJob2_FWD_DEFINED__38/* Headers for imported files */
40#define __IBackgroundCopyJob2_FWD_DEFINED__
41typedef struct IBackgroundCopyJob2 IBackgroundCopyJob2;
42#endif
4339
44#include "bits.h"40#include <bits.h>
4541
46#ifdef __cplusplus42#ifdef __cplusplus
47extern "C"{43extern "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 *);
54#endif44#endif
5545
46/*****************************************************************************
47 * IBackgroundCopyJob2 interface
48 */
56#ifndef __IBackgroundCopyJob2_INTERFACE_DEFINED__49#ifndef __IBackgroundCopyJob2_INTERFACE_DEFINED__
57#define __IBackgroundCopyJob2_INTERFACE_DEFINED__50#define __IBackgroundCopyJob2_INTERFACE_DEFINED__
5851
59 typedef struct _BG_JOB_REPLY_PROGRESS {52typedef struct _BG_JOB_REPLY_PROGRESS {
60 UINT64 BytesTotal;53 UINT64 BytesTotal;
61 UINT64 BytesTransferred;54 UINT64 BytesTransferred;
62 } BG_JOB_REPLY_PROGRESS;55} BG_JOB_REPLY_PROGRESS;
6356typedef enum __WIDL_bits1_5_generated_name_00000011 {
64 typedef enum __MIDL_IBackgroundCopyJob2_0001 {57 BG_AUTH_TARGET_SERVER = 1,
65 BG_AUTH_TARGET_SERVER = 1,BG_AUTH_TARGET_PROXY = BG_AUTH_TARGET_SERVER + 158 BG_AUTH_TARGET_PROXY = 2
66 } BG_AUTH_TARGET;59} BG_AUTH_TARGET;
6760typedef enum __WIDL_bits1_5_generated_name_00000012 {
68 typedef enum __MIDL_IBackgroundCopyJob2_0002 {61 BG_AUTH_SCHEME_BASIC = 1,
69 BG_AUTH_SCHEME_BASIC = 1,BG_AUTH_SCHEME_DIGEST,BG_AUTH_SCHEME_NTLM,62 BG_AUTH_SCHEME_DIGEST = 2,
70 BG_AUTH_SCHEME_NEGOTIATE,BG_AUTH_SCHEME_PASSPORT63 BG_AUTH_SCHEME_NTLM = 3,
71 } BG_AUTH_SCHEME;64 BG_AUTH_SCHEME_NEGOTIATE = 4,
7265 BG_AUTH_SCHEME_PASSPORT = 5
73 typedef struct __MIDL_IBackgroundCopyJob2_0003 {66} BG_AUTH_SCHEME;
67typedef struct __WIDL_bits1_5_generated_name_00000013 {
74 LPWSTR UserName;68 LPWSTR UserName;
75 LPWSTR Password;69 LPWSTR Password;
76 } BG_BASIC_CREDENTIALS;70} BG_BASIC_CREDENTIALS;
7771typedef BG_BASIC_CREDENTIALS *PBG_BASIC_CREDENTIALS;
78 typedef BG_BASIC_CREDENTIALS *PBG_BASIC_CREDENTIALS;72typedef union __WIDL_bits1_5_generated_name_00000014 {
79
80 typedef union __MIDL_IBackgroundCopyJob2_0004 {
81 BG_BASIC_CREDENTIALS Basic;73 BG_BASIC_CREDENTIALS Basic;
82 } BG_AUTH_CREDENTIALS_UNION;74} BG_AUTH_CREDENTIALS_UNION;
8375typedef struct __WIDL_bits1_5_generated_name_00000015 {
84 typedef struct __MIDL_IBackgroundCopyJob2_0005 {
85 BG_AUTH_TARGET Target;76 BG_AUTH_TARGET Target;
86 BG_AUTH_SCHEME Scheme;77 BG_AUTH_SCHEME Scheme;
87 BG_AUTH_CREDENTIALS_UNION Credentials;78 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;94 virtual HRESULT STDMETHODCALLTYPE GetReplyProgress(
93#if defined(__cplusplus) && !defined(CINTERFACE)95 BG_JOB_REPLY_PROGRESS *progress) = 0;
94 struct IBackgroundCopyJob2 : public IBackgroundCopyJob {96
95 public:97 virtual HRESULT STDMETHODCALLTYPE GetReplyData(
96 virtual HRESULT WINAPI SetNotifyCmdLine(LPCWSTR Program,LPCWSTR Parameters) = 0;98 byte **pBuffer,
97 virtual HRESULT WINAPI GetNotifyCmdLine(LPWSTR *pProgram,LPWSTR *pParameters) = 0;99 UINT64 *pLength) = 0;
98 virtual HRESULT WINAPI GetReplyProgress(BG_JOB_REPLY_PROGRESS *pProgress) = 0;100
99 virtual HRESULT WINAPI GetReplyData(byte **ppBuffer,UINT64 *pLength) = 0;101 virtual HRESULT STDMETHODCALLTYPE SetReplyFileName(
100 virtual HRESULT WINAPI SetReplyFileName(LPCWSTR ReplyFileName) = 0;102 LPCWSTR filename) = 0;
101 virtual HRESULT WINAPI GetReplyFileName(LPWSTR *pReplyFileName) = 0;103
102 virtual HRESULT WINAPI SetCredentials(BG_AUTH_CREDENTIALS *credentials) = 0;104 virtual HRESULT STDMETHODCALLTYPE GetReplyFileName(
103 virtual HRESULT WINAPI RemoveCredentials(BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme) = 0;105 LPWSTR *pFilename) = 0;
104 };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
105#else118#else
106 typedef struct IBackgroundCopyJob2Vtbl {119typedef struct IBackgroundCopyJob2Vtbl {
107 BEGIN_INTERFACE120 BEGIN_INTERFACE
108 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob2 *This,REFIID riid,void **ppvObject);121
109 ULONG (WINAPI *AddRef)(IBackgroundCopyJob2 *This);122 /*** IUnknown methods ***/
110 ULONG (WINAPI *Release)(IBackgroundCopyJob2 *This);123 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
111 HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob2 *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);124 IBackgroundCopyJob2 *This,
112 HRESULT (WINAPI *AddFile)(IBackgroundCopyJob2 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);125 REFIID riid,
113 HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob2 *This,IEnumBackgroundCopyFiles **pEnum);126 void **ppvObject);
114 HRESULT (WINAPI *Suspend)(IBackgroundCopyJob2 *This);127
115 HRESULT (WINAPI *Resume)(IBackgroundCopyJob2 *This);128 ULONG (STDMETHODCALLTYPE *AddRef)(
116 HRESULT (WINAPI *Cancel)(IBackgroundCopyJob2 *This);129 IBackgroundCopyJob2 *This);
117 HRESULT (WINAPI *Complete)(IBackgroundCopyJob2 *This);130
118 HRESULT (WINAPI *GetId)(IBackgroundCopyJob2 *This,GUID *pVal);131 ULONG (STDMETHODCALLTYPE *Release)(
119 HRESULT (WINAPI *GetType)(IBackgroundCopyJob2 *This,BG_JOB_TYPE *pVal);132 IBackgroundCopyJob2 *This);
120 HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob2 *This,BG_JOB_PROGRESS *pVal);133
121 HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob2 *This,BG_JOB_TIMES *pVal);134 /*** IBackgroundCopyJob methods ***/
122 HRESULT (WINAPI *GetState)(IBackgroundCopyJob2 *This,BG_JOB_STATE *pVal);135 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
123 HRESULT (WINAPI *GetError)(IBackgroundCopyJob2 *This,IBackgroundCopyError **ppError);136 IBackgroundCopyJob2 *This,
124 HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob2 *This,LPWSTR *pVal);137 ULONG cFileCount,
125 HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob2 *This,LPCWSTR Val);138 BG_FILE_INFO *pFileSet);
126 HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob2 *This,LPWSTR *pVal);139
127 HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob2 *This,LPCWSTR Val);140 HRESULT (STDMETHODCALLTYPE *AddFile)(
128 HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob2 *This,LPWSTR *pVal);141 IBackgroundCopyJob2 *This,
129 HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob2 *This,BG_JOB_PRIORITY Val);142 LPCWSTR RemoteUrl,
130 HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob2 *This,BG_JOB_PRIORITY *pVal);143 LPCWSTR LocalName);
131 HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob2 *This,ULONG Val);144
132 HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob2 *This,ULONG *pVal);145 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
133 HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob2 *This,IUnknown *Val);146 IBackgroundCopyJob2 *This,
134 HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob2 *This,IUnknown **pVal);147 IEnumBackgroundCopyFiles **pEnum);
135 HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob2 *This,ULONG Seconds);148
136 HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob2 *This,ULONG *Seconds);149 HRESULT (STDMETHODCALLTYPE *Suspend)(
137 HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob2 *This,ULONG Seconds);150 IBackgroundCopyJob2 *This);
138 HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob2 *This,ULONG *Seconds);151
139 HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob2 *This,ULONG *Errors);152 HRESULT (STDMETHODCALLTYPE *Resume)(
140 HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob2 *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);153 IBackgroundCopyJob2 *This);
141 HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob2 *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);154
142 HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob2 *This);155 HRESULT (STDMETHODCALLTYPE *Cancel)(
143 HRESULT (WINAPI *SetNotifyCmdLine)(IBackgroundCopyJob2 *This,LPCWSTR Program,LPCWSTR Parameters);156 IBackgroundCopyJob2 *This);
144 HRESULT (WINAPI *GetNotifyCmdLine)(IBackgroundCopyJob2 *This,LPWSTR *pProgram,LPWSTR *pParameters);157
145 HRESULT (WINAPI *GetReplyProgress)(IBackgroundCopyJob2 *This,BG_JOB_REPLY_PROGRESS *pProgress);158 HRESULT (STDMETHODCALLTYPE *Complete)(
146 HRESULT (WINAPI *GetReplyData)(IBackgroundCopyJob2 *This,byte **ppBuffer,UINT64 *pLength);159 IBackgroundCopyJob2 *This);
147 HRESULT (WINAPI *SetReplyFileName)(IBackgroundCopyJob2 *This,LPCWSTR ReplyFileName);160
148 HRESULT (WINAPI *GetReplyFileName)(IBackgroundCopyJob2 *This,LPWSTR *pReplyFileName);161 HRESULT (STDMETHODCALLTYPE *GetId)(
149 HRESULT (WINAPI *SetCredentials)(IBackgroundCopyJob2 *This,BG_AUTH_CREDENTIALS *credentials);162 IBackgroundCopyJob2 *This,
150 HRESULT (WINAPI *RemoveCredentials)(IBackgroundCopyJob2 *This,BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme);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
151 END_INTERFACE301 END_INTERFACE
152 } IBackgroundCopyJob2Vtbl;302} IBackgroundCopyJob2Vtbl;
153 struct IBackgroundCopyJob2 {303
154 CONST_VTBL struct IBackgroundCopyJob2Vtbl *lpVtbl;304interface IBackgroundCopyJob2 {
155 };305 CONST_VTBL IBackgroundCopyJob2Vtbl* lpVtbl;
306};
307
156#ifdef COBJMACROS308#ifdef COBJMACROS
309#ifndef WIDL_C_INLINE_WRAPPERS
310/*** IUnknown methods ***/
157#define IBackgroundCopyJob2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)311#define IBackgroundCopyJob2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
158#define IBackgroundCopyJob2_AddRef(This) (This)->lpVtbl->AddRef(This)312#define IBackgroundCopyJob2_AddRef(This) (This)->lpVtbl->AddRef(This)
159#define IBackgroundCopyJob2_Release(This) (This)->lpVtbl->Release(This)313#define IBackgroundCopyJob2_Release(This) (This)->lpVtbl->Release(This)
314/*** IBackgroundCopyJob methods ***/
160#define IBackgroundCopyJob2_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)315#define IBackgroundCopyJob2_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
161#define IBackgroundCopyJob2_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)316#define IBackgroundCopyJob2_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
162#define IBackgroundCopyJob2_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)317#define IBackgroundCopyJob2_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
...@@ -189,49 +344,199 @@ extern "C"{...@@ -189,49 +344,199 @@ extern "C"{
189#define IBackgroundCopyJob2_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)344#define IBackgroundCopyJob2_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
190#define IBackgroundCopyJob2_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)345#define IBackgroundCopyJob2_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
191#define IBackgroundCopyJob2_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)346#define IBackgroundCopyJob2_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
192#define IBackgroundCopyJob2_SetNotifyCmdLine(This,Program,Parameters) (This)->lpVtbl->SetNotifyCmdLine(This,Program,Parameters)347/*** IBackgroundCopyJob2 methods ***/
193#define IBackgroundCopyJob2_GetNotifyCmdLine(This,pProgram,pParameters) (This)->lpVtbl->GetNotifyCmdLine(This,pProgram,pParameters)348#define IBackgroundCopyJob2_SetNotifyCmdLine(This,prog,params) (This)->lpVtbl->SetNotifyCmdLine(This,prog,params)
194#define IBackgroundCopyJob2_GetReplyProgress(This,pProgress) (This)->lpVtbl->GetReplyProgress(This,pProgress)349#define IBackgroundCopyJob2_GetNotifyCmdLine(This,prog,params) (This)->lpVtbl->GetNotifyCmdLine(This,prog,params)
195#define IBackgroundCopyJob2_GetReplyData(This,ppBuffer,pLength) (This)->lpVtbl->GetReplyData(This,ppBuffer,pLength)350#define IBackgroundCopyJob2_GetReplyProgress(This,progress) (This)->lpVtbl->GetReplyProgress(This,progress)
196#define IBackgroundCopyJob2_SetReplyFileName(This,ReplyFileName) (This)->lpVtbl->SetReplyFileName(This,ReplyFileName)351#define IBackgroundCopyJob2_GetReplyData(This,pBuffer,pLength) (This)->lpVtbl->GetReplyData(This,pBuffer,pLength)
197#define IBackgroundCopyJob2_GetReplyFileName(This,pReplyFileName) (This)->lpVtbl->GetReplyFileName(This,pReplyFileName)352#define IBackgroundCopyJob2_SetReplyFileName(This,filename) (This)->lpVtbl->SetReplyFileName(This,filename)
198#define IBackgroundCopyJob2_SetCredentials(This,credentials) (This)->lpVtbl->SetCredentials(This,credentials)353#define IBackgroundCopyJob2_GetReplyFileName(This,pFilename) (This)->lpVtbl->GetReplyFileName(This,pFilename)
199#define IBackgroundCopyJob2_RemoveCredentials(This,Target,Scheme) (This)->lpVtbl->RemoveCredentials(This,Target,Scheme)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}
200#endif489#endif
201#endif490#endif
202 HRESULT WINAPI IBackgroundCopyJob2_SetNotifyCmdLine_Proxy(IBackgroundCopyJob2 *This,LPCWSTR Program,LPCWSTR Parameters);491
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);
218#endif492#endif
219493
494
495#endif /* __IBackgroundCopyJob2_INTERFACE_DEFINED__ */
496
220#ifndef __BackgroundCopyManager1_5_LIBRARY_DEFINED__497#ifndef __BackgroundCopyManager1_5_LIBRARY_DEFINED__
221#define __BackgroundCopyManager1_5_LIBRARY_DEFINED__498#define __BackgroundCopyManager1_5_LIBRARY_DEFINED__
222 EXTERN_C const IID LIBID_BackgroundCopyManager1_5;499
223 EXTERN_C const CLSID CLSID_BackgroundCopyManager1_5;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
224#ifdef __cplusplus508#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
226#endif513#endif
514
515#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
516#define __IBackgroundCopyCallback_FWD_DEFINED__
517typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
518#ifdef __cplusplus
519interface IBackgroundCopyCallback;
520#endif /* __cplusplus */
227#endif521#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__ */
229#include "bits2_0.h"532#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;536/* End additional prototypes */
232 extern RPC_IF_HANDLE __MIDL_itf_bits1_5_0124_v0_0_s_ifspec;
233537
234#ifdef __cplusplus538#ifdef __cplusplus
235}539}
236#endif540#endif
237#endif541
542#endif /* __bits1_5_h__ */
lib/libc/include/any-windows-any/bits2_0.h+623-192
...@@ -1,34 +1,37 @@...@@ -1,34 +1,37 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/bits2_0.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 4755#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif6#endif
97#include <rpc.h>
10#include "rpc.h"8#include <rpcndr.h>
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif9#endif
1610
17#ifndef COM_NO_WINDOWS_H11#ifndef COM_NO_WINDOWS_H
18#include "windows.h"12#include <windows.h>
19#include "ole2.h"13#include <ole2.h>
20#endif14#endif
2115
22#ifndef __bits2_0_h__16#ifndef __bits2_0_h__
23#define __bits2_0_h__17#define __bits2_0_h__
18
19/* Forward declarations */
20
24#ifndef __IBackgroundCopyJob3_FWD_DEFINED__21#ifndef __IBackgroundCopyJob3_FWD_DEFINED__
25#define __IBackgroundCopyJob3_FWD_DEFINED__22#define __IBackgroundCopyJob3_FWD_DEFINED__
26typedef struct IBackgroundCopyJob3 IBackgroundCopyJob3;23typedef interface IBackgroundCopyJob3 IBackgroundCopyJob3;
24#ifdef __cplusplus
25interface IBackgroundCopyJob3;
26#endif /* __cplusplus */
27#endif27#endif
2828
29#ifndef __IBackgroundCopyFile2_FWD_DEFINED__29#ifndef __IBackgroundCopyFile2_FWD_DEFINED__
30#define __IBackgroundCopyFile2_FWD_DEFINED__30#define __IBackgroundCopyFile2_FWD_DEFINED__
31typedef struct IBackgroundCopyFile2 IBackgroundCopyFile2;31typedef interface IBackgroundCopyFile2 IBackgroundCopyFile2;
32#ifdef __cplusplus
33interface IBackgroundCopyFile2;
34#endif /* __cplusplus */
32#endif35#endif
3336
34#ifndef __BackgroundCopyManager2_0_FWD_DEFINED__37#ifndef __BackgroundCopyManager2_0_FWD_DEFINED__
...@@ -37,220 +40,648 @@ typedef struct IBackgroundCopyFile2 IBackgroundCopyFile2;...@@ -37,220 +40,648 @@ typedef struct IBackgroundCopyFile2 IBackgroundCopyFile2;
37typedef class BackgroundCopyManager2_0 BackgroundCopyManager2_0;40typedef class BackgroundCopyManager2_0 BackgroundCopyManager2_0;
38#else41#else
39typedef struct BackgroundCopyManager2_0 BackgroundCopyManager2_0;42typedef struct BackgroundCopyManager2_0 BackgroundCopyManager2_0;
40#endif43#endif /* defined __cplusplus */
41#endif44#endif /* defined __BackgroundCopyManager2_0_FWD_DEFINED__ */
4245
43#ifndef __IBackgroundCopyJob3_FWD_DEFINED__46/* Headers for imported files */
44#define __IBackgroundCopyJob3_FWD_DEFINED__
45typedef struct IBackgroundCopyJob3 IBackgroundCopyJob3;
46#endif
4747
48#include "bits.h"48#include <bits.h>
49#include "bits1_5.h"49#include <bits1_5.h>
5050
51#ifdef __cplusplus51#ifdef __cplusplus
52extern "C"{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 *);
59#endif53#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
61#define BG_LENGTH_TO_EOF (UINT64)(-1)60#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 {
63 UINT64 InitialOffset;64 UINT64 InitialOffset;
64 UINT64 Length;65 UINT64 Length;
65 } BG_FILE_RANGE;66} BG_FILE_RANGE;
6667#endif
67#define BG_COPY_FILE_OWNER 168/*****************************************************************************
68#define BG_COPY_FILE_GROUP 269 * IBackgroundCopyJob3 interface
69#define BG_COPY_FILE_DACL 470 */
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
76#ifndef __IBackgroundCopyJob3_INTERFACE_DEFINED__71#ifndef __IBackgroundCopyJob3_INTERFACE_DEFINED__
77#define __IBackgroundCopyJob3_INTERFACE_DEFINED__72#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);
79#if defined(__cplusplus) && !defined(CINTERFACE)75#if defined(__cplusplus) && !defined(CINTERFACE)
80 struct IBackgroundCopyJob3 : public IBackgroundCopyJob2 {76MIDL_INTERFACE("443c8934-90ff-48ed-bcde-26f5c7450042")
81 public:77IBackgroundCopyJob3 : public IBackgroundCopyJob2
82 virtual HRESULT WINAPI ReplaceRemotePrefix(LPCWSTR OldPrefix,LPCWSTR NewPrefix) = 0;78{
83 virtual HRESULT WINAPI AddFileWithRanges(LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]) = 0;79 virtual HRESULT STDMETHODCALLTYPE ReplaceRemotePrefix(
84 virtual HRESULT WINAPI SetFileACLFlags(DWORD Flags) = 0;80 LPCWSTR OldPrefix,
85 virtual HRESULT WINAPI GetFileACLFlags(DWORD *Flags) = 0;81 LPCWSTR NewPrefix) = 0;
86 };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
87#else99#else
88 typedef struct IBackgroundCopyJob3Vtbl {100typedef struct IBackgroundCopyJob3Vtbl {
89 BEGIN_INTERFACE101 BEGIN_INTERFACE
90 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob3 *This,REFIID riid,void **ppvObject);102
91 ULONG (WINAPI *AddRef)(IBackgroundCopyJob3 *This);103 /*** IUnknown methods ***/
92 ULONG (WINAPI *Release)(IBackgroundCopyJob3 *This);104 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
93 HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob3 *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);105 IBackgroundCopyJob3 *This,
94 HRESULT (WINAPI *AddFile)(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);106 REFIID riid,
95 HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob3 *This,IEnumBackgroundCopyFiles **pEnum);107 void **ppvObject);
96 HRESULT (WINAPI *Suspend)(IBackgroundCopyJob3 *This);108
97 HRESULT (WINAPI *Resume)(IBackgroundCopyJob3 *This);109 ULONG (STDMETHODCALLTYPE *AddRef)(
98 HRESULT (WINAPI *Cancel)(IBackgroundCopyJob3 *This);110 IBackgroundCopyJob3 *This);
99 HRESULT (WINAPI *Complete)(IBackgroundCopyJob3 *This);111
100 HRESULT (WINAPI *GetId)(IBackgroundCopyJob3 *This,GUID *pVal);112 ULONG (STDMETHODCALLTYPE *Release)(
101 HRESULT (WINAPI *GetType)(IBackgroundCopyJob3 *This,BG_JOB_TYPE *pVal);113 IBackgroundCopyJob3 *This);
102 HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob3 *This,BG_JOB_PROGRESS *pVal);114
103 HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob3 *This,BG_JOB_TIMES *pVal);115 /*** IBackgroundCopyJob methods ***/
104 HRESULT (WINAPI *GetState)(IBackgroundCopyJob3 *This,BG_JOB_STATE *pVal);116 HRESULT (STDMETHODCALLTYPE *AddFileSet)(
105 HRESULT (WINAPI *GetError)(IBackgroundCopyJob3 *This,IBackgroundCopyError **ppError);117 IBackgroundCopyJob3 *This,
106 HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob3 *This,LPWSTR *pVal);118 ULONG cFileCount,
107 HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob3 *This,LPCWSTR Val);119 BG_FILE_INFO *pFileSet);
108 HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob3 *This,LPWSTR *pVal);120
109 HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob3 *This,LPCWSTR Val);121 HRESULT (STDMETHODCALLTYPE *AddFile)(
110 HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob3 *This,LPWSTR *pVal);122 IBackgroundCopyJob3 *This,
111 HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob3 *This,BG_JOB_PRIORITY Val);123 LPCWSTR RemoteUrl,
112 HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob3 *This,BG_JOB_PRIORITY *pVal);124 LPCWSTR LocalName);
113 HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob3 *This,ULONG Val);125
114 HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob3 *This,ULONG *pVal);126 HRESULT (STDMETHODCALLTYPE *EnumFiles)(
115 HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob3 *This,IUnknown *Val);127 IBackgroundCopyJob3 *This,
116 HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob3 *This,IUnknown **pVal);128 IEnumBackgroundCopyFiles **pEnum);
117 HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob3 *This,ULONG Seconds);129
118 HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob3 *This,ULONG *Seconds);130 HRESULT (STDMETHODCALLTYPE *Suspend)(
119 HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob3 *This,ULONG Seconds);131 IBackgroundCopyJob3 *This);
120 HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob3 *This,ULONG *Seconds);132
121 HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob3 *This,ULONG *Errors);133 HRESULT (STDMETHODCALLTYPE *Resume)(
122 HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob3 *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);134 IBackgroundCopyJob3 *This);
123 HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob3 *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);135
124 HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob3 *This);136 HRESULT (STDMETHODCALLTYPE *Cancel)(
125 HRESULT (WINAPI *SetNotifyCmdLine)(IBackgroundCopyJob3 *This,LPCWSTR Program,LPCWSTR Parameters);137 IBackgroundCopyJob3 *This);
126 HRESULT (WINAPI *GetNotifyCmdLine)(IBackgroundCopyJob3 *This,LPWSTR *pProgram,LPWSTR *pParameters);138
127 HRESULT (WINAPI *GetReplyProgress)(IBackgroundCopyJob3 *This,BG_JOB_REPLY_PROGRESS *pProgress);139 HRESULT (STDMETHODCALLTYPE *Complete)(
128 HRESULT (WINAPI *GetReplyData)(IBackgroundCopyJob3 *This,byte **ppBuffer,UINT64 *pLength);140 IBackgroundCopyJob3 *This);
129 HRESULT (WINAPI *SetReplyFileName)(IBackgroundCopyJob3 *This,LPCWSTR ReplyFileName);141
130 HRESULT (WINAPI *GetReplyFileName)(IBackgroundCopyJob3 *This,LPWSTR *pReplyFileName);142 HRESULT (STDMETHODCALLTYPE *GetId)(
131 HRESULT (WINAPI *SetCredentials)(IBackgroundCopyJob3 *This,BG_AUTH_CREDENTIALS *credentials);143 IBackgroundCopyJob3 *This,
132 HRESULT (WINAPI *RemoveCredentials)(IBackgroundCopyJob3 *This,BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme);144 GUID *pVal);
133 HRESULT (WINAPI *ReplaceRemotePrefix)(IBackgroundCopyJob3 *This,LPCWSTR OldPrefix,LPCWSTR NewPrefix);145
134 HRESULT (WINAPI *AddFileWithRanges)(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]);146 HRESULT (STDMETHODCALLTYPE *GetType)(
135 HRESULT (WINAPI *SetFileACLFlags)(IBackgroundCopyJob3 *This,DWORD Flags);147 IBackgroundCopyJob3 *This,
136 HRESULT (WINAPI *GetFileACLFlags)(IBackgroundCopyJob3 *This,DWORD *Flags);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
137 END_INTERFACE303 END_INTERFACE
138 } IBackgroundCopyJob3Vtbl;304} IBackgroundCopyJob3Vtbl;
139 struct IBackgroundCopyJob3 {305
140 CONST_VTBL struct IBackgroundCopyJob3Vtbl *lpVtbl;306interface IBackgroundCopyJob3 {
141 };307 CONST_VTBL IBackgroundCopyJob3Vtbl* lpVtbl;
308};
309
142#ifdef COBJMACROS310#ifdef COBJMACROS
143#define IBackgroundCopyJob3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)311#ifndef WIDL_C_INLINE_WRAPPERS
144#define IBackgroundCopyJob3_AddRef(This) (This)->lpVtbl -> AddRef(This)312/*** IUnknown methods ***/
145#define IBackgroundCopyJob3_Release(This) (This)->lpVtbl -> Release(This)313#define IBackgroundCopyJob3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
146#define IBackgroundCopyJob3_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl -> AddFileSet(This,cFileCount,pFileSet)314#define IBackgroundCopyJob3_AddRef(This) (This)->lpVtbl->AddRef(This)
147#define IBackgroundCopyJob3_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl -> AddFile(This,RemoteUrl,LocalName)315#define IBackgroundCopyJob3_Release(This) (This)->lpVtbl->Release(This)
148#define IBackgroundCopyJob3_EnumFiles(This,pEnum) (This)->lpVtbl -> EnumFiles(This,pEnum)316/*** IBackgroundCopyJob methods ***/
149#define IBackgroundCopyJob3_Suspend(This) (This)->lpVtbl -> Suspend(This)317#define IBackgroundCopyJob3_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
150#define IBackgroundCopyJob3_Resume(This) (This)->lpVtbl -> Resume(This)318#define IBackgroundCopyJob3_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
151#define IBackgroundCopyJob3_Cancel(This) (This)->lpVtbl -> Cancel(This)319#define IBackgroundCopyJob3_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
152#define IBackgroundCopyJob3_Complete(This) (This)->lpVtbl -> Complete(This)320#define IBackgroundCopyJob3_Suspend(This) (This)->lpVtbl->Suspend(This)
153#define IBackgroundCopyJob3_GetId(This,pVal) (This)->lpVtbl -> GetId(This,pVal)321#define IBackgroundCopyJob3_Resume(This) (This)->lpVtbl->Resume(This)
154#define IBackgroundCopyJob3_GetType(This,pVal) (This)->lpVtbl -> GetType(This,pVal)322#define IBackgroundCopyJob3_Cancel(This) (This)->lpVtbl->Cancel(This)
155#define IBackgroundCopyJob3_GetProgress(This,pVal) (This)->lpVtbl -> GetProgress(This,pVal)323#define IBackgroundCopyJob3_Complete(This) (This)->lpVtbl->Complete(This)
156#define IBackgroundCopyJob3_GetTimes(This,pVal) (This)->lpVtbl -> GetTimes(This,pVal)324#define IBackgroundCopyJob3_GetId(This,pVal) (This)->lpVtbl->GetId(This,pVal)
157#define IBackgroundCopyJob3_GetState(This,pVal) (This)->lpVtbl -> GetState(This,pVal)325#define IBackgroundCopyJob3_GetType(This,pVal) (This)->lpVtbl->GetType(This,pVal)
158#define IBackgroundCopyJob3_GetError(This,ppError) (This)->lpVtbl -> GetError(This,ppError)326#define IBackgroundCopyJob3_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
159#define IBackgroundCopyJob3_GetOwner(This,pVal) (This)->lpVtbl -> GetOwner(This,pVal)327#define IBackgroundCopyJob3_GetTimes(This,pVal) (This)->lpVtbl->GetTimes(This,pVal)
160#define IBackgroundCopyJob3_SetDisplayName(This,Val) (This)->lpVtbl -> SetDisplayName(This,Val)328#define IBackgroundCopyJob3_GetState(This,pVal) (This)->lpVtbl->GetState(This,pVal)
161#define IBackgroundCopyJob3_GetDisplayName(This,pVal) (This)->lpVtbl -> GetDisplayName(This,pVal)329#define IBackgroundCopyJob3_GetError(This,ppError) (This)->lpVtbl->GetError(This,ppError)
162#define IBackgroundCopyJob3_SetDescription(This,Val) (This)->lpVtbl -> SetDescription(This,Val)330#define IBackgroundCopyJob3_GetOwner(This,pVal) (This)->lpVtbl->GetOwner(This,pVal)
163#define IBackgroundCopyJob3_GetDescription(This,pVal) (This)->lpVtbl -> GetDescription(This,pVal)331#define IBackgroundCopyJob3_SetDisplayName(This,Val) (This)->lpVtbl->SetDisplayName(This,Val)
164#define IBackgroundCopyJob3_SetPriority(This,Val) (This)->lpVtbl -> SetPriority(This,Val)332#define IBackgroundCopyJob3_GetDisplayName(This,pVal) (This)->lpVtbl->GetDisplayName(This,pVal)
165#define IBackgroundCopyJob3_GetPriority(This,pVal) (This)->lpVtbl -> GetPriority(This,pVal)333#define IBackgroundCopyJob3_SetDescription(This,Val) (This)->lpVtbl->SetDescription(This,Val)
166#define IBackgroundCopyJob3_SetNotifyFlags(This,Val) (This)->lpVtbl -> SetNotifyFlags(This,Val)334#define IBackgroundCopyJob3_GetDescription(This,pVal) (This)->lpVtbl->GetDescription(This,pVal)
167#define IBackgroundCopyJob3_GetNotifyFlags(This,pVal) (This)->lpVtbl -> GetNotifyFlags(This,pVal)335#define IBackgroundCopyJob3_SetPriority(This,Val) (This)->lpVtbl->SetPriority(This,Val)
168#define IBackgroundCopyJob3_SetNotifyInterface(This,Val) (This)->lpVtbl -> SetNotifyInterface(This,Val)336#define IBackgroundCopyJob3_GetPriority(This,pVal) (This)->lpVtbl->GetPriority(This,pVal)
169#define IBackgroundCopyJob3_GetNotifyInterface(This,pVal) (This)->lpVtbl -> GetNotifyInterface(This,pVal)337#define IBackgroundCopyJob3_SetNotifyFlags(This,Val) (This)->lpVtbl->SetNotifyFlags(This,Val)
170#define IBackgroundCopyJob3_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl -> SetMinimumRetryDelay(This,Seconds)338#define IBackgroundCopyJob3_GetNotifyFlags(This,pVal) (This)->lpVtbl->GetNotifyFlags(This,pVal)
171#define IBackgroundCopyJob3_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl -> GetMinimumRetryDelay(This,Seconds)339#define IBackgroundCopyJob3_SetNotifyInterface(This,Val) (This)->lpVtbl->SetNotifyInterface(This,Val)
172#define IBackgroundCopyJob3_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl -> SetNoProgressTimeout(This,Seconds)340#define IBackgroundCopyJob3_GetNotifyInterface(This,pVal) (This)->lpVtbl->GetNotifyInterface(This,pVal)
173#define IBackgroundCopyJob3_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl -> GetNoProgressTimeout(This,Seconds)341#define IBackgroundCopyJob3_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->SetMinimumRetryDelay(This,Seconds)
174#define IBackgroundCopyJob3_GetErrorCount(This,Errors) (This)->lpVtbl -> GetErrorCount(This,Errors)342#define IBackgroundCopyJob3_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->GetMinimumRetryDelay(This,Seconds)
175#define IBackgroundCopyJob3_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl -> SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)343#define IBackgroundCopyJob3_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl->SetNoProgressTimeout(This,Seconds)
176#define IBackgroundCopyJob3_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl -> GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)344#define IBackgroundCopyJob3_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl->GetNoProgressTimeout(This,Seconds)
177#define IBackgroundCopyJob3_TakeOwnership(This) (This)->lpVtbl -> TakeOwnership(This)345#define IBackgroundCopyJob3_GetErrorCount(This,Errors) (This)->lpVtbl->GetErrorCount(This,Errors)
178#define IBackgroundCopyJob3_SetNotifyCmdLine(This,Program,Parameters) (This)->lpVtbl -> SetNotifyCmdLine(This,Program,Parameters)346#define IBackgroundCopyJob3_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
179#define IBackgroundCopyJob3_GetNotifyCmdLine(This,pProgram,pParameters) (This)->lpVtbl -> GetNotifyCmdLine(This,pProgram,pParameters)347#define IBackgroundCopyJob3_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
180#define IBackgroundCopyJob3_GetReplyProgress(This,pProgress) (This)->lpVtbl -> GetReplyProgress(This,pProgress)348#define IBackgroundCopyJob3_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
181#define IBackgroundCopyJob3_GetReplyData(This,ppBuffer,pLength) (This)->lpVtbl -> GetReplyData(This,ppBuffer,pLength)349/*** IBackgroundCopyJob2 methods ***/
182#define IBackgroundCopyJob3_SetReplyFileName(This,ReplyFileName) (This)->lpVtbl -> SetReplyFileName(This,ReplyFileName)350#define IBackgroundCopyJob3_SetNotifyCmdLine(This,prog,params) (This)->lpVtbl->SetNotifyCmdLine(This,prog,params)
183#define IBackgroundCopyJob3_GetReplyFileName(This,pReplyFileName) (This)->lpVtbl -> GetReplyFileName(This,pReplyFileName)351#define IBackgroundCopyJob3_GetNotifyCmdLine(This,prog,params) (This)->lpVtbl->GetNotifyCmdLine(This,prog,params)
184#define IBackgroundCopyJob3_SetCredentials(This,credentials) (This)->lpVtbl -> SetCredentials(This,credentials)352#define IBackgroundCopyJob3_GetReplyProgress(This,progress) (This)->lpVtbl->GetReplyProgress(This,progress)
185#define IBackgroundCopyJob3_RemoveCredentials(This,Target,Scheme) (This)->lpVtbl -> RemoveCredentials(This,Target,Scheme)353#define IBackgroundCopyJob3_GetReplyData(This,pBuffer,pLength) (This)->lpVtbl->GetReplyData(This,pBuffer,pLength)
186#define IBackgroundCopyJob3_ReplaceRemotePrefix(This,OldPrefix,NewPrefix) (This)->lpVtbl -> ReplaceRemotePrefix(This,OldPrefix,NewPrefix)354#define IBackgroundCopyJob3_SetReplyFileName(This,filename) (This)->lpVtbl->SetReplyFileName(This,filename)
187#define IBackgroundCopyJob3_AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges) (This)->lpVtbl -> AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges)355#define IBackgroundCopyJob3_GetReplyFileName(This,pFilename) (This)->lpVtbl->GetReplyFileName(This,pFilename)
188#define IBackgroundCopyJob3_SetFileACLFlags(This,Flags) (This)->lpVtbl -> SetFileACLFlags(This,Flags)356#define IBackgroundCopyJob3_SetCredentials(This,cred) (This)->lpVtbl->SetCredentials(This,cred)
189#define IBackgroundCopyJob3_GetFileACLFlags(This,Flags) (This)->lpVtbl -> GetFileACLFlags(This,Flags)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}
190#endif509#endif
191#endif510#endif
192 HRESULT WINAPI IBackgroundCopyJob3_ReplaceRemotePrefix_Proxy(IBackgroundCopyJob3 *This,LPCWSTR OldPrefix,LPCWSTR NewPrefix);511
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);
200#endif512#endif
201513
514
515#endif /* __IBackgroundCopyJob3_INTERFACE_DEFINED__ */
516
517/*****************************************************************************
518 * IBackgroundCopyFile2 interface
519 */
202#ifndef __IBackgroundCopyFile2_INTERFACE_DEFINED__520#ifndef __IBackgroundCopyFile2_INTERFACE_DEFINED__
203#define __IBackgroundCopyFile2_INTERFACE_DEFINED__521#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);
205#if defined(__cplusplus) && !defined(CINTERFACE)524#if defined(__cplusplus) && !defined(CINTERFACE)
206 struct IBackgroundCopyFile2 : public IBackgroundCopyFile {525MIDL_INTERFACE("83e81b93-0873-474d-8a8c-f2018b1a939c")
207 public:526IBackgroundCopyFile2 : public IBackgroundCopyFile
208 virtual HRESULT WINAPI GetFileRanges(DWORD *RangeCount,BG_FILE_RANGE **Ranges) = 0;527{
209 virtual HRESULT WINAPI SetRemoteName(LPCWSTR Val) = 0;528 virtual HRESULT STDMETHODCALLTYPE GetFileRanges(
210 };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
211#else539#else
212 typedef struct IBackgroundCopyFile2Vtbl {540typedef struct IBackgroundCopyFile2Vtbl {
213 BEGIN_INTERFACE541 BEGIN_INTERFACE
214 HRESULT (WINAPI *QueryInterface)(IBackgroundCopyFile2 *This,REFIID riid,void **ppvObject);542
215 ULONG (WINAPI *AddRef)(IBackgroundCopyFile2 *This);543 /*** IUnknown methods ***/
216 ULONG (WINAPI *Release)(IBackgroundCopyFile2 *This);544 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
217 HRESULT (WINAPI *GetRemoteName)(IBackgroundCopyFile2 *This,LPWSTR *pVal);545 IBackgroundCopyFile2 *This,
218 HRESULT (WINAPI *GetLocalName)(IBackgroundCopyFile2 *This,LPWSTR *pVal);546 REFIID riid,
219 HRESULT (WINAPI *GetProgress)(IBackgroundCopyFile2 *This,BG_FILE_PROGRESS *pVal);547 void **ppvObject);
220 HRESULT (WINAPI *GetFileRanges)(IBackgroundCopyFile2 *This,DWORD *RangeCount,BG_FILE_RANGE **Ranges);548
221 HRESULT (WINAPI *SetRemoteName)(IBackgroundCopyFile2 *This,LPCWSTR Val);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
222 END_INTERFACE578 END_INTERFACE
223 } IBackgroundCopyFile2Vtbl;579} IBackgroundCopyFile2Vtbl;
224 struct IBackgroundCopyFile2 {580
225 CONST_VTBL struct IBackgroundCopyFile2Vtbl *lpVtbl;581interface IBackgroundCopyFile2 {
226 };582 CONST_VTBL IBackgroundCopyFile2Vtbl* lpVtbl;
583};
584
227#ifdef COBJMACROS585#ifdef COBJMACROS
228#define IBackgroundCopyFile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)586#ifndef WIDL_C_INLINE_WRAPPERS
229#define IBackgroundCopyFile2_AddRef(This) (This)->lpVtbl -> AddRef(This)587/*** IUnknown methods ***/
230#define IBackgroundCopyFile2_Release(This) (This)->lpVtbl -> Release(This)588#define IBackgroundCopyFile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
231#define IBackgroundCopyFile2_GetRemoteName(This,pVal) (This)->lpVtbl -> GetRemoteName(This,pVal)589#define IBackgroundCopyFile2_AddRef(This) (This)->lpVtbl->AddRef(This)
232#define IBackgroundCopyFile2_GetLocalName(This,pVal) (This)->lpVtbl -> GetLocalName(This,pVal)590#define IBackgroundCopyFile2_Release(This) (This)->lpVtbl->Release(This)
233#define IBackgroundCopyFile2_GetProgress(This,pVal) (This)->lpVtbl -> GetProgress(This,pVal)591/*** IBackgroundCopyFile methods ***/
234#define IBackgroundCopyFile2_GetFileRanges(This,RangeCount,Ranges) (This)->lpVtbl -> GetFileRanges(This,RangeCount,Ranges)592#define IBackgroundCopyFile2_GetRemoteName(This,pVal) (This)->lpVtbl->GetRemoteName(This,pVal)
235#define IBackgroundCopyFile2_SetRemoteName(This,Val) (This)->lpVtbl -> SetRemoteName(This,Val)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}
236#endif626#endif
237#endif627#endif
238 HRESULT WINAPI IBackgroundCopyFile2_GetFileRanges_Proxy(IBackgroundCopyFile2 *This,DWORD *RangeCount,BG_FILE_RANGE **Ranges);628
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);
242#endif629#endif
243630
631
632#endif /* __IBackgroundCopyFile2_INTERFACE_DEFINED__ */
633
244#ifndef __BackgroundCopyManager2_0_LIBRARY_DEFINED__634#ifndef __BackgroundCopyManager2_0_LIBRARY_DEFINED__
245#define __BackgroundCopyManager2_0_LIBRARY_DEFINED__635#define __BackgroundCopyManager2_0_LIBRARY_DEFINED__
246 EXTERN_C const IID LIBID_BackgroundCopyManager2_0;636
247 EXTERN_C const CLSID CLSID_BackgroundCopyManager2_0;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
248#ifdef __cplusplus645#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)
250#endif649#endif
251#endif650#endif
252651
652#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
653#define __IBackgroundCopyCallback_FWD_DEFINED__
654typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
253#ifdef __cplusplus655#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 */
255#endif674#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}
256#endif685#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/comcat.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/comdef.h+12-4
...@@ -29,8 +29,6 @@...@@ -29,8 +29,6 @@
29#ifdef __cplusplus29#ifdef __cplusplus
3030
31class _com_error;31class _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));
34void WINAPI _com_issue_errorex(HRESULT,IUnknown*,REFIID);32void WINAPI _com_issue_errorex(HRESULT,IUnknown*,REFIID);
35HRESULT WINAPI _com_dispatch_propget(IDispatch*,DISPID,VARTYPE,void*);33HRESULT WINAPI _com_dispatch_propget(IDispatch*,DISPID,VARTYPE,void*);
36HRESULT __cdecl _com_dispatch_propput(IDispatch*,DISPID,VARTYPE,...);34HRESULT __cdecl _com_dispatch_propput(IDispatch*,DISPID,VARTYPE,...);
...@@ -165,15 +163,25 @@ inline void _com_error::Ctor(const _com_error &that) throw() {...@@ -165,15 +163,25 @@ inline void _com_error::Ctor(const _com_error &that) throw() {
165 if(m_perrinfo!=NULL) m_perrinfo->AddRef();163 if(m_perrinfo!=NULL) m_perrinfo->AddRef();
166}164}
167165
168inline void _com_issue_error(HRESULT hr) {166inline void WINAPI _com_raise_error(HRESULT hr, IErrorInfo *perrinfo = 0) {
169#if __EXCEPTIONS167#if __EXCEPTIONS
170 throw _com_error(hr);168 throw _com_error(hr, perrinfo);
171#else169#else
172 /* This is designed to use exceptions. If exceptions are disabled, there is not much we can do here. */170 /* This is designed to use exceptions. If exceptions are disabled, there is not much we can do here. */
173 __debugbreak();171 __debugbreak();
174#endif172#endif
175}173}
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
178typedef int __missing_type__;186typedef int __missing_type__;
179187
lib/libc/include/any-windows-any/commoncontrols.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/corecrt.h-5
...@@ -15,11 +15,6 @@...@@ -15,11 +15,6 @@
15#pragma pack(push,_CRT_PACKING)15#pragma pack(push,_CRT_PACKING)
16#endif16#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
23#ifdef __ERRCODE_DEFINED_MS18#ifdef __ERRCODE_DEFINED_MS
24/* #define __ERRCODE_DEFINED_MS */19/* #define __ERRCODE_DEFINED_MS */
25typedef int errcode;20typedef int errcode;
lib/libc/include/any-windows-any/ctfutb.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ctype.h+1-1
...@@ -191,7 +191,7 @@ int __cdecl isblank(int _C);...@@ -191,7 +191,7 @@ int __cdecl isblank(int _C);
191 int __cdecl is_wctype(wint_t _C,wctype_t _Type);191 int __cdecl is_wctype(wint_t _C,wctype_t _Type);
192#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */192#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)
195int __cdecl iswblank(wint_t _C);195int __cdecl iswblank(wint_t _C);
196#endif196#endif
197#endif197#endif
lib/libc/include/any-windows-any/d3d10.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d10_1.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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...@@ -35,8 +35,8 @@ typedef enum _D3D10_DEVICE_STATE_TYPES
35{35{
36 D3D10_DST_SO_BUFFERS = 1,36 D3D10_DST_SO_BUFFERS = 1,
37 D3D10_DST_OM_RENDER_TARGETS,37 D3D10_DST_OM_RENDER_TARGETS,
38 D3D10_DST_DEPTH_STENCIL_STATE,38 D3D10_DST_OM_DEPTH_STENCIL_STATE,
39 D3D10_DST_BLEND_STATE,39 D3D10_DST_OM_BLEND_STATE,
40 D3D10_DST_VS,40 D3D10_DST_VS,
41 D3D10_DST_VS_SAMPLERS,41 D3D10_DST_VS_SAMPLERS,
42 D3D10_DST_VS_SHADER_RESOURCES,42 D3D10_DST_VS_SHADER_RESOURCES,
lib/libc/include/any-windows-any/d3d10sdklayers.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_1.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_2.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_3.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11_4.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11on12.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d11sdklayers.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d12.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d12sdklayers.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3d12shader.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/d3dcommon.h+27-27
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -534,19 +534,19 @@ typedef enum D3D_PRIMITIVE {...@@ -534,19 +534,19 @@ typedef enum D3D_PRIMITIVE {
534 D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,534 D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
535 D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,535 D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
536 D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,536 D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
537 D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 28,537 D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
538 D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 29,538 D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
539 D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 30,539 D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
540 D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 31,540 D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
541 D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 32,541 D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
542 D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 33,542 D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
543 D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 34,543 D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
544 D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 35,544 D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
545 D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 36,545 D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
546 D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 37,546 D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
547 D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 38,547 D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
548 D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 39,548 D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
549 D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 40,549 D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
550 D3D10_PRIMITIVE_UNDEFINED = 0,550 D3D10_PRIMITIVE_UNDEFINED = 0,
551 D3D10_PRIMITIVE_POINT = 1,551 D3D10_PRIMITIVE_POINT = 1,
552 D3D10_PRIMITIVE_LINE = 2,552 D3D10_PRIMITIVE_LINE = 2,
...@@ -578,19 +578,19 @@ typedef enum D3D_PRIMITIVE {...@@ -578,19 +578,19 @@ typedef enum D3D_PRIMITIVE {
578 D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,578 D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
579 D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,579 D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
580 D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,580 D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
581 D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 28,581 D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
582 D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = 29,582 D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
583 D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = 30,583 D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
584 D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = 31,584 D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
585 D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = 32,585 D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
586 D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = 33,586 D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
587 D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = 34,587 D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
588 D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = 35,588 D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
589 D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = 36,589 D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
590 D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = 37,590 D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
591 D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = 38,591 D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
592 D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = 39,592 D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
593 D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = 40593 D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = 39
594} D3D_PRIMITIVE;594} D3D_PRIMITIVE;
595typedef enum D3D_PRIMITIVE_TOPOLOGY {595typedef enum D3D_PRIMITIVE_TOPOLOGY {
596 D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,596 D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
lib/libc/include/any-windows-any/dbgprop.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dcommon.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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...@@ -524,8 +524,82 @@ __CRT_UUID_DECL(IDCompositionVisualDebug,0xfed2b808,0x5eb4,0x43a0,0xae,0xa3,0x35
524#endif524#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);
527#endif536#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
529#if (_WIN32_WINNT >= 0x0A00)603#if (_WIN32_WINNT >= 0x0A00)
530604
531STDAPI DCompositionCreateDevice3(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice);605STDAPI DCompositionCreateDevice3(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice);
lib/libc/include/any-windows-any/dcompanimation.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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 {...@@ -2726,6 +2726,7 @@ typedef struct _MSV1_0_NTLM3_RESPONSE {
2726 UCHAR Buffer[1];2726 UCHAR Buffer[1];
2727} MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;2727} MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;
27282728
2729/* MsvAvSingleHost present in MS-NLMP specifications but not in WinSDK */
2729typedef enum _MSV1_0_AVID {2730typedef enum _MSV1_0_AVID {
2730 MsvAvEOL,2731 MsvAvEOL,
2731 MsvAvNbComputerName,2732 MsvAvNbComputerName,
...@@ -2738,6 +2739,7 @@ typedef enum _MSV1_0_AVID {...@@ -2738,6 +2739,7 @@ typedef enum _MSV1_0_AVID {
2738#if (_WIN32_WINNT >= 0x0600)2739#if (_WIN32_WINNT >= 0x0600)
2739 MsvAvTimestamp,2740 MsvAvTimestamp,
2740 MsvAvRestrictions,2741 MsvAvRestrictions,
2742 MsvAvSingleHost = MsvAvRestrictions,
2741 MsvAvTargetName,2743 MsvAvTargetName,
2742 MsvAvChannelBindings,2744 MsvAvChannelBindings,
2743#endif2745#endif
lib/libc/include/any-windows-any/ddk/wdm.h+1104-42
...@@ -800,7 +800,10 @@ typedef enum _KBUGCHECK_CALLBACK_REASON {...@@ -800,7 +800,10 @@ typedef enum _KBUGCHECK_CALLBACK_REASON {
800 KbCallbackReserved1,800 KbCallbackReserved1,
801 KbCallbackSecondaryDumpData,801 KbCallbackSecondaryDumpData,
802 KbCallbackDumpIo,802 KbCallbackDumpIo,
803 KbCallbackAddPages803 KbCallbackAddPages,
804 KbCallbackSecondaryMultiPartDumpData,
805 KbCallbackRemovePages,
806 KbCallbackTriageDumpData
804} KBUGCHECK_CALLBACK_REASON;807} KBUGCHECK_CALLBACK_REASON;
805808
806struct _KBUGCHECK_REASON_CALLBACK_RECORD;809struct _KBUGCHECK_REASON_CALLBACK_RECORD;
...@@ -917,7 +920,16 @@ typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION;...@@ -917,7 +920,16 @@ typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION;
917typedef enum _KINTERRUPT_POLARITY {920typedef enum _KINTERRUPT_POLARITY {
918 InterruptPolarityUnknown,921 InterruptPolarityUnknown,
919 InterruptActiveHigh,922 InterruptActiveHigh,
920 InterruptActiveLow923 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
921} KINTERRUPT_POLARITY, *PKINTERRUPT_POLARITY;933} KINTERRUPT_POLARITY, *PKINTERRUPT_POLARITY;
922934
923typedef enum _KPROFILE_SOURCE {935typedef enum _KPROFILE_SOURCE {
...@@ -963,7 +975,7 @@ typedef enum _KWAIT_REASON {...@@ -963,7 +975,7 @@ typedef enum _KWAIT_REASON {
963 WrDelayExecution,975 WrDelayExecution,
964 WrSuspended,976 WrSuspended,
965 WrUserRequest,977 WrUserRequest,
966 WrEventPair,978 WrSpare0,
967 WrQueue,979 WrQueue,
968 WrLpcReceive,980 WrLpcReceive,
969 WrLpcReply,981 WrLpcReply,
...@@ -986,6 +998,9 @@ typedef enum _KWAIT_REASON {...@@ -986,6 +998,9 @@ typedef enum _KWAIT_REASON {
986 WrFastMutex,998 WrFastMutex,
987 WrGuardedMutex,999 WrGuardedMutex,
988 WrRundown,1000 WrRundown,
1001 WrAlertByThreadId,
1002 WrDeferredPreempt,
1003 WrPhysicalFault,
989 MaximumWaitReason1004 MaximumWaitReason
990} KWAIT_REASON;1005} KWAIT_REASON;
9911006
...@@ -1134,48 +1149,46 @@ typedef struct _KLOCK_QUEUE_HANDLE {...@@ -1134,48 +1149,46 @@ typedef struct _KLOCK_QUEUE_HANDLE {
11341149
1135typedef ULONG64 KSPIN_LOCK_QUEUE_NUMBER;1150typedef ULONG64 KSPIN_LOCK_QUEUE_NUMBER;
11361151
1137#define LockQueueDispatcherLock 01152#define LockQueueUnusedSpare0 0
1138#define LockQueueExpansionLock 11153#define LockQueueUnusedSpare1 1
1139#define LockQueuePfnLock 21154#define LockQueueUnusedSpare2 2
1140#define LockQueueSystemSpaceLock 31155#define LockQueueUnusedSpare3 3
1141#define LockQueueVacbLock 41156#define LockQueueVacbLock 4
1142#define LockQueueMasterLock 51157#define LockQueueMasterLock 5
1143#define LockQueueNonPagedPoolLock 61158#define LockQueueNonPagedPoolLock 6
1144#define LockQueueIoCancelLock 71159#define LockQueueIoCancelLock 7
1145#define LockQueueWorkQueueLock 81160#define LockQueueUnusedSpare8 8
1146#define LockQueueIoVpbLock 91161#define LockQueueIoVpbLock 9
1147#define LockQueueIoDatabaseLock 101162#define LockQueueIoDatabaseLock 10
1148#define LockQueueIoCompletionLock 111163#define LockQueueIoCompletionLock 11
1149#define LockQueueNtfsStructLock 121164#define LockQueueNtfsStructLock 12
1150#define LockQueueAfdWorkQueueLock 131165#define LockQueueAfdWorkQueueLock 13
1151#define LockQueueBcbLock 141166#define LockQueueBcbLock 14
1152#define LockQueueMmNonPagedPoolLock 151167#define LockQueueUnusedSpare15 15
1153#define LockQueueUnusedSpare16 161168#define LockQueueUnusedSpare16 16
1154#define LockQueueTimerTableLock 171169#define LockQueueMaximumLock 17
1155#define LockQueueMaximumLock (LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS)
11561170
1157#else1171#else
11581172
1159typedef enum _KSPIN_LOCK_QUEUE_NUMBER {1173typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
1160 LockQueueDispatcherLock,1174 LockQueueUnusedSpare0,
1161 LockQueueExpansionLock,1175 LockQueueUnusedSpare1,
1162 LockQueuePfnLock,1176 LockQueueUnusedSpare2,
1163 LockQueueSystemSpaceLock,1177 LockQueueUnusedSpare3,
1164 LockQueueVacbLock,1178 LockQueueVacbLock,
1165 LockQueueMasterLock,1179 LockQueueMasterLock,
1166 LockQueueNonPagedPoolLock,1180 LockQueueNonPagedPoolLock,
1167 LockQueueIoCancelLock,1181 LockQueueIoCancelLock,
1168 LockQueueWorkQueueLock,1182 LockQueueUnusedSpare8,
1169 LockQueueIoVpbLock,1183 LockQueueIoVpbLock,
1170 LockQueueIoDatabaseLock,1184 LockQueueIoDatabaseLock,
1171 LockQueueIoCompletionLock,1185 LockQueueIoCompletionLock,
1172 LockQueueNtfsStructLock,1186 LockQueueNtfsStructLock,
1173 LockQueueAfdWorkQueueLock,1187 LockQueueAfdWorkQueueLock,
1174 LockQueueBcbLock,1188 LockQueueBcbLock,
1175 LockQueueMmNonPagedPoolLock,1189 LockQueueUnusedSpare15,
1176 LockQueueUnusedSpare16,1190 LockQueueUnusedSpare16,
1177 LockQueueTimerTableLock,1191 LockQueueMaximumLock = LockQueueUnusedSpare16 + 1
1178 LockQueueMaximumLock = LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS
1179} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;1192} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
11801193
1181#endif /* defined(_AMD64_) */1194#endif /* defined(_AMD64_) */
...@@ -1371,6 +1384,7 @@ typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;...@@ -1371,6 +1384,7 @@ typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
13711384
1372typedef enum _POOL_TYPE {1385typedef enum _POOL_TYPE {
1373 NonPagedPool,1386 NonPagedPool,
1387 NonPagedPoolExecute = NonPagedPool,
1374 PagedPool,1388 PagedPool,
1375 NonPagedPoolMustSucceed,1389 NonPagedPoolMustSucceed,
1376 DontUseThisType,1390 DontUseThisType,
...@@ -1378,13 +1392,20 @@ typedef enum _POOL_TYPE {...@@ -1378,13 +1392,20 @@ typedef enum _POOL_TYPE {
1378 PagedPoolCacheAligned,1392 PagedPoolCacheAligned,
1379 NonPagedPoolCacheAlignedMustS,1393 NonPagedPoolCacheAlignedMustS,
1380 MaxPoolType,1394 MaxPoolType,
1395 NonPagedPoolBase = 0,
1396 NonPagedPoolBaseMustSucceed = 2,
1397 NonPagedPoolBaseCacheAligned = 4,
1398 NonPagedPoolBaseCacheAlignedMustS = 6,
1381 NonPagedPoolSession = 32,1399 NonPagedPoolSession = 32,
1382 PagedPoolSession,1400 PagedPoolSession,
1383 NonPagedPoolMustSucceedSession,1401 NonPagedPoolMustSucceedSession,
1384 DontUseThisTypeSession,1402 DontUseThisTypeSession,
1385 NonPagedPoolCacheAlignedSession,1403 NonPagedPoolCacheAlignedSession,
1386 PagedPoolCacheAlignedSession,1404 PagedPoolCacheAlignedSession,
1387 NonPagedPoolCacheAlignedMustSSession1405 NonPagedPoolCacheAlignedMustSSession,
1406 NonPagedPoolNx = 512,
1407 NonPagedPoolNxCacheAligned = 516,
1408 NonPagedPoolSessionNx = 544,
1388} POOL_TYPE;1409} POOL_TYPE;
13891410
1390typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {1411typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {
...@@ -1666,7 +1687,8 @@ typedef enum _MEMORY_CACHING_TYPE {...@@ -1666,7 +1687,8 @@ typedef enum _MEMORY_CACHING_TYPE {
1666 MmHardwareCoherentCached,1687 MmHardwareCoherentCached,
1667 MmNonCachedUnordered,1688 MmNonCachedUnordered,
1668 MmUSWCCached,1689 MmUSWCCached,
1669 MmMaximumCacheType1690 MmMaximumCacheType,
1691 MmNotMapped = -1
1670} MEMORY_CACHING_TYPE;1692} MEMORY_CACHING_TYPE;
16711693
1672typedef enum _MM_PAGE_PRIORITY {1694typedef enum _MM_PAGE_PRIORITY {
...@@ -1863,7 +1885,12 @@ typedef enum _WORK_QUEUE_TYPE {...@@ -1863,7 +1885,12 @@ typedef enum _WORK_QUEUE_TYPE {
1863 CriticalWorkQueue,1885 CriticalWorkQueue,
1864 DelayedWorkQueue,1886 DelayedWorkQueue,
1865 HyperCriticalWorkQueue,1887 HyperCriticalWorkQueue,
1866 MaximumWorkQueue1888 NormalWorkQueue,
1889 BackgroundWorkQueue,
1890 RealTimeWorkQueue,
1891 SuperCriticalWorkQueue,
1892 MaximumWorkQueue,
1893 CustomPriorityWorkQueue = 32
1867} WORK_QUEUE_TYPE;1894} WORK_QUEUE_TYPE;
18681895
1869typedef VOID1896typedef VOID
...@@ -2215,7 +2242,13 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -2215,7 +2242,13 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
2215 SeAdtParmTypeLogonIdNoSid,2242 SeAdtParmTypeLogonIdNoSid,
2216 SeAdtParmTypeUlongNoConv,2243 SeAdtParmTypeUlongNoConv,
2217 SeAdtParmTypeSockAddrNoPort,2244 SeAdtParmTypeSockAddrNoPort,
2218 SeAdtParmTypeAccessReason2245 SeAdtParmTypeAccessReason,
2246 SeAdtParmTypeStagingReason,
2247 SeAdtParmTypeResourceAttribute,
2248 SeAdtParmTypeClaims,
2249 SeAdtParmTypeLogonIdAsSid,
2250 SeAdtParmTypeMultiSzString,
2251 SeAdtParmTypeLogonIdEx
2219} SE_ADT_PARAMETER_TYPE, *PSE_ADT_PARAMETER_TYPE;2252} SE_ADT_PARAMETER_TYPE, *PSE_ADT_PARAMETER_TYPE;
22202253
2221typedef struct _SE_ADT_OBJECT_TYPE {2254typedef struct _SE_ADT_OBJECT_TYPE {
...@@ -2311,7 +2344,7 @@ typedef enum _POWER_INFORMATION_LEVEL {...@@ -2311,7 +2344,7 @@ typedef enum _POWER_INFORMATION_LEVEL {
2311 SetPowerSettingValue,2344 SetPowerSettingValue,
2312 NotifyUserPowerSetting,2345 NotifyUserPowerSetting,
2313 PowerInformationLevelUnused0,2346 PowerInformationLevelUnused0,
2314 PowerInformationLevelUnused1,2347 SystemMonitorHiberBootPowerOff,
2315 SystemVideoState,2348 SystemVideoState,
2316 TraceApplicationPowerMessage,2349 TraceApplicationPowerMessage,
2317 TraceApplicationPowerMessageEnd,2350 TraceApplicationPowerMessageEnd,
...@@ -2335,6 +2368,50 @@ typedef enum _POWER_INFORMATION_LEVEL {...@@ -2335,6 +2368,50 @@ typedef enum _POWER_INFORMATION_LEVEL {
2335 ProcessorIdleDomains,2368 ProcessorIdleDomains,
2336 WakeTimerList,2369 WakeTimerList,
2337 SystemHiberFileSize,2370 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,
2338 PowerInformationLevelMaximum2415 PowerInformationLevelMaximum
2339} POWER_INFORMATION_LEVEL;2416} POWER_INFORMATION_LEVEL;
23402417
...@@ -2346,7 +2423,8 @@ typedef enum {...@@ -2346,7 +2423,8 @@ typedef enum {
2346 PowerActionShutdown,2423 PowerActionShutdown,
2347 PowerActionShutdownReset,2424 PowerActionShutdownReset,
2348 PowerActionShutdownOff,2425 PowerActionShutdownOff,
2349 PowerActionWarmEject2426 PowerActionWarmEject,
2427 PowerActionDisplayOff
2350} POWER_ACTION, *PPOWER_ACTION;2428} POWER_ACTION, *PPOWER_ACTION;
23512429
2352typedef enum _DEVICE_POWER_STATE {2430typedef enum _DEVICE_POWER_STATE {
...@@ -2445,7 +2523,8 @@ typedef enum {...@@ -2445,7 +2523,8 @@ typedef enum {
2445typedef enum _POWER_REQUEST_TYPE {2523typedef enum _POWER_REQUEST_TYPE {
2446 PowerRequestDisplayRequired,2524 PowerRequestDisplayRequired,
2447 PowerRequestSystemRequired,2525 PowerRequestSystemRequired,
2448 PowerRequestAwayModeRequired2526 PowerRequestAwayModeRequired,
2527 PowerRequestExecutionRequired
2449} POWER_REQUEST_TYPE, *PPOWER_REQUEST_TYPE;2528} POWER_REQUEST_TYPE, *PPOWER_REQUEST_TYPE;
24502529
2451#if (NTDDI_VERSION >= NTDDI_WINXP)2530#if (NTDDI_VERSION >= NTDDI_WINXP)
...@@ -2509,6 +2588,7 @@ typedef enum _POWER_PLATFORM_ROLE {...@@ -2509,6 +2588,7 @@ typedef enum _POWER_PLATFORM_ROLE {
2509 PlatformRoleSOHOServer,2588 PlatformRoleSOHOServer,
2510 PlatformRoleAppliancePC,2589 PlatformRoleAppliancePC,
2511 PlatformRolePerformanceServer,2590 PlatformRolePerformanceServer,
2591 PlatformRoleSlate,
2512 PlatformRoleMaximum2592 PlatformRoleMaximum
2513} POWER_PLATFORM_ROLE;2593} POWER_PLATFORM_ROLE;
25142594
...@@ -3041,6 +3121,7 @@ typedef enum _INTERFACE_TYPE {...@@ -3041,6 +3121,7 @@ typedef enum _INTERFACE_TYPE {
3041 PNPISABus,3121 PNPISABus,
3042 PNPBus,3122 PNPBus,
3043 Vmcs,3123 Vmcs,
3124 ACPIBus,
3044 MaximumInterfaceType3125 MaximumInterfaceType
3045} INTERFACE_TYPE, *PINTERFACE_TYPE;3126} INTERFACE_TYPE, *PINTERFACE_TYPE;
30463127
...@@ -3224,6 +3305,8 @@ typedef enum _KEY_INFORMATION_CLASS {...@@ -3224,6 +3305,8 @@ typedef enum _KEY_INFORMATION_CLASS {
3224 KeyFlagsInformation,3305 KeyFlagsInformation,
3225 KeyVirtualizationInformation,3306 KeyVirtualizationInformation,
3226 KeyHandleTagsInformation,3307 KeyHandleTagsInformation,
3308 KeyTrustInformation,
3309 KeyLayerInformation,
3227 MaxKeyInfoClass3310 MaxKeyInfoClass
3228} KEY_INFORMATION_CLASS;3311} KEY_INFORMATION_CLASS;
32293312
...@@ -3272,6 +3355,7 @@ typedef enum _KEY_SET_INFORMATION_CLASS {...@@ -3272,6 +3355,7 @@ typedef enum _KEY_SET_INFORMATION_CLASS {
3272 KeySetVirtualizationInformation,3355 KeySetVirtualizationInformation,
3273 KeySetDebugInformation,3356 KeySetDebugInformation,
3274 KeySetHandleTagsInformation,3357 KeySetHandleTagsInformation,
3358 KeySetLayerInformation,
3275 MaxKeySetInfoClass3359 MaxKeySetInfoClass
3276} KEY_SET_INFORMATION_CLASS;3360} KEY_SET_INFORMATION_CLASS;
32773361
...@@ -3323,7 +3407,9 @@ typedef enum _KEY_VALUE_INFORMATION_CLASS {...@@ -3323,7 +3407,9 @@ typedef enum _KEY_VALUE_INFORMATION_CLASS {
3323 KeyValueFullInformation,3407 KeyValueFullInformation,
3324 KeyValuePartialInformation,3408 KeyValuePartialInformation,
3325 KeyValueFullInformationAlign64,3409 KeyValueFullInformationAlign64,
3326 KeyValuePartialInformationAlign643410 KeyValuePartialInformationAlign64,
3411 KeyValueLayerInformation,
3412 MaxKeyValueInfoClass
3327} KEY_VALUE_INFORMATION_CLASS;3413} KEY_VALUE_INFORMATION_CLASS;
33283414
3329typedef struct _KEY_WOW64_FLAGS_INFORMATION {3415typedef struct _KEY_WOW64_FLAGS_INFORMATION {
...@@ -3393,6 +3479,8 @@ typedef enum _REG_NOTIFY_CLASS {...@@ -3393,6 +3479,8 @@ typedef enum _REG_NOTIFY_CLASS {
3393 RegNtPostSaveKey,3479 RegNtPostSaveKey,
3394 RegNtPreReplaceKey,3480 RegNtPreReplaceKey,
3395 RegNtPostReplaceKey,3481 RegNtPostReplaceKey,
3482 RegNtPreQueryKeyName,
3483 RegNtPostQueryKeyName,
3396 MaxRegNtNotifyClass3484 MaxRegNtNotifyClass
3397} REG_NOTIFY_CLASS, *PREG_NOTIFY_CLASS;3485} REG_NOTIFY_CLASS, *PREG_NOTIFY_CLASS;
33983486
...@@ -3840,7 +3928,10 @@ typedef enum _IRQ_DEVICE_POLICY_USHORT {...@@ -3840,7 +3928,10 @@ typedef enum _IRQ_DEVICE_POLICY_USHORT {
3840 IrqPolicyAllProcessorsInMachine = 3,3928 IrqPolicyAllProcessorsInMachine = 3,
3841 IrqPolicyAllProcessorsInGroup = 3,3929 IrqPolicyAllProcessorsInGroup = 3,
3842 IrqPolicySpecifiedProcessors = 4,3930 IrqPolicySpecifiedProcessors = 4,
3843 IrqPolicySpreadMessagesAcrossAllProcessors = 5};3931 IrqPolicySpreadMessagesAcrossAllProcessors = 5,
3932 IrqPolicyAllProcessorsInMachineWhenSteered = 6,
3933 IrqPolicyAllProcessorsInGroupWhenSteered = 6
3934};
38443935
3845#else /* defined(NT_PROCESSOR_GROUPS) */3936#else /* defined(NT_PROCESSOR_GROUPS) */
38463937
...@@ -3850,7 +3941,8 @@ typedef enum _IRQ_DEVICE_POLICY {...@@ -3850,7 +3941,8 @@ typedef enum _IRQ_DEVICE_POLICY {
3850 IrqPolicyOneCloseProcessor,3941 IrqPolicyOneCloseProcessor,
3851 IrqPolicyAllProcessorsInMachine,3942 IrqPolicyAllProcessorsInMachine,
3852 IrqPolicySpecifiedProcessors,3943 IrqPolicySpecifiedProcessors,
3853 IrqPolicySpreadMessagesAcrossAllProcessors3944 IrqPolicySpreadMessagesAcrossAllProcessors,
3945 IrqPolicyAllProcessorsInMachineWhenSteered
3854} IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;3946} IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;
38553947
3856#endif3948#endif
...@@ -4268,6 +4360,24 @@ typedef enum _CREATE_FILE_TYPE {...@@ -4268,6 +4360,24 @@ typedef enum _CREATE_FILE_TYPE {
4268 CreateFileTypeMailslot4360 CreateFileTypeMailslot
4269} CREATE_FILE_TYPE;4361} 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
4271#define IO_FORCE_ACCESS_CHECK 0x0014381#define IO_FORCE_ACCESS_CHECK 0x001
4272#define IO_NO_PARAMETER_CHECKING 0x1004382#define IO_NO_PARAMETER_CHECKING 0x100
42734383
...@@ -4873,7 +4983,10 @@ typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {...@@ -4873,7 +4983,10 @@ typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {
4873 DeviceUsageTypeUndefined,4983 DeviceUsageTypeUndefined,
4874 DeviceUsageTypePaging,4984 DeviceUsageTypePaging,
4875 DeviceUsageTypeHibernation,4985 DeviceUsageTypeHibernation,
4876 DeviceUsageTypeDumpFile4986 DeviceUsageTypeDumpFile,
4987 DeviceUsageTypeBoot,
4988 DeviceUsageTypePostDisplay,
4989 DeviceUsageTypeGuestAssigned
4877} DEVICE_USAGE_NOTIFICATION_TYPE;4990} DEVICE_USAGE_NOTIFICATION_TYPE;
48784991
4879typedef struct _POWER_SEQUENCE {4992typedef struct _POWER_SEQUENCE {
...@@ -4912,7 +5025,8 @@ typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {...@@ -4912,7 +5025,8 @@ typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
4912 EventCategoryReserved,5025 EventCategoryReserved,
4913 EventCategoryHardwareProfileChange,5026 EventCategoryHardwareProfileChange,
4914 EventCategoryDeviceInterfaceChange,5027 EventCategoryDeviceInterfaceChange,
4915 EventCategoryTargetDeviceChange5028 EventCategoryTargetDeviceChange,
5029 EventCategoryKernelSoftRestart
4916} IO_NOTIFICATION_EVENT_CATEGORY;5030} IO_NOTIFICATION_EVENT_CATEGORY;
49175031
4918typedef enum _IO_PRIORITY_HINT {5032typedef enum _IO_PRIORITY_HINT {
...@@ -4989,13 +5103,38 @@ typedef enum _FILE_INFORMATION_CLASS {...@@ -4989,13 +5103,38 @@ typedef enum _FILE_INFORMATION_CLASS {
4989 FileNetworkPhysicalNameInformation,5103 FileNetworkPhysicalNameInformation,
4990 FileIdGlobalTxDirectoryInformation,5104 FileIdGlobalTxDirectoryInformation,
4991 FileIsRemoteDeviceInformation,5105 FileIsRemoteDeviceInformation,
4992 FileAttributeCacheInformation,5106 FileUnusedInformation,
4993 FileNumaNodeInformation,5107 FileNumaNodeInformation,
4994 FileStandardLinkInformation,5108 FileStandardLinkInformation,
4995 FileRemoteProtocolInformation,5109 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,
4996 FileMaximumInformation5130 FileMaximumInformation
4997} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;5131} 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
4999typedef struct _FILE_POSITION_INFORMATION {5138typedef struct _FILE_POSITION_INFORMATION {
5000 LARGE_INTEGER CurrentByteOffset;5139 LARGE_INTEGER CurrentByteOffset;
5001} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;5140} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
...@@ -5063,6 +5202,10 @@ typedef enum _FSINFOCLASS {...@@ -5063,6 +5202,10 @@ typedef enum _FSINFOCLASS {
5063 FileFsObjectIdInformation,5202 FileFsObjectIdInformation,
5064 FileFsDriverPathInformation,5203 FileFsDriverPathInformation,
5065 FileFsVolumeFlagsInformation,5204 FileFsVolumeFlagsInformation,
5205 FileFsSectorSizeInformation,
5206 FileFsDataCopyInformation,
5207 FileFsMetadataSizeInformation,
5208 FileFsFullSizeInformationEx,
5066 FileFsMaximumInformation5209 FileFsMaximumInformation
5067} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;5210} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
50685211
...@@ -5662,6 +5805,8 @@ typedef enum _DMA_WIDTH {...@@ -5662,6 +5805,8 @@ typedef enum _DMA_WIDTH {
5662 Width8Bits,5805 Width8Bits,
5663 Width16Bits,5806 Width16Bits,
5664 Width32Bits,5807 Width32Bits,
5808 Width64Bits,
5809 WidthNoWrap,
5665 MaximumDmaWidth5810 MaximumDmaWidth
5666} DMA_WIDTH, *PDMA_WIDTH;5811} DMA_WIDTH, *PDMA_WIDTH;
56675812
...@@ -6202,7 +6347,8 @@ typedef enum _BUS_QUERY_ID_TYPE {...@@ -6202,7 +6347,8 @@ typedef enum _BUS_QUERY_ID_TYPE {
6202 BusQueryHardwareIDs,6347 BusQueryHardwareIDs,
6203 BusQueryCompatibleIDs,6348 BusQueryCompatibleIDs,
6204 BusQueryInstanceID,6349 BusQueryInstanceID,
6205 BusQueryDeviceSerialNumber6350 BusQueryDeviceSerialNumber,
6351 BusQueryContainerID
6206} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;6352} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
62076353
6208typedef enum _DEVICE_TEXT_TYPE {6354typedef enum _DEVICE_TEXT_TYPE {
...@@ -6356,26 +6502,51 @@ typedef struct _IO_STACK_LOCATION {...@@ -6356,26 +6502,51 @@ typedef struct _IO_STACK_LOCATION {
6356 USHORT ShareAccess;6502 USHORT ShareAccess;
6357 ULONG POINTER_ALIGNMENT EaLength;6503 ULONG POINTER_ALIGNMENT EaLength;
6358 } Create;6504 } 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;
6359 struct {6519 struct {
6360 ULONG Length;6520 ULONG Length;
6361 ULONG POINTER_ALIGNMENT Key;6521 ULONG POINTER_ALIGNMENT Key;
6522#ifdef _WIN64
6523 ULONG Flags;
6524#endif
6362 LARGE_INTEGER ByteOffset;6525 LARGE_INTEGER ByteOffset;
6363 } Read;6526 } Read;
6364 struct {6527 struct {
6365 ULONG Length;6528 ULONG Length;
6366 ULONG POINTER_ALIGNMENT Key;6529 ULONG POINTER_ALIGNMENT Key;
6530#ifdef _WIN64
6531 ULONG Flags;
6532#endif
6367 LARGE_INTEGER ByteOffset;6533 LARGE_INTEGER ByteOffset;
6368 } Write;6534 } Write;
6369 struct {6535 struct {
6370 ULONG Length;6536 ULONG Length;
6371 PUNICODE_STRING FileName;6537 PUNICODE_STRING FileName;
6372 FILE_INFORMATION_CLASS FileInformationClass;6538 FILE_INFORMATION_CLASS FileInformationClass;
6373 ULONG FileIndex;6539 ULONG POINTER_ALIGNMENT FileIndex;
6374 } QueryDirectory;6540 } QueryDirectory;
6375 struct {6541 struct {
6376 ULONG Length;6542 ULONG Length;
6377 ULONG CompletionFilter;6543 ULONG POINTER_ALIGNMENT CompletionFilter;
6378 } NotifyDirectory;6544 } NotifyDirectory;
6545 struct {
6546 ULONG Length;
6547 ULONG POINTER_ALIGNMENT CompletionFilter;
6548 DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
6549 } NotifyDirectoryEx;
6379 struct {6550 struct {
6380 ULONG Length;6551 ULONG Length;
6381 FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;6552 FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
...@@ -6397,7 +6568,7 @@ typedef struct _IO_STACK_LOCATION {...@@ -6397,7 +6568,7 @@ typedef struct _IO_STACK_LOCATION {
6397 ULONG Length;6568 ULONG Length;
6398 PVOID EaList;6569 PVOID EaList;
6399 ULONG EaListLength;6570 ULONG EaListLength;
6400 ULONG EaIndex;6571 ULONG POINTER_ALIGNMENT EaIndex;
6401 } QueryEa;6572 } QueryEa;
6402 struct {6573 struct {
6403 ULONG Length;6574 ULONG Length;
...@@ -6408,17 +6579,17 @@ typedef struct _IO_STACK_LOCATION {...@@ -6408,17 +6579,17 @@ typedef struct _IO_STACK_LOCATION {
6408 } QueryVolume;6579 } QueryVolume;
6409 struct {6580 struct {
6410 ULONG Length;6581 ULONG Length;
6411 FS_INFORMATION_CLASS FsInformationClass;6582 FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
6412 } SetVolume;6583 } SetVolume;
6413 struct {6584 struct {
6414 ULONG OutputBufferLength;6585 ULONG OutputBufferLength;
6415 ULONG InputBufferLength;6586 ULONG POINTER_ALIGNMENT InputBufferLength;
6416 ULONG FsControlCode;6587 ULONG POINTER_ALIGNMENT FsControlCode;
6417 PVOID Type3InputBuffer;6588 PVOID Type3InputBuffer;
6418 } FileSystemControl;6589 } FileSystemControl;
6419 struct {6590 struct {
6420 PLARGE_INTEGER Length;6591 PLARGE_INTEGER Length;
6421 ULONG Key;6592 ULONG POINTER_ALIGNMENT Key;
6422 LARGE_INTEGER ByteOffset;6593 LARGE_INTEGER ByteOffset;
6423 } LockControl;6594 } LockControl;
6424 struct {6595 struct {
...@@ -6499,7 +6670,14 @@ typedef struct _IO_STACK_LOCATION {...@@ -6499,7 +6670,14 @@ typedef struct _IO_STACK_LOCATION {
6499 PPOWER_SEQUENCE PowerSequence;6670 PPOWER_SEQUENCE PowerSequence;
6500 } PowerSequence;6671 } PowerSequence;
6501 struct {6672 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
6503 POWER_STATE_TYPE POINTER_ALIGNMENT Type;6681 POWER_STATE_TYPE POINTER_ALIGNMENT Type;
6504 POWER_STATE POINTER_ALIGNMENT State;6682 POWER_STATE POINTER_ALIGNMENT State;
6505 POWER_ACTION POINTER_ALIGNMENT ShutdownType;6683 POWER_ACTION POINTER_ALIGNMENT ShutdownType;
...@@ -7679,6 +7857,11 @@ typedef enum _TRACE_INFORMATION_CLASS {...@@ -7679,6 +7857,11 @@ typedef enum _TRACE_INFORMATION_CLASS {
7679 LoggerEventsLostClass,7857 LoggerEventsLostClass,
7680 TraceSessionSettingsClass,7858 TraceSessionSettingsClass,
7681 LoggerEventsLoggedClass,7859 LoggerEventsLoggedClass,
7860 DiskIoNotifyRoutinesClass,
7861 TraceInformationClassReserved1,
7862 FltIoNotifyRoutinesClass,
7863 TraceInformationClassReserved2,
7864 WdfNotifyRoutinesClass,
7682 MaxTraceInformationClass7865 MaxTraceInformationClass
7683} TRACE_INFORMATION_CLASS;7866} TRACE_INFORMATION_CLASS;
76847867
...@@ -9345,7 +9528,7 @@ RtlExtendedMagicDivide(...@@ -9345,7 +9528,7 @@ RtlExtendedMagicDivide(
9345 ret64 = UnsignedMultiplyHigh(Pos ? Dividend.QuadPart : -Dividend.QuadPart,9528 ret64 = UnsignedMultiplyHigh(Pos ? Dividend.QuadPart : -Dividend.QuadPart,
9346 MagicDivisor.QuadPart);9529 MagicDivisor.QuadPart);
9347 ret64 >>= ShiftCount;9530 ret64 >>= ShiftCount;
9348 ret.QuadPart = Pos ? ret64 : -(LONG64)ret64;9531 ret.QuadPart = Pos ? (LONG64)ret64 : -(LONG64)ret64;
9349 return ret;9532 return ret;
9350}9533}
9351#endif9534#endif
...@@ -16128,6 +16311,885 @@ ZwSetInformationKey(...@@ -16128,6 +16311,885 @@ ZwSetInformationKey(
1612816311
16129#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */16312#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
16131#ifdef __cplusplus17193#ifdef __cplusplus
16132}17194}
16133#endif17195#endif
lib/libc/include/any-windows-any/ddstream.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/devicetopology.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dimm.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dinput.h+2-2
...@@ -387,7 +387,7 @@ typedef struct DIDEVICEOBJECTINSTANCEA {...@@ -387,7 +387,7 @@ typedef struct DIDEVICEOBJECTINSTANCEA {
387 WORD wUsage;387 WORD wUsage;
388 DWORD dwDimension;388 DWORD dwDimension;
389 WORD wExponent;389 WORD wExponent;
390 WORD wReserved;390 WORD wReportId;
391#endif /* DIRECTINPUT_VERSION >= 0x0500 */391#endif /* DIRECTINPUT_VERSION >= 0x0500 */
392} DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA;392} DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA;
393typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;393typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;
...@@ -408,7 +408,7 @@ typedef struct DIDEVICEOBJECTINSTANCEW {...@@ -408,7 +408,7 @@ typedef struct DIDEVICEOBJECTINSTANCEW {
408 WORD wUsage;408 WORD wUsage;
409 DWORD dwDimension;409 DWORD dwDimension;
410 WORD wExponent;410 WORD wExponent;
411 WORD wReserved;411 WORD wReportId;
412#endif /* DIRECTINPUT_VERSION >= 0x0500 */412#endif /* DIRECTINPUT_VERSION >= 0x0500 */
413} DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW;413} DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW;
414typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;414typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;
lib/libc/include/any-windows-any/dinputd.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/directmanipulation.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dispex.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dmodshow.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/docobj.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/docobjectservice.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/documenttarget.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/downloadmgr.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/drmexternals.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dsound.h+10-2
...@@ -83,13 +83,21 @@ typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8,**LPLPDIRECTSOUNDBUFFER...@@ -83,13 +83,21 @@ typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8,**LPLPDIRECTSOUNDBUFFER
8383
84DEFINE_GUID(IID_IDirectSoundNotify, 0xB0210783,0x89cd,0x11d0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);84DEFINE_GUID(IID_IDirectSoundNotify, 0xB0210783,0x89cd,0x11d0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
85typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY,**LPLPDIRECTSOUNDNOTIFY;85typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY,**LPLPDIRECTSOUNDNOTIFY;
86#define IDirectSoundNotify8 IDirectSoundNotify
87typedef struct IDirectSoundNotify8 *LPDIRECTSOUNDNOTIFY8;
86#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify88#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
8789
88DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);90DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
89typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER,**LPLPDIRECTSOUND3DLISTENER;91typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER,**LPLPDIRECTSOUND3DLISTENER;
92#define IDirectSound3DListener8 IDirectSound3DListener
93typedef struct IDirectSound3DListener8 *LPDIRECTSOUND3DLISTENER8;
94#define IID_IDirectSound3DListener8 IID_IDirectSound3DListener
9095
91DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);96DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
92typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER,**LPLPDIRECTSOUND3DBUFFER;97typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER,**LPLPDIRECTSOUND3DBUFFER;
98#define IDirectSound3DBuffer8 IDirectSound3DBuffer
99typedef struct IDirectSound3DBuffer8 *LPDIRECTSOUND3DBUFFER8;
100#define IID_IDirectSound3DBuffer8 IID_IDirectSound3DBuffer
93101
94DEFINE_GUID(IID_IDirectSoundCapture, 0xB0210781,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);102DEFINE_GUID(IID_IDirectSoundCapture, 0xB0210781,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
95typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE,**LPLPDIRECTSOUNDCAPTURE;103typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE,**LPLPDIRECTSOUNDCAPTURE;
...@@ -104,6 +112,8 @@ typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8,**LPLPDIR...@@ -104,6 +112,8 @@ typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8,**LPLPDIR
104112
105DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C,0x50,0x59,0x6D,0xDC,0x1D);113DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C,0x50,0x59,0x6D,0xDC,0x1D);
106typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX,**LPLPDIRECTSOUNDFULLDUPLEX;114typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX,**LPLPDIRECTSOUNDFULLDUPLEX;
115#define IDirectSoundFullDuplex8 IDirectSoundFullDuplex
116typedef struct IDirectSoundFullDuplex8 *LPDIRECTSOUNDFULLDUPLEX8;
107#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex117#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
108118
109DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb, 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4);119DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb, 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4);
...@@ -1153,7 +1163,6 @@ DECLARE_INTERFACE_(IDirectSound3DListener,IUnknown)...@@ -1153,7 +1163,6 @@ DECLARE_INTERFACE_(IDirectSound3DListener,IUnknown)
1153#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)1163#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
1154#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()1164#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
1155#endif1165#endif
1156#define IDirectSound3DListener8 IDirectSound3DListener
11571166
1158/*****************************************************************************1167/*****************************************************************************
1159 * IDirectSound3DBuffer interface1168 * IDirectSound3DBuffer interface
...@@ -1251,7 +1260,6 @@ DECLARE_INTERFACE_(IDirectSound3DBuffer,IUnknown)...@@ -1251,7 +1260,6 @@ DECLARE_INTERFACE_(IDirectSound3DBuffer,IUnknown)
1251#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)1260#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1252#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)1261#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
1253#endif1262#endif
1254#define IDirectSound3DBuffer8 IDirectSound3DBuffer
12551263
1256/*****************************************************************************1264/*****************************************************************************
1257 * IKsPropertySet interface1265 * IKsPropertySet interface
lib/libc/include/any-windows-any/dvdif.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite_1.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite_2.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dwrite_3.h+8-3
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -9311,16 +9311,21 @@ static FORCEINLINE WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWrit...@@ -9311,16 +9311,21 @@ static FORCEINLINE WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWrit
93119311
9312#endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */9312#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{
9315 DWRITE_GLYPH_RUN glyphRun;9317 DWRITE_GLYPH_RUN glyphRun;
9316 DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription;9318 DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription;
9317 FLOAT baselineOriginX;9319 FLOAT baselineOriginX;
9318 FLOAT baselineOriginY;9320 FLOAT baselineOriginY;
9319 DWRITE_COLOR_F runColor;9321 DWRITE_COLOR_F runColor;
9320 UINT16 paletteIndex;9322 UINT16 paletteIndex;
9323#ifdef _WIN64
9324 UINT32 _pad;
9325#endif
9321 DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;9326 DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;
9322 DWRITE_MEASURING_MODE measuringMode;9327 DWRITE_MEASURING_MODE measuringMode;
9323} DWRITE_COLOR_GLYPH_RUN1;9328};
9324/*****************************************************************************9329/*****************************************************************************
9325 * IDWriteColorGlyphRunEnumerator1 interface9330 * IDWriteColorGlyphRunEnumerator1 interface
9326 */9331 */
lib/libc/include/any-windows-any/dxgi.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_2.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_3.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_4.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_5.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgi1_6.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgicommon.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgidebug.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgiformat.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxgitype.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxva.h+269
...@@ -563,6 +563,275 @@ typedef struct _DXVA_Status_VPx...@@ -563,6 +563,275 @@ typedef struct _DXVA_Status_VPx
563 USHORT wNumMbsAffected;563 USHORT wNumMbsAffected;
564} DXVA_Status_VPx, *LPDXVA_Status_VPx;564} 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
566#include <poppack.h>835#include <poppack.h>
567836
568typedef enum _DXVA_VideoChromaSubsampling837typedef enum _DXVA_VideoChromaSubsampling
lib/libc/include/any-windows-any/dxva2api.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/dxvahd.h+13-13
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -405,19 +405,16 @@ typedef struct _DXVAHDSW_CALLBACKS {...@@ -405,19 +405,16 @@ typedef struct _DXVAHDSW_CALLBACKS {
405405
406HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);406HRESULT 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
413/*****************************************************************************408/*****************************************************************************
414 * IDXVAHD_Device interface409 * IDXVAHD_Device interface
415 */410 */
416#ifndef __IDXVAHD_Device_INTERFACE_DEFINED__411#ifndef __IDXVAHD_Device_INTERFACE_DEFINED__
417#define __IDXVAHD_Device_INTERFACE_DEFINED__412#define __IDXVAHD_Device_INTERFACE_DEFINED__
418413
414DEFINE_GUID(IID_IDXVAHD_Device, 0x95f12dfd, 0xd77e, 0x49be, 0x81,0x5f, 0x57,0xd5,0x79,0x63,0x4d,0x6d);
419#if defined(__cplusplus) && !defined(CINTERFACE)415#if defined(__cplusplus) && !defined(CINTERFACE)
420interface IDXVAHD_Device : public IUnknown416MIDL_INTERFACE("95f12dfd-d77e-49be-815f-57d579634d6d")
417IDXVAHD_Device : public IUnknown
421{418{
422 virtual HRESULT STDMETHODCALLTYPE CreateVideoSurface(419 virtual HRESULT STDMETHODCALLTYPE CreateVideoSurface(
423 UINT Width,420 UINT Width,
...@@ -459,6 +456,9 @@ interface IDXVAHD_Device : public IUnknown...@@ -459,6 +456,9 @@ interface IDXVAHD_Device : public IUnknown
459 IDXVAHD_VideoProcessor **ppVideoProcessor) = 0;456 IDXVAHD_VideoProcessor **ppVideoProcessor) = 0;
460457
461};458};
459#ifdef __CRT_UUID_DECL
460__CRT_UUID_DECL(IDXVAHD_Device, 0x95f12dfd, 0xd77e, 0x49be, 0x81,0x5f, 0x57,0xd5,0x79,0x63,0x4d,0x6d)
461#endif
462#else462#else
463typedef struct IDXVAHD_DeviceVtbl {463typedef struct IDXVAHD_DeviceVtbl {
464 BEGIN_INTERFACE464 BEGIN_INTERFACE
...@@ -589,19 +589,16 @@ static FORCEINLINE HRESULT IDXVAHD_Device_CreateVideoProcessor(IDXVAHD_Device* T...@@ -589,19 +589,16 @@ static FORCEINLINE HRESULT IDXVAHD_Device_CreateVideoProcessor(IDXVAHD_Device* T
589589
590#endif /* __IDXVAHD_Device_INTERFACE_DEFINED__ */590#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
597/*****************************************************************************592/*****************************************************************************
598 * IDXVAHD_VideoProcessor interface593 * IDXVAHD_VideoProcessor interface
599 */594 */
600#ifndef __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__595#ifndef __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__
601#define __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__596#define __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__
602597
598DEFINE_GUID(IID_IDXVAHD_VideoProcessor, 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe,0x1b, 0x30,0x75,0xd6,0x65,0xaa,0x52);
603#if defined(__cplusplus) && !defined(CINTERFACE)599#if defined(__cplusplus) && !defined(CINTERFACE)
604interface IDXVAHD_VideoProcessor : public IUnknown600MIDL_INTERFACE("95f4edf4-6e03-4cd7-be1b-3075d665aa52")
601IDXVAHD_VideoProcessor : public IUnknown
605{602{
606 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessBltState(603 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessBltState(
607 DXVAHD_BLT_STATE State,604 DXVAHD_BLT_STATE State,
...@@ -632,6 +629,9 @@ interface IDXVAHD_VideoProcessor : public IUnknown...@@ -632,6 +629,9 @@ interface IDXVAHD_VideoProcessor : public IUnknown
632 const DXVAHD_STREAM_DATA *pStreams) = 0;629 const DXVAHD_STREAM_DATA *pStreams) = 0;
633630
634};631};
632#ifdef __CRT_UUID_DECL
633__CRT_UUID_DECL(IDXVAHD_VideoProcessor, 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe,0x1b, 0x30,0x75,0xd6,0x65,0xaa,0x52)
634#endif
635#else635#else
636typedef struct IDXVAHD_VideoProcessorVtbl {636typedef struct IDXVAHD_VideoProcessorVtbl {
637 BEGIN_INTERFACE637 BEGIN_INTERFACE
lib/libc/include/any-windows-any/endpointvolume.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/eventtoken.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/evr.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/evr9.h+393-18
...@@ -1,29 +1,404 @@...@@ -1,29 +1,404 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/evr9.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5 */5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#ifndef _INC_EVR96#endif
7#define _INC_EVR97#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
11#ifdef __cplusplus43#ifdef __cplusplus
12extern "C" {44extern "C" {
13#endif45#endif
1446
15typedef enum _evr9_tag_MFVideoAlphaBitmapFlags {47typedef struct MFVideoAlphaBitmapParams {
16 MFVideoAlphaBitmap_EntireDDS = 0x00000001,48 DWORD dwFlags;
17 MFVideoAlphaBitmap_SrcColorKey = 0x00000002,49 COLORREF clrSrcKey;
18 MFVideoAlphaBitmap_SrcRect = 0x00000004,50 RECT rcSrc;
19 MFVideoAlphaBitmap_DestRect = 0x00000008,51 MFVideoNormalizedRect nrcDest;
20 MFVideoAlphaBitmap_FilterMode = 0x00000010,52 FLOAT fAlpha;
21 MFVideoAlphaBitmap_Alpha = 0x00000020,53 DWORD dwFilterMode;
22 MFVideoAlphaBitmap_BitMask = 0x0000003f 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
23} MFVideoAlphaBitmapFlags;71} 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
25#ifdef __cplusplus400#ifdef __cplusplus
26}401}
27#endif402#endif
28#endif /*(_WIN32_WINNT >= 0x0600)*/403
29#endif /*_INC_EVR9*/404#endif /* __evr9_h__ */
lib/libc/include/any-windows-any/exdisp.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/filter.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/float.h+1-1
...@@ -245,7 +245,7 @@...@@ -245,7 +245,7 @@
245#define _CW_DEFAULT (_RC_NEAR+_PC_53+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)245#define _CW_DEFAULT (_RC_NEAR+_PC_53+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)
246#elif defined(__ia64__)246#elif defined(__ia64__)
247#define _CW_DEFAULT (_RC_NEAR+_PC_64+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)247#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__)
249#define _CW_DEFAULT (_RC_NEAR+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)249#define _CW_DEFAULT (_RC_NEAR+_EM_INVALID+_EM_ZERODIVIDE+_EM_OVERFLOW+_EM_UNDERFLOW+_EM_INEXACT+_EM_DENORMAL)
250#endif250#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmenums.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmquota.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmreports.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fsrmscreen.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fusion.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/fwptypes.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/hstring.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/httpext.h+20-1
...@@ -6,6 +6,10 @@...@@ -6,6 +6,10 @@
6#ifndef _HTTPEXT_H_6#ifndef _HTTPEXT_H_
7#define _HTTPEXT_H_7#define _HTTPEXT_H_
88
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
12
9#include <windows.h>13#include <windows.h>
1014
11#ifdef __cplusplus15#ifdef __cplusplus
...@@ -60,6 +64,14 @@ extern "C" {...@@ -60,6 +64,14 @@ extern "C" {
60#define HSE_REQ_GET_CACHE_INVALIDATION_CALLBACK (HSE_REQ_END_RESERVED+40)64#define HSE_REQ_GET_CACHE_INVALIDATION_CALLBACK (HSE_REQ_END_RESERVED+40)
61#define HSE_REQ_GET_UNICODE_ANONYMOUS_TOKEN (HSE_REQ_END_RESERVED+41)65#define HSE_REQ_GET_UNICODE_ANONYMOUS_TOKEN (HSE_REQ_END_RESERVED+41)
62#define HSE_REQ_GET_TRACE_INFO (HSE_REQ_END_RESERVED+42)66#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
64#define HSE_TERM_ADVISORY_UNLOAD 0x0000000176#define HSE_TERM_ADVISORY_UNLOAD 0x00000001
65#define HSE_TERM_MUST_UNLOAD 0x0000000277#define HSE_TERM_MUST_UNLOAD 0x00000002
...@@ -72,6 +84,7 @@ extern "C" {...@@ -72,6 +84,7 @@ extern "C" {
7284
73#define HSE_IO_FINAL_SEND 0x0000001085#define HSE_IO_FINAL_SEND 0x00000010
74#define HSE_IO_CACHE_RESPONSE 0x0000002086#define HSE_IO_CACHE_RESPONSE 0x00000020
87#define HSE_IO_TRY_SKIP_CUSTOM_ERRORS 0x00000040
7588
76 typedef LPVOID HCONN;89 typedef LPVOID HCONN;
7790
...@@ -159,6 +172,7 @@ extern "C" {...@@ -159,6 +172,7 @@ extern "C" {
159#define HSE_EXEC_URL_IGNORE_VALIDATION_AND_RANGE 0x10172#define HSE_EXEC_URL_IGNORE_VALIDATION_AND_RANGE 0x10
160#define HSE_EXEC_URL_DISABLE_CUSTOM_ERROR 0x20173#define HSE_EXEC_URL_DISABLE_CUSTOM_ERROR 0x20
161#define HSE_EXEC_URL_SSI_CMD 0x40174#define HSE_EXEC_URL_SSI_CMD 0x40
175#define HSE_EXEC_URL_HTTP_CACHE_ELIGIBLE 0x80
162176
163 typedef struct _HSE_EXEC_URL_USER_INFO {177 typedef struct _HSE_EXEC_URL_USER_INFO {
164 HANDLE hImpersonationToken;178 HANDLE hImpersonationToken;
...@@ -242,6 +256,8 @@ extern "C" {...@@ -242,6 +256,8 @@ extern "C" {
242 DWORD dwReserved2;256 DWORD dwReserved2;
243 } HSE_TRACE_INFO,*LPHSE_TRACE_INFO;257 } 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
245#define HSE_APP_FLAG_IN_PROCESS 0261#define HSE_APP_FLAG_IN_PROCESS 0
246#define HSE_APP_FLAG_ISOLATED_OOP 1262#define HSE_APP_FLAG_ISOLATED_OOP 1
247#define HSE_APP_FLAG_POOLED_OOP 2263#define HSE_APP_FLAG_POOLED_OOP 2
...@@ -257,4 +273,7 @@ extern "C" {...@@ -257,4 +273,7 @@ extern "C" {
257#ifdef __cplusplus273#ifdef __cplusplus
258}274}
259#endif275#endif
260#endif276
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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/icodecapi.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/iketypes.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/inputscope.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/inspectable.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/intrin.h+4
...@@ -67,6 +67,10 @@ extern "C" {...@@ -67,6 +67,10 @@ extern "C" {
67#endif67#endif
6868
69#include <x86intrin.h>69#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
71/* Before 4.9.2, x86intrin.h had broken versions of these. */75/* Before 4.9.2, x86intrin.h had broken versions of these. */
72#undef _lrotl76#undef _lrotl
lib/libc/include/any-windows-any/inttypes.h+47-1
...@@ -28,6 +28,7 @@ typedef struct {...@@ -28,6 +28,7 @@ typedef struct {
28 * length specifier. It appears to treat "ll" as "l".28 * length specifier. It appears to treat "ll" as "l".
29 * The non-standard I64 length specifier causes warning in GCC,29 * The non-standard I64 length specifier causes warning in GCC,
30 * but understood by MS runtime functions.30 * but understood by MS runtime functions.
31 * crtdll.dll and msvcrt10.dll do not support any 64-bit modifier.
31 */32 */
32#if defined(_UCRT) || __USE_MINGW_ANSI_STDIO33#if defined(_UCRT) || __USE_MINGW_ANSI_STDIO
33#define PRId64 "lld"34#define PRId64 "lld"
...@@ -36,7 +37,7 @@ typedef struct {...@@ -36,7 +37,7 @@ typedef struct {
36#define PRIu64 "llu"37#define PRIu64 "llu"
37#define PRIx64 "llx"38#define PRIx64 "llx"
38#define PRIX64 "llX"39#define PRIX64 "llX"
39#else40#elif !defined(__CRTDLL__) && __MSVCRT_VERSION__ >= 0x200
40#define PRId64 "I64d"41#define PRId64 "I64d"
41#define PRIi64 "I64i"42#define PRIi64 "I64i"
42#define PRIo64 "I64o"43#define PRIo64 "I64o"
...@@ -278,6 +279,51 @@ typedef struct {...@@ -278,6 +279,51 @@ typedef struct {
278#define SCNuFAST8 "hhu"279#define SCNuFAST8 "hhu"
279#endif /* __STDC_VERSION__ >= 199901 */280#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
281intmax_t __cdecl imaxabs (intmax_t j);327intmax_t __cdecl imaxabs (intmax_t j);
282#ifndef __CRT__NO_INLINE328#ifndef __CRT__NO_INLINE
283__CRT_INLINE intmax_t __cdecl imaxabs (intmax_t j)329__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);...@@ -581,20 +581,15 @@ DEFINE_GUIDSTRUCT("085AFF00-62CE-11CF-A5D6-28DB04C10000",KSCATEGORY_BRIDGE);
581DEFINE_GUIDSTRUCT("65E8773D-8F56-11D0-A3B9-00A0C9223196",KSCATEGORY_CAPTURE);581DEFINE_GUIDSTRUCT("65E8773D-8F56-11D0-A3B9-00A0C9223196",KSCATEGORY_CAPTURE);
582#define KSCATEGORY_CAPTURE DEFINE_GUIDNAMED(KSCATEGORY_CAPTURE)582#define KSCATEGORY_CAPTURE DEFINE_GUIDNAMED(KSCATEGORY_CAPTURE)
583583
584#define STATIC_KSCATEGORY_RENDER \584#define STATIC_KSCATEGORY_CLOCK \
585 0x65E8773E,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96585 0x53172480,0x4791,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
586DEFINE_GUIDSTRUCT("65E8773E-8F56-11D0-A3B9-00A0C9223196",KSCATEGORY_RENDER);586DEFINE_GUIDSTRUCT("53172480-4791-11D0-A5D6-28DB04C10000",KSCATEGORY_CLOCK);
587#define KSCATEGORY_RENDER DEFINE_GUIDNAMED(KSCATEGORY_RENDER)587#define KSCATEGORY_CLOCK DEFINE_GUIDNAMED(KSCATEGORY_CLOCK)
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)
593588
594#define STATIC_KSCATEGORY_SPLITTER \589#define STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM \
595 0x0A4252A0,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00590 0xCF1DDA2C,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96
596DEFINE_GUIDSTRUCT("0A4252A0-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_SPLITTER);591DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_COMMUNICATIONSTRANSFORM);
597#define KSCATEGORY_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_SPLITTER)592#define KSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_COMMUNICATIONSTRANSFORM)
598593
599#define STATIC_KSCATEGORY_DATACOMPRESSOR \594#define STATIC_KSCATEGORY_DATACOMPRESSOR \
600 0x1E84C900,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00595 0x1E84C900,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
...@@ -611,10 +606,10 @@ DEFINE_GUIDSTRUCT("2721AE20-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_DATADECOMPRE...@@ -611,10 +606,10 @@ DEFINE_GUIDSTRUCT("2721AE20-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_DATADECOMPRE
611DEFINE_GUIDSTRUCT("2EB07EA0-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_DATATRANSFORM);606DEFINE_GUIDSTRUCT("2EB07EA0-7E70-11D0-A5D6-28DB04C10000",KSCATEGORY_DATATRANSFORM);
612#define KSCATEGORY_DATATRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_DATATRANSFORM)607#define KSCATEGORY_DATATRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_DATATRANSFORM)
613608
614#define STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM \609#define STATIC_KSCATEGORY_FILESYSTEM \
615 0xCF1DDA2C,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96610 0x760FED5E,0x9357,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
616DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_COMMUNICATIONSTRANSFORM);611DEFINE_GUIDSTRUCT("760FED5E-9357-11D0-A3CC-00A0C9223196",KSCATEGORY_FILESYSTEM);
617#define KSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_COMMUNICATIONSTRANSFORM)612#define KSCATEGORY_FILESYSTEM DEFINE_GUIDNAMED(KSCATEGORY_FILESYSTEM)
618613
619#define STATIC_KSCATEGORY_INTERFACETRANSFORM \614#define STATIC_KSCATEGORY_INTERFACETRANSFORM \
620 0xCF1DDA2D,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96615 0xCF1DDA2D,0x9743,0x11D0,0xA3,0xEE,0x00,0xA0,0xC9,0x22,0x31,0x96
...@@ -626,15 +621,10 @@ DEFINE_GUIDSTRUCT("CF1DDA2D-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_INTERFACETRA...@@ -626,15 +621,10 @@ DEFINE_GUIDSTRUCT("CF1DDA2D-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_INTERFACETRA
626DEFINE_GUIDSTRUCT("CF1DDA2E-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_MEDIUMTRANSFORM);621DEFINE_GUIDSTRUCT("CF1DDA2E-9743-11D0-A3EE-00A0C9223196",KSCATEGORY_MEDIUMTRANSFORM);
627#define KSCATEGORY_MEDIUMTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_MEDIUMTRANSFORM)622#define KSCATEGORY_MEDIUMTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_MEDIUMTRANSFORM)
628623
629#define STATIC_KSCATEGORY_FILESYSTEM \624#define STATIC_KSCATEGORY_MIXER \
630 0x760FED5E,0x9357,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96625 0xAD809C00,0x7B88,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
631DEFINE_GUIDSTRUCT("760FED5E-9357-11D0-A3CC-00A0C9223196",KSCATEGORY_FILESYSTEM);626DEFINE_GUIDSTRUCT("AD809C00-7B88-11D0-A5D6-28DB04C10000",KSCATEGORY_MIXER);
632#define KSCATEGORY_FILESYSTEM DEFINE_GUIDNAMED(KSCATEGORY_FILESYSTEM)627#define KSCATEGORY_MIXER DEFINE_GUIDNAMED(KSCATEGORY_MIXER)
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)
638628
639#define STATIC_KSCATEGORY_PROXY \629#define STATIC_KSCATEGORY_PROXY \
640 0x97EBAACA,0x95BD,0x11D0,0xA3,0xEA,0x00,0xA0,0xC9,0x22,0x31,0x96630 0x97EBAACA,0x95BD,0x11D0,0xA3,0xEA,0x00,0xA0,0xC9,0x22,0x31,0x96
...@@ -646,6 +636,21 @@ DEFINE_GUIDSTRUCT("97EBAACA-95BD-11D0-A3EA-00A0C9223196",KSCATEGORY_PROXY);...@@ -646,6 +636,21 @@ DEFINE_GUIDSTRUCT("97EBAACA-95BD-11D0-A3EA-00A0C9223196",KSCATEGORY_PROXY);
646DEFINE_GUIDSTRUCT("97EBAACB-95BD-11D0-A3EA-00A0C9223196",KSCATEGORY_QUALITY);636DEFINE_GUIDSTRUCT("97EBAACB-95BD-11D0-A3EA-00A0C9223196",KSCATEGORY_QUALITY);
647#define KSCATEGORY_QUALITY DEFINE_GUIDNAMED(KSCATEGORY_QUALITY)637#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
649typedef struct {654typedef struct {
650 ULONG FromNode;655 ULONG FromNode;
651 ULONG FromNodePin;656 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...@@ -386,6 +386,7 @@ DEFINE_GUIDSTRUCT("DFF220F2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_MULTITRACK_R
386DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SYNTHESIZER);386DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SYNTHESIZER);
387#define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER)387#define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER)
388388
389#if NTDDI_VERSION < NTDDI_VISTA
389#define STATIC_KSNODETYPE_SWSYNTH \390#define STATIC_KSNODETYPE_SWSYNTH \
390 0x423274A0,0x8B81,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88391 0x423274A0,0x8B81,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
391DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);392DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);
...@@ -395,6 +396,7 @@ DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);...@@ -395,6 +396,7 @@ DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);
395 0xCB9BEFA0,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88396 0xCB9BEFA0,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
396DEFINE_GUIDSTRUCT("CB9BEFA0-A251-11D1-A050-0000F8004788",KSNODETYPE_SWMIDI);397DEFINE_GUIDSTRUCT("CB9BEFA0-A251-11D1-A050-0000F8004788",KSNODETYPE_SWMIDI);
397#define KSNODETYPE_SWMIDI DEFINE_GUIDNAMED(KSNODETYPE_SWMIDI)398#define KSNODETYPE_SWMIDI DEFINE_GUIDNAMED(KSNODETYPE_SWMIDI)
399#endif /* NTDDI_VERSION < NTDDI_VISTA */
398400
399#define STATIC_KSNODETYPE_DRM_DESCRAMBLE \401#define STATIC_KSNODETYPE_DRM_DESCRAMBLE \
400 0xFFBB6E3F,0xCCFE,0x4D84,0x90,0xD9,0x42,0x14,0x18,0xB0,0x3A,0x8E402 0xFFBB6E3F,0xCCFE,0x4D84,0x90,0xD9,0x42,0x14,0x18,0xB0,0x3A,0x8E
...@@ -416,6 +418,13 @@ DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_VIDEO);...@@ -416,6 +418,13 @@ DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_VIDEO);
416DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_TEXT);418DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_TEXT);
417#define KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT)419#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
419#define STATIC_KSCATEGORY_NETWORK \428#define STATIC_KSCATEGORY_NETWORK \
420 0x67C9CC3C,0x69C4,0x11D2,0x87,0x59,0x00,0xA0,0xC9,0x22,0x31,0x96429 0x67C9CC3C,0x69C4,0x11D2,0x87,0x59,0x00,0xA0,0xC9,0x22,0x31,0x96
421DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196",KSCATEGORY_NETWORK);430DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196",KSCATEGORY_NETWORK);
...@@ -436,6 +445,7 @@ DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196",KSCATEGORY_VIRTUAL);...@@ -436,6 +445,7 @@ DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196",KSCATEGORY_VIRTUAL);
436DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1",KSCATEGORY_ACOUSTIC_ECHO_CANCEL);445DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1",KSCATEGORY_ACOUSTIC_ECHO_CANCEL);
437#define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)446#define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)
438447
448#if NTDDI_VERSION < NTDDI_VISTA
439#define STATIC_KSCATEGORY_SYSAUDIO \449#define STATIC_KSCATEGORY_SYSAUDIO \
440 0xA7C7A5B1,0x5AF3,0x11D1,0x9C,0xED,0x00,0xA0,0x24,0xBF,0x04,0x07450 0xA7C7A5B1,0x5AF3,0x11D1,0x9C,0xED,0x00,0xA0,0x24,0xBF,0x04,0x07
441DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407",KSCATEGORY_SYSAUDIO);451DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407",KSCATEGORY_SYSAUDIO);
...@@ -455,6 +465,7 @@ DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F",KSCATEGORY_AUDIO_GFX);...@@ -455,6 +465,7 @@ DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F",KSCATEGORY_AUDIO_GFX);
455 0x9EA331FA,0xB91B,0x45F8,0x92,0x85,0xBD,0x2B,0xC7,0x7A,0xFC,0xDE465 0x9EA331FA,0xB91B,0x45F8,0x92,0x85,0xBD,0x2B,0xC7,0x7A,0xFC,0xDE
456DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITTER);466DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITTER);
457#define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)467#define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)
468#endif /* NTDDI_VERSION < NTDDI_VISTA */
458469
459#define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER470#define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER
460#define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER471#define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER
...@@ -462,6 +473,7 @@ DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITT...@@ -462,6 +473,7 @@ DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITT
462#define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE473#define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
463#define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE474#define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
464475
476#if NTDDI_VERSION < NTDDI_VISTA
465#define STATIC_KSCATEGORY_AUDIO_DEVICE \477#define STATIC_KSCATEGORY_AUDIO_DEVICE \
466 0xFBF6F530,0x07B9,0x11D2,0xA7,0x1E,0x00,0x00,0xF8,0x00,0x47,0x88478 0xFBF6F530,0x07B9,0x11D2,0xA7,0x1E,0x00,0x00,0xF8,0x00,0x47,0x88
467DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788",KSCATEGORY_AUDIO_DEVICE);479DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788",KSCATEGORY_AUDIO_DEVICE);
...@@ -481,6 +493,7 @@ DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_WA...@@ -481,6 +493,7 @@ DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_WA
481 0xD6C50674,0x72C1,0x11D2,0x97,0x55,0x00,0x00,0xF8,0x00,0x47,0x88493 0xD6C50674,0x72C1,0x11D2,0x97,0x55,0x00,0x00,0xF8,0x00,0x47,0x88
482DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);494DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);
483#define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)495#define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)
496#endif /* NTDDI_VERSION < NTDDI_VISTA */
484497
485#define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \498#define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \
486 0x47A4FA20,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88499 0x47A4FA20,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
...@@ -1163,6 +1176,7 @@ typedef struct {...@@ -1163,6 +1176,7 @@ typedef struct {
1163 ULONG Reserved;1176 ULONG Reserved;
1164} KSAUDIO_STEREO_ENHANCE,*PKSAUDIO_STEREO_ENHANCE;1177} KSAUDIO_STEREO_ENHANCE,*PKSAUDIO_STEREO_ENHANCE;
11651178
1179#if NTDDI_VERSION < NTDDI_VISTA
1166typedef enum {1180typedef enum {
1167 KSPROPERTY_SYSAUDIO_NORMAL_DEFAULT = 0,1181 KSPROPERTY_SYSAUDIO_NORMAL_DEFAULT = 0,
1168 KSPROPERTY_SYSAUDIO_PLAYBACK_DEFAULT,1182 KSPROPERTY_SYSAUDIO_PLAYBACK_DEFAULT,
...@@ -1177,6 +1191,7 @@ typedef struct {...@@ -1177,6 +1191,7 @@ typedef struct {
1177 ULONG Flags;1191 ULONG Flags;
1178 ULONG Reserved;1192 ULONG Reserved;
1179} KSAUDIO_PREFERRED_STATUS,*PKSAUDIO_PREFERRED_STATUS;1193} KSAUDIO_PREFERRED_STATUS,*PKSAUDIO_PREFERRED_STATUS;
1194#endif /* NTDDI_VERSION < NTDDI_VISTA */
11801195
1181#define STATIC_KSNODETYPE_DAC \1196#define STATIC_KSNODETYPE_DAC \
1182 0x507AE360,0xC554,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC11197 0x507AE360,0xC554,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
...@@ -1584,10 +1599,12 @@ DEFINE_GUIDSTRUCT("57E24340-FC5B-4612-A562-72B11A29DFAE",KSAUDFNAME_PEAKMETER);...@@ -1584,10 +1599,12 @@ DEFINE_GUIDSTRUCT("57E24340-FC5B-4612-A562-72B11A29DFAE",KSAUDFNAME_PEAKMETER);
1584#define KSNODEPIN_DEMUX_IN 01599#define KSNODEPIN_DEMUX_IN 0
1585#define KSNODEPIN_DEMUX_OUT 11600#define KSNODEPIN_DEMUX_OUT 1
15861601
1602#if NTDDI_VERSION < NTDDI_VISTA
1587#define KSNODEPIN_AEC_RENDER_IN 11603#define KSNODEPIN_AEC_RENDER_IN 1
1588#define KSNODEPIN_AEC_RENDER_OUT 01604#define KSNODEPIN_AEC_RENDER_OUT 0
1589#define KSNODEPIN_AEC_CAPTURE_IN 21605#define KSNODEPIN_AEC_CAPTURE_IN 2
1590#define KSNODEPIN_AEC_CAPTURE_OUT 31606#define KSNODEPIN_AEC_CAPTURE_OUT 3
1607#endif /* NTDDI_VERSION < NTDDI_VISTA */
15911608
1592#define STATIC_KSMETHODSETID_Wavetable \1609#define STATIC_KSMETHODSETID_Wavetable \
1593 0xDCEF31EB,0xD907,0x11D0,0x95,0x83,0x00,0xC0,0x4F,0xB9,0x25,0xD31610 0xDCEF31EB,0xD907,0x11D0,0x95,0x83,0x00,0xC0,0x4F,0xB9,0x25,0xD3
...@@ -1610,10 +1627,12 @@ typedef struct {...@@ -1610,10 +1627,12 @@ typedef struct {
1610 KSDATAFORMAT Format;1627 KSDATAFORMAT Format;
1611} KSWAVETABLE_WAVE_DESC,*PKSWAVETABLE_WAVE_DESC;1628} KSWAVETABLE_WAVE_DESC,*PKSWAVETABLE_WAVE_DESC;
16121629
1630#if NTDDI_VERSION < NTDDI_VISTA
1613#define STATIC_KSPROPSETID_Acoustic_Echo_Cancel \1631#define STATIC_KSPROPSETID_Acoustic_Echo_Cancel \
1614 0xd7a4af8b,0x3dc1,0x4902,0x91,0xea,0x8a,0x15,0xc9,0x0e,0x05,0xb21632 0xd7a4af8b,0x3dc1,0x4902,0x91,0xea,0x8a,0x15,0xc9,0x0e,0x05,0xb2
1615DEFINE_GUIDSTRUCT("D7A4AF8B-3DC1-4902-91EA-8A15C90E05B2",KSPROPSETID_Acoustic_Echo_Cancel);1633DEFINE_GUIDSTRUCT("D7A4AF8B-3DC1-4902-91EA-8A15C90E05B2",KSPROPSETID_Acoustic_Echo_Cancel);
1616#define KSPROPSETID_Acoustic_Echo_Cancel DEFINE_GUIDNAMED(KSPROPSETID_Acoustic_Echo_Cancel)1634#define KSPROPSETID_Acoustic_Echo_Cancel DEFINE_GUIDNAMED(KSPROPSETID_Acoustic_Echo_Cancel)
1635#endif /* NTDDI_VERSION < NTDDI_VISTA */
16171636
1618typedef enum {1637typedef enum {
1619 KSPROPERTY_AEC_NOISE_FILL_ENABLE = 0,1638 KSPROPERTY_AEC_NOISE_FILL_ENABLE = 0,
...@@ -1731,6 +1750,7 @@ DEFINE_GUIDSTRUCT("394EC7C0-62E9-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_WAVE...@@ -1731,6 +1750,7 @@ DEFINE_GUIDSTRUCT("394EC7C0-62E9-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_WAVE
1731DEFINE_GUIDSTRUCT("37407736-3620-11D1-85D3-0000F8754380",KSMUSIC_TECHNOLOGY_SWSYNTH);1750DEFINE_GUIDSTRUCT("37407736-3620-11D1-85D3-0000F8754380",KSMUSIC_TECHNOLOGY_SWSYNTH);
1732#define KSMUSIC_TECHNOLOGY_SWSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SWSYNTH)1751#define KSMUSIC_TECHNOLOGY_SWSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SWSYNTH)
17331752
1753#if NTDDI_VERSION < NTDDI_WS03
1734#define STATIC_KSPROPSETID_WaveTable \1754#define STATIC_KSPROPSETID_WaveTable \
1735 0x8539E660,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x001755 0x8539E660,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
1736DEFINE_GUIDSTRUCT("8539E660-62E9-11CF-A5D6-28DB04C10000",KSPROPSETID_WaveTable);1756DEFINE_GUIDSTRUCT("8539E660-62E9-11CF-A5D6-28DB04C10000",KSPROPSETID_WaveTable);
...@@ -1742,6 +1762,7 @@ typedef enum {...@@ -1742,6 +1762,7 @@ typedef enum {
1742 KSPROPERTY_WAVETABLE_MEMORY,1762 KSPROPERTY_WAVETABLE_MEMORY,
1743 KSPROPERTY_WAVETABLE_VERSION1763 KSPROPERTY_WAVETABLE_VERSION
1744} KSPROPERTY_WAVETABLE;1764} KSPROPERTY_WAVETABLE;
1765#endif /* NTDDI_VERSION < NTDDI_WS03 */
17451766
1746typedef struct {1767typedef struct {
1747 KSDATARANGE DataRange;1768 KSDATARANGE DataRange;
...@@ -1751,6 +1772,7 @@ typedef struct {...@@ -1751,6 +1772,7 @@ typedef struct {
1751 ULONG ChannelMask;1772 ULONG ChannelMask;
1752} KSDATARANGE_MUSIC,*PKSDATARANGE_MUSIC;1773} KSDATARANGE_MUSIC,*PKSDATARANGE_MUSIC;
17531774
1775#if NTDDI_VERSION < NTDDI_WS03
1754#define STATIC_KSEVENTSETID_Cyclic \1776#define STATIC_KSEVENTSETID_Cyclic \
1755 0x142C1AC0,0x072A,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x001777 0x142C1AC0,0x072A,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
1756DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);1778DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);
...@@ -1759,6 +1781,7 @@ DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);...@@ -1759,6 +1781,7 @@ DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);
1759typedef enum {1781typedef enum {
1760 KSEVENT_CYCLIC_TIME_INTERVAL1782 KSEVENT_CYCLIC_TIME_INTERVAL
1761} KSEVENT_CYCLIC_TIME;1783} KSEVENT_CYCLIC_TIME;
1784#endif /* NTDDI_VERSION < NTDDI_WS03 */
17621785
1763#define STATIC_KSPROPSETID_Cyclic \1786#define STATIC_KSPROPSETID_Cyclic \
1764 0x3FFEAEA0,0x2BEE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x001787 0x3FFEAEA0,0x2BEE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
...@@ -1792,6 +1815,7 @@ typedef struct {...@@ -1792,6 +1815,7 @@ typedef struct {
1792 DWORDLONG Position;1815 DWORDLONG Position;
1793} LOOPEDSTREAMING_POSITION_EVENT_DATA,*PLOOPEDSTREAMING_POSITION_EVENT_DATA;1816} LOOPEDSTREAMING_POSITION_EVENT_DATA,*PLOOPEDSTREAMING_POSITION_EVENT_DATA;
17941817
1818#if NTDDI_VERSION < NTDDI_VISTA
1795#define STATIC_KSPROPSETID_Sysaudio \1819#define STATIC_KSPROPSETID_Sysaudio \
1796 0xCBE3FAA0,0xCC75,0x11D0,0xB4,0x65,0x00,0x00,0x1A,0x18,0x18,0xE61820 0xCBE3FAA0,0xCC75,0x11D0,0xB4,0x65,0x00,0x00,0x1A,0x18,0x18,0xE6
1797DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6",KSPROPSETID_Sysaudio);1821DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6",KSPROPSETID_Sysaudio);
...@@ -1845,6 +1869,7 @@ typedef struct {...@@ -1845,6 +1869,7 @@ typedef struct {
1845 ULONG MixerPinId;1869 ULONG MixerPinId;
1846 ULONG Reserved;1870 ULONG Reserved;
1847} SYSAUDIO_ATTACH_VIRTUAL_SOURCE,*PSYSAUDIO_ATTACH_VIRTUAL_SOURCE;1871} SYSAUDIO_ATTACH_VIRTUAL_SOURCE,*PSYSAUDIO_ATTACH_VIRTUAL_SOURCE;
1872#endif /* NTDDI_VERSION < NTDDI_VISTA */
18481873
1849typedef struct {1874typedef struct {
1850 KSPROPERTY Property;1875 KSPROPERTY Property;
...@@ -1882,16 +1907,19 @@ typedef struct {...@@ -1882,16 +1907,19 @@ typedef struct {
1882#endif1907#endif
1883} KSNODEPROPERTY_AUDIO_PROPERTY,*PKSNODEPROPERTY_AUDIO_PROPERTY;1908} KSNODEPROPERTY_AUDIO_PROPERTY,*PKSNODEPROPERTY_AUDIO_PROPERTY;
18841909
1910#if NTDDI_VERSION < NTDDI_VISTA
1885#define STATIC_KSPROPSETID_AudioGfx \1911#define STATIC_KSPROPSETID_AudioGfx \
1886 0x79a9312e,0x59ae,0x43b0,0xa3,0x50,0x8b,0x5,0x28,0x4c,0xab,0x241912 0x79a9312e,0x59ae,0x43b0,0xa3,0x50,0x8b,0x5,0x28,0x4c,0xab,0x24
1887DEFINE_GUIDSTRUCT("79A9312E-59AE-43b0-A350-8B05284CAB24",KSPROPSETID_AudioGfx);1913DEFINE_GUIDSTRUCT("79A9312E-59AE-43b0-A350-8B05284CAB24",KSPROPSETID_AudioGfx);
1888#define KSPROPSETID_AudioGfx DEFINE_GUIDNAMED(KSPROPSETID_AudioGfx)1914#define KSPROPSETID_AudioGfx DEFINE_GUIDNAMED(KSPROPSETID_AudioGfx)
1915#endif /* NTDDI_VERSION < NTDDI_VISTA */
18891916
1890typedef enum {1917typedef enum {
1891 KSPROPERTY_AUDIOGFX_RENDERTARGETDEVICEID,1918 KSPROPERTY_AUDIOGFX_RENDERTARGETDEVICEID,
1892 KSPROPERTY_AUDIOGFX_CAPTURETARGETDEVICEID1919 KSPROPERTY_AUDIOGFX_CAPTURETARGETDEVICEID
1893} KSPROPERTY_AUDIOGFX;1920} KSPROPERTY_AUDIOGFX;
18941921
1922#if NTDDI_VERSION < NTDDI_WS03
1895#define STATIC_KSPROPSETID_Linear \1923#define STATIC_KSPROPSETID_Linear \
1896 0x5A2FFE80,0x16B9,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x001924 0x5A2FFE80,0x16B9,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
1897DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);1925DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);
...@@ -1900,6 +1928,7 @@ DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);...@@ -1900,6 +1928,7 @@ DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);
1900typedef enum {1928typedef enum {
1901 KSPROPERTY_LINEAR_POSITION1929 KSPROPERTY_LINEAR_POSITION
1902} KSPROPERTY_LINEAR;1930} KSPROPERTY_LINEAR;
1931#endif /* NTDDI_VERSION < NTDDI_WS03 */
19031932
1904#define STATIC_KSDATAFORMAT_TYPE_MUSIC \1933#define STATIC_KSDATAFORMAT_TYPE_MUSIC \
1905 0xE725D360,0x62CC,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x001934 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" {...@@ -103,6 +103,12 @@ extern "C" {
103 _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale);103 _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale);
104#endif104#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
106#ifdef __cplusplus112#ifdef __cplusplus
107}113}
108#endif114#endif
lib/libc/include/any-windows-any/locationapi.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mediaobj.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/medparam.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mfapi.h+63-1
...@@ -334,7 +334,12 @@ extern "C" {...@@ -334,7 +334,12 @@ extern "C" {
334#define D3DFMT_X8R8G8B8 22334#define D3DFMT_X8R8G8B8 22
335#define D3DFMT_R5G6B5 23335#define D3DFMT_R5G6B5 23
336#define D3DFMT_X1R5G5B5 24336#define D3DFMT_X1R5G5B5 24
337#define D3DFMT_A2B10G10R10 31
337#define D3DFMT_P8 41338#define D3DFMT_P8 41
339#define D3DFMT_L8 50
340#define D3DFMT_D16 80
341#define D3DFMT_L16 81
342#define D3DFMT_A16B16G16R16F 113
338#define LOCAL_D3DFMT_DEFINES 1343#define LOCAL_D3DFMT_DEFINES 1
339#endif344#endif
340345
...@@ -345,6 +350,9 @@ extern "C" {...@@ -345,6 +350,9 @@ extern "C" {
345 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB555, D3DFMT_X1R5G5B5);350 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB555, D3DFMT_X1R5G5B5);
346 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB565, D3DFMT_R5G6B5);351 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB565, D3DFMT_R5G6B5);
347 DEFINE_MEDIATYPE_GUID (MFVideoFormat_RGB8, D3DFMT_P8);352 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
349#ifdef __GNUC__357#ifdef __GNUC__
350#pragma GCC diagnostic push358#pragma GCC diagnostic push
...@@ -359,6 +367,7 @@ extern "C" {...@@ -359,6 +367,7 @@ extern "C" {
359 DEFINE_MEDIATYPE_GUID (MFVideoFormat_UYVY, FCC ('UYVY'));367 DEFINE_MEDIATYPE_GUID (MFVideoFormat_UYVY, FCC ('UYVY'));
360 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV11, FCC ('NV11'));368 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV11, FCC ('NV11'));
361 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV12, FCC ('NV12'));369 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV12, FCC ('NV12'));
370 DEFINE_MEDIATYPE_GUID (MFVideoFormat_NV21, FCC ('NV21'));
362 DEFINE_MEDIATYPE_GUID (MFVideoFormat_YV12, FCC ('YV12'));371 DEFINE_MEDIATYPE_GUID (MFVideoFormat_YV12, FCC ('YV12'));
363 DEFINE_MEDIATYPE_GUID (MFVideoFormat_I420, FCC ('I420'));372 DEFINE_MEDIATYPE_GUID (MFVideoFormat_I420, FCC ('I420'));
364 DEFINE_MEDIATYPE_GUID (MFVideoFormat_IYUV, FCC ('IYUV'));373 DEFINE_MEDIATYPE_GUID (MFVideoFormat_IYUV, FCC ('IYUV'));
...@@ -402,9 +411,21 @@ extern "C" {...@@ -402,9 +411,21 @@ extern "C" {
402 DEFINE_MEDIATYPE_GUID (MFVideoFormat_HEVC_ES, FCC('HEVS'));411 DEFINE_MEDIATYPE_GUID (MFVideoFormat_HEVC_ES, FCC('HEVS'));
403 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP80, FCC ('VP80'));412 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP80, FCC ('VP80'));
404 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP90, FCC ('VP90'));413 DEFINE_MEDIATYPE_GUID (MFVideoFormat_VP90, FCC ('VP90'));
405#if WINVER >= 0x0602414 DEFINE_MEDIATYPE_GUID (MFVideoFormat_ORAW, FCC('ORAW'));
415#if WINVER >= _WIN32_WINNT_WIN8
406 DEFINE_MEDIATYPE_GUID (MFVideoFormat_H263, FCC ('H263'));416 DEFINE_MEDIATYPE_GUID (MFVideoFormat_H263, FCC ('H263'));
407#endif417#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
409#ifdef __GNUC__430#ifdef __GNUC__
410#pragma GCC diagnostic pop431#pragma GCC diagnostic pop
...@@ -417,6 +438,11 @@ extern "C" {...@@ -417,6 +438,11 @@ extern "C" {
417#undef D3DFMT_R5G6B5438#undef D3DFMT_R5G6B5
418#undef D3DFMT_X1R5G5B5439#undef D3DFMT_X1R5G5B5
419#undef D3DFMT_P8440#undef D3DFMT_P8
441#undef D3DFMT_A2B10G10R10
442#undef D3DFMT_A16B16G16R16F
443#undef D3DFMT_L8
444#undef D3DFMT_D16
445#undef D3DFMT_L16
420#undef LOCAL_D3DFMT_DEFINES446#undef LOCAL_D3DFMT_DEFINES
421#endif447#endif
422448
...@@ -486,8 +512,44 @@ extern "C" {...@@ -486,8 +512,44 @@ extern "C" {
486 DEFINE_MEDIATYPE_GUID (MFAudioFormat_MPEG, WAVE_FORMAT_MPEG);512 DEFINE_MEDIATYPE_GUID (MFAudioFormat_MPEG, WAVE_FORMAT_MPEG);
487 DEFINE_MEDIATYPE_GUID (MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC);513 DEFINE_MEDIATYPE_GUID (MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC);
488 DEFINE_MEDIATYPE_GUID (MFAudioFormat_ADTS, WAVE_FORMAT_MPEG_ADTS_AAC);514 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
489 DEFINE_GUID (MFAudioFormat_Dolby_AC3, 0xe06d802c, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x05f, 0x6c, 0xbb, 0xea);525 DEFINE_GUID (MFAudioFormat_Dolby_AC3, 0xe06d802c, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x05f, 0x6c, 0xbb, 0xea);
490 DEFINE_GUID (MFAudioFormat_Dolby_DDPlus, 0xa7fb87af, 0x2d02, 0x42fb, 0xa4, 0xd4, 0x5, 0xcd, 0x93, 0x84, 0x3b, 0xdd);526 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
491 DEFINE_GUID (MFMPEG4Format_Base, 0x00000000, 0x767a, 0x494d, 0xb4, 0x78, 0xf2, 0x9d, 0x25, 0xdc, 0x90, 0x37);553 DEFINE_GUID (MFMPEG4Format_Base, 0x00000000, 0x767a, 0x494d, 0xb4, 0x78, 0xf2, 0x9d, 0x25, 0xdc, 0x90, 0x37);
492 DEFINE_GUID (MF_MT_MAJOR_TYPE, 0x48eba18e, 0xf8c9, 0x4687, 0xbf, 0x11, 0x0a, 0x74, 0xc9, 0xf9, 0x6a, 0x8f);554 DEFINE_GUID (MF_MT_MAJOR_TYPE, 0x48eba18e, 0xf8c9, 0x4687, 0xbf, 0x11, 0x0a, 0x74, 0xc9, 0xf9, 0x6a, 0x8f);
493 DEFINE_GUID (MF_MT_SUBTYPE, 0xf7e34c9a, 0x42e8, 0x4714, 0xb7, 0x4b, 0xcb, 0x29, 0xd7, 0x2c, 0x35, 0xe5);555 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -90,6 +90,14 @@ interface IMFMediaSource;...@@ -90,6 +90,14 @@ interface IMFMediaSource;
90#endif /* __cplusplus */90#endif /* __cplusplus */
91#endif91#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
93#ifndef __IMFByteStreamBuffering_FWD_DEFINED__101#ifndef __IMFByteStreamBuffering_FWD_DEFINED__
94#define __IMFByteStreamBuffering_FWD_DEFINED__102#define __IMFByteStreamBuffering_FWD_DEFINED__
95typedef interface IMFByteStreamBuffering IMFByteStreamBuffering;103typedef interface IMFByteStreamBuffering IMFByteStreamBuffering;
...@@ -202,6 +210,22 @@ interface IMFSampleGrabberSinkCallback;...@@ -202,6 +210,22 @@ interface IMFSampleGrabberSinkCallback;
202#endif /* __cplusplus */210#endif /* __cplusplus */
203#endif211#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
205#ifndef __IMFSourceResolver_FWD_DEFINED__229#ifndef __IMFSourceResolver_FWD_DEFINED__
206#define __IMFSourceResolver_FWD_DEFINED__230#define __IMFSourceResolver_FWD_DEFINED__
207typedef interface IMFSourceResolver IMFSourceResolver;231typedef interface IMFSourceResolver IMFSourceResolver;
...@@ -218,6 +242,14 @@ interface IMFStreamSink;...@@ -218,6 +242,14 @@ interface IMFStreamSink;
218#endif /* __cplusplus */242#endif /* __cplusplus */
219#endif243#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
221#ifndef __IMFTopoLoader_FWD_DEFINED__253#ifndef __IMFTopoLoader_FWD_DEFINED__
222#define __IMFTopoLoader_FWD_DEFINED__254#define __IMFTopoLoader_FWD_DEFINED__
223typedef interface IMFTopoLoader IMFTopoLoader;255typedef interface IMFTopoLoader IMFTopoLoader;
...@@ -226,6 +258,78 @@ interface IMFTopoLoader;...@@ -226,6 +258,78 @@ interface IMFTopoLoader;
226#endif /* __cplusplus */258#endif /* __cplusplus */
227#endif259#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
229/* Headers for imported files */333/* Headers for imported files */
230334
231#include <mfobjects.h>335#include <mfobjects.h>
...@@ -242,10 +346,11 @@ typedef enum MFSESSION_SETTOPOLOGY_FLAGS {...@@ -242,10 +346,11 @@ typedef enum MFSESSION_SETTOPOLOGY_FLAGS {
242 MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4346 MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4
243} MFSESSION_SETTOPOLOGY_FLAGS;347} MFSESSION_SETTOPOLOGY_FLAGS;
244typedef enum MFSESSION_GETFULLTOPOLOGY_FLAGS {348typedef enum MFSESSION_GETFULLTOPOLOGY_FLAGS {
245 MFSESSION_GETFULLTOPOLOGY_CURRENT = 0349 MFSESSION_GETFULLTOPOLOGY_CURRENT = 0x1
246} MFSESSION_GETFULLTOPOLOGY_FLAGS;350} MFSESSION_GETFULLTOPOLOGY_FLAGS;
247typedef enum MFPMPSESSION_CREATION_FLAGS {351typedef enum MFPMPSESSION_CREATION_FLAGS {
248 MFPMPSESSION_UNPROTECTED_PROCESS = 0x1352 MFPMPSESSION_UNPROTECTED_PROCESS = 0x1,
353 MFPMPSESSION_IN_PROCESS = 0x2
249} MFPMPSESSION_CREATION_FLAGS;354} MFPMPSESSION_CREATION_FLAGS;
250typedef UINT64 TOPOID;355typedef UINT64 TOPOID;
251typedef enum MF_TOPOLOGY_TYPE {356typedef enum MF_TOPOLOGY_TYPE {
...@@ -2852,6 +2957,201 @@ HRESULT __RPC_STUB IMFMediaSource_CreatePresentationDescriptor_Stub(...@@ -2852,6 +2957,201 @@ HRESULT __RPC_STUB IMFMediaSource_CreatePresentationDescriptor_Stub(
28522957
2853#endif /* __IMFMediaSource_INTERFACE_DEFINED__ */2958#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) */
2855typedef struct _MF_LEAKY_BUCKET_PAIR {3155typedef struct _MF_LEAKY_BUCKET_PAIR {
2856 DWORD dwBitrate;3156 DWORD dwBitrate;
2857 DWORD msBufferWindow;3157 DWORD msBufferWindow;
...@@ -3141,6 +3441,21 @@ typedef enum _MF_TRANSCODE_TOPOLOGY_MODE_FLAGS {...@@ -3141,6 +3441,21 @@ typedef enum _MF_TRANSCODE_TOPOLOGY_MODE_FLAGS {
3141 MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 13441 MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1
3142} MF_TRANSCODE_TOPOLOGYMODE_FLAGS;3442} MF_TRANSCODE_TOPOLOGYMODE_FLAGS;
3143#endif3443#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);
3144typedef enum __WIDL_mfidl_generated_name_0000002E {3459typedef enum __WIDL_mfidl_generated_name_0000002E {
3145 MF_LICENSE_URL_UNTRUSTED = 0,3460 MF_LICENSE_URL_UNTRUSTED = 0,
3146 MF_LICENSE_URL_TRUSTED = 1,3461 MF_LICENSE_URL_TRUSTED = 1,
...@@ -5055,116 +5370,313 @@ static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnShutdown(IMFSampleGrab...@@ -5055,116 +5370,313 @@ static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnShutdown(IMFSampleGrab
5055#endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */5370#endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */
50565371
5057/*****************************************************************************5372/*****************************************************************************
5058 * IMFSourceResolver interface5373 * IMFShutdown interface
5059 */5374 */
5060#ifndef __IMFSourceResolver_INTERFACE_DEFINED__5375#ifndef __IMFShutdown_INTERFACE_DEFINED__
5061#define __IMFSourceResolver_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);
5064#if defined(__cplusplus) && !defined(CINTERFACE)5379#if defined(__cplusplus) && !defined(CINTERFACE)
5065MIDL_INTERFACE("fbe5a32d-a497-4b61-bb85-97b1a848a6e3")5380MIDL_INTERFACE("97ec2ea4-0e42-4937-97ac-9d6d328824e1")
5066IMFSourceResolver : public IUnknown5381IMFShutdown : public IUnknown
5067{5382{
5068 virtual HRESULT STDMETHODCALLTYPE CreateObjectFromURL(5383 virtual HRESULT STDMETHODCALLTYPE Shutdown(
5069 LPCWSTR pwszURL,5384 ) = 0;
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;
51095385
5110 virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(5386 virtual HRESULT STDMETHODCALLTYPE GetShutdownStatus(
5111 IUnknown *pIUnknownCancelCookie) = 0;5387 MFSHUTDOWN_STATUS *pStatus) = 0;
51125388
5113};5389};
5114#ifdef __CRT_UUID_DECL5390#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)
5116#endif5392#endif
5117#else5393#else
5118typedef struct IMFSourceResolverVtbl {5394typedef struct IMFShutdownVtbl {
5119 BEGIN_INTERFACE5395 BEGIN_INTERFACE
51205396
5121 /*** IUnknown methods ***/5397 /*** IUnknown methods ***/
5122 HRESULT (STDMETHODCALLTYPE *QueryInterface)(5398 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5123 IMFSourceResolver *This,5399 IMFShutdown *This,
5124 REFIID riid,5400 REFIID riid,
5125 void **ppvObject);5401 void **ppvObject);
51265402
5127 ULONG (STDMETHODCALLTYPE *AddRef)(5403 ULONG (STDMETHODCALLTYPE *AddRef)(
5128 IMFSourceResolver *This);5404 IMFShutdown *This);
51295405
5130 ULONG (STDMETHODCALLTYPE *Release)(5406 ULONG (STDMETHODCALLTYPE *Release)(
5131 IMFSourceResolver *This);5407 IMFShutdown *This);
51325408
5133 /*** IMFSourceResolver methods ***/5409 /*** IMFShutdown methods ***/
5134 HRESULT (STDMETHODCALLTYPE *CreateObjectFromURL)(5410 HRESULT (STDMETHODCALLTYPE *Shutdown)(
5135 IMFSourceResolver *This,5411 IMFShutdown *This);
5136 LPCWSTR pwszURL,
5137 DWORD dwFlags,
5138 IPropertyStore *pProps,
5139 MF_OBJECT_TYPE *pObjectType,
5140 IUnknown **ppObject);
51415412
5142 HRESULT (STDMETHODCALLTYPE *CreateObjectFromByteStream)(5413 HRESULT (STDMETHODCALLTYPE *GetShutdownStatus)(
5143 IMFSourceResolver *This,5414 IMFShutdown *This,
5144 IMFByteStream *pByteStream,5415 MFSHUTDOWN_STATUS *pStatus);
5145 LPCWSTR pwszURL,
5146 DWORD dwFlags,
5147 IPropertyStore *pProps,
5148 MF_OBJECT_TYPE *pObjectType,
5149 IUnknown **ppObject);
51505416
5151 HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromURL)(5417 END_INTERFACE
5152 IMFSourceResolver *This,5418} IMFShutdownVtbl;
5153 LPCWSTR pwszURL,
5154 DWORD dwFlags,
5155 IPropertyStore *pProps,
5156 IUnknown **ppIUnknownCancelCookie,
5157 IMFAsyncCallback *pCallback,
5158 IUnknown *punkState);
51595419
5160 HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromURL)(5420interface IMFShutdown {
5161 IMFSourceResolver *This,5421 CONST_VTBL IMFShutdownVtbl* lpVtbl;
5162 IMFAsyncResult *pResult,5422};
5163 MF_OBJECT_TYPE *pObjectType,
5164 IUnknown **ppObject);
51655423
5166 HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromByteStream)(5424#ifdef COBJMACROS
5167 IMFSourceResolver *This,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,
5168 IMFByteStream *pByteStream,5680 IMFByteStream *pByteStream,
5169 LPCWSTR pwszURL,5681 LPCWSTR pwszURL,
5170 DWORD dwFlags,5682 DWORD dwFlags,
...@@ -5514,6 +6026,102 @@ static FORCEINLINE HRESULT IMFStreamSink_Flush(IMFStreamSink* This) {...@@ -5514,6 +6026,102 @@ static FORCEINLINE HRESULT IMFStreamSink_Flush(IMFStreamSink* This) {
55146026
5515#endif /* __IMFStreamSink_INTERFACE_DEFINED__ */6027#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
5517/*****************************************************************************6125/*****************************************************************************
5518 * IMFTopoLoader interface6126 * IMFTopoLoader interface
5519 */6127 */
...@@ -5595,8 +6203,1079 @@ static FORCEINLINE HRESULT IMFTopoLoader_Load(IMFTopoLoader* This,IMFTopology *p...@@ -5595,8 +6203,1079 @@ static FORCEINLINE HRESULT IMFTopoLoader_Load(IMFTopoLoader* This,IMFTopology *p
55956203
5596#endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */6204#endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */
55976205
5598HRESULT MFCreate3GPMediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);6206/*****************************************************************************
5599HRESULT MFCreateAggregateSource(IMFCollection *pSourceCollection,IMFMediaSource **ppAggSource);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
5601HRESULT WINAPI MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,DWORD fAlignmentFlags,IMFMediaBuffer **ppBuffer);7280HRESULT WINAPI MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,DWORD fAlignmentFlags,IMFMediaBuffer **ppBuffer);
5602HRESULT WINAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo);7281HRESULT WINAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo);
...@@ -5610,6 +7289,7 @@ HRESULT WINAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescr...@@ -5610,6 +7289,7 @@ HRESULT WINAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescr
5610HRESULT WINAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter);7289HRESULT WINAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter);
5611HRESULT WINAPI MFCreateAudioRenderer(IMFAttributes *pAudioAttributes, IMFMediaSink **ppSink);7290HRESULT WINAPI MFCreateAudioRenderer(IMFAttributes *pAudioAttributes, IMFMediaSink **ppSink);
5612HRESULT WINAPI MFCreateAudioRendererActivate(IMFActivate **ppActivate);7291HRESULT WINAPI MFCreateAudioRendererActivate(IMFActivate **ppActivate);
7292HRESULT WINAPI MFCreateDeviceSource(IMFAttributes *pAttributes,IMFMediaSource **ppSource);
5613HRESULT WINAPI MFCreateMediaSession(IMFAttributes *pConfiguration,IMFMediaSession **ppMS);7293HRESULT WINAPI MFCreateMediaSession(IMFAttributes *pConfiguration,IMFMediaSession **ppMS);
5614HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *pTargetByteStream,IMFMediaSink **ppMediaSink);7294HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *pTargetByteStream,IMFMediaSink **ppMediaSink);
5615HRESULT WINAPI MFCreateMPEG4MediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);7295HRESULT 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...@@ -5666,6 +7346,7 @@ EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d0
5666EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471, 0x92ec, 0x4df4, 0x94, 0xfe, 0x81, 0xc3, 0x6f, 0xc, 0x3a, 0x7a);7346EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471, 0x92ec, 0x4df4, 0x94, 0xfe, 0x81, 0xc3, 0x6f, 0xc, 0x3a, 0x7a);
5667EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559,0x52f8,0x4fa2,0xbb,0xce,0xac,0xdb,0x34,0xa8,0xec,0x1);7347EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559,0x52f8,0x4fa2,0xbb,0xce,0xac,0xdb,0x34,0xa8,0xec,0x1);
5668EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 0x56a819ca,0xc78,0x4de4,0xa0,0xa7,0x3d,0xda,0xba,0xf,0x24,0xd4);7348EXTERN_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);
5669EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 0x30da9258,0xfeb9,0x47a7,0xa4,0x53,0x76,0x3a,0x7a,0x8e,0x1c,0x5f);7350EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 0x30da9258,0xfeb9,0x47a7,0xa4,0x53,0x76,0x3a,0x7a,0x8e,0x1c,0x5f);
5670EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 0xbc9d118e,0x8c67,0x4a18,0x85,0xd4,0x12,0xd3,0x0,0x40,0x5,0x52);7351EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 0xbc9d118e,0x8c67,0x4a18,0x85,0xd4,0x12,0xd3,0x0,0x40,0x5,0x52);
5671EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69,0xc3bd,0x4509,0x94,0x1d,0x46,0x7e,0x4d,0x24,0x89,0x9e);7352EXTERN_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...@@ -5674,10 +7355,20 @@ EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 0x7dd9b730,0x
5674EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f);7355EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f);
5675EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3);7356EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3);
5676EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a,0x4ae7,0x42d8,0x99,0xe0,0x0a,0x60,0x13,0xee,0xf9,0x0f);7357EXTERN_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);
5677EXTERN_GUID(MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd);7364EXTERN_GUID(MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd);
5678EXTERN_GUID(MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5);7365EXTERN_GUID(MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5);
5679EXTERN_GUID(MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9);7366EXTERN_GUID(MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9);
5680EXTERN_GUID(MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 0x4e2e, 0xab, 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d);7367EXTERN_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);
5681EXTERN_GUID(MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);7372EXTERN_GUID(MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
5682EXTERN_GUID(MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);7373EXTERN_GUID(MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
5683EXTERN_GUID(MF_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);7374EXTERN_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,...@@ -5708,6 +7399,15 @@ EXTERN_GUID(MF_TOPONODE_NOSHUTDOWN_ON_REMOVE, 0x14932f9c, 0x9087, 0x4bb4, 0x84,
5708EXTERN_GUID(MF_TOPONODE_RATELESS, 0x14932f9d, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);7399EXTERN_GUID(MF_TOPONODE_RATELESS, 0x14932f9d, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
5709EXTERN_GUID(MF_TOPONODE_DISABLE_PREROLL, 0x14932f9e, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);7400EXTERN_GUID(MF_TOPONODE_DISABLE_PREROLL, 0x14932f9e, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
5710EXTERN_GUID(MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59);7401EXTERN_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);
5711EXTERN_GUID(MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4);7411EXTERN_GUID(MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4);
5712/* Begin additional prototypes for all interfaces */7412/* 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mfplay.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mfreadwrite.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mftransform.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mmdeviceapi.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mmreg.h+6
...@@ -2008,6 +2008,7 @@ extern "C" {...@@ -2008,6 +2008,7 @@ extern "C" {
2008#define WAVE_FORMAT_LEAD_SPEECH 0x434c2008#define WAVE_FORMAT_LEAD_SPEECH 0x434c
2009#define WAVE_FORMAT_LEAD_VORBIS 0x564c2009#define WAVE_FORMAT_LEAD_VORBIS 0x564c
2010#define WAVE_FORMAT_WAVPACK_AUDIO 0x57562010#define WAVE_FORMAT_WAVPACK_AUDIO 0x5756
2011#define WAVE_FORMAT_ALAC 0x6c61
2011#define WAVE_FORMAT_OGG_VORBIS_MODE_1 0x674f2012#define WAVE_FORMAT_OGG_VORBIS_MODE_1 0x674f
2012#define WAVE_FORMAT_OGG_VORBIS_MODE_2 0x67502013#define WAVE_FORMAT_OGG_VORBIS_MODE_2 0x6750
2013#define WAVE_FORMAT_OGG_VORBIS_MODE_3 0x67512014#define WAVE_FORMAT_OGG_VORBIS_MODE_3 0x6751
...@@ -2015,7 +2016,11 @@ extern "C" {...@@ -2015,7 +2016,11 @@ extern "C" {
2015#define WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS 0x67702016#define WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS 0x6770
2016#define WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS 0x67712017#define WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS 0x6771
2017#define WAVE_FORMAT_3COM_NBX 0x70002018#define WAVE_FORMAT_3COM_NBX 0x7000
2019#define WAVE_FORMAT_OPUS 0x704f
2018#define WAVE_FORMAT_FAAD_AAC 0x706d2020#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
2019#define WAVE_FORMAT_GSM_AMR_CBR 0x7a212024#define WAVE_FORMAT_GSM_AMR_CBR 0x7a21
2020#define WAVE_FORMAT_GSM_AMR_VBR_SID 0x7a222025#define WAVE_FORMAT_GSM_AMR_VBR_SID 0x7a22
2021#define WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 0xa1002026#define WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 0xa100
...@@ -2055,6 +2060,7 @@ extern "C" {...@@ -2055,6 +2060,7 @@ extern "C" {
2055#define WAVE_FORMAT_NICE_G728 0xa1222060#define WAVE_FORMAT_NICE_G728 0xa122
2056#define WAVE_FORMAT_FRACE_TELECOM_G729 0xa1232061#define WAVE_FORMAT_FRACE_TELECOM_G729 0xa123
2057#define WAVE_FORMAT_CODIAN 0xa1242062#define WAVE_FORMAT_CODIAN 0xa124
2063#define WAVE_FORMAT_DOLBY_AC4 0xac40
2058#define WAVE_FORMAT_FLAC 0xf1ac2064#define WAVE_FORMAT_FLAC 0xf1ac
20592065
2060#if !defined (WAVE_FORMAT_EXTENSIBLE)2066#if !defined (WAVE_FORMAT_EXTENSIBLE)
lib/libc/include/any-windows-any/mmstream.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mmsystem.h+1
...@@ -302,6 +302,7 @@ extern "C" {...@@ -302,6 +302,7 @@ extern "C" {
302#define WAVE_MAPPED 0x0004302#define WAVE_MAPPED 0x0004
303#define WAVE_FORMAT_DIRECT 0x0008303#define WAVE_FORMAT_DIRECT 0x0008
304#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT)304#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT)
305#define WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE 0x0010
305306
306 typedef struct wavehdr_tag {307 typedef struct wavehdr_tag {
307 LPSTR lpData;308 LPSTR lpData;
lib/libc/include/any-windows-any/mscoree.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/msctf.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mshtmhst.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mshtml.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/msinkaut.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/msinkaut_i.c+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#include <rpc.h>3#include <rpc.h>
4#include <rpcndr.h>4#include <rpcndr.h>
lib/libc/include/any-windows-any/msopc.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/mstcpip.h+237-4
...@@ -15,12 +15,68 @@...@@ -15,12 +15,68 @@
15#define u_long __ms_u_long15#define u_long __ms_u_long
16#endif16#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
18struct tcp_keepalive {42struct tcp_keepalive {
19 u_long onoff;43 u_long onoff;
20 u_long keepalivetime;44 u_long keepalivetime;
21 u_long keepaliveinterval;45 u_long keepaliveinterval;
22};46};
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
24#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)80#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
25#define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2)81#define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2)
26#define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3)82#define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3)
...@@ -32,11 +88,188 @@ struct tcp_keepalive {...@@ -32,11 +88,188 @@ struct tcp_keepalive {
32#define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9)88#define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9)
33#define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10)89#define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10)
34#define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11)90#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 0270typedef struct {
37#define RCVALL_ON 1271 ULONG OwningPid;
38#define RCVALL_SOCKETLEVELONLY 2272} INET_PORT_RESERVATION_INFORMATION, *PINET_PORT_RESERVATION_INFORMATION;
39#define RCVALL_IPLEVEL 3
40273
41#if (_WIN32_WINNT >= 0x0502)274#if (_WIN32_WINNT >= 0x0502)
42typedef enum _SOCKET_SECURITY_PROTOCOL {275typedef enum _SOCKET_SECURITY_PROTOCOL {
lib/libc/include/any-windows-any/msxml.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napcertrelyingparty.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napcommon.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napenforcementclient.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napmanagement.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napprotocol.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napservermanagement.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napsystemhealthagent.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/napsystemhealthvalidator.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/naptypes.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netcfgn.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netcfgx.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netfw.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/netlistmgr.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ntdddisk.h+6
...@@ -366,6 +366,9 @@ typedef struct _PARTITION_INFORMATION_MBR {...@@ -366,6 +366,9 @@ typedef struct _PARTITION_INFORMATION_MBR {
366 BOOLEAN BootIndicator;366 BOOLEAN BootIndicator;
367 BOOLEAN RecognizedPartition;367 BOOLEAN RecognizedPartition;
368 ULONG HiddenSectors;368 ULONG HiddenSectors;
369#if NTDDI_VERSION > NTDDI_WINBLUE
370 GUID PartitionId;
371#endif
369} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;372} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
370373
371typedef struct _PARTITION_INFORMATION_EX {374typedef struct _PARTITION_INFORMATION_EX {
...@@ -374,6 +377,9 @@ typedef struct _PARTITION_INFORMATION_EX {...@@ -374,6 +377,9 @@ typedef struct _PARTITION_INFORMATION_EX {
374 LARGE_INTEGER PartitionLength;377 LARGE_INTEGER PartitionLength;
375 ULONG PartitionNumber;378 ULONG PartitionNumber;
376 BOOLEAN RewritePartition;379 BOOLEAN RewritePartition;
380#if NTDDI_VERSION >= NTDDI_WIN10_RS3
381 BOOLEAN IsServicePartition;
382#endif
377 _ANONYMOUS_UNION union {383 _ANONYMOUS_UNION union {
378 PARTITION_INFORMATION_MBR Mbr;384 PARTITION_INFORMATION_MBR Mbr;
379 PARTITION_INFORMATION_GPT Gpt;385 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 @@...@@ -3,6 +3,485 @@
3 * This file is part of the mingw-w64 runtime package.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.4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */5 */
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
6#ifndef _NTSECAPI_485#ifndef _NTSECAPI_
7#define _NTSECAPI_486#define _NTSECAPI_
8487
...@@ -414,9 +893,19 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -414,9 +893,19 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
414 typedef PVOID LSA_HANDLE,*PLSA_HANDLE;893 typedef PVOID LSA_HANDLE,*PLSA_HANDLE;
415894
416 typedef enum _TRUSTED_INFORMATION_CLASS {895 typedef enum _TRUSTED_INFORMATION_CLASS {
417 TrustedDomainNameInformation = 1,TrustedControllersInformation,TrustedPosixOffsetInformation,TrustedPasswordInformation,896 TrustedDomainNameInformation = 1,
418 TrustedDomainInformationBasic,TrustedDomainInformationEx,TrustedDomainAuthInformation,TrustedDomainFullInformation,897 TrustedControllersInformation,
419 TrustedDomainAuthInformationInternal,TrustedDomainFullInformationInternal,TrustedDomainInformationEx2Internal,TrustedDomainFullInformation2Internal898 TrustedPosixOffsetInformation,
899 TrustedPasswordInformation,
900 TrustedDomainInformationBasic,
901 TrustedDomainInformationEx,
902 TrustedDomainAuthInformation,
903 TrustedDomainFullInformation,
904 TrustedDomainAuthInformationInternal,
905 TrustedDomainFullInformationInternal,
906 TrustedDomainInformationEx2Internal,
907 TrustedDomainFullInformation2Internal,
908 TrustedDomainSupportedEncryptionTypes
420 } TRUSTED_INFORMATION_CLASS,*PTRUSTED_INFORMATION_CLASS;909 } TRUSTED_INFORMATION_CLASS,*PTRUSTED_INFORMATION_CLASS;
421910
422 typedef struct _TRUSTED_DOMAIN_NAME_INFO {911 typedef struct _TRUSTED_DOMAIN_NAME_INFO {
...@@ -456,7 +945,20 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -456,7 +945,20 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
456#define TRUST_ATTRIBUTE_CROSS_ORGANIZATION 0x00000010945#define TRUST_ATTRIBUTE_CROSS_ORGANIZATION 0x00000010
457#define TRUST_ATTRIBUTE_WITHIN_FOREST 0x00000020946#define TRUST_ATTRIBUTE_WITHIN_FOREST 0x00000020
458#define TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL 0x00000040947#define TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL 0x00000040
948
949#if _WIN32_WINNT >= 0x0600
459#define TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION 0x00000080950#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
461#define TRUST_ATTRIBUTES_VALID 0xFF03FFFF963#define TRUST_ATTRIBUTES_VALID 0xFF03FFFF
462#define TRUST_ATTRIBUTES_USER 0xFF000000964#define TRUST_ATTRIBUTES_USER 0xFF000000
...@@ -514,6 +1016,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -514,6 +1016,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
514 TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;1016 TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
515 } TRUSTED_DOMAIN_FULL_INFORMATION2,*PTRUSTED_DOMAIN_FULL_INFORMATION2;1017 } 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
517 typedef enum {1023 typedef enum {
518 ForestTrustTopLevelName,ForestTrustTopLevelNameEx,ForestTrustDomainInfo,ForestTrustRecordTypeLast = ForestTrustDomainInfo1024 ForestTrustTopLevelName,ForestTrustTopLevelNameEx,ForestTrustDomainInfo,ForestTrustRecordTypeLast = ForestTrustDomainInfo
519 } LSA_FOREST_TRUST_RECORD_TYPE;1025 } LSA_FOREST_TRUST_RECORD_TYPE;
...@@ -592,7 +1098,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -592,7 +1098,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
592 ULONG FailedAttemptCountSinceLastSuccessfulLogon;1098 ULONG FailedAttemptCountSinceLastSuccessfulLogon;
593 } LSA_LAST_INTER_LOGON_INFO,*PLSA_LAST_INTER_LOGON_INFO;1099 } LSA_LAST_INTER_LOGON_INFO,*PLSA_LAST_INTER_LOGON_INFO;
594 #endif1100 #endif
595 1101
596 typedef struct _SECURITY_LOGON_SESSION_DATA {1102 typedef struct _SECURITY_LOGON_SESSION_DATA {
597 ULONG Size;1103 ULONG Size;
598 LUID LogonId;1104 LUID LogonId;
...@@ -634,6 +1140,52 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -634,6 +1140,52 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
634 NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE PolicyHandle,ULONG Count,PLSA_UNICODE_STRING Names,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_SID *Sids);1140 NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE PolicyHandle,ULONG Count,PLSA_UNICODE_STRING Names,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_SID *Sids);
635 NTSTATUS NTAPI LsaLookupNames2(LSA_HANDLE PolicyHandle,ULONG Flags,ULONG Count,PLSA_UNICODE_STRING Names,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_SID2 *Sids);1141 NTSTATUS NTAPI LsaLookupNames2(LSA_HANDLE PolicyHandle,ULONG Flags,ULONG Count,PLSA_UNICODE_STRING Names,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_SID2 *Sids);
636 NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE PolicyHandle,ULONG Count,PSID *Sids,PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,PLSA_TRANSLATED_NAME *Names);1142 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
638#define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")1190#define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")
639#define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")1191#define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")
...@@ -674,7 +1226,11 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -674,7 +1226,11 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
674#endif1226#endif
6751227
676 enum NEGOTIATE_MESSAGES {1228 enum NEGOTIATE_MESSAGES {
677 NegEnumPackagePrefixes = 0,NegGetCallerName = 1,NegCallPackageMax1229 NegEnumPackagePrefixes = 0,
1230 NegGetCallerName = 1,
1231 NegTransferCredentials = 2,
1232 NegMsgReserved1 = 3,
1233 NegCallPackageMax
678 };1234 };
6791235
680#define NEGOTIATE_MAX_PREFIX 321236#define NEGOTIATE_MAX_PREFIX 32
...@@ -733,6 +1289,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -733,6 +1289,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
733#define DOMAIN_PASSWORD_STORE_CLEARTEXT __MSABI_LONG(0x00000010)1289#define DOMAIN_PASSWORD_STORE_CLEARTEXT __MSABI_LONG(0x00000010)
734#define DOMAIN_REFUSE_PASSWORD_CHANGE __MSABI_LONG(0x00000020)1290#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
736#ifndef _PASSWORD_NOTIFICATION_DEFINED1296#ifndef _PASSWORD_NOTIFICATION_DEFINED
737#define _PASSWORD_NOTIFICATION_DEFINED1297#define _PASSWORD_NOTIFICATION_DEFINED
738 typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING UserName,ULONG RelativeId,PUNICODE_STRING NewPassword);1298 typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING UserName,ULONG RelativeId,PUNICODE_STRING NewPassword);
...@@ -755,7 +1315,15 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -755,7 +1315,15 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
755#define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"1315#define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
7561316
757 typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {1317 typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {
758 MsV1_0InteractiveLogon = 2,MsV1_0Lm20Logon,MsV1_0NetworkLogon,MsV1_0SubAuthLogon,MsV1_0WorkstationUnlockLogon = 71318 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
759 } MSV1_0_LOGON_SUBMIT_TYPE,*PMSV1_0_LOGON_SUBMIT_TYPE;1327 } MSV1_0_LOGON_SUBMIT_TYPE,*PMSV1_0_LOGON_SUBMIT_TYPE;
7601328
761 typedef enum _MSV1_0_PROFILE_BUFFER_TYPE {1329 typedef enum _MSV1_0_PROFILE_BUFFER_TYPE {
...@@ -811,6 +1379,15 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -811,6 +1379,15 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
811#define MSV1_0_SUBAUTHENTICATION_DLL_EX 0x001000001379#define MSV1_0_SUBAUTHENTICATION_DLL_EX 0x00100000
812#define MSV1_0_ALLOW_MSVCHAPV2 0x000100001380#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
814#define MSV1_0_SUBAUTHENTICATION_DLL 0xFF0000001391#define MSV1_0_SUBAUTHENTICATION_DLL 0xFF000000
815#define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 241392#define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 24
816#define MSV1_0_MNS_LOGON 0x010000001393#define MSV1_0_MNS_LOGON 0x01000000
...@@ -841,6 +1418,19 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -841,6 +1418,19 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
841 ULONG SubAuthPackageId;1418 ULONG SubAuthPackageId;
842 } MSV1_0_SUBAUTH_LOGON,*PMSV1_0_SUBAUTH_LOGON;1419 } 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
844#define LOGON_GUEST 0x011434#define LOGON_GUEST 0x01
845#define LOGON_NOENCRYPTION 0x021435#define LOGON_NOENCRYPTION 0x02
846#define LOGON_CACHED_ACCOUNT 0x041436#define LOGON_CACHED_ACCOUNT 0x04
...@@ -851,6 +1441,21 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -851,6 +1441,21 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
851#define LOGON_NTLMV2_ENABLED 0x1001441#define LOGON_NTLMV2_ENABLED 0x100
852#define LOGON_RESOURCE_GROUPS 0x2001442#define LOGON_RESOURCE_GROUPS 0x200
853#define LOGON_PROFILE_PATH_RETURNED 0x4001443#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
855#define MSV1_0_SUBAUTHENTICATION_FLAGS 0xFF0000001460#define MSV1_0_SUBAUTHENTICATION_FLAGS 0xFF000000
8561461
...@@ -869,9 +1474,34 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -869,9 +1474,34 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
869 } MSV1_0_LM20_LOGON_PROFILE,*PMSV1_0_LM20_LOGON_PROFILE;1474 } MSV1_0_LM20_LOGON_PROFILE,*PMSV1_0_LM20_LOGON_PROFILE;
8701475
871#define MSV1_0_OWF_PASSWORD_LENGTH 161476#define MSV1_0_OWF_PASSWORD_LENGTH 16
1477#define MSV1_0_SHA_PASSWORD_LENGTH 20
1478#define MSV1_0_CREDENTIAL_KEY_LENGTH 20
872#define MSV1_0_CRED_LM_PRESENT 0x11479#define MSV1_0_CRED_LM_PRESENT 0x1
873#define MSV1_0_CRED_NT_PRESENT 0x21480#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
874#define MSV1_0_CRED_VERSION 01485#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
876 typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {1506 typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {
877 ULONG Version;1507 ULONG Version;
...@@ -880,6 +1510,40 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -880,6 +1510,40 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
880 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];1510 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
881 } MSV1_0_SUPPLEMENTAL_CREDENTIAL,*PMSV1_0_SUPPLEMENTAL_CREDENTIAL;1511 } 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
883#define MSV1_0_NTLM3_RESPONSE_LENGTH 161547#define MSV1_0_NTLM3_RESPONSE_LENGTH 16
884#define MSV1_0_NTLM3_OWF_LENGTH 161548#define MSV1_0_NTLM3_OWF_LENGTH 16
8851549
...@@ -888,6 +1552,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -888,6 +1552,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
8881552
889#define MSV1_0_AV_FLAG_FORCE_GUEST 0x000000011553#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
891 typedef struct _MSV1_0_NTLM3_RESPONSE {1563 typedef struct _MSV1_0_NTLM3_RESPONSE {
892 UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];1564 UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];
893 UCHAR RespType;1565 UCHAR RespType;
...@@ -903,6 +1575,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -903,6 +1575,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
903#define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE) - MSV1_0_NTLM3_RESPONSE_LENGTH)1575#define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE) - MSV1_0_NTLM3_RESPONSE_LENGTH)
904#define MSV1_0_NTLM3_MIN_NT_RESPONSE_LENGTH RTL_SIZEOF_THROUGH_FIELD(MSV1_0_NTLM3_RESPONSE,AvPairsOff)1576#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 */
906 typedef enum {1579 typedef enum {
907 MsvAvEOL,1580 MsvAvEOL,
908 MsvAvNbComputerName,1581 MsvAvNbComputerName,
...@@ -915,6 +1588,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -915,6 +1588,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
915#if _WIN32_WINNT >= 0x06001588#if _WIN32_WINNT >= 0x0600
916 ,MsvAvTimestamp1589 ,MsvAvTimestamp
917 ,MsvAvRestrictions1590 ,MsvAvRestrictions
1591 ,MsvAvSingleHost = MsvAvRestrictions
918 ,MsvAvTargetName1592 ,MsvAvTargetName
919 ,MsvAvChannelBindings1593 ,MsvAvChannelBindings
920#endif1594#endif
...@@ -924,13 +1598,44 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -924,13 +1598,44 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
924 typedef struct _MSV1_0_AV_PAIR {1598 typedef struct _MSV1_0_AV_PAIR {
925 USHORT AvId;1599 USHORT AvId;
926 USHORT AvLen;1600 USHORT AvLen;
927
928 } MSV1_0_AV_PAIR,*PMSV1_0_AV_PAIR;1601 } MSV1_0_AV_PAIR,*PMSV1_0_AV_PAIR;
9291602
930 typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {1603 typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
931 MsV1_0Lm20ChallengeRequest = 0,MsV1_0Lm20GetChallengeResponse,MsV1_0EnumerateUsers,MsV1_0GetUserInfo,MsV1_0ReLogonUsers,MsV1_0ChangePassword,1604 MsV1_0Lm20ChallengeRequest = 0,
932 MsV1_0ChangeCachedPassword,MsV1_0GenericPassthrough,MsV1_0CacheLogon,MsV1_0SubAuth,MsV1_0DeriveCredential,MsV1_0CacheLookup,1605 MsV1_0Lm20GetChallengeResponse,
933 MsV1_0SetProcessOption1606 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
934 } MSV1_0_PROTOCOL_MESSAGE_TYPE,*PMSV1_0_PROTOCOL_MESSAGE_TYPE;1639 } MSV1_0_PROTOCOL_MESSAGE_TYPE,*PMSV1_0_PROTOCOL_MESSAGE_TYPE;
9351640
936 typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {1641 typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {
...@@ -986,6 +1691,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -986,6 +1691,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
986#define RTL_ENCRYPT_MEMORY_SIZE 81691#define RTL_ENCRYPT_MEMORY_SIZE 8
987#define RTL_ENCRYPT_OPTION_CROSS_PROCESS 0x011692#define RTL_ENCRYPT_OPTION_CROSS_PROCESS 0x01
988#define RTL_ENCRYPT_OPTION_SAME_LOGON 0x021693#define RTL_ENCRYPT_OPTION_SAME_LOGON 0x02
1694#define RTL_ENCRYPT_OPTION_FOR_SYSTEM 0x04
9891695
990 NTSTATUS WINAPI RtlEncryptMemory(PVOID Memory,ULONG MemorySize,ULONG OptionFlags);1696 NTSTATUS WINAPI RtlEncryptMemory(PVOID Memory,ULONG MemorySize,ULONG OptionFlags);
991 NTSTATUS WINAPI RtlDecryptMemory(PVOID Memory,ULONG MemorySize,ULONG OptionFlags);1697 NTSTATUS WINAPI RtlDecryptMemory(PVOID Memory,ULONG MemorySize,ULONG OptionFlags);
...@@ -997,6 +1703,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -997,6 +1703,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
997#define KERB_ETYPE_DES_CBC_CRC 11703#define KERB_ETYPE_DES_CBC_CRC 1
998#define KERB_ETYPE_DES_CBC_MD4 21704#define KERB_ETYPE_DES_CBC_MD4 2
999#define KERB_ETYPE_DES_CBC_MD5 31705#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
1001#define KERB_ETYPE_RC4_MD4 -1281709#define KERB_ETYPE_RC4_MD4 -128
1002#define KERB_ETYPE_RC4_PLAIN2 -1291710#define KERB_ETYPE_RC4_PLAIN2 -129
...@@ -1009,6 +1717,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1009,6 +1717,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1009#define KERB_ETYPE_RC4_PLAIN_OLD_EXP -1361717#define KERB_ETYPE_RC4_PLAIN_OLD_EXP -136
1010#define KERB_ETYPE_RC4_PLAIN -1401718#define KERB_ETYPE_RC4_PLAIN -140
1011#define KERB_ETYPE_RC4_PLAIN_EXP -1411719#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
1013#define KERB_ETYPE_DSA_SHA1_CMS 91723#define KERB_ETYPE_DSA_SHA1_CMS 9
1014#define KERB_ETYPE_RSA_MD5_CMS 101724#define KERB_ETYPE_RSA_MD5_CMS 10
...@@ -1040,6 +1750,9 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1040,6 +1750,9 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1040#define KERB_CHECKSUM_KRB_DES_MAC_K 51750#define KERB_CHECKSUM_KRB_DES_MAC_K 5
1041#define KERB_CHECKSUM_MD5 71751#define KERB_CHECKSUM_MD5 7
1042#define KERB_CHECKSUM_MD5_DES 81752#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
1044#define KERB_CHECKSUM_LM -1301757#define KERB_CHECKSUM_LM -130
1045#define KERB_CHECKSUM_SHA1 -1311758#define KERB_CHECKSUM_SHA1 -131
...@@ -1050,6 +1763,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1050,6 +1763,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1050#define KERB_CHECKSUM_RC4_MD5 -1361763#define KERB_CHECKSUM_RC4_MD5 -136
1051#define KERB_CHECKSUM_MD5_HMAC -1371764#define KERB_CHECKSUM_MD5_HMAC -137
1052#define KERB_CHECKSUM_HMAC_MD5 -1381765#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
1054#define AUTH_REQ_ALLOW_FORWARDABLE 0x000000011769#define AUTH_REQ_ALLOW_FORWARDABLE 0x00000001
1055#define AUTH_REQ_ALLOW_PROXIABLE 0x000000021770#define AUTH_REQ_ALLOW_PROXIABLE 0x00000002
...@@ -1080,6 +1795,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1080,6 +1795,10 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1080#define KERB_TICKET_FLAGS_hw_authent 0x001000001795#define KERB_TICKET_FLAGS_hw_authent 0x00100000
1081#define KERB_TICKET_FLAGS_ok_as_delegate 0x000400001796#define KERB_TICKET_FLAGS_ok_as_delegate 0x00040000
1082#define KERB_TICKET_FLAGS_name_canonicalize 0x000100001797#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
1083#define KERB_TICKET_FLAGS_reserved1 0x000000011802#define KERB_TICKET_FLAGS_reserved1 0x00000001
10841803
1085#define KRB_NT_UNKNOWN 01804#define KRB_NT_UNKNOWN 0
...@@ -1091,12 +1810,21 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1091,12 +1810,21 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1091#define KRB_NT_SRV_XHST 41810#define KRB_NT_SRV_XHST 4
1092#define KRB_NT_UID 51811#define KRB_NT_UID 5
1093#define KRB_NT_ENTERPRISE_PRINCIPAL 101812#define KRB_NT_ENTERPRISE_PRINCIPAL 10
1813#define KRB_NT_WELLKNOWN 11
1814#define KRB_NT_MS_BRANCH_ID -133
1094#define KRB_NT_ENT_PRINCIPAL_AND_ID -1301815#define KRB_NT_ENT_PRINCIPAL_AND_ID -130
1095#define KRB_NT_MS_PRINCIPAL -1281816#define KRB_NT_MS_PRINCIPAL -128
1096#define KRB_NT_MS_PRINCIPAL_AND_ID -1291817#define KRB_NT_MS_PRINCIPAL_AND_ID -129
10971818
1098#define KERB_IS_MS_PRINCIPAL(_x_) (((_x_) <= KRB_NT_MS_PRINCIPAL) || ((_x_) >= KRB_NT_ENTERPRISE_PRINCIPAL))1819#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
1100#ifndef MICROSOFT_KERBEROS_NAME_A1828#ifndef MICROSOFT_KERBEROS_NAME_A
11011829
1102#define MICROSOFT_KERBEROS_NAME_A "Kerberos"1830#define MICROSOFT_KERBEROS_NAME_A "Kerberos"
...@@ -1111,12 +1839,22 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1111,12 +1839,22 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1111#define KERB_WRAP_NO_ENCRYPT 0x800000011839#define KERB_WRAP_NO_ENCRYPT 0x80000001
11121840
1113 typedef enum _KERB_LOGON_SUBMIT_TYPE {1841 typedef enum _KERB_LOGON_SUBMIT_TYPE {
1114 KerbInteractiveLogon = 2,KerbSmartCardLogon = 6,KerbWorkstationUnlockLogon = 7,KerbSmartCardUnlockLogon = 8,KerbProxyLogon = 9,1842 KerbInteractiveLogon = 2,
1115 KerbTicketLogon = 10,KerbTicketUnlockLogon = 11,KerbS4ULogon = 121843 KerbSmartCardLogon = 6,
1844 KerbWorkstationUnlockLogon = 7,
1845 KerbSmartCardUnlockLogon = 8,
1846 KerbProxyLogon = 9,
1847 KerbTicketLogon = 10,
1848 KerbTicketUnlockLogon = 11,
1849 KerbS4ULogon = 12,
1116#if (_WIN32_WINNT >= 0x0600)1850#if (_WIN32_WINNT >= 0x0600)
1117 ,KerbCertificateLogon = 13,1851 KerbCertificateLogon = 13,
1118 KerbCertificateS4ULogon = 14,1852 KerbCertificateS4ULogon = 14,
1119 KerbCertificateUnlockLogon = 15 1853 KerbCertificateUnlockLogon = 15,
1854#endif
1855#if (_WIN32_WINNT >= 0x0602)
1856 KerbNoElevationLogon = 83,
1857 KerbLuidLogon = 84
1120#endif1858#endif
1121 } KERB_LOGON_SUBMIT_TYPE,*PKERB_LOGON_SUBMIT_TYPE;1859 } KERB_LOGON_SUBMIT_TYPE,*PKERB_LOGON_SUBMIT_TYPE;
11221860
...@@ -1154,12 +1892,18 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1154,12 +1892,18 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1154 } KERB_TICKET_LOGON,*PKERB_TICKET_LOGON;1892 } KERB_TICKET_LOGON,*PKERB_TICKET_LOGON;
11551893
1156#define KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET 0x11894#define KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET 0x1
1895#define KERB_LOGON_FLAG_REDIRECTED 0x2
11571896
1158 typedef struct _KERB_TICKET_UNLOCK_LOGON {1897 typedef struct _KERB_TICKET_UNLOCK_LOGON {
1159 KERB_TICKET_LOGON Logon;1898 KERB_TICKET_LOGON Logon;
1160 LUID LogonId;1899 LUID LogonId;
1161 } KERB_TICKET_UNLOCK_LOGON,*PKERB_TICKET_UNLOCK_LOGON;1900 } 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
1163 typedef struct _KERB_S4U_LOGON {1907 typedef struct _KERB_S4U_LOGON {
1164 KERB_LOGON_SUBMIT_TYPE MessageType;1908 KERB_LOGON_SUBMIT_TYPE MessageType;
1165 ULONG Flags;1909 ULONG Flags;
...@@ -1202,17 +1946,63 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1202,17 +1946,63 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1202 PUCHAR Value;1946 PUCHAR Value;
1203 } KERB_CRYPTO_KEY,*PKERB_CRYPTO_KEY;1947 } 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
1205 typedef struct _KERB_TICKET_PROFILE {1955 typedef struct _KERB_TICKET_PROFILE {
1206 KERB_INTERACTIVE_PROFILE Profile;1956 KERB_INTERACTIVE_PROFILE Profile;
1207 KERB_CRYPTO_KEY SessionKey;1957 KERB_CRYPTO_KEY SessionKey;
1208 } KERB_TICKET_PROFILE,*PKERB_TICKET_PROFILE;1958 } KERB_TICKET_PROFILE,*PKERB_TICKET_PROFILE;
12091959
1210 typedef enum _KERB_PROTOCOL_MESSAGE_TYPE {1960 typedef enum _KERB_PROTOCOL_MESSAGE_TYPE {
1211 KerbDebugRequestMessage = 0,KerbQueryTicketCacheMessage,KerbChangeMachinePasswordMessage,KerbVerifyPacMessage,KerbRetrieveTicketMessage,1961 KerbDebugRequestMessage = 0,
1212 KerbUpdateAddressesMessage,KerbPurgeTicketCacheMessage,KerbChangePasswordMessage,KerbRetrieveEncodedTicketMessage,KerbDecryptDataMessage,1962 KerbQueryTicketCacheMessage,
1213 KerbAddBindingCacheEntryMessage,KerbSetPasswordMessage,KerbSetPasswordExMessage,KerbVerifyCredentialsMessage,KerbQueryTicketCacheExMessage,1963 KerbChangeMachinePasswordMessage,
1214 KerbPurgeTicketCacheExMessage,KerbRefreshSmartcardCredentialsMessage,KerbAddExtraCredentialsMessage,KerbQuerySupplementalCredentialsMessage,1964 KerbVerifyPacMessage,
1215 KerbTransferCredentialsMessage,KerbQueryTicketCacheEx2Message1965 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
1216 } KERB_PROTOCOL_MESSAGE_TYPE,*PKERB_PROTOCOL_MESSAGE_TYPE;2006 } KERB_PROTOCOL_MESSAGE_TYPE,*PKERB_PROTOCOL_MESSAGE_TYPE;
12172007
1218 typedef struct _KERB_QUERY_TKT_CACHE_REQUEST {2008 typedef struct _KERB_QUERY_TKT_CACHE_REQUEST {
...@@ -1255,6 +2045,24 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1255,6 +2045,24 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1255 ULONG SessionKeyType;2045 ULONG SessionKeyType;
1256 } KERB_TICKET_CACHE_INFO_EX2,*PKERB_TICKET_CACHE_INFO_EX2;2046 } 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
1258 typedef struct _KERB_QUERY_TKT_CACHE_RESPONSE {2066 typedef struct _KERB_QUERY_TKT_CACHE_RESPONSE {
1259 KERB_PROTOCOL_MESSAGE_TYPE MessageType;2067 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
1260 ULONG CountOfTickets;2068 ULONG CountOfTickets;
...@@ -1273,6 +2081,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1273,6 +2081,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1273 KERB_TICKET_CACHE_INFO_EX2 Tickets[ANYSIZE_ARRAY];2081 KERB_TICKET_CACHE_INFO_EX2 Tickets[ANYSIZE_ARRAY];
1274 } KERB_QUERY_TKT_CACHE_EX2_RESPONSE,*PKERB_QUERY_TKT_CACHE_EX2_RESPONSE;2082 } 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
1276#ifndef __SECHANDLE_DEFINED__2092#ifndef __SECHANDLE_DEFINED__
1277 typedef struct _SecHandle {2093 typedef struct _SecHandle {
1278 ULONG_PTR dwLower;2094 ULONG_PTR dwLower;
...@@ -1290,7 +2106,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1290,7 +2106,14 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1290#define KERB_RETRIEVE_TICKET_USE_CREDHANDLE 0x42106#define KERB_RETRIEVE_TICKET_USE_CREDHANDLE 0x4
1291#define KERB_RETRIEVE_TICKET_AS_KERB_CRED 0x82107#define KERB_RETRIEVE_TICKET_AS_KERB_CRED 0x8
1292#define KERB_RETRIEVE_TICKET_WITH_SEC_CRED 0x102108#define KERB_RETRIEVE_TICKET_WITH_SEC_CRED 0x10
2109
2110#if _WIN32_WINNT >= 0x0600
1293#define KERB_RETRIEVE_TICKET_CACHE_TICKET 0x202111#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
1295#define KERB_ETYPE_DEFAULT 0x02118#define KERB_ETYPE_DEFAULT 0x0
12962119
...@@ -1366,6 +2189,105 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1366,6 +2189,105 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1366 KERB_TICKET_CACHE_INFO_EX TicketTemplate;2189 KERB_TICKET_CACHE_INFO_EX TicketTemplate;
1367 } KERB_PURGE_TKT_CACHE_EX_REQUEST,*PKERB_PURGE_TKT_CACHE_EX_REQUEST;2190 } 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
1369 typedef struct _KERB_CHANGEPASSWORD_REQUEST {2291 typedef struct _KERB_CHANGEPASSWORD_REQUEST {
1370 KERB_PROTOCOL_MESSAGE_TYPE MessageType;2292 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
1371 UNICODE_STRING DomainName;2293 UNICODE_STRING DomainName;
...@@ -1453,6 +2375,16 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1453,6 +2375,16 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1453#define KERB_REQUEST_REPLACE_CREDENTIAL 22375#define KERB_REQUEST_REPLACE_CREDENTIAL 2
1454#define KERB_REQUEST_REMOVE_CREDENTIAL 42376#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
1456 typedef struct _KERB_TRANSFER_CRED_REQUEST {2388 typedef struct _KERB_TRANSFER_CRED_REQUEST {
1457 KERB_PROTOCOL_MESSAGE_TYPE MessageType;2389 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
1458 LUID OriginLogonId;2390 LUID OriginLogonId;
...@@ -1460,7 +2392,79 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1460,7 +2392,79 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1460 ULONG Flags;2392 ULONG Flags;
1461 } KERB_TRANSFER_CRED_REQUEST,*PKERB_TRANSFER_CRED_REQUEST;2393 } 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
1465#define PER_USER_POLICY_UNCHANGED 0x002469#define PER_USER_POLICY_UNCHANGED 0x00
1466#define PER_USER_AUDIT_SUCCESS_INCLUDE 0x012470#define PER_USER_AUDIT_SUCCESS_INCLUDE 0x01
...@@ -1478,11 +2482,36 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1478,11 +2482,36 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1478 } AUDIT_POLICY_INFORMATION, *PAUDIT_POLICY_INFORMATION;2482 } AUDIT_POLICY_INFORMATION, *PAUDIT_POLICY_INFORMATION;
1479 typedef const PAUDIT_POLICY_INFORMATION PCAUDIT_POLICY_INFORMATION, LPCAUDIT_POLICY_INFORMATION;2483 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
1481 typedef struct _POLICY_AUDIT_SID_ARRAY {2505 typedef struct _POLICY_AUDIT_SID_ARRAY {
1482 ULONG UsersCount;2506 ULONG UsersCount;
1483 PSID *UserSidArray;2507 PSID *UserSidArray;
1484 } POLICY_AUDIT_SID_ARRAY, *PPOLICY_AUDIT_SID_ARRAY;2508 } 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
1486 typedef struct _KERB_CERTIFICATE_LOGON {2515 typedef struct _KERB_CERTIFICATE_LOGON {
1487 KERB_LOGON_SUBMIT_TYPE MessageType;2516 KERB_LOGON_SUBMIT_TYPE MessageType;
1488 UNICODE_STRING DomainName;2517 UNICODE_STRING DomainName;
...@@ -1498,6 +2527,20 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1498,6 +2527,20 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1498 LUID LogonId;2527 LUID LogonId;
1499 } KERB_CERTIFICATE_UNLOCK_LOGON, *PKERB_CERTIFICATE_UNLOCK_LOGON;2528 } 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
1501 typedef struct _KERB_SMARTCARD_CSP_INFO {2544 typedef struct _KERB_SMARTCARD_CSP_INFO {
1502 DWORD dwCspInfoLen;2545 DWORD dwCspInfoLen;
1503 DWORD MessageType;2546 DWORD MessageType;
...@@ -1514,6 +2557,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1514,6 +2557,8 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1514 TCHAR bBuffer;2557 TCHAR bBuffer;
1515 } KERB_SMARTCARD_CSP_INFO, *PKERB_SMARTCARD_CSP_INFO;2558 } KERB_SMARTCARD_CSP_INFO, *PKERB_SMARTCARD_CSP_INFO;
15162559
2560#endif
2561
1517 BOOLEAN WINAPI AuditComputeEffectivePolicyBySid(2562 BOOLEAN WINAPI AuditComputeEffectivePolicyBySid(
1518 const PSID pSid,2563 const PSID pSid,
1519 const GUID *pSubCategoryGuids,2564 const GUID *pSubCategoryGuids,
...@@ -1615,7 +2660,65 @@ typedef enum _SE_ADT_PARAMETER_TYPE {...@@ -1615,7 +2660,65 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
1615 PSECURITY_DESCRIPTOR pSecurityDescriptor2660 PSECURITY_DESCRIPTOR pSecurityDescriptor
1616 );2661 );
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
1620#ifdef __cplusplus2723#ifdef __cplusplus
1621}2724}
lib/libc/include/any-windows-any/ntstatus.h+1
...@@ -1002,6 +1002,7 @@...@@ -1002,6 +1002,7 @@
1002#define STATUS_SYSTEM_DEVICE_NOT_FOUND ((NTSTATUS)0xC0000452)1002#define STATUS_SYSTEM_DEVICE_NOT_FOUND ((NTSTATUS)0xC0000452)
1003#define STATUS_RESTART_BOOT_APPLICATION ((NTSTATUS)0xC0000453)1003#define STATUS_RESTART_BOOT_APPLICATION ((NTSTATUS)0xC0000453)
1004#define STATUS_INSUFFICIENT_NVRAM_RESOURCES ((NTSTATUS)0xC0000454)1004#define STATUS_INSUFFICIENT_NVRAM_RESOURCES ((NTSTATUS)0xC0000454)
1005#define STATUS_CASE_DIFFERING_NAMES_IN_DIR ((NTSTATUS)0xC00004B3)
1005#define STATUS_INVALID_TASK_NAME ((NTSTATUS)0xC0000500)1006#define STATUS_INVALID_TASK_NAME ((NTSTATUS)0xC0000500)
1006#define STATUS_INVALID_TASK_INDEX ((NTSTATUS)0xC0000501)1007#define STATUS_INVALID_TASK_INDEX ((NTSTATUS)0xC0000501)
1007#define STATUS_THREAD_ALREADY_IN_TASK ((NTSTATUS)0xC0000502)1008#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/objectarray.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/objidl.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/objidlbase.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ocidl.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/oleacc.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/oleidl.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/optary.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/pchannel.h+15-1
...@@ -3,10 +3,18 @@...@@ -3,10 +3,18 @@
3 * This file is part of the mingw-w64 runtime package.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.4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */5 */
6
6#ifndef _H_PCHANNEL7#ifndef _H_PCHANNEL
7#define _H_PCHANNEL8#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
9#define CHANNEL_CHUNK_LENGTH 160016#define CHANNEL_CHUNK_LENGTH 1600
17#define CHANNEL_BUFFER_SIZE 65535
1018
11#define CHANNEL_PDU_LENGTH (CHANNEL_CHUNK_LENGTH + sizeof(CHANNEL_PDU_HEADER))19#define CHANNEL_PDU_LENGTH (CHANNEL_CHUNK_LENGTH + sizeof(CHANNEL_PDU_HEADER))
1220
...@@ -29,6 +37,7 @@...@@ -29,6 +37,7 @@
29#define CHANNEL_OPTION_COMPRESS_RDP 0x0080000037#define CHANNEL_OPTION_COMPRESS_RDP 0x00800000
30#define CHANNEL_OPTION_COMPRESS 0x0040000038#define CHANNEL_OPTION_COMPRESS 0x00400000
31#define CHANNEL_OPTION_SHOW_PROTOCOL 0x0020000039#define CHANNEL_OPTION_SHOW_PROTOCOL 0x00200000
40#define CHANNEL_OPTION_REMOTE_CONTROL_PERSISTENT 0x00100000
3241
33#define CHANNEL_MAX_COUNT 3042#define CHANNEL_MAX_COUNT 30
34#define CHANNEL_NAME_LEN 743#define CHANNEL_NAME_LEN 7
...@@ -42,4 +51,9 @@ typedef struct tagCHANNEL_PDU_HEADER {...@@ -42,4 +51,9 @@ typedef struct tagCHANNEL_PDU_HEADER {
42 UINT32 length;51 UINT32 length;
43 UINT32 flags;52 UINT32 flags;
44} CHANNEL_PDU_HEADER,*PCHANNEL_PDU_HEADER;53} CHANNEL_PDU_HEADER,*PCHANNEL_PDU_HEADER;
45#endif54
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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/processthreadsapi.h+97
...@@ -99,8 +99,92 @@ extern "C" {...@@ -99,8 +99,92 @@ extern "C" {
99 DWORD dwProcessId;99 DWORD dwProcessId;
100 DWORD dwThreadId;100 DWORD dwThreadId;
101 } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;101 } 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);
102#endif184#endif
103185
186#endif /* WINAPI_PARTITION_APP */
187
104#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)188#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
105189
106 typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;190 typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
...@@ -210,6 +294,19 @@ extern "C" {...@@ -210,6 +294,19 @@ extern "C" {
210#if _WIN32_WINNT >= 0x0601294#if _WIN32_WINNT >= 0x0601
211 WINBASEAPI WINBOOL WINAPI SetThreadIdealProcessorEx (HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor, PPROCESSOR_NUMBER lpPreviousIdealProcessor);295 WINBASEAPI WINBOOL WINAPI SetThreadIdealProcessorEx (HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor, PPROCESSOR_NUMBER lpPreviousIdealProcessor);
212#endif296#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
214#endif311#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/propsys.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/propvarutil.h+95-9
...@@ -22,9 +22,13 @@...@@ -22,9 +22,13 @@
22#include <shtypes.h>22#include <shtypes.h>
23#include <shlwapi.h>23#include <shlwapi.h>
2424
25#if !defined (_NTDEF_) && !defined (_NTSTATUS_PSDK)25#ifndef WINE_NTSTATUS_DECLARED
26#define _NTSTATUS_PSDK26#define WINE_NTSTATUS_DECLARED
27typedef LONG NTSTATUS, *PNTSTATUS;27typedef LONG NTSTATUS;
28#endif
29
30#ifdef __cplusplus
31extern "C" {
28#endif32#endif
2933
30enum tagPROPVAR_CHANGE_FLAGS34enum tagPROPVAR_CHANGE_FLAGS
...@@ -69,26 +73,42 @@ HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT p...@@ -69,26 +73,42 @@ HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT p
69HRESULT WINAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar);73HRESULT WINAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar);
70HRESULT WINAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar);74HRESULT WINAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar);
71HRESULT WINAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar);75HRESULT WINAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar);
76HRESULT WINAPI InitPropVariantFromCLSID(REFCLSID clsid, PROPVARIANT *ppropvar);
72HRESULT WINAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar);77HRESULT WINAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar);
73HRESULT WINAPI PropVariantToGUID(const PROPVARIANT *ppropvar, GUID *guid);78HRESULT WINAPI PropVariantToGUID(const PROPVARIANT *ppropvar, GUID *guid);
74HRESULT WINAPI VariantToGUID(const VARIANT *pvar, GUID *guid);79HRESULT WINAPI VariantToGUID(const VARIANT *pvar, GUID *guid);
75INT WINAPI PropVariantCompareEx(REFPROPVARIANT propvar1, REFPROPVARIANT propvar2,80INT WINAPI PropVariantCompareEx(REFPROPVARIANT propvar1, REFPROPVARIANT propvar2,
76 PROPVAR_COMPARE_UNIT uint, PROPVAR_COMPARE_FLAGS flags);81 PROPVAR_COMPARE_UNIT uint, PROPVAR_COMPARE_FLAGS flags);
82HRESULT WINAPI InitPropVariantFromFileTime(const FILETIME *pftIn, PROPVARIANT *ppropvar);
7783
84HRESULT WINAPI PropVariantToDouble(REFPROPVARIANT propvarIn, double *ret);
78HRESULT WINAPI PropVariantToInt16(REFPROPVARIANT propvarIn, SHORT *ret);85HRESULT WINAPI PropVariantToInt16(REFPROPVARIANT propvarIn, SHORT *ret);
79HRESULT WINAPI PropVariantToInt32(REFPROPVARIANT propvarIn, LONG *ret);86HRESULT WINAPI PropVariantToInt32(REFPROPVARIANT propvarIn, LONG *ret);
80HRESULT WINAPI PropVariantToInt64(REFPROPVARIANT propvarIn, LONGLONG *ret);87HRESULT WINAPI PropVariantToInt64(REFPROPVARIANT propvarIn, LONGLONG *ret);
81HRESULT WINAPI PropVariantToUInt16(REFPROPVARIANT propvarIn, USHORT *ret);88HRESULT WINAPI PropVariantToUInt16(REFPROPVARIANT propvarIn, USHORT *ret);
82HRESULT WINAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret);89HRESULT WINAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret);
83HRESULT WINAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret);90HRESULT 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
85HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret);96HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret);
8697
87#ifdef __cplusplus98#ifdef __cplusplus
8899
89HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar);100HRESULT 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);
91HRESULT InitPropVariantFromInt64(LONGLONG llVal, PROPVARIANT *ppropvar);105HRESULT 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
93#ifndef NO_PROPVAR_INLINES113#ifndef NO_PROPVAR_INLINES
94114
...@@ -99,6 +119,55 @@ inline HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar)...@@ -99,6 +119,55 @@ inline HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar)
99 return S_OK;119 return S_OK;
100}120}
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
102inline HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar)171inline HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar)
103{172{
104 HRESULT hres;173 HRESULT hres;
...@@ -112,14 +181,31 @@ inline HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar)...@@ -112,14 +181,31 @@ inline HRESULT InitPropVariantFromString(PCWSTR psz, PROPVARIANT *ppropvar)
112 return hres;181 return hres;
113}182}
114183
115inline HRESULT InitPropVariantFromInt64(LONGLONG llVal, PROPVARIANT *ppropvar)184inline HRESULT InitPropVariantFromGUIDAsBuffer(REFGUID guid, PROPVARIANT *ppropvar)
116{185{
117 ppropvar->vt = VT_I8;186#ifdef __cplusplus
118 ppropvar->hVal.QuadPart = llVal;187 return InitPropVariantFromBuffer(&guid, sizeof(GUID), ppropvar);
119 return S_OK;188#else
189 return InitPropVariantFromBuffer(guid, sizeof(GUID), ppropvar);
190#endif
120}191}
121192
122#endif193inline 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}
123#endif209#endif
124210
125#endif /* __WINE_PROPVARUTIL_H */211#endif /* __WINE_PROPVARUTIL_H */
lib/libc/include/any-windows-any/psdk_inc/_dbg_common.h+94-3
...@@ -192,7 +192,12 @@ extern "C" {...@@ -192,7 +192,12 @@ extern "C" {
192 DWORD64 KiUserExceptionDispatcher;192 DWORD64 KiUserExceptionDispatcher;
193 DWORD64 StackBase;193 DWORD64 StackBase;
194 DWORD64 StackLimit;194 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];
196 } KDHELP64,*PKDHELP64;201 } KDHELP64,*PKDHELP64;
197202
198#ifdef _IMAGEHLP64203#ifdef _IMAGEHLP64
...@@ -242,6 +247,25 @@ extern "C" {...@@ -242,6 +247,25 @@ extern "C" {
242 KDHELP64 KdHelp;247 KDHELP64 KdHelp;
243 } STACKFRAME64,*LPSTACKFRAME64;248 } 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
245#ifdef _IMAGEHLP64269#ifdef _IMAGEHLP64
246#define STACKFRAME STACKFRAME64270#define STACKFRAME STACKFRAME64
247#define LPSTACKFRAME LPSTACKFRAME64271#define LPSTACKFRAME LPSTACKFRAME64
...@@ -336,6 +360,18 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);...@@ -336,6 +360,18 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);
336#define SYMFLAG_VIRTUAL 0x00001000360#define SYMFLAG_VIRTUAL 0x00001000
337#define SYMFLAG_THUNK 0x00002000361#define SYMFLAG_THUNK 0x00002000
338#define SYMFLAG_TLSREL 0x00004000362#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
340 typedef enum {376 typedef enum {
341 SymNone = 0,377 SymNone = 0,
...@@ -411,8 +447,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);...@@ -411,8 +447,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);
411 WINBOOL TypeInfo;447 WINBOOL TypeInfo;
412 WINBOOL SourceIndexed;448 WINBOOL SourceIndexed;
413 WINBOOL Publics;449 WINBOOL Publics;
450 DWORD MachineType;
451 DWORD Reserved;
414 } IMAGEHLP_MODULE64,*PIMAGEHLP_MODULE64;452 } 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
416 typedef struct _IMAGEHLP_MODULE64W {459 typedef struct _IMAGEHLP_MODULE64W {
417 DWORD SizeOfStruct;460 DWORD SizeOfStruct;
418 DWORD64 BaseOfImage;461 DWORD64 BaseOfImage;
...@@ -437,8 +480,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);...@@ -437,8 +480,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress);
437 WINBOOL TypeInfo;480 WINBOOL TypeInfo;
438 WINBOOL SourceIndexed;481 WINBOOL SourceIndexed;
439 WINBOOL Publics;482 WINBOOL Publics;
483 DWORD MachineType;
484 DWORD Reserved;
440 } IMAGEHLP_MODULEW64,*PIMAGEHLP_MODULEW64;485 } 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
442#ifdef _IMAGEHLP64492#ifdef _IMAGEHLP64
443#define IMAGEHLP_MODULE IMAGEHLP_MODULE64493#define IMAGEHLP_MODULE IMAGEHLP_MODULE64
444#define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64494#define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64
...@@ -1137,6 +1187,11 @@ typedef struct _SYMSRV_INDEX_INFOW {...@@ -1137,6 +1187,11 @@ typedef struct _SYMSRV_INDEX_INFOW {
1137 ThreadInfoListStream = 17,1187 ThreadInfoListStream = 17,
1138 HandleOperationListStream = 18,1188 HandleOperationListStream = 18,
1139 TokenStream = 19,1189 TokenStream = 19,
1190 JavaScriptDataStream = 20,
1191 SystemMemoryInfoStream = 21,
1192 ProcessVmCountersStream = 22,
1193 IptTraceStream = 23,
1194 ThreadNamesStream = 24,
1140 ceStreamNull = 0x8000,1195 ceStreamNull = 0x8000,
1141 ceStreamSystemInfo = 0x8001,1196 ceStreamSystemInfo = 0x8001,
1142 ceStreamException = 0x8002,1197 ceStreamException = 0x8002,
...@@ -1283,6 +1338,25 @@ typedef struct _SYMSRV_INDEX_INFOW {...@@ -1283,6 +1338,25 @@ typedef struct _SYMSRV_INDEX_INFOW {
1283 WINBOOL ClientPointers;1338 WINBOOL ClientPointers;
1284 } MINIDUMP_EXCEPTION_INFORMATION64,*PMINIDUMP_EXCEPTION_INFORMATION64;1339 } 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
1286 typedef struct _MINIDUMP_HANDLE_DESCRIPTOR {1360 typedef struct _MINIDUMP_HANDLE_DESCRIPTOR {
1287 ULONG64 Handle;1361 ULONG64 Handle;
1288 RVA TypeNameRva;1362 RVA TypeNameRva;
...@@ -1376,12 +1450,20 @@ typedef struct _SYMSRV_INDEX_INFOW {...@@ -1376,12 +1450,20 @@ typedef struct _SYMSRV_INDEX_INFOW {
1376 IoWriteAllCallback,1450 IoWriteAllCallback,
1377 IoFinishCallback,1451 IoFinishCallback,
1378 ReadMemoryFailureCallback,1452 ReadMemoryFailureCallback,
1379 SecondaryFlagsCallback1453 SecondaryFlagsCallback,
1454 IsProcessSnapshotCallback,
1455 VmStartCallback,
1456 VmQueryCallback,
1457 VmPreReadCallback,
1458 VmPostReadCallback
1380 } MINIDUMP_CALLBACK_TYPE;1459 } MINIDUMP_CALLBACK_TYPE;
13811460
1382 typedef struct _MINIDUMP_THREAD_CALLBACK {1461 typedef struct _MINIDUMP_THREAD_CALLBACK {
1383 ULONG ThreadId;1462 ULONG ThreadId;
1384 HANDLE ThreadHandle;1463 HANDLE ThreadHandle;
1464#if defined(__aarch64__)
1465 ULONG Pad;
1466#endif
1385 CONTEXT Context;1467 CONTEXT Context;
1386 ULONG SizeOfContext;1468 ULONG SizeOfContext;
1387 ULONG64 StackBase;1469 ULONG64 StackBase;
...@@ -1391,6 +1473,9 @@ typedef struct _SYMSRV_INDEX_INFOW {...@@ -1391,6 +1473,9 @@ typedef struct _SYMSRV_INDEX_INFOW {
1391 typedef struct _MINIDUMP_THREAD_EX_CALLBACK {1473 typedef struct _MINIDUMP_THREAD_EX_CALLBACK {
1392 ULONG ThreadId;1474 ULONG ThreadId;
1393 HANDLE ThreadHandle;1475 HANDLE ThreadHandle;
1476#if defined(__aarch64__)
1477 ULONG Pad;
1478#endif
1394 CONTEXT Context;1479 CONTEXT Context;
1395 ULONG SizeOfContext;1480 ULONG SizeOfContext;
1396 ULONG64 StackBase;1481 ULONG64 StackBase;
...@@ -1531,7 +1616,13 @@ typedef struct _MINIDUMP_MEMORY_INFO_LIST {...@@ -1531,7 +1616,13 @@ typedef struct _MINIDUMP_MEMORY_INFO_LIST {
1531 MiniDumpWithFullAuxiliaryState = 0x00008000,1616 MiniDumpWithFullAuxiliaryState = 0x00008000,
1532 MiniDumpWithPrivateWriteCopyMemory = 0x00010000,1617 MiniDumpWithPrivateWriteCopyMemory = 0x00010000,
1533 MiniDumpIgnoreInaccessibleMemory = 0x00020000,1618 MiniDumpIgnoreInaccessibleMemory = 0x00020000,
1534 MiniDumpWithTokenInformation = 0x000400001619 MiniDumpWithTokenInformation = 0x00040000,
1620 MiniDumpWithModuleHeaders = 0x00080000,
1621 MiniDumpFilterTriage = 0x00100000,
1622 MiniDumpWithAvxXStateContext = 0x00200000,
1623 MiniDumpWithIptTrace = 0x00400000,
1624 MiniDumpScanInaccessiblePartialPages = 0x00800000,
1625 MiniDumpValidTypeFlags = 0x00ffffff
1535 } MINIDUMP_TYPE;1626 } MINIDUMP_TYPE;
15361627
1537#define MINIDUMP_THREAD_INFO_ERROR_THREAD 0x000000011628#define MINIDUMP_THREAD_INFO_ERROR_THREAD 0x00000001
lib/libc/include/any-windows-any/psdk_inc/_ip_mreq1.h+9
...@@ -4,9 +4,18 @@...@@ -4,9 +4,18 @@
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */5 */
66
7/*
8 * Shared data types between winsock and winsock2
9 */
10
7#ifndef _MINGW_IP_MREQ1_H11#ifndef _MINGW_IP_MREQ1_H
8#define _MINGW_IP_MREQ1_H12#define _MINGW_IP_MREQ1_H
913
10#include <inaddr.h>14#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
12#endif /* _MINGW_IP_MREQ1_H */21#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)...@@ -1424,6 +1424,123 @@ unsigned char _BitScanReverse64(unsigned __LONG32 *Index, unsigned __int64 Mask)
1424#endif /* __INTRINSIC_PROLOG */1424#endif /* __INTRINSIC_PROLOG */
14251425
1426#endif /* defined(__aarch64__) || define(_ARM64_) */1426#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
1427/* ***************************************************** */1544/* ***************************************************** */
14281545
1429#if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)1546#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) {...@@ -1906,6 +2023,7 @@ void __cpuid(int CPUInfo[4], int InfoType) {
1906#define __INTRINSIC_DEFINED___cpuid2023#define __INTRINSIC_DEFINED___cpuid
1907#endif /* __INTRINSIC_PROLOG */2024#endif /* __INTRINSIC_PROLOG */
19082025
2026#if (!defined(__GNUC__) || __GNUC__ < 11)
1909#if __INTRINSIC_PROLOG(__cpuidex)2027#if __INTRINSIC_PROLOG(__cpuidex)
1910void __cpuidex(int CPUInfo[4], int, int);2028void __cpuidex(int CPUInfo[4], int, int);
1911#if !__has_builtin(__cpuidex)2029#if !__has_builtin(__cpuidex)
...@@ -1919,6 +2037,7 @@ void __cpuidex(int CPUInfo[4], int function_id, int subfunction_id) {...@@ -1919,6 +2037,7 @@ void __cpuidex(int CPUInfo[4], int function_id, int subfunction_id) {
1919#endif2037#endif
1920#define __INTRINSIC_DEFINED___cpuidex2038#define __INTRINSIC_DEFINED___cpuidex
1921#endif /* __INTRINSIC_PROLOG */2039#endif /* __INTRINSIC_PROLOG */
2040#endif /* __GNUC__ < 11 */
19222041
1923#if __INTRINSIC_PROLOG(__readmsr)2042#if __INTRINSIC_PROLOG(__readmsr)
1924__MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32);2043__MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32);
lib/libc/include/any-windows-any/qedit.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/qnetwork.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/rdpencomapi.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/regbag.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/relogger.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/rtworkq.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sal.h+4
...@@ -295,6 +295,10 @@...@@ -295,6 +295,10 @@
295#define _Deref_out_range_(low, hi)295#define _Deref_out_range_(low, hi)
296#define _Deref_inout_range_(low, hi)296#define _Deref_inout_range_(low, hi)
297#define _Struct_size_bytes_(size)297#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
299/* Function annotations */303/* Function annotations */
300#define _Called_from_function_class_(name)304#define _Called_from_function_class_(name)
lib/libc/include/any-windows-any/sapi51.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sapi53.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sapi54.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sdkddkver.h+2-1
...@@ -144,8 +144,9 @@...@@ -144,8 +144,9 @@
144#define NTDDI_WIN10_VB 0x0A000008144#define NTDDI_WIN10_VB 0x0A000008
145#define NTDDI_WIN10_MN 0x0A000009145#define NTDDI_WIN10_MN 0x0A000009
146#define NTDDI_WIN10_FE 0x0A00000A146#define NTDDI_WIN10_FE 0x0A00000A
147#define NTDDI_WIN10_CO 0x0A00000B
147148
148#define WDK_NTDDI_VERSION NTDDI_WIN10_FE149#define WDK_NTDDI_VERSION NTDDI_WIN10_CO
149150
150/* Version Fields in NTDDI_VERSION */151/* Version Fields in NTDDI_VERSION */
151#define OSVERSION_MASK 0xFFFF0000U152#define OSVERSION_MASK 0xFFFF0000U
lib/libc/include/any-windows-any/sensorsapi.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/servprov.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/setjmp.h+5-3
...@@ -128,7 +128,9 @@ extern "C" {...@@ -128,7 +128,9 @@ extern "C" {
128 __MINGW_EXTENSION unsigned __int64 R14;128 __MINGW_EXTENSION unsigned __int64 R14;
129 __MINGW_EXTENSION unsigned __int64 R15;129 __MINGW_EXTENSION unsigned __int64 R15;
130 __MINGW_EXTENSION unsigned __int64 Rip;130 __MINGW_EXTENSION unsigned __int64 Rip;
131 __MINGW_EXTENSION unsigned __int64 Spare;131 unsigned long MxCsr;
132 unsigned short FpCsr;
133 unsigned short Spare;
132 SETJMP_FLOAT128 Xmm6;134 SETJMP_FLOAT128 Xmm6;
133 SETJMP_FLOAT128 Xmm7;135 SETJMP_FLOAT128 Xmm7;
134 SETJMP_FLOAT128 Xmm8;136 SETJMP_FLOAT128 Xmm8;
...@@ -231,7 +233,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void);...@@ -231,7 +233,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void);
231# elif defined(__SEH__)233# elif defined(__SEH__)
232# if defined(__aarch64__) || defined(_ARM64_)234# if defined(__aarch64__) || defined(_ARM64_)
233# define setjmp(BUF) _setjmp((BUF), __builtin_sponentry())235# define setjmp(BUF) _setjmp((BUF), __builtin_sponentry())
234# elif (__MINGW_GCC_VERSION < 40702)236# elif (__MINGW_GCC_VERSION < 40702) && !defined(__clang__)
235# define setjmp(BUF) _setjmp((BUF), mingw_getsp())237# define setjmp(BUF) _setjmp((BUF), mingw_getsp())
236# else238# else
237# define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))239# define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))
...@@ -244,7 +246,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void);...@@ -244,7 +246,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void);
244# else246# else
245# undef setjmp247# undef setjmp
246# ifdef __SEH__248# ifdef __SEH__
247# if (__MINGW_GCC_VERSION < 40702)249# if (__MINGW_GCC_VERSION < 40702) && !defined(__clang__)
248# define setjmp(BUF) _setjmpex((BUF), mingw_getsp())250# define setjmp(BUF) _setjmpex((BUF), mingw_getsp())
249# define setjmpex(BUF) _setjmpex((BUF), mingw_getsp())251# define setjmpex(BUF) _setjmpex((BUF), mingw_getsp())
250# else252# else
lib/libc/include/any-windows-any/shldisp.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/shobjidl.h+139-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -1562,6 +1562,14 @@ interface IDesktopGadget;...@@ -1562,6 +1562,14 @@ interface IDesktopGadget;
1562#endif /* __cplusplus */1562#endif /* __cplusplus */
1563#endif1563#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
1565#ifndef __IDesktopWallpaper_FWD_DEFINED__1573#ifndef __IDesktopWallpaper_FWD_DEFINED__
1566#define __IDesktopWallpaper_FWD_DEFINED__1574#define __IDesktopWallpaper_FWD_DEFINED__
1567typedef interface IDesktopWallpaper IDesktopWallpaper;1575typedef interface IDesktopWallpaper IDesktopWallpaper;
...@@ -2246,6 +2254,15 @@ typedef struct ExecuteFolder ExecuteFolder;...@@ -2246,6 +2254,15 @@ typedef struct ExecuteFolder ExecuteFolder;
2246#endif /* defined __cplusplus */2254#endif /* defined __cplusplus */
2247#endif /* defined __ExecuteFolder_FWD_DEFINED__ */2255#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
2249#ifndef __IAssocHandlerInvoker_FWD_DEFINED__2266#ifndef __IAssocHandlerInvoker_FWD_DEFINED__
2250#define __IAssocHandlerInvoker_FWD_DEFINED__2267#define __IAssocHandlerInvoker_FWD_DEFINED__
2251typedef interface IAssocHandlerInvoker IAssocHandlerInvoker;2268typedef interface IAssocHandlerInvoker IAssocHandlerInvoker;
...@@ -30555,6 +30572,114 @@ static FORCEINLINE HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR...@@ -30555,6 +30572,114 @@ static FORCEINLINE HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR
30555#endif /* __IDesktopGadget_INTERFACE_DEFINED__ */30572#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
30558#if NTDDI_VERSION >= NTDDI_WIN830683#if NTDDI_VERSION >= NTDDI_WIN8
30559/*****************************************************************************30684/*****************************************************************************
30560 * IDesktopWallpaper interface30685 * IDesktopWallpaper interface
...@@ -32797,6 +32922,19 @@ __CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,...@@ -32797,6 +32922,19 @@ __CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,
32797#endif32922#endif
32798#endif32923#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
32800#endif /* __ShellObjects_LIBRARY_DEFINED__ */32938#endif /* __ShellObjects_LIBRARY_DEFINED__ */
3280132939
32802#if NTDDI_VERSION >= NTDDI_VISTA32940#if NTDDI_VERSION >= NTDDI_VISTA
lib/libc/include/any-windows-any/shtypes.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/spatialaudioclient.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/spellcheck.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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...@@ -720,6 +720,8 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li
720 int __cdecl setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size);720 int __cdecl setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size);
721#ifdef _UCRT721#ifdef _UCRT
722 __mingw_ovr722 __mingw_ovr
723 __MINGW_ATTRIB_PURE
724 __attribute__((__format__ (__MINGW_PRINTF_FORMAT, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
723 int __cdecl _scprintf(const char * __restrict__ _Format,...)725 int __cdecl _scprintf(const char * __restrict__ _Format,...)
724 {726 {
725 __builtin_va_list __ap;727 __builtin_va_list __ap;
...@@ -730,6 +732,7 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li...@@ -730,6 +732,7 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li
730 return __ret;732 return __ret;
731 }733 }
732 __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN734 __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN
735 __attribute__((__format__ (__MINGW_SCANF_FORMAT, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
733 int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...)736 int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...)
734 {737 {
735 __builtin_va_list __ap;738 __builtin_va_list __ap;
...@@ -740,9 +743,15 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li...@@ -740,9 +743,15 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li
740 return __ret;743 return __ret;
741 }744 }
742#else745#else
746 __MINGW_ATTRIB_PURE
747 __attribute__((__format__ (ms_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
743 _CRTIMP int __cdecl _scprintf(const char * __restrict__ _Format,...);748 _CRTIMP int __cdecl _scprintf(const char * __restrict__ _Format,...);
749 __attribute__((__format__ (ms_scanf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
744 _CRTIMP int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;750 _CRTIMP int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
745#endif751#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);
746 FILE *__cdecl tmpfile(void) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;755 FILE *__cdecl tmpfile(void) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
747 char *__cdecl tmpnam(char *_Buffer);756 char *__cdecl tmpnam(char *_Buffer);
748 int __cdecl ungetc(int _Ch,FILE *_File);757 int __cdecl ungetc(int _Ch,FILE *_File);
...@@ -844,6 +853,8 @@ char * tmpnam(char * __dst)...@@ -844,6 +853,8 @@ char * tmpnam(char * __dst)
844#if __MINGW_FORTIFY_LEVEL > 0853#if __MINGW_FORTIFY_LEVEL > 0
845 __mingw_bos_ptr_chk_warn(__stream, __n, 1);854 __mingw_bos_ptr_chk_warn(__stream, __n, 1);
846#endif855#endif
856 if (__builtin_constant_p(__n) && __n == 0)
857 return _vscprintf(__format, __local_argv);
847 return __ms_vsnprintf (__stream, __n, __format, __local_argv);858 return __ms_vsnprintf (__stream, __n, __format, __local_argv);
848 }859 }
849860
...@@ -858,6 +869,8 @@ __attribute__((__format__ (ms_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)...@@ -858,6 +869,8 @@ __attribute__((__format__ (ms_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
858int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, ...)869int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, ...)
859{870{
860 __mingw_bos_ptr_chk_warn(__stream, __n, 1);871 __mingw_bos_ptr_chk_warn(__stream, __n, 1);
872 if (__builtin_constant_p(__n) && __n == 0)
873 return _scprintf(__format, __builtin_va_arg_pack());
861 return __ms_snprintf(__stream, __n, __format, __builtin_va_arg_pack());874 return __ms_snprintf(__stream, __n, __format, __builtin_va_arg_pack());
862}875}
863876
...@@ -869,7 +882,10 @@ int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict_...@@ -869,7 +882,10 @@ int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict_
869{882{
870 int __retval;883 int __retval;
871 __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );884 __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);
873 __builtin_va_end( __local_argv );889 __builtin_va_end( __local_argv );
874 return __retval;890 return __retval;
875}891}
...@@ -921,8 +937,6 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format,...@@ -921,8 +937,6 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format,
921#endif /* _UCRT */937#endif /* _UCRT */
922#endif /* __USE_MINGW_ANSI_STDIO */938#endif /* __USE_MINGW_ANSI_STDIO */
923939
924 _CRTIMP int __cdecl _vscprintf(const char * __restrict__ _Format,va_list _ArgList);
925
926 _CRTIMP int __cdecl _set_printf_count_output(int _Value);940 _CRTIMP int __cdecl _set_printf_count_output(int _Value);
927 _CRTIMP int __cdecl _get_printf_count_output(void);941 _CRTIMP int __cdecl _get_printf_count_output(void);
928942
lib/libc/include/any-windows-any/strmif.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/structuredquerycondition.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/sys/timeb.h+10
...@@ -86,6 +86,16 @@ extern "C" {...@@ -86,6 +86,16 @@ extern "C" {
86#define _ftime _ftime3286#define _ftime _ftime32
87#endif87#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
89#ifndef _TIMESPEC_DEFINED99#ifndef _TIMESPEC_DEFINED
90#define _TIMESPEC_DEFINED100#define _TIMESPEC_DEFINED
91struct timespec {101struct timespec {
lib/libc/include/any-windows-any/taskschd.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/textstor.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/thumbcache.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/time.h+19-3
...@@ -21,6 +21,9 @@...@@ -21,6 +21,9 @@
21#endif /* _SECIMP */21#endif /* _SECIMP */
22#endif /* defined(_CRTBLD) || defined(__LIBMSVCRT__) */22#endif /* defined(_CRTBLD) || defined(__LIBMSVCRT__) */
2323
24/* Adding timespec definition. */
25#include <sys/timeb.h>
26
24#pragma pack(push,_CRT_PACKING)27#pragma pack(push,_CRT_PACKING)
2528
26#ifdef __cplusplus29#ifdef __cplusplus
...@@ -109,6 +112,10 @@ extern "C" {...@@ -109,6 +112,10 @@ extern "C" {
109112
110#define CLOCKS_PER_SEC 1000113#define CLOCKS_PER_SEC 1000
111114
115#ifdef _UCRT
116#define TIME_UTC 1
117#endif
118
112#ifdef _UCRT119#ifdef _UCRT
113 _CRTIMP int *__cdecl __daylight(void);120 _CRTIMP int *__cdecl __daylight(void);
114 _CRTIMP long *__cdecl __dstbias(void);121 _CRTIMP long *__cdecl __dstbias(void);
...@@ -146,6 +153,9 @@ extern "C" {...@@ -146,6 +153,9 @@ extern "C" {
146 _CRTIMP char *__cdecl _strtime(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;153 _CRTIMP char *__cdecl _strtime(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
147 _SECIMP errno_t __cdecl _strtime_s (char *_Buf ,size_t _SizeInBytes);154 _SECIMP errno_t __cdecl _strtime_s (char *_Buf ,size_t _SizeInBytes);
148 _CRTIMP __time32_t __cdecl _time32(__time32_t *_Time);155 _CRTIMP __time32_t __cdecl _time32(__time32_t *_Time);
156#ifdef _UCRT
157 _CRTIMP int __cdecl _timespec32_get(struct _timespec32 *_Ts, int _Base);
158#endif
149 _CRTIMP __time32_t __cdecl _mktime32(struct tm *_Tm);159 _CRTIMP __time32_t __cdecl _mktime32(struct tm *_Tm);
150 _CRTIMP __time32_t __cdecl _mkgmtime32(struct tm *_Tm);160 _CRTIMP __time32_t __cdecl _mkgmtime32(struct tm *_Tm);
151161
...@@ -169,6 +179,9 @@ extern "C" {...@@ -169,6 +179,9 @@ extern "C" {
169 _CRTIMP __time64_t __cdecl _mktime64(struct tm *_Tm);179 _CRTIMP __time64_t __cdecl _mktime64(struct tm *_Tm);
170 _CRTIMP __time64_t __cdecl _mkgmtime64(struct tm *_Tm);180 _CRTIMP __time64_t __cdecl _mkgmtime64(struct tm *_Tm);
171 _CRTIMP __time64_t __cdecl _time64(__time64_t *_Time);181 _CRTIMP __time64_t __cdecl _time64(__time64_t *_Time);
182#ifdef _UCRT
183 _CRTIMP int __cdecl _timespec64_get(struct _timespec64 *_Ts, int _Base);
184#endif
172 unsigned __cdecl _getsystime(struct tm *_Tm);185 unsigned __cdecl _getsystime(struct tm *_Tm);
173 unsigned __cdecl _setsystime(struct tm *_Tm,unsigned _MilliSec);186 unsigned __cdecl _setsystime(struct tm *_Tm,unsigned _MilliSec);
174187
...@@ -217,6 +230,9 @@ extern "C" {...@@ -217,6 +230,9 @@ extern "C" {
217230
218#ifdef _USE_32BIT_TIME_T231#ifdef _USE_32BIT_TIME_T
219static __inline time_t __CRTDECL time(time_t *_Time) { return _time32(_Time); }232static __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
220static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime32(_Time1,_Time2); }236static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime32(_Time1,_Time2); }
221static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime32(_Time); }237static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime32(_Time); }
222static __inline errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime32_s(_Tm,_Time); }238static __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);...@@ -228,6 +244,9 @@ static __inline time_t __CRTDECL mktime(struct tm *_Tm) { return _mktime32(_Tm);
228static __inline time_t __CRTDECL _mkgmtime(struct tm *_Tm) { return _mkgmtime32(_Tm); }244static __inline time_t __CRTDECL _mkgmtime(struct tm *_Tm) { return _mkgmtime32(_Tm); }
229#else245#else
230static __inline time_t __CRTDECL time(time_t *_Time) { return _time64(_Time); }246static __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
231static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); }250static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); }
232static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime64(_Time); }251static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime64(_Time); }
233static __inline errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime64_s(_Tm,_Time); }252static __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) {...@@ -296,9 +315,6 @@ __forceinline char *__CRTDECL asctime_r(const struct tm *_Tm, char * _Str) {
296}315}
297#endif316#endif
298317
299/* Adding timespec definition. */
300#include <sys/timeb.h>
301
302/* POSIX 2008 says clock_gettime and timespec are defined in time.h header,318/* POSIX 2008 says clock_gettime and timespec are defined in time.h header,
303 but other systems - like Linux, Solaris, etc - tend to declare such319 but other systems - like Linux, Solaris, etc - tend to declare such
304 recent extensions only if the following guards are met. */320 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/tlogstg.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/tpcshrd.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/uianimation.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/uiautomationclient.h+197-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -31,6 +31,74 @@ extern "C" {...@@ -31,6 +31,74 @@ extern "C" {
3131
32DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc4,0x77,0xac,0xb2,0xf8,0x97);32DEFINE_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
34#define UIA_RuntimeIdPropertyId (30000)102#define UIA_RuntimeIdPropertyId (30000)
35103
36#define UIA_BoundingRectanglePropertyId (30001)104#define UIA_BoundingRectanglePropertyId (30001)
...@@ -253,6 +321,134 @@ DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc...@@ -253,6 +321,134 @@ DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc
253321
254#define UIA_IsSynchronizedInputPatternAvailablePropertyId (30110)322#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
256#endif /* __UIAutomationClient_LIBRARY_DEFINED__ */452#endif /* __UIAutomationClient_LIBRARY_DEFINED__ */
257/* Begin additional prototypes for all interfaces */453/* Begin additional prototypes for all interfaces */
258454
lib/libc/include/any-windows-any/uiautomationcore.h+267-2
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -34,6 +34,22 @@ interface IAccessibleEx;...@@ -34,6 +34,22 @@ interface IAccessibleEx;
34#endif /* __cplusplus */34#endif /* __cplusplus */
35#endif35#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
37/* Headers for imported files */53/* Headers for imported files */
3854
39#include <oaidl.h>55#include <oaidl.h>
...@@ -43,19 +59,35 @@ interface IAccessibleEx;...@@ -43,19 +59,35 @@ interface IAccessibleEx;
43extern "C" {59extern "C" {
44#endif60#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};
46enum ProviderOptions {69enum ProviderOptions {
47 ProviderOptions_ClientSideProvider = 0x1,70 ProviderOptions_ClientSideProvider = 0x1,
48 ProviderOptions_ServerSideProvider = 0x2,71 ProviderOptions_ServerSideProvider = 0x2,
49 ProviderOptions_NonClientAreaProvider = 0x4,72 ProviderOptions_NonClientAreaProvider = 0x4,
50 ProviderOptions_OverrideProvider = 0x8,73 ProviderOptions_OverrideProvider = 0x8,
51 ProviderOptions_ProviderOwnsSetFocus = 0x10,74 ProviderOptions_ProviderOwnsSetFocus = 0x10,
52 ProviderOptions_UseComThreading = 0x2075 ProviderOptions_UseComThreading = 0x20,
76 ProviderOptions_RefuseNonClientSupport = 0x40,
77 ProviderOptions_HasNativeIAccessible = 0x80,
78 ProviderOptions_UseClientCoordinates = 0x100
53};79};
54typedef int PROPERTYID;80typedef int PROPERTYID;
55typedef int PATTERNID;81typedef int PATTERNID;
56typedef int EVENTID;82typedef int EVENTID;
57typedef int TEXTATTRIBUTEID;83typedef int TEXTATTRIBUTEID;
58typedef int CONTROLTYPEID;84typedef int CONTROLTYPEID;
85struct UiaRect {
86 double left;
87 double top;
88 double width;
89 double height;
90};
59#ifndef __UIA_LIBRARY_DEFINED__91#ifndef __UIA_LIBRARY_DEFINED__
60#define __UIA_LIBRARY_DEFINED__92#define __UIA_LIBRARY_DEFINED__
6193
...@@ -291,6 +323,239 @@ static FORCEINLINE HRESULT IAccessibleEx_ConvertReturnedElement(IAccessibleEx* T...@@ -291,6 +323,239 @@ static FORCEINLINE HRESULT IAccessibleEx_ConvertReturnedElement(IAccessibleEx* T
291323
292#endif /* __IAccessibleEx_INTERFACE_DEFINED__ */324#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
294#endif /* __UIA_LIBRARY_DEFINED__ */559#endif /* __UIA_LIBRARY_DEFINED__ */
295/* Begin additional prototypes for all interfaces */560/* 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);...@@ -66,6 +66,7 @@ HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value);
66int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid);66int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid);
67WINBOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj);67WINBOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj);
68HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id);68HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id);
69HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT old, VARIANT new);
69void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback);70void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback);
70LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov);71LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov);
71WINBOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj);72WINBOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj);
lib/libc/include/any-windows-any/uiviewsettingsinterop.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/unknwn.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/unknwnbase.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/urlhist.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/urlmon.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/vdslun.h+120-26
...@@ -1,32 +1,126 @@...@@ -1,32 +1,126 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/vdslun.idl - Do not edit ***/
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
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;
9typedef struct _VDS_INTERCONNECT {92typedef struct _VDS_INTERCONNECT {
10 VDS_INTERCONNECT_ADDRESS_TYPE m_addressType;93 VDS_INTERCONNECT_ADDRESS_TYPE m_addressType;
11 ULONG m_cbPort; BYTE* m_pbPort;94 ULONG m_cbPort;
12 ULONG m_cbAddress;95 BYTE *m_pbPort;
13 BYTE *m_pbAddress;96 ULONG m_cbAddress;
97 BYTE *m_pbAddress;
14} VDS_INTERCONNECT;98} VDS_INTERCONNECT;
15
16typedef struct _VDS_LUN_INFORMATION {99typedef struct _VDS_LUN_INFORMATION {
17 ULONG m_version;100 ULONG m_version;
18 BYTE m_DeviceType;101 BYTE m_DeviceType;
19 BYTE m_DeviceTypeModifier;102 BYTE m_DeviceTypeModifier;
20 WINBOOL m_bCommandQueueing;103 WINBOOL m_bCommandQueueing;
21 VDS_STORAGE_BUS_TYPE m_BusType;104 VDS_STORAGE_BUS_TYPE m_BusType;
22 char* m_szVendorId;105 char *m_szVendorId;
23 char* m_szProductId;106 char *m_szProductId;
24 char* m_szProductRevision;107 char *m_szProductRevision;
25 char* m_szSerialNumber;108 char *m_szSerialNumber;
26 GUID m_diskSignature;109 GUID m_diskSignature;
27 VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor;110 VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor;
28 ULONG m_cInterconnects;111 ULONG m_cInterconnects;
29 VDS_INTERCONNECT *m_rgInterconnects;112 VDS_INTERCONNECT *m_rgInterconnects;
30} VDS_LUN_INFORMATION;113} 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/vsadmin.h+334-29
...@@ -1,45 +1,350 @@...@@ -1,45 +1,350 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/vsadmin.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5 */5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#ifndef _INC_VSADMIN6#endif
7#define _INC_VSADMIN7#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>
9#include <vss.h>50#include <vss.h>
10#if (_WIN32_WINNT >= 0x600)51
11#undef INTERFACE52#ifdef __cplusplus
12#define INTERFACE IVssAdmin53extern "C" {
13#ifdef __GNUC__54#endif
14#warning COM interfaces layout in this header has not been verified.55
15#warning COM interfaces with incorrect layout may not work at all.56#include <winapifamily.h>
16__MINGW_BROKEN_INTERFACE(INTERFACE)57#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
17#endif58/*****************************************************************************
18DECLARE_INTERFACE_(IVssAdmin,IUnknown)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
19{68{
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 {
20 BEGIN_INTERFACE92 BEGIN_INTERFACE
2193
22 /* IUnknown methods */94 /*** IUnknown methods ***/
23 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;95 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
24 STDMETHOD_(ULONG, AddRef)(THIS) PURE;96 IVssAdmin *This,
25 STDMETHOD_(ULONG, Release)(THIS) PURE;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 */106 /*** 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;107 HRESULT (STDMETHODCALLTYPE *RegisterProvider)(
29 STDMETHOD_(HRESULT,UnregisterProvider)(THIS_ VSS_ID ProviderId) PURE;108 IVssAdmin *This,
30 STDMETHOD_(HRESULT,QueryProviders)(THIS_ IVssEnumObject **ppEnum) PURE;109 VSS_ID pProviderId,
31 STDMETHOD_(HRESULT,AbortAllSnapshotsInProgress)(THIS) PURE;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
33 END_INTERFACE127 END_INTERFACE
128} IVssAdminVtbl;
129
130interface IVssAdmin {
131 CONST_VTBL IVssAdminVtbl* lpVtbl;
34};132};
133
35#ifdef COBJMACROS134#ifdef COBJMACROS
135#ifndef WIDL_C_INLINE_WRAPPERS
136/*** IUnknown methods ***/
36#define IVssAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)137#define IVssAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
37#define IVssAdmin_AddRef(This) (This)->lpVtbl->AddRef(This)138#define IVssAdmin_AddRef(This) (This)->lpVtbl->AddRef(This)
38#define IVssAdmin_Release(This) (This)->lpVtbl->Release(This)139#define IVssAdmin_Release(This) (This)->lpVtbl->Release(This)
140/*** IVssAdmin methods ***/
39#define IVssAdmin_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) (This)->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId)141#define IVssAdmin_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) (This)->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId)
40#define IVssAdmin_UnregisterProvider(This,ProviderId) (This)->lpVtbl->UnregisterProvider(This,ProviderId)142#define IVssAdmin_UnregisterProvider(This,ProviderId) (This)->lpVtbl->UnregisterProvider(This,ProviderId)
41#define IVssAdmin_QueryProviders(This,ppEnum) (This)->lpVtbl->QueryProviders(This,ppEnum)143#define IVssAdmin_QueryProviders(This,ppEnum) (This)->lpVtbl->QueryProviders(This,ppEnum)
42#define IVssAdmin_AbortAllSnapshotsInProgress() (This)->lpVtbl->AbortAllSnapshotsInProgress(This)144#define IVssAdmin_AbortAllSnapshotsInProgress(This) (This)->lpVtbl->AbortAllSnapshotsInProgress(This)
43#endif /*COBJMACROS*/145#else
44#endif /*(_WIN32_WINNT >= 0x600)*/146/*** IUnknown methods ***/
45#endif /*_INC_VSWRITER*/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,756 +1,4442 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/vsbackup.idl - Do not edit ***/
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
82
9#include <vss.h>3#ifdef _WIN32
10#include <vswriter.h>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;
12#ifdef __cplusplus24#ifdef __cplusplus
13extern "C" {25interface IVssWMComponent;
26#endif /* __cplusplus */
14#endif27#endif
1528
16typedef struct VSS_COMPONENTINFO {29#ifndef __IVssExamineWriterMetadata_FWD_DEFINED__
17 VSS_COMPONENT_TYPE type;30#define __IVssExamineWriterMetadata_FWD_DEFINED__
18 BSTR bstrLogicalPath;31typedef interface IVssExamineWriterMetadata IVssExamineWriterMetadata;
19 BSTR bstrComponentName;32#ifdef __cplusplus
20 BSTR bstrCaption;33interface IVssExamineWriterMetadata;
21 BYTE *pbIcon;34#endif /* __cplusplus */
22 UINT cbIcon;35#endif
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);}
9936
37#ifndef __IVssExamineWriterMetadataEx_FWD_DEFINED__
38#define __IVssExamineWriterMetadataEx_FWD_DEFINED__
39typedef interface IVssExamineWriterMetadataEx IVssExamineWriterMetadataEx;
100#ifdef __cplusplus40#ifdef __cplusplus
101}41interface IVssExamineWriterMetadataEx;
42#endif /* __cplusplus */
102#endif43#endif
10344
104#undef INTERFACE45#ifndef __IVssExamineWriterMetadataEx2_FWD_DEFINED__
105#define INTERFACE IVssBackupComponents46#define __IVssExamineWriterMetadataEx2_FWD_DEFINED__
106#ifdef __GNUC__47typedef interface IVssExamineWriterMetadataEx2 IVssExamineWriterMetadataEx2;
107#warning COM interfaces layout in this header has not been verified.48#ifdef __cplusplus
108#warning COM interfaces with incorrect layout may not work at all.49interface IVssExamineWriterMetadataEx2;
109__MINGW_BROKEN_INTERFACE(INTERFACE)50#endif /* __cplusplus */
110#endif51#endif
111DECLARE_INTERFACE_(IVssBackupComponents,IUnknown)
112{
113 BEGIN_INTERFACE
11452
115 /* IUnknown methods */53#ifndef __IVssWriterComponentsExt_FWD_DEFINED__
116 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;54#define __IVssWriterComponentsExt_FWD_DEFINED__
117 STDMETHOD_(ULONG, AddRef)(THIS) PURE;55typedef interface IVssWriterComponentsExt IVssWriterComponentsExt;
118 STDMETHOD_(ULONG, Release)(THIS) PURE;56#ifdef __cplusplus
11957interface IVssWriterComponentsExt;
120 /* IVssBackupComponents methods */58#endif /* __cplusplus */
121 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;59#endif
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;
16960
170 END_INTERFACE61#ifndef __IVssBackupComponents_FWD_DEFINED__
171};62#define __IVssBackupComponents_FWD_DEFINED__
172#ifdef COBJMACROS63typedef interface IVssBackupComponents IVssBackupComponents;
173#define IVssBackupComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)64#ifdef __cplusplus
174#define IVssBackupComponents_AddRef(This) (This)->lpVtbl->AddRef(This)65interface IVssBackupComponents;
175#define IVssBackupComponents_Release(This) (This)->lpVtbl->Release(This)66#endif /* __cplusplus */
176#define IVssBackupComponents_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)67#endif
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*/
22568
226#if (_WIN32_WINNT >= 0x0600)69#ifndef __IVssBackupComponentsEx_FWD_DEFINED__
227#undef INTERFACE70#define __IVssBackupComponentsEx_FWD_DEFINED__
228#define INTERFACE IVssBackupComponentsEx71typedef interface IVssBackupComponentsEx IVssBackupComponentsEx;
229#ifdef __GNUC__72#ifdef __cplusplus
230#warning COM interfaces layout in this header has not been verified.73interface IVssBackupComponentsEx;
231#warning COM interfaces with incorrect layout may not work at all.74#endif /* __cplusplus */
232__MINGW_BROKEN_INTERFACE(INTERFACE)
233#endif75#endif
234DECLARE_INTERFACE_(IVssBackupComponentsEx,IVssBackupComponents)
235{
236 BEGIN_INTERFACE
23776
238 /* IUnknown methods */77#ifndef __IVssBackupComponentsEx2_FWD_DEFINED__
239 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;78#define __IVssBackupComponentsEx2_FWD_DEFINED__
240 STDMETHOD_(ULONG, AddRef)(THIS) PURE;79typedef interface IVssBackupComponentsEx2 IVssBackupComponentsEx2;
241 STDMETHOD_(ULONG, Release)(THIS) PURE;80#ifdef __cplusplus
24281interface IVssBackupComponentsEx2;
243 /* IVssBackupComponents methods */82#endif /* __cplusplus */
244 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;83#endif
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;
29684
297 END_INTERFACE85#ifndef __IVssBackupComponentsEx3_FWD_DEFINED__
298};86#define __IVssBackupComponentsEx3_FWD_DEFINED__
299#ifdef COBJMACROS87typedef interface IVssBackupComponentsEx3 IVssBackupComponentsEx3;
300#define IVssBackupComponentsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)88#ifdef __cplusplus
301#define IVssBackupComponentsEx_AddRef(This) (This)->lpVtbl->AddRef(This)89interface IVssBackupComponentsEx3;
302#define IVssBackupComponentsEx_Release(This) (This)->lpVtbl->Release(This)90#endif /* __cplusplus */
303#define IVssBackupComponentsEx_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)91#endif
304#define IVssBackupComponentsEx_GetWriterComponents(This,iWriter,pWriterComponents) (This)->lpVtbl->GetWriterComponents(This,iWriter,pWriterComponents)92
305#define IVssBackupComponentsEx_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML)93#ifndef __IVssBackupComponentsEx4_FWD_DEFINED__
306#define IVssBackupComponentsEx_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport)94#define __IVssBackupComponentsEx4_FWD_DEFINED__
307#define IVssBackupComponentsEx_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML)95typedef interface IVssBackupComponentsEx4 IVssBackupComponentsEx4;
308#define IVssBackupComponentsEx_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType)96#ifdef __cplusplus
309#define IVssBackupComponentsEx_GatherWriterMetadata(This,ppAsync) (This)->lpVtbl->GatherWriterMetadata(This,ppAsync)97interface IVssBackupComponentsEx4;
310#define IVssBackupComponentsEx_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters)98#endif /* __cplusplus */
311#define IVssBackupComponentsEx_GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidWriterInstance,ppMetadata)99#endif
312#define IVssBackupComponentsEx_FreeWriterMetadata() (This)->lpVtbl->FreeWriterMetadata(This)100
313#define IVssBackupComponentsEx_AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,componentType,wszLogicalPath,wszComponentName)101/* Headers for imported files */
314#define IVssBackupComponentsEx_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync)102
315#define IVssBackupComponentsEx_AbortBackup() (This)->lpVtbl->AbortBackup(This)103#include <oaidl.h>
316#define IVssBackupComponentsEx_GatherWriterStatus(This,ppAsync) (This)->lpVtbl->GatherWriterStatus(This,ppAsync)104#include <ocidl.h>
317#define IVssBackupComponentsEx_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters)105#include <vss.h>
318#define IVssBackupComponentsEx_FreeWriterStatus() (This)->lpVtbl->FreeWriterStatus(This)106#include <vswriter.h>
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*/
354107
355#undef INTERFACE108#ifdef __cplusplus
356#define INTERFACE IVssBackupComponentsEx2109extern "C" {
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)
361#endif110#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
363{142{
364 BEGIN_INTERFACE143 virtual HRESULT STDMETHODCALLTYPE GetComponentInfo(
144 PVSSCOMPONENTINFO *ppInfo) = 0;
365145
366 /* IUnknown methods */146 virtual HRESULT STDMETHODCALLTYPE FreeComponentInfo(
367 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;147 PVSSCOMPONENTINFO pInfo) = 0;
368 STDMETHOD_(ULONG, AddRef)(THIS) PURE;148
369 STDMETHOD_(ULONG, Release)(THIS) PURE;149 virtual HRESULT STDMETHODCALLTYPE GetFile(
370150 UINT iFile,
371 /* IVssBackupComponents methods */151 IVssWMFiledesc **ppFiledesc) = 0;
372 STDMETHOD_(HRESULT,GetWriterComponentsCount)(THIS_ UINT *pcComponents) PURE;152
373 STDMETHOD_(HRESULT,GetWriterComponents)(THIS_ UINT iWriter,IVssWriterComponentsExt **pWriterComponents) PURE;153 virtual HRESULT STDMETHODCALLTYPE GetDatabaseFile(
374 STDMETHOD_(HRESULT,InitializeForBackup)(THIS_ BSTR bstrXML) PURE;154 UINT iDBFile,
375 STDMETHOD_(HRESULT,SetBackupState)(THIS_ BOOLEAN bSelectComponents,BOOLEAN bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,BOOLEAN bPartialFileSupport) PURE;155 IVssWMFiledesc **ppFiledesc) = 0;
376 STDMETHOD_(HRESULT,InitializeForRestore)(THIS_ BSTR bstrXML) PURE;156
377 STDMETHOD_(HRESULT,SetRestoreState)(THIS_ VSS_RESTORE_TYPE restoreType) PURE;157 virtual HRESULT STDMETHODCALLTYPE GetDatabaseLogFile(
378 STDMETHOD_(HRESULT,GatherWriterMetadata)(THIS_ IVssAsync **ppAsync) PURE;158 UINT iDbLogFile,
379 STDMETHOD_(HRESULT,GetWriterMetadataCount)(THIS_ UINT *pcWriters) PURE;159 IVssWMFiledesc **ppFiledesc) = 0;
380 STDMETHOD_(HRESULT,GetWriterMetadata)(THIS_ UINT iWriter,VSS_ID *pidWriterInstance,IVssExamineWriterMetadata **ppMetadata) PURE;160
381 STDMETHOD_(HRESULT,FreeWriterMetadata)(THIS) PURE;161 virtual HRESULT STDMETHODCALLTYPE GetDependency(
382 STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) PURE;162 UINT iDependency,
383 STDMETHOD_(HRESULT,PrepareForBackup)(THIS_ IVssAsync **ppAsync) PURE;163 IVssWMDependency **ppDependency) = 0;
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*/
433164
434 END_INTERFACE
435};165};
436#ifdef COBJMACROS166#ifdef __CRT_UUID_DECL
437#define IVssBackupComponentsEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)167__CRT_UUID_DECL(IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
438#define IVssBackupComponentsEx2_AddRef(This) (This)->lpVtbl->AddRef(This)168#endif
439#define IVssBackupComponentsEx2_Release(This) (This)->lpVtbl->Release(This)169#else
440#define IVssBackupComponentsEx2_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents)170typedef struct IVssWMComponentVtbl {
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{
510 BEGIN_INTERFACE171 BEGIN_INTERFACE
511172
512 /* IUnknown methods */173 /*** IUnknown methods ***/
513 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;174 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
514 STDMETHOD_(ULONG, AddRef)(THIS) PURE;175 IVssWMComponent *This,
515 STDMETHOD_(ULONG, Release)(THIS) PURE;176 REFIID riid,
516177 void **ppvObject);
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;
585178
586 END_INTERFACE179 ULONG (STDMETHODCALLTYPE *AddRef)(
587};180 IVssWMComponent *This);
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)*/
598181
599#ifdef __cplusplus182 ULONG (STDMETHODCALLTYPE *Release)(
600/* Is a C++ interface instead of a COM */183 IVssWMComponent *This);
601#undef INTERFACE184
602#define INTERFACE IVssExamineWriterMetadata185 /*** IVssWMComponent methods ***/
603#ifdef __GNUC__186 HRESULT (STDMETHODCALLTYPE *GetComponentInfo)(
604#warning COM interfaces layout in this header has not been verified.187 IVssWMComponent *This,
605#warning COM interfaces with incorrect layout may not work at all.188 PVSSCOMPONENTINFO *ppInfo);
606__MINGW_BROKEN_INTERFACE(INTERFACE)189
607#endif190 HRESULT (STDMETHODCALLTYPE *FreeComponentInfo)(
608DECLARE_INTERFACE_(IVssExamineWriterMetadata,IUnknown)191 IVssWMComponent *This,
609{192 PVSSCOMPONENTINFO pInfo);
610 BEGIN_INTERFACE193
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 */204 HRESULT (STDMETHODCALLTYPE *GetDatabaseLogFile)(
613 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;205 IVssWMComponent *This,
614 STDMETHOD_(ULONG, AddRef)(THIS) PURE;206 UINT iDbLogFile,
615 STDMETHOD_(ULONG, Release)(THIS) PURE;207 IVssWMFiledesc **ppFiledesc);
616208
617 /* IVssExamineWriterMetadata methods */209 HRESULT (STDMETHODCALLTYPE *GetDependency)(
618 STDMETHOD_(HRESULT,GetIdentity)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;210 IVssWMComponent *This,
619 STDMETHOD_(HRESULT,GetFileCounts)(THIS_ UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) PURE;211 UINT iDependency,
620 STDMETHOD_(HRESULT,GetIncludeFile)(THIS) PURE;212 IVssWMDependency **ppDependency);
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;
629213
630 END_INTERFACE214 END_INTERFACE
215} IVssWMComponentVtbl;
216
217interface IVssWMComponent {
218 CONST_VTBL IVssWMComponentVtbl* lpVtbl;
631};219};
632220
633#if (_WIN32_WINNT >= 0x0600)221#ifdef COBJMACROS
634#undef INTERFACE222#ifndef WIDL_C_INLINE_WRAPPERS
635#define INTERFACE IVssExamineWriterMetadataEx223/*** IUnknown methods ***/
636#ifdef __GNUC__224#define IVssWMComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
637#warning COM interfaces layout in this header has not been verified.225#define IVssWMComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
638#warning COM interfaces with incorrect layout may not work at all.226#define IVssWMComponent_Release(This) (This)->lpVtbl->Release(This)
639__MINGW_BROKEN_INTERFACE(INTERFACE)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
640#endif267#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
642{282{
643 BEGIN_INTERFACE283 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 */290 virtual HRESULT STDMETHODCALLTYPE GetFileCounts(
646 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;291 UINT *pcIncludeFiles,
647 STDMETHOD_(ULONG, AddRef)(THIS) PURE;292 UINT *pcExcludeFiles,
648 STDMETHOD_(ULONG, Release)(THIS) PURE;293 UINT *pcComponents) = 0;
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;
665294
666 END_INTERFACE295 virtual HRESULT STDMETHODCALLTYPE GetIncludeFile(
667};296 UINT iFile,
297 IVssWMFiledesc **ppFiledesc) = 0;
298
299 virtual HRESULT STDMETHODCALLTYPE GetExcludeFile(
300 UINT iFile,
301 IVssWMFiledesc **ppFiledesc) = 0;
668302
669#undef INTERFACE303 virtual HRESULT STDMETHODCALLTYPE GetComponent(
670#define INTERFACE IVssExamineWriterMetadataEx2304 UINT iComponent,
671#ifdef __GNUC__305 IVssWMComponent **ppComponent) = 0;
672#warning COM interfaces layout in this header has not been verified.306
673#warning COM interfaces with incorrect layout may not work at all.307 virtual HRESULT STDMETHODCALLTYPE GetRestoreMethod(
674__MINGW_BROKEN_INTERFACE(INTERFACE)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)
675#endif334#endif
676DECLARE_INTERFACE_(IVssExamineWriterMetadataEx2,IVssExamineWriterMetadataEx)335#else
677{336typedef struct IVssExamineWriterMetadataVtbl {
678 BEGIN_INTERFACE337 BEGIN_INTERFACE
679338
680 /* IUnknown methods */339 /*** IUnknown methods ***/
681 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;340 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
682 STDMETHOD_(ULONG, AddRef)(THIS) PURE;341 IVssExamineWriterMetadata *This,
683 STDMETHOD_(ULONG, Release)(THIS) PURE;342 REFIID riid,
684343 void **ppvObject);
685/* IVssExamineWriterMetadata methods */344
686 STDMETHOD_(HRESULT,GetIdentity)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;345 ULONG (STDMETHODCALLTYPE *AddRef)(
687 STDMETHOD_(HRESULT,GetFileCounts)(THIS_ UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) PURE;346 IVssExamineWriterMetadata *This);
688 STDMETHOD_(HRESULT,GetIncludeFile)(THIS) PURE;347
689 STDMETHOD_(HRESULT,GetExcludeFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;348 ULONG (STDMETHODCALLTYPE *Release)(
690 STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssWMComponent **ppComponent) PURE;349 IVssExamineWriterMetadata *This);
691 STDMETHOD_(HRESULT,GetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwreWriterRestore,BOOLEAN *pbRebootRequired,UINT *piMappings) PURE;350
692 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,IVssWMFiledesc **ppMapping) PURE;351 /*** IVssExamineWriterMetadata methods ***/
693 STDMETHOD_(HRESULT,GetBackupSchema)(THIS_ DWORD *pdsSchemaMask) PURE;352 HRESULT (STDMETHODCALLTYPE *GetIdentity)(
694 STDMETHOD_(HRESULT,GetDocument)(THIS) PURE;353 IVssExamineWriterMetadata *This,
695 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;354 VSS_ID *pidInstance,
696 STDMETHOD_(HRESULT,LoadFromXML)(THIS_ BSTR bstrXML) PURE;355 VSS_ID *pidWriter,
697356 BSTR *pbstrWriterName,
698 /* IVssExamineWriterMetadataEx methods */357 VSS_USAGE_TYPE *pUsage,
699 STDMETHOD_(HRESULT,GetIdentityEx)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) PURE;358 VSS_SOURCE_TYPE *pSource);
700359
701 /* IVssExamineWriterMetadataEx2 methods */360 HRESULT (STDMETHODCALLTYPE *GetFileCounts)(
702 STDMETHOD_(HRESULT,GetVersion)(THIS_ DWORD *pdwMajorVersion,DWORD *pdwMinorVersion) PURE;361 IVssExamineWriterMetadata *This,
703 STDMETHOD_(HRESULT,GetExcludeFromSnapshotCount)(THIS_ UINT *pcExcludedFromSnapshot) PURE;362 UINT *pcIncludeFiles,
704 STDMETHOD_(HRESULT,GetExcludeFromSnapshotFile)(THIS_ UINT iFile,IVssWMFiledesc **ppFiledesc) PURE;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
706 END_INTERFACE411 END_INTERFACE
412} IVssExamineWriterMetadataVtbl;
413
414interface IVssExamineWriterMetadata {
415 CONST_VTBL IVssExamineWriterMetadataVtbl* lpVtbl;
707};416};
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)
717#endif484#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 */487#endif /* __IVssExamineWriterMetadata_INTERFACE_DEFINED__ */
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;
734488
735 END_INTERFACE489/*****************************************************************************
736};490 * IVssExamineWriterMetadataEx interface
491 */
492#ifndef __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__
493#define __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__
737494
738#undef INTERFACE495DEFINE_GUID(IID_IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51);
739#define INTERFACE IVssWriterComponentsExt496#if defined(__cplusplus) && !defined(CINTERFACE)
740DECLARE_INTERFACE_(IVssWriterComponentsExt,IUnknown)497MIDL_INTERFACE("0c0e5ec0-ca44-472b-b702-e652db1c0451")
498IVssExamineWriterMetadataEx : public IVssExamineWriterMetadata
741{499{
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 {
742 BEGIN_INTERFACE514 BEGIN_INTERFACE
743515
744 /* IUnknown methods */516 /*** IUnknown methods ***/
745 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;517 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
746 STDMETHOD_(ULONG, AddRef)(THIS) PURE;518 IVssExamineWriterMetadataEx *This,
747 STDMETHOD_(ULONG, Release)(THIS) PURE;519 REFIID riid,
520 void **ppvObject);
748521
749 /* IVssWriterComponentsExt methods */522 ULONG (STDMETHODCALLTYPE *AddRef)(
750 /* No additional members */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
752 END_INTERFACE4125 END_INTERFACE
4126} IVssBackupComponentsEx4Vtbl;
4127
4128interface IVssBackupComponentsEx4 {
4129 CONST_VTBL IVssBackupComponentsEx4Vtbl* lpVtbl;
753};4130};
7544131
755#endif /*__cplusplus*/4132#ifdef COBJMACROS
756#endif /*_INC_VSBACKUP*/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,337 +1,1088 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/vsmgmt.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5 */5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#ifndef _INC_VSMGT6#endif
7#define _INC_VSMGT7#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>
9#include <vss.h>82#include <vss.h>
1083
11#ifdef __cplusplus84#ifdef __cplusplus
12extern "C" {85extern "C" {
13#endif86#endif
1487
15typedef enum _VSS_PROTECTION_FAULT {88#include <winapifamily.h>
16 VSS_PROTECTION_FAULT_NONE = 0,89#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
17 VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = ( VSS_PROTECTION_FAULT_NONE + 1 ),90typedef enum _VSS_MGMT_OBJECT_TYPE {
18 VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = ( VSS_PROTECTION_FAULT_DIFF_AREA_MISSING + 1 ),91 VSS_MGMT_OBJECT_UNKNOWN = 0,
19 VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = ( VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE + 1 ),92 VSS_MGMT_OBJECT_VOLUME = 1,
20 VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = ( VSS_PROTECTION_FAULT_META_DATA_CORRUPTION + 1 ),93 VSS_MGMT_OBJECT_DIFF_VOLUME = 2,
21 VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = ( VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE + 1 ),94 VSS_MGMT_OBJECT_DIFF_AREA = 3
22 VSS_PROTECTION_FAULT_COW_READ_FAILURE = ( VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE + 1 ),95} VSS_MGMT_OBJECT_TYPE;
23 VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = ( VSS_PROTECTION_FAULT_COW_READ_FAILURE + 1 ),96typedef enum _VSS_MGMT_OBJECT_TYPE *PVSS_MGMT_OBJECT_TYPE;
24 VSS_PROTECTION_FAULT_DIFF_AREA_FULL = ( VSS_PROTECTION_FAULT_COW_WRITE_FAILURE + 1 ),97#define VSS_ASSOC_NO_MAX_SPACE (-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;
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;
34typedef enum _VSS_PROTECTION_LEVEL {132typedef enum _VSS_PROTECTION_LEVEL {
35 VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0,133 VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0,
36 VSS_PROTECTION_LEVEL_SNAPSHOT = ( VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME + 1 ) 134 VSS_PROTECTION_LEVEL_SNAPSHOT = 1
37} VSS_PROTECTION_LEVEL;135} 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 {174#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
40 VSS_MGMT_OBJECT_UNKNOWN = 0,175#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
41 VSS_MGMT_OBJECT_VOLUME = 1,176typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
42 VSS_MGMT_OBJECT_DIFF_VOLUME = 2,177#ifdef __cplusplus
43 VSS_MGMT_OBJECT_DIFF_AREA = 3 178interface IVssDifferentialSoftwareSnapshotMgmt;
44} VSS_MGMT_OBJECT_TYPE, *PVSS_MGMT_OBJECT_TYPE;179#endif /* __cplusplus */
180#endif
45181
46typedef struct _VSS_VOLUME_PROP {182#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
47 VSS_PWSZ m_pwszVolumeName;183#define __IVssEnumMgmtObject_FWD_DEFINED__
48 VSS_PWSZ m_pwszVolumeDisplayName;184typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
49} VSS_VOLUME_PROP, *PVSS_VOLUME_PROP;185#ifdef __cplusplus
186interface IVssEnumMgmtObject;
187#endif /* __cplusplus */
188#endif
50189
51typedef struct _VSS_VOLUME_PROTECTION_INFO {190/*****************************************************************************
52 VSS_PROTECTION_LEVEL m_protectionLevel;191 * IVssSnapshotMgmt interface
53 WINBOOL m_volumeIsOfflineForProtection;192 */
54 VSS_PROTECTION_FAULT m_protectionFault;193#ifndef __IVssSnapshotMgmt_INTERFACE_DEFINED__
55 LONG m_failureStatus;194#define __IVssSnapshotMgmt_INTERFACE_DEFINED__
56 WINBOOL m_volumeHasUnusedDiffArea;
57 DWORD m_reserved;
58} VSS_VOLUME_PROTECTION_INFO;
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 {206 virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForSnapshots(
63 VSS_PWSZ m_pwszVolumeName;207 VSS_ID ProviderId,
64 VSS_PWSZ m_pwszDiffAreaVolumeName;208 LONG lContext,
65 LONGLONG m_llMaximumDiffSpace;209 IVssEnumMgmtObject **ppEnum) = 0;
66 LONGLONG m_llAllocatedDiffSpace;
67 LONGLONG m_llUsedDiffSpace;
68} VSS_DIFF_AREA_PROP, *PVSS_DIFF_AREA_PROP;
69210
70typedef struct _VSS_DIFF_VOLUME_PROP {211 virtual HRESULT STDMETHODCALLTYPE QuerySnapshotsByVolume(
71 VSS_PWSZ m_pwszVolumeName;212 VSS_PWSZ pwszVolumeName,
72 VSS_PWSZ m_pwszVolumeDisplayName;213 VSS_ID ProviderId,
73 LONGLONG m_llVolumeFreeSpace;214 IVssEnumObject **ppEnum) = 0;
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;
82215
83typedef struct _VSS_MGMT_OBJECT_PROP {216};
84 VSS_MGMT_OBJECT_TYPE Type;217#ifdef __CRT_UUID_DECL
85 VSS_MGMT_OBJECT_UNION Obj;218__CRT_UUID_DECL(IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72)
86} VSS_MGMT_OBJECT_PROP, *PVSS_MGMT_OBJECT_PROP;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 __cplusplus230 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);
91}279}
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
92#endif294#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)
101#endif296#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
103{311{
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 {
104 BEGIN_INTERFACE321 BEGIN_INTERFACE
105322
106 /* IUnknown methods */323 /*** IUnknown methods ***/
107 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;324 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
108 STDMETHOD_(ULONG, AddRef)(THIS) PURE;325 IVssSnapshotMgmt2 *This,
109 STDMETHOD_(ULONG, Release)(THIS) PURE;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 */335 /*** IVssSnapshotMgmt2 methods ***/
112 STDMETHOD_(HRESULT,AddDiffArea)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;336 HRESULT (STDMETHODCALLTYPE *GetMinDiffAreaSize)(
113 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSize)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;337 IVssSnapshotMgmt2 *This,
114 STDMETHOD_(HRESULT,QueryVolumesSupportedForDiffAreas)(THIS_ VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) PURE;338 LONGLONG *pllMinDiffAreaSize);
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 */
119339
120 END_INTERFACE340 END_INTERFACE
341} IVssSnapshotMgmt2Vtbl;
342
343interface IVssSnapshotMgmt2 {
344 CONST_VTBL IVssSnapshotMgmt2Vtbl* lpVtbl;
121};345};
346
122#ifdef COBJMACROS347#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 ***/
123#define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)478#define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
124#define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)479#define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
125#define IVssDifferentialSoftwareSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)480#define IVssDifferentialSoftwareSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
481/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
126#define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)482#define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
127#define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)483#define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
128#define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)484#define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
129#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)485#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
130#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)486#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
131#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)487#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
132#define IVssDifferentialSoftwareSnapshotMgmt_Opmun08NotUsedOnWire(This)488#else
133#endif /*COBJMACROS*/489/*** IUnknown methods ***/
134490static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt* This,REFIID riid,void **ppvObject) {
135#if (_WIN32_WINNT >= 0x0600)491 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
136#undef INTERFACE492}
137#define INTERFACE IVssDifferentialSoftwareSnapshotMgmt2493static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt_AddRef(IVssDifferentialSoftwareSnapshotMgmt* This) {
138#ifdef __GNUC__494 return This->lpVtbl->AddRef(This);
139#warning COM interfaces layout in this header has not been verified.495}
140#warning COM interfaces with incorrect layout may not work at all.496static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt_Release(IVssDifferentialSoftwareSnapshotMgmt* This) {
141__MINGW_BROKEN_INTERFACE(INTERFACE)497 return This->lpVtbl->Release(This);
142#endif498}
143DECLARE_INTERFACE_(IVssDifferentialSoftwareSnapshotMgmt2,IVssDifferentialSoftwareSnapshotMgmt)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
144{536{
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 {
145 BEGIN_INTERFACE563 BEGIN_INTERFACE
146564
147 /* IUnknown methods */565 /*** IUnknown methods ***/
148 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;566 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
149 STDMETHOD_(ULONG, AddRef)(THIS) PURE;567 IVssDifferentialSoftwareSnapshotMgmt2 *This,
150 STDMETHOD_(ULONG, Release)(THIS) PURE;568 REFIID riid,
151569 void **ppvObject);
152 /* IVssDifferentialSoftwareSnapshotMgmt methods */570
153 STDMETHOD_(HRESULT,AddDiffArea)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;571 ULONG (STDMETHODCALLTYPE *AddRef)(
154 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSize)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;572 IVssDifferentialSoftwareSnapshotMgmt2 *This);
155 STDMETHOD_(HRESULT,QueryVolumesSupportedForDiffAreas)(THIS_ VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) PURE;573
156 STDMETHOD_(HRESULT,QueryDiffAreasForVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;574 ULONG (STDMETHODCALLTYPE *Release)(
157 STDMETHOD_(HRESULT,QueryDiffAreasOnVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;575 IVssDifferentialSoftwareSnapshotMgmt2 *This);
158 STDMETHOD_(HRESULT,QueryDiffAreasForSnapshot)(THIS_ VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) PURE;576
159577 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
160 /* IVssDifferentialSoftwareSnapshotMgmt2 methods */578 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
161 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSizeEx)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) PURE;579 IVssDifferentialSoftwareSnapshotMgmt2 *This,
162 STDMETHOD_(HRESULT,MigrateDiffAreas)(THIS) PURE; /*Unsupported*/580 VSS_PWSZ pwszVolumeName,
163 STDMETHOD_(HRESULT,QueryMigrationStatus)(THIS) PURE; /*Unsupported*/581 VSS_PWSZ pwszDiffAreaVolumeName,
164 STDMETHOD_(HRESULT,SetSnapshotPriority)(THIS) PURE; /*Unsupported*/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
166 END_INTERFACE635 END_INTERFACE
636} IVssDifferentialSoftwareSnapshotMgmt2Vtbl;
637
638interface IVssDifferentialSoftwareSnapshotMgmt2 {
639 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt2Vtbl* lpVtbl;
167};640};
641
168#ifdef COBJMACROS642#ifdef COBJMACROS
643#ifndef WIDL_C_INLINE_WRAPPERS
644/*** IUnknown methods ***/
169#define IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)645#define IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
170#define IVssDifferentialSoftwareSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)646#define IVssDifferentialSoftwareSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
171#define IVssDifferentialSoftwareSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)647#define IVssDifferentialSoftwareSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
648/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
172#define IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)649#define IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
173#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)650#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
174#define IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)651#define IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
175#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)652#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
176#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)653#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
177#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)654#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
655/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
178#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)656#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
179#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas() (This)->lpVtbl->MigrateDiffAreas(This)657#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
180#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus() (This)->lpVtbl->QueryMigrationStatus(This)658#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
181#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority() (This)->lpVtbl->SetSnapshotPriority(This)659#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
182#endif /*COBJMACROS*/660#else
183661/*** IUnknown methods ***/
184#undef INTERFACE662static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
185#define INTERFACE IVssDifferentialSoftwareSnapshotMgmt3663 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
186#ifdef __GNUC__664}
187#warning COM interfaces layout in this header has not been verified.665static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt2_AddRef(IVssDifferentialSoftwareSnapshotMgmt2* This) {
188#warning COM interfaces with incorrect layout may not work at all.666 return This->lpVtbl->AddRef(This);
189__MINGW_BROKEN_INTERFACE(INTERFACE)667}
190#endif668static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt2_Release(IVssDifferentialSoftwareSnapshotMgmt2* This) {
191DECLARE_INTERFACE_(IVssDifferentialSoftwareSnapshotMgmt3,IVssDifferentialSoftwareSnapshotMgmt2)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
192{721{
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 {
193 BEGIN_INTERFACE749 BEGIN_INTERFACE
194750
195 /* IUnknown methods */751 /*** IUnknown methods ***/
196 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;752 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
197 STDMETHOD_(ULONG, AddRef)(THIS) PURE;753 IVssDifferentialSoftwareSnapshotMgmt3 *This,
198 STDMETHOD_(ULONG, Release)(THIS) PURE;754 REFIID riid,
199755 void **ppvObject);
200 /* IVssDifferentialSoftwareSnapshotMgmt methods */756
201 STDMETHOD_(HRESULT,AddDiffArea)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;757 ULONG (STDMETHODCALLTYPE *AddRef)(
202 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSize)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) PURE;758 IVssDifferentialSoftwareSnapshotMgmt3 *This);
203 STDMETHOD_(HRESULT,QueryVolumesSupportedForDiffAreas)(THIS_ VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) PURE;759
204 STDMETHOD_(HRESULT,QueryDiffAreasForVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;760 ULONG (STDMETHODCALLTYPE *Release)(
205 STDMETHOD_(HRESULT,QueryDiffAreasOnVolume)(THIS_ VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) PURE;761 IVssDifferentialSoftwareSnapshotMgmt3 *This);
206 STDMETHOD_(HRESULT,QueryDiffAreasForSnapshot)(THIS_ VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) PURE;762
207763 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
208 /* IVssDifferentialSoftwareSnapshotMgmt2 methods */764 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
209 STDMETHOD_(HRESULT,ChangeDiffAreaMaximumSizeEx)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) PURE;765 IVssDifferentialSoftwareSnapshotMgmt3 *This,
210 STDMETHOD_(HRESULT,MigrateDiffAreas)(THIS) PURE; /*Unsupported*/766 VSS_PWSZ pwszVolumeName,
211 STDMETHOD_(HRESULT,QueryMigrationStatus)(THIS) PURE; /*Unsupported*/767 VSS_PWSZ pwszDiffAreaVolumeName,
212 STDMETHOD_(HRESULT,SetSnapshotPriority)(THIS) PURE; /*Unsupported*/768 LONGLONG llMaximumDiffSpace);
213769
214 /* IVssDifferentialSoftwareSnapshotMgmt3 methods */770 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
215 STDMETHOD_(HRESULT,SetVolumeProtectLevel)(THIS_ VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) PURE;771 IVssDifferentialSoftwareSnapshotMgmt3 *This,
216 STDMETHOD_(HRESULT,GetVolumeProtectLevel)(THIS_ VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) PURE;772 VSS_PWSZ pwszVolumeName,
217 STDMETHOD_(HRESULT,ClearVolumeProtectFault)(THIS_ VSS_PWSZ pwszVolumeName) PURE;773 VSS_PWSZ pwszDiffAreaVolumeName,
218 STDMETHOD_(HRESULT,DeleteUnusedDiffAreas)(THIS_ VSS_PWSZ pwszDiffAreaVolumeName) PURE;774 LONGLONG llMaximumDiffSpace);
219 STDMETHOD_(HRESULT,QuerySnapshotDeltaBitmap)(THIS) PURE; /*Unsupported*/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
221 END_INTERFACE848 END_INTERFACE
849} IVssDifferentialSoftwareSnapshotMgmt3Vtbl;
850
851interface IVssDifferentialSoftwareSnapshotMgmt3 {
852 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt3Vtbl* lpVtbl;
222};853};
854
223#ifdef COBJMACROS855#ifdef COBJMACROS
856#ifndef WIDL_C_INLINE_WRAPPERS
857/*** IUnknown methods ***/
224#define IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)858#define IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
225#define IVssDifferentialSoftwareSnapshotMgmt3_AddRef(This) (This)->lpVtbl->AddRef(This)859#define IVssDifferentialSoftwareSnapshotMgmt3_AddRef(This) (This)->lpVtbl->AddRef(This)
226#define IVssDifferentialSoftwareSnapshotMgmt3_Release(This) (This)->lpVtbl->Release(This)860#define IVssDifferentialSoftwareSnapshotMgmt3_Release(This) (This)->lpVtbl->Release(This)
861/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
227#define IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)862#define IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
228#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)863#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
229#define IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)864#define IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
230#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)865#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
231#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)866#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
232#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)867#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
868/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
233#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)869#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
234#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas() (This)->lpVtbl->MigrateDiffAreas(This)870#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
235#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus() (This)->lpVtbl->QueryMigrationStatus(This)871#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
236#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority() (This)->lpVtbl->SetSnapshotPriority(This)872#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
873/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
237#define IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)874#define IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
238#define IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)875#define IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
239#define IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(This,pwszVolumeName) (This)->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName)876#define IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(This,pwszVolumeName) (This)->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName)
240#define IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) (This)->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName)877#define IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) (This)->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName)
241#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap() (This)->lpVtbl->QuerySnapshotDeltaBitmap(This)878#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap) (This)->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap)
242#endif /*COBJMACROS*/879#else
243880/*** IUnknown methods ***/
244#undef INTERFACE881static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt3* This,REFIID riid,void **ppvObject) {
245#define INTERFACE IVssEnumMgmtObject882 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
246/*IID_IVssEnumMgmtObject is defined as 01954E6B-9254-4e6e-808C-C9E05D007696*/883}
247#ifdef __GNUC__884static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt3_AddRef(IVssDifferentialSoftwareSnapshotMgmt3* This) {
248#warning COM interfaces layout in this header has not been verified.885 return This->lpVtbl->AddRef(This);
249#warning COM interfaces with incorrect layout may not work at all.886}
250__MINGW_BROKEN_INTERFACE(INTERFACE)887static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt3_Release(IVssDifferentialSoftwareSnapshotMgmt3* This) {
251#endif888 return This->lpVtbl->Release(This);
252DECLARE_INTERFACE_(IVssEnumMgmtObject,IUnknown)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
253{956{
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 {
254 BEGIN_INTERFACE977 BEGIN_INTERFACE
255978
256 /* IUnknown methods */979 /*** IUnknown methods ***/
257 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;980 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
258 STDMETHOD_(ULONG, AddRef)(THIS) PURE;981 IVssEnumMgmtObject *This,
259 STDMETHOD_(ULONG, Release)(THIS) PURE;982 REFIID riid,
983 void **ppvObject);
260984
261 /* IVssEnumMgmtObject methods */985 ULONG (STDMETHODCALLTYPE *AddRef)(
262 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) PURE;986 IVssEnumMgmtObject *This);
263 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;987
264 STDMETHOD_(HRESULT,Reset)(THIS) PURE;988 ULONG (STDMETHODCALLTYPE *Release)(
265 STDMETHOD_(HRESULT,Clone)(THIS_ IVssEnumMgmtObject **ppenum) PURE;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
267 END_INTERFACE1009 END_INTERFACE
1010} IVssEnumMgmtObjectVtbl;
1011
1012interface IVssEnumMgmtObject {
1013 CONST_VTBL IVssEnumMgmtObjectVtbl* lpVtbl;
268};1014};
1015
269#ifdef COBJMACROS1016#ifdef COBJMACROS
1017#ifndef WIDL_C_INLINE_WRAPPERS
1018/*** IUnknown methods ***/
270#define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1019#define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
271#define IVssEnumMgmtObject_AddRef(This) (This)->lpVtbl->AddRef(This)1020#define IVssEnumMgmtObject_AddRef(This) (This)->lpVtbl->AddRef(This)
272#define IVssEnumMgmtObject_Release(This) (This)->lpVtbl->Release(This)1021#define IVssEnumMgmtObject_Release(This) (This)->lpVtbl->Release(This)
1022/*** IVssEnumMgmtObject methods ***/
273#define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)1023#define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
274#define IVssEnumMgmtObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)1024#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)
276#define IVssEnumMgmtObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)1026#define IVssEnumMgmtObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
277#endif /*COBJMACROS*/1027#else
2781028/*** IUnknown methods ***/
279#endif /* (_WIN32_WINNT >= 0x0600) */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)
288#endif1054#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 */1057#endif /* __IVssEnumMgmtObject_INTERFACE_DEFINED__ */
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*/
3021058
303 END_INTERFACE1059#ifndef __VSMGMT_LIBRARY_DEFINED__
304};1060#define __VSMGMT_LIBRARY_DEFINED__
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*/
3131061
314#undef INTERFACE1062DEFINE_GUID(LIBID_VSMGMT, 0x84015c41, 0x291d, 0x49e6, 0xbf,0x7f, 0xdd,0x40,0xae,0x93,0x63,0x2b);
315#define INTERFACE IVssSnapshotMgmt2
316DECLARE_INTERFACE_(IVssSnapshotMgmt2,IUnknown)
317{
318 BEGIN_INTERFACE
3191063
320 /* IUnknown methods */1064/*****************************************************************************
321 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;1065 * VssSnapshotMgmt coclass
322 STDMETHOD_(ULONG, AddRef)(THIS) PURE;1066 */
323 STDMETHOD_(ULONG, Release)(THIS) PURE;
3241067
325 /* IVssSnapshotMgmt2 methods */1068DEFINE_GUID(CLSID_VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f);
326 STDMETHOD_(HRESULT,GetMinDiffAreaSize)(THIS_ LONGLONG *pllMinDiffAreaSize) PURE;
3271069
328 END_INTERFACE1070#ifdef __cplusplus
329};1071class DECLSPEC_UUID("0b5a2c52-3eb9-470a-96e2-6c6d4570e40f") VssSnapshotMgmt;
330#ifdef COBJMACROS1072#ifdef __CRT_UUID_DECL
331#define IVssSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1073__CRT_UUID_DECL(VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f)
332#define IVssSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)1074#endif
333#define IVssSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)1075#endif
334#define IVssSnapshotMgmt2_GetMinDiffAreaSize(This,pllMinDiffAreaSize) (This)->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize)1076
335#endif /*COBJMACROS*/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,130 +1,408 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/vsprov.idl - Do not edit ***/
2 * This file has no copyright assigned and is placed in the Public Domain.2
3 * This file is part of the mingw-w64 runtime package.3#ifdef _WIN32
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5 */5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#ifndef _INC_VSPROV6#endif
7#define _INC_VSPROV7#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>
9#include <vss.h>73#include <vss.h>
10#include <vds.h>74#include <vdslun.h>
11#undef INTERFACE75
12#define INTERFACE IVssHardwareSnapshotProvider76#ifdef __cplusplus
13#ifdef __GNUC__77extern "C" {
14#warning COM interfaces layout in this header has not been verified.78#endif
15#warning COM interfaces with incorrect layout may not work at all.79
16__MINGW_BROKEN_INTERFACE(INTERFACE)80#include <winapifamily.h>
17#endif81#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
18DECLARE_INTERFACE_(IVssHardwareSnapshotProvider,IUnknown)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
19{109{
20 BEGIN_INTERFACE110 virtual HRESULT STDMETHODCALLTYPE SetContext(
111 LONG lContext) = 0;
21112
22 /* IUnknown methods */113 virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
23 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;114 VSS_ID SnapshotId,
24 STDMETHOD_(ULONG, AddRef)(THIS) PURE;115 VSS_SNAPSHOT_PROP *pProp) = 0;
25 STDMETHOD_(ULONG, Release)(THIS) PURE;
26116
27 /* IVssHardwareSnapshotProvider methods */117 virtual HRESULT STDMETHODCALLTYPE Query(
28 STDMETHOD_(HRESULT,AreLunsSupported)(THIS_ LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) PURE;118 VSS_ID QueriedObjectId,
29 STDMETHOD_(HRESULT,FillInLunInfo)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) PURE;119 VSS_OBJECT_TYPE eQueriedObjectType,
30 STDMETHOD_(HRESULT,BeginPrepareSnapshot)(THIS_ VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) PURE;120 VSS_OBJECT_TYPE eReturnedObjectsType,
31 STDMETHOD_(HRESULT,GetTargetLuns)(THIS_ LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) PURE;121 IVssEnumObject **ppEnum) = 0;
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;
34122
35 END_INTERFACE123 virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots(
36};124 VSS_ID SourceObjectId,
37#ifdef COBJMACROS125 VSS_OBJECT_TYPE eSourceObjectType,
38#define IVssHardwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)126 WINBOOL bForceDelete,
39#define IVssHardwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)127 LONG *plDeletedSnapshots,
40#define IVssHardwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)128 VSS_ID *pNondeletedSnapshotID) = 0;
41#define IVssHardwareSnapshotProvider_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)129
42#define IVssHardwareSnapshotProvider_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)130 virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
43#define IVssHardwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)131 VSS_ID SnapshotSetId,
44#define IVssHardwareSnapshotProvider_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)132 VSS_ID SnapshotId,
45#define IVssHardwareSnapshotProvider_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)133 VSS_PWSZ pwszVolumeName,
46#define IVssHardwareSnapshotProvider_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)134 LONG lNewContext) = 0;
47#endif /*COBJMACROS*/
48135
49#undef INTERFACE136 virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported(
50#define INTERFACE IVssHardwareSnapshotProviderEx137 VSS_PWSZ pwszVolumeName,
51#ifdef __GNUC__138 WINBOOL *pbSupportedByThisProvider) = 0;
52#warning COM interfaces layout in this header has not been verified.139
53#warning COM interfaces with incorrect layout may not work at all.140 virtual HRESULT STDMETHODCALLTYPE IsVolumeSnapshotted(
54__MINGW_BROKEN_INTERFACE(INTERFACE)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)
55#endif160#endif
56DECLARE_INTERFACE_(IVssHardwareSnapshotProviderEx,IVssHardwareSnapshotProvider)161#else
57{162typedef struct IVssSoftwareSnapshotProviderVtbl {
58 BEGIN_INTERFACE163 BEGIN_INTERFACE
59164
60 /* IUnknown methods */165 /*** IUnknown methods ***/
61 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;166 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
62 STDMETHOD_(ULONG, AddRef)(THIS) PURE;167 IVssSoftwareSnapshotProvider *This,
63 STDMETHOD_(ULONG, Release)(THIS) PURE;168 REFIID riid,
64169 void **ppvObject);
65 /* IVssHardwareSnapshotProvider methods */170
66 STDMETHOD_(HRESULT,AreLunsSupported)(THIS_ LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) PURE;171 ULONG (STDMETHODCALLTYPE *AddRef)(
67 STDMETHOD_(HRESULT,FillInLunInfo)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) PURE;172 IVssSoftwareSnapshotProvider *This);
68 STDMETHOD_(HRESULT,BeginPrepareSnapshot)(THIS_ VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) PURE;173
69 STDMETHOD_(HRESULT,GetTargetLuns)(THIS_ LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) PURE;174 ULONG (STDMETHODCALLTYPE *Release)(
70 STDMETHOD_(HRESULT,LocateLuns)(THIS_ LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) PURE;175 IVssSoftwareSnapshotProvider *This);
71 STDMETHOD_(HRESULT,OnLunEmpty)(THIS_ VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) PURE;176
72177 /*** IVssSoftwareSnapshotProvider methods ***/
73 /* IVssHardwareSnapshotProviderEx methods */178 HRESULT (STDMETHODCALLTYPE *SetContext)(
74 STDMETHOD_(HRESULT,GetProviderCapabilities)(THIS) PURE;179 IVssSoftwareSnapshotProvider *This,
75 STDMETHOD_(HRESULT,OnLunStateChange)(THIS_ VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount,DWORD dwFlags) PURE;180 LONG lContext);
76 STDMETHOD_(HRESULT,OnReuseLuns)(THIS) PURE;181
77 STDMETHOD_(HRESULT,ResyncLuns)(THIS_ VDS_LUN_INFORMATION *pSourceLuns,VDS_LUN_INFORMATION *pTargetLuns,DWORD dwCount,IVssAsync **ppAsync) PURE;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
79 END_INTERFACE235 END_INTERFACE
236} IVssSoftwareSnapshotProviderVtbl;
237
238interface IVssSoftwareSnapshotProvider {
239 CONST_VTBL IVssSoftwareSnapshotProviderVtbl* lpVtbl;
80};240};
241
81#ifdef COBJMACROS242#ifdef COBJMACROS
82#define IVssHardwareSnapshotProviderEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)243#ifndef WIDL_C_INLINE_WRAPPERS
83#define IVssHardwareSnapshotProviderEx_AddRef(This) (This)->lpVtbl->AddRef(This)244/*** IUnknown methods ***/
84#define IVssHardwareSnapshotProviderEx_Release(This) (This)->lpVtbl->Release(This)245#define IVssSoftwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
85#define IVssHardwareSnapshotProviderEx_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)246#define IVssSoftwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
86#define IVssHardwareSnapshotProviderEx_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)247#define IVssSoftwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
87#define IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)248/*** IVssSoftwareSnapshotProvider methods ***/
88#define IVssHardwareSnapshotProviderEx_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)249#define IVssSoftwareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
89#define IVssHardwareSnapshotProviderEx_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)250#define IVssSoftwareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
90#define IVssHardwareSnapshotProviderEx_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)251#define IVssSoftwareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
91#define IVssHardwareSnapshotProviderEx_GetProviderCapabilities() (This)->lpVtbl->GetProviderCapabilities(This)252#define IVssSoftwareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
92#define IVssHardwareSnapshotProviderEx_OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags) (This)->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags)253#define IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext)
93#define IVssHardwareSnapshotProviderEx_OnReuseLuns() (This)->lpVtbl->OnReuseLuns(This)254#define IVssSoftwareSnapshotProvider_IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider)
94#define IVssHardwareSnapshotProviderEx_ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync) (This)->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync)255#define IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility)
95#endif /*COBJMACROS*/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)
103#endif304#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
105{319{
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 {
106 BEGIN_INTERFACE348 BEGIN_INTERFACE
107349
108 /* IUnknown methods */350 /*** IUnknown methods ***/
109 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;351 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
110 STDMETHOD_(ULONG, AddRef)(THIS) PURE;352 IVssProviderCreateSnapshotSet *This,
111 STDMETHOD_(ULONG, Release)(THIS) PURE;353 REFIID riid,
354 void **ppvObject);
112355
113 /* IVssProviderCreateSnapshotSet methods */356 ULONG (STDMETHODCALLTYPE *AddRef)(
114 STDMETHOD_(HRESULT,EndPrepareSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;357 IVssProviderCreateSnapshotSet *This);
115 STDMETHOD_(HRESULT,PreCommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;358
116 STDMETHOD_(HRESULT,CommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;359 ULONG (STDMETHODCALLTYPE *Release)(
117 STDMETHOD_(HRESULT,PostCommitSnapshots)(THIS_ VSS_ID SnapshotSetId,LONG lSnapshotsCount) PURE;360 IVssProviderCreateSnapshotSet *This);
118 STDMETHOD_(HRESULT,PreFinalCommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;361
119 STDMETHOD_(HRESULT,PostFinalCommitSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;362 /*** IVssProviderCreateSnapshotSet methods ***/
120 STDMETHOD_(HRESULT,AbortSnapshots)(THIS_ VSS_ID SnapshotSetId) PURE;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
122 END_INTERFACE392 END_INTERFACE
393} IVssProviderCreateSnapshotSetVtbl;
394
395interface IVssProviderCreateSnapshotSet {
396 CONST_VTBL IVssProviderCreateSnapshotSetVtbl* lpVtbl;
123};397};
398
124#ifdef COBJMACROS399#ifdef COBJMACROS
400#ifndef WIDL_C_INLINE_WRAPPERS
401/*** IUnknown methods ***/
125#define IVssProviderCreateSnapshotSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)402#define IVssProviderCreateSnapshotSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
126#define IVssProviderCreateSnapshotSet_AddRef(This) (This)->lpVtbl->AddRef(This)403#define IVssProviderCreateSnapshotSet_AddRef(This) (This)->lpVtbl->AddRef(This)
127#define IVssProviderCreateSnapshotSet_Release(This) (This)->lpVtbl->Release(This)404#define IVssProviderCreateSnapshotSet_Release(This) (This)->lpVtbl->Release(This)
405/*** IVssProviderCreateSnapshotSet methods ***/
128#define IVssProviderCreateSnapshotSet_EndPrepareSnapshots(This,SnapshotSetId) (This)->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId)406#define IVssProviderCreateSnapshotSet_EndPrepareSnapshots(This,SnapshotSetId) (This)->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId)
129#define IVssProviderCreateSnapshotSet_PreCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreCommitSnapshots(This,SnapshotSetId)407#define IVssProviderCreateSnapshotSet_PreCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreCommitSnapshots(This,SnapshotSetId)
130#define IVssProviderCreateSnapshotSet_CommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->CommitSnapshots(This,SnapshotSetId)408#define IVssProviderCreateSnapshotSet_CommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->CommitSnapshots(This,SnapshotSetId)
...@@ -132,77 +410,698 @@ DECLARE_INTERFACE_(IVssProviderCreateSnapshotSet,IUnknown)...@@ -132,77 +410,698 @@ DECLARE_INTERFACE_(IVssProviderCreateSnapshotSet,IUnknown)
132#define IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId)410#define IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId)
133#define IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId)411#define IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId)
134#define IVssProviderCreateSnapshotSet_AbortSnapshots(This,SnapshotSetId) (This)->lpVtbl->AbortSnapshots(This,SnapshotSetId)412#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 INTERFACE460DEFINE_GUID(IID_IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04);
138#define INTERFACE IVssProviderNotifications461#if defined(__cplusplus) && !defined(CINTERFACE)
139DECLARE_INTERFACE_(IVssProviderNotifications,IUnknown)462MIDL_INTERFACE("e561901f-03a5-4afe-86d0-72baeece7004")
463IVssProviderNotifications : public IUnknown
140{464{
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 {
141 BEGIN_INTERFACE477 BEGIN_INTERFACE
142478
143 /* IUnknown methods */479 /*** IUnknown methods ***/
144 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;480 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
145 STDMETHOD_(ULONG, AddRef)(THIS) PURE;481 IVssProviderNotifications *This,
146 STDMETHOD_(ULONG, Release)(THIS) PURE;482 REFIID riid,
483 void **ppvObject);
147484
148 /* IVssProviderNotifications methods */485 ULONG (STDMETHODCALLTYPE *AddRef)(
149 STDMETHOD_(HRESULT,OnLoad)(THIS_ IUnknown *pCallback) PURE;486 IVssProviderNotifications *This);
150 STDMETHOD_(HRESULT,OnUnload)(THIS_ WINBOOL bForceUnload) PURE;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
152 END_INTERFACE500 END_INTERFACE
501} IVssProviderNotificationsVtbl;
502
503interface IVssProviderNotifications {
504 CONST_VTBL IVssProviderNotificationsVtbl* lpVtbl;
153};505};
506
154#ifdef COBJMACROS507#ifdef COBJMACROS
508#ifndef WIDL_C_INLINE_WRAPPERS
509/*** IUnknown methods ***/
155#define IVssProviderNotifications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)510#define IVssProviderNotifications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
156#define IVssProviderNotifications_AddRef(This) (This)->lpVtbl->AddRef(This)511#define IVssProviderNotifications_AddRef(This) (This)->lpVtbl->AddRef(This)
157#define IVssProviderNotifications_Release(This) (This)->lpVtbl->Release(This)512#define IVssProviderNotifications_Release(This) (This)->lpVtbl->Release(This)
513/*** IVssProviderNotifications methods ***/
158#define IVssProviderNotifications_OnLoad(This,pCallback) (This)->lpVtbl->OnLoad(This,pCallback)514#define IVssProviderNotifications_OnLoad(This,pCallback) (This)->lpVtbl->OnLoad(This,pCallback)
159#define IVssProviderNotifications_OnUnload(This,bForceUnload) (This)->lpVtbl->OnUnload(This,bForceUnload)515#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)
168#endif537#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
170{552{
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 {
171 BEGIN_INTERFACE593 BEGIN_INTERFACE
172594
173 /* IUnknown methods */595 /*** IUnknown methods ***/
174 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
175 STDMETHOD_(ULONG, AddRef)(THIS) PURE;597 IVssHardwareSnapshotProvider *This,
176 STDMETHOD_(ULONG, Release)(THIS) PURE;598 REFIID riid,
177599 void **ppvObject);
178 /* IVssSoftwareSnapshotProvider methods */600
179 STDMETHOD_(HRESULT,SetContext)(THIS_ LONG lContext) PURE;601 ULONG (STDMETHODCALLTYPE *AddRef)(
180 STDMETHOD_(HRESULT,GetSnapshotProperties)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) PURE;602 IVssHardwareSnapshotProvider *This);
181 STDMETHOD_(HRESULT,Query)(THIS_ VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) PURE;603
182 STDMETHOD_(HRESULT,DeleteSnapshots)(THIS_ VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) PURE;604 ULONG (STDMETHODCALLTYPE *Release)(
183 STDMETHOD_(HRESULT,BeginPrepareSnapshot)(THIS_ VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszVolumeName,LONG lNewContext) PURE;605 IVssHardwareSnapshotProvider *This);
184 STDMETHOD_(HRESULT,IsVolumeSupported)(THIS_ VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) PURE;606
185 STDMETHOD_(HRESULT,IsVolumeSnapshotted)(THIS_ VSS_PWSZ pwszVolumeName,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) PURE;607 /*** IVssHardwareSnapshotProvider methods ***/
186 STDMETHOD_(HRESULT,SetSnapshotProperty)(THIS_ VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) PURE;608 HRESULT (STDMETHODCALLTYPE *AreLunsSupported)(
187 STDMETHOD_(HRESULT,RevertToSnapshot)(THIS_ VSS_ID SnapshotId) PURE;609 IVssHardwareSnapshotProvider *This,
188 STDMETHOD_(HRESULT,QueryRevertStatus)(THIS_ VSS_PWSZ pwszVolume,IVssAsync **ppAsync) PURE;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
190 END_INTERFACE648 END_INTERFACE
649} IVssHardwareSnapshotProviderVtbl;
650
651interface IVssHardwareSnapshotProvider {
652 CONST_VTBL IVssHardwareSnapshotProviderVtbl* lpVtbl;
191};653};
654
192#ifdef COBJMACROS655#ifdef COBJMACROS
193#define IVssSoftwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)656#ifndef WIDL_C_INLINE_WRAPPERS
194#define IVssSoftwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)657/*** IUnknown methods ***/
195#define IVssSoftwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)658#define IVssHardwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
196#define IVssSoftwareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)659#define IVssHardwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
197#define IVssSoftwareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)660#define IVssHardwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
198#define IVssSoftwareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)661/*** IVssHardwareSnapshotProvider methods ***/
199#define IVssSoftwareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)662#define IVssHardwareSnapshotProvider_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
200#define IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext)663#define IVssHardwareSnapshotProvider_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
201#define IVssSoftwareSnapshotProvider_IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider)664#define IVssHardwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
202#define IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility)665#define IVssHardwareSnapshotProvider_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
203#define IVssSoftwareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty)666#define IVssHardwareSnapshotProvider_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
204#define IVssSoftwareSnapshotProvider_RevertToSnapshot(This,SnapshotId) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId)667#define IVssHardwareSnapshotProvider_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
205#define IVssSoftwareSnapshotProvider_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)668#else
206#endif /*COBJMACROS*/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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/vswriter.h+2977-602
...@@ -1,348 +1,813 @@...@@ -1,348 +1,813 @@
1/**1/*** Autogenerated by WIDL 7.0 from include/vswriter.idl - Do not edit ***/
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;
232
24typedef enum VSS_ALTERNATE_WRITER_STATE {3#ifdef _WIN32
25 VSS_AWS_UNDEFINED = 0,4#ifndef __REQUIRED_RPCNDR_H_VERSION__
26 VSS_AWS_NO_ALTERNATE_WRITER = 1,5#define __REQUIRED_RPCNDR_H_VERSION__ 475
27 VSS_AWS_ALTERNATE_WRITER_EXISTS = 2,6#endif
28 VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3 7#include <rpc.h>
29} VSS_ALTERNATE_WRITER_STATE;8#include <rpcndr.h>
9#endif
3010
31typedef enum VSS_COMPONENT_TYPE {11#ifndef COM_NO_WINDOWS_H
32 VSS_CT_UNDEFINED = 0,12#include <windows.h>
33 VSS_CT_DATABASE = 1,13#include <ole2.h>
34 VSS_CT_FILEGROUP = 2 14#endif
35} VSS_COMPONENT_TYPE;
3615
37typedef enum VSS_FILE_RESTORE_STATUS {16#ifndef __vswriter_h__
38 VSS_RS_UNDEFINED = 0,17#define __vswriter_h__
39 VSS_RS_NONE = 1,
40 VSS_RS_ALL = 2,
41 VSS_RS_FAILED = 3
42} VSS_FILE_RESTORE_STATUS;
4318
44typedef enum VSS_RESTORE_TARGET {19/* Forward declarations */
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;
5120
52typedef enum VSS_RESTOREMETHOD_ENUM {21#ifndef __IVssWMFiledesc_FWD_DEFINED__
53 VSS_RME_UNDEFINED = 0,22#define __IVssWMFiledesc_FWD_DEFINED__
54 VSS_RME_RESTORE_IF_NOT_THERE = 1,23typedef interface IVssWMFiledesc IVssWMFiledesc;
55 VSS_RME_RESTORE_IF_CAN_REPLACE = 2,24#ifdef __cplusplus
56 VSS_RME_STOP_RESTORE_START = 3,25interface IVssWMFiledesc;
57 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4,26#endif /* __cplusplus */
58 VSS_RME_RESTORE_AT_REBOOT = 5,27#endif
59 VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6,28
60 VSS_RME_CUSTOM = 7,29#ifndef __IVssWMDependency_FWD_DEFINED__
61 VSS_RME_RESTORE_STOP_START = 8 30#define __IVssWMDependency_FWD_DEFINED__
62} VSS_RESTOREMETHOD_ENUM;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;
64typedef enum VSS_SOURCE_TYPE {129typedef enum VSS_SOURCE_TYPE {
65 VSS_ST_UNDEFINED = 0,130 VSS_ST_UNDEFINED = 0,
66 VSS_ST_TRANSACTEDDB = 1,131 VSS_ST_TRANSACTEDDB = 1,
67 VSS_ST_NONTRANSACTEDDB = 2,132 VSS_ST_NONTRANSACTEDDB = 2,
68 VSS_ST_OTHER = 3 133 VSS_ST_OTHER = 3
69} VSS_SOURCE_TYPE;134} VSS_SOURCE_TYPE;
70135typedef 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;
71typedef enum VSS_SUBSCRIBE_MASK {163typedef enum VSS_SUBSCRIBE_MASK {
72 VSS_SM_POST_SNAPSHOT_FLAG = 0x00000001,164 VSS_SM_POST_SNAPSHOT_FLAG = 0x1,
73 VSS_SM_BACKUP_EVENTS_FLAG = 0x00000002,165 VSS_SM_BACKUP_EVENTS_FLAG = 0x2,
74 VSS_SM_RESTORE_EVENTS_FLAG = 0x00000004,166 VSS_SM_RESTORE_EVENTS_FLAG = 0x4,
75 VSS_SM_IO_THROTTLING_FLAG = 0x00000008,167 VSS_SM_IO_THROTTLING_FLAG = 0x8,
76 VSS_SM_ALL_FLAGS = 0xffffffff 168 VSS_SM_ALL_FLAGS = 0xffffffff
77} VSS_SUBSCRIBE_MASK;169} 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 {196/*****************************************************************************
80 VSS_WRE_UNDEFINED = 0,197 * IVssWMFiledesc interface
81 VSS_WRE_NEVER = 1,198 */
82 VSS_WRE_IF_REPLACE_FAILS = 2,199#ifndef __IVssWMFiledesc_INTERFACE_DEFINED__
83 VSS_WRE_ALWAYS = 3 200#define __IVssWMFiledesc_INTERFACE_DEFINED__
84} VSS_WRITERRESTORE_ENUM;
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)210 virtual HRESULT STDMETHODCALLTYPE GetFilespec(
89HRESULT WINAPI CreateVssExpressWriterInternal(211 BSTR *pbstrFilespec) = 0;
90 IVssExpressWriter **ppWriter
91);
92212
93FORCEINLINE213 virtual HRESULT STDMETHODCALLTYPE GetRecursive(
94HRESULT WINAPI CreateVssExpressWriter(214 boolean *pbRecursive) = 0;
95 IVssExpressWriter **ppWriter
96){return CreateVssExpressWriterInternal(ppWriter);}
97215
98#undef INTERFACE216 virtual HRESULT STDMETHODCALLTYPE GetAlternateLocation(
99#define INTERFACE IVssCreateExpressWriterMetadata217 BSTR *pbstrAlternateLocation) = 0;
100#ifdef __GNUC__218
101#warning COM interfaces layout in this header has not been verified.219 virtual HRESULT STDMETHODCALLTYPE GetBackupTypeMask(
102#warning COM interfaces with incorrect layout may not work at all.220 DWORD *pdwTypeMask) = 0;
103__MINGW_BROKEN_INTERFACE(INTERFACE)221
222};
223#ifdef __CRT_UUID_DECL
224__CRT_UUID_DECL(IVssWMFiledesc, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
104#endif225#endif
105DECLARE_INTERFACE_(IVssCreateExpressWriterMetadata,IUnknown)226#else
106{227typedef struct IVssWMFiledescVtbl {
107 BEGIN_INTERFACE228 BEGIN_INTERFACE
108229
109 /* IUnknown methods */230 /*** IUnknown methods ***/
110 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;231 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
111 STDMETHOD_(ULONG, AddRef)(THIS) PURE;232 IVssWMFiledesc *This,
112 STDMETHOD_(ULONG, Release)(THIS) PURE;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 */251 HRESULT (STDMETHODCALLTYPE *GetRecursive)(
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;252 IVssWMFiledesc *This,
116 STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;253 boolean *pbRecursive);
117 STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;254
118 STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;255 HRESULT (STDMETHODCALLTYPE *GetAlternateLocation)(
119 STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;256 IVssWMFiledesc *This,
120 STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;257 BSTR *pbstrAlternateLocation);
258
259 HRESULT (STDMETHODCALLTYPE *GetBackupTypeMask)(
260 IVssWMFiledesc *This,
261 DWORD *pdwTypeMask);
121262
122 END_INTERFACE263 END_INTERFACE
264} IVssWMFiledescVtbl;
265
266interface IVssWMFiledesc {
267 CONST_VTBL IVssWMFiledescVtbl* lpVtbl;
123};268};
269
124#ifdef COBJMACROS270#ifdef COBJMACROS
125#define IVssCreateExpressWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)271#ifndef WIDL_C_INLINE_WRAPPERS
126#define IVssCreateExpressWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This)272/*** IUnknown methods ***/
127#define IVssCreateExpressWriterMetadata_Release(This) (This)->lpVtbl->Release(This)273#define IVssWMFiledesc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
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)274#define IVssWMFiledesc_AddRef(This) (This)->lpVtbl->AddRef(This)
129#define IVssCreateExpressWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)275#define IVssWMFiledesc_Release(This) (This)->lpVtbl->Release(This)
130#define IVssCreateExpressWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)276/*** IVssWMFiledesc methods ***/
131#define IVssCreateExpressWriterMetadata_SetBackupSchema(This,dsSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dsSchemaMask)277#define IVssWMFiledesc_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath)
132#define IVssCreateExpressWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,wreWriterRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,wreWriterRestore,bRebootRequired)278#define IVssWMFiledesc_GetFilespec(This,pbstrFilespec) (This)->lpVtbl->GetFilespec(This,pbstrFilespec)
133#endif /*COBJMACROS*/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 */315#endif /* __IVssWMFiledesc_INTERFACE_DEFINED__ */
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;
168316
169 END_INTERFACE317/*****************************************************************************
170};318 * IVssWMDependency interface
319 */
320#ifndef __IVssWMDependency_INTERFACE_DEFINED__
321#define __IVssWMDependency_INTERFACE_DEFINED__
171322
172#if (_WIN32_WINNT >= 0x600)323DEFINE_GUID(IID_IVssWMDependency, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00);
173#undef INTERFACE324#if defined(__cplusplus) && !defined(CINTERFACE)
174#define INTERFACE IVssCreateWriterMetadataEx325MIDL_INTERFACE("00000000-0000-0000-0000-000000000000")
175DECLARE_INTERFACE_(IVssCreateWriterMetadataEx,IVssCreateWriterMetadata)326IVssWMDependency : public IUnknown
176{327{
177 BEGIN_INTERFACE328 virtual HRESULT STDMETHODCALLTYPE GetWriterId(
329 VSS_ID *pWriterId) = 0;
178330
179 /* IUnknown methods */331 virtual HRESULT STDMETHODCALLTYPE GetLogicalPath(
180 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;332 BSTR *pbstrLogicalPath) = 0;
181 STDMETHOD_(ULONG, AddRef)(THIS) PURE;333
182 STDMETHOD_(ULONG, Release)(THIS) PURE;334 virtual HRESULT STDMETHODCALLTYPE GetComponentName(
183335 BSTR *pbstrComponentName) = 0;
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;
200336
201 END_INTERFACE
202};337};
203#endif /*(_WIN32_WINNT >= 0x600)*/338#ifdef __CRT_UUID_DECL
204#endif /*__cplusplus*/339__CRT_UUID_DECL(IVssWMDependency, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00)
205340#endif
206#if (_WIN32_WINNT >= 0x601)341#else
207#undef INTERFACE342typedef struct IVssWMDependencyVtbl {
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{
216 BEGIN_INTERFACE343 BEGIN_INTERFACE
217344
218 /* IUnknown methods */345 /*** IUnknown methods ***/
219 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;346 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
220 STDMETHOD_(ULONG, AddRef)(THIS) PURE;347 IVssWMDependency *This,
221 STDMETHOD_(ULONG, Release)(THIS) PURE;348 REFIID riid,
349 void **ppvObject);
350
351 ULONG (STDMETHODCALLTYPE *AddRef)(
352 IVssWMDependency *This);
222353
223 /* IVssExpressWriter methods */354 ULONG (STDMETHODCALLTYPE *Release)(
224 STDMETHOD_(HRESULT,CreateMetadata)(THIS_ VSS_ID writerId,LPCWSTR writerName,VSS_USAGE_TYPE usageType,DWORD versionMajor,DWORD versionMinor,DWORD reserved,IVssCreateWriterMetadataEx **ppMetadata) PURE;355 IVssWMDependency *This);
225 STDMETHOD_(HRESULT,Load)(THIS_ LPCWSTR metadata,DWORD reserved) PURE;356
226 STDMETHOD_(HRESULT,Register)(THIS) PURE;357 /*** IVssWMDependency methods ***/
227 STDMETHOD_(HRESULT,Unregister)(THIS_ VSS_ID writerId) PURE;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
229 END_INTERFACE370 END_INTERFACE
371} IVssWMDependencyVtbl;
372
373interface IVssWMDependency {
374 CONST_VTBL IVssWMDependencyVtbl* lpVtbl;
230};375};
376
231#ifdef COBJMACROS377#ifdef COBJMACROS
232#define IVssExpressWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)378#ifndef WIDL_C_INLINE_WRAPPERS
233#define IVssExpressWriter_AddRef(This) (This)->lpVtbl->AddRef(This)379/*** IUnknown methods ***/
234#define IVssExpressWriter_Release(This) (This)->lpVtbl->Release(This)380#define IVssWMDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
235#define IVssExpressWriter_CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata) (This)->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata)381#define IVssWMDependency_AddRef(This) (This)->lpVtbl->AddRef(This)
236#define IVssExpressWriter_Load(This,metadata,reserved) (This)->lpVtbl->Load(This,metadata,reserved)382#define IVssWMDependency_Release(This) (This)->lpVtbl->Release(This)
237#define IVssExpressWriter_Register() (This)->lpVtbl->Register(This)383/*** IVssWMDependency methods ***/
238#define IVssExpressWriter_Unregister(This,writerId) (This)->lpVtbl->Unregister(This,writerId)384#define IVssWMDependency_GetWriterId(This,pWriterId) (This)->lpVtbl->GetWriterId(This,pWriterId)
239#endif /*COBJMACROS*/385#define IVssWMDependency_GetLogicalPath(This,pbstrLogicalPath) (This)->lpVtbl->GetLogicalPath(This,pbstrLogicalPath)
240#endif /*(_WIN32_WINNT >= 0x601)*/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 __cplusplus411#endif
243/* Is a C++ interface instead of a COM */412
244#undef INTERFACE413
245#define INTERFACE IVssWriterComponents414#endif /* __IVssWMDependency_INTERFACE_DEFINED__ */
246#ifdef __GNUC__415
247#warning COM interfaces layout in this header has not been verified.416/*****************************************************************************
248#warning COM interfaces with incorrect layout may not work at all.417 * IVssComponent interface
249__MINGW_BROKEN_INTERFACE(INTERFACE)418 */
250#endif419#ifndef __IVssComponent_INTERFACE_DEFINED__
251DECLARE_INTERFACE_(IVssWriterComponents,IUnknown)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
252{426{
253 BEGIN_INTERFACE427 virtual HRESULT STDMETHODCALLTYPE GetLogicalPath(
428 BSTR *pbstrPath) = 0;
254429
255 /* IUnknown methods */430 virtual HRESULT STDMETHODCALLTYPE GetComponentType(
256 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;431 VSS_COMPONENT_TYPE *pct) = 0;
257 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
258 STDMETHOD_(ULONG, Release)(THIS) PURE;
259432
260 /* IVssWriterComponents methods */433 virtual HRESULT STDMETHODCALLTYPE GetComponentName(
261 STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssComponent **ppComponent) PURE;434 BSTR *pbstrName) = 0;
262 STDMETHOD_(HRESULT,GetComponentCount)(THIS_ UINT *pcComponents) PURE;
263 STDMETHOD_(HRESULT,GetWriterInfo)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter) PURE;
264435
265 END_INTERFACE436 virtual HRESULT STDMETHODCALLTYPE GetBackupSucceeded(
266};437 boolean *pbSucceeded) = 0;
267#endif /*__cplusplus*/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 INTERFACE446 virtual HRESULT STDMETHODCALLTYPE SetBackupMetadata(
270#define INTERFACE IVssComponent447 LPCWSTR wszData) = 0;
271#ifdef __GNUC__448
272#warning COM interfaces layout in this header has not been verified.449 virtual HRESULT STDMETHODCALLTYPE GetBackupMetadata(
273#warning COM interfaces with incorrect layout may not work at all.450 BSTR *pbstrData) = 0;
274__MINGW_BROKEN_INTERFACE(INTERFACE)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)
275#endif578#endif
276DECLARE_INTERFACE_(IVssComponent,IUnknown)579#else
277{580typedef struct IVssComponentVtbl {
278 BEGIN_INTERFACE581 BEGIN_INTERFACE
279582
280 /* IUnknown methods */583 /*** IUnknown methods ***/
281 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;584 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
282 STDMETHOD_(ULONG, AddRef)(THIS) PURE;585 IVssComponent *This,
283 STDMETHOD_(ULONG, Release)(THIS) PURE;586 REFIID riid,
284587 void **ppvObject);
285 /* IVssComponent methods */588
286 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;589 ULONG (STDMETHODCALLTYPE *AddRef)(
287 STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;590 IVssComponent *This);
288 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;591
289 STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;592 ULONG (STDMETHODCALLTYPE *Release)(
290 STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;593 IVssComponent *This);
291 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;594
292 STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;595 /*** IVssComponent methods ***/
293 STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;596 HRESULT (STDMETHODCALLTYPE *GetLogicalPath)(
294 STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;597 IVssComponent *This,
295 STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;598 BSTR *pbstrPath);
296 STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;599
297 STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;600 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
298 STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;601 IVssComponent *This,
299 STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;602 VSS_COMPONENT_TYPE *pct);
300 STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;603
301 STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;604 HRESULT (STDMETHODCALLTYPE *GetComponentName)(
302 STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;605 IVssComponent *This,
303 STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;606 BSTR *pbstrName);
304 STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;607
305 STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;608 HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)(
306 STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;609 IVssComponent *This,
307 STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;610 boolean *pbSucceeded);
308 STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;611
309 STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;612 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)(
310 STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;613 IVssComponent *This,
311 STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;614 UINT *pcMappings);
312 STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;615
313 STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;616 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
314 STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;617 IVssComponent *This,
315 STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;618 UINT iMapping,
316 STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;619 IVssWMFiledesc **ppFiledesc);
317 STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;620
318 STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;621 HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)(
319 STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;622 IVssComponent *This,
320 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;623 LPCWSTR wszData);
321 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;624
322 STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;625 HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)(
323 STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;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
325 END_INTERFACE782 END_INTERFACE
783} IVssComponentVtbl;
784
785interface IVssComponent {
786 CONST_VTBL IVssComponentVtbl* lpVtbl;
326};787};
788
327#ifdef COBJMACROS789#ifdef COBJMACROS
790#ifndef WIDL_C_INLINE_WRAPPERS
791/*** IUnknown methods ***/
328#define IVssComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)792#define IVssComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
329#define IVssComponent_AddRef(This) (This)->lpVtbl->AddRef(This)793#define IVssComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
330#define IVssComponent_Release(This) (This)->lpVtbl->Release(This)794#define IVssComponent_Release(This) (This)->lpVtbl->Release(This)
795/*** IVssComponent methods ***/
331#define IVssComponent_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)796#define IVssComponent_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
332#define IVssComponent_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)797#define IVssComponent_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct)
333#define IVssComponent_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)798#define IVssComponent_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName)
334#define IVssComponent_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)799#define IVssComponent_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
335#define IVssComponent_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)800#define IVssComponent_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
336#define IVssComponent_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)801#define IVssComponent_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
337#define IVssComponent_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)802#define IVssComponent_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData)
338#define IVssComponent_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)803#define IVssComponent_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData)
339#define IVssComponent_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)804#define IVssComponent_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
340#define IVssComponent_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)805#define IVssComponent_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
341#define IVssComponent_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)806#define IVssComponent_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
342#define IVssComponent_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)807#define IVssComponent_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
343#define IVssComponent_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)808#define IVssComponent_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
344#define IVssComponent_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)809#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)
346#define IVssComponent_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)811#define IVssComponent_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
347#define IVssComponent_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)812#define IVssComponent_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
348#define IVssComponent_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)813#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)...@@ -363,121 +828,548 @@ DECLARE_INTERFACE_(IVssComponent,IUnknown)
363#define IVssComponent_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)828#define IVssComponent_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
364#define IVssComponent_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)829#define IVssComponent_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
365#define IVssComponent_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)830#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)
367#define IVssComponent_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)832#define IVssComponent_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
368#define IVssComponent_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)833#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)
378#endif963#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
380{978{
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 {
381 BEGIN_INTERFACE1001 BEGIN_INTERFACE
3821002
383 /* IUnknown methods */1003 /*** IVssWriterComponents methods ***/
384 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;1004 HRESULT (STDMETHODCALLTYPE *GetComponentCount)(
385 STDMETHOD_(ULONG, AddRef)(THIS) PURE;1005 IVssWriterComponents *This,
386 STDMETHOD_(ULONG, Release)(THIS) PURE;1006 UINT *pcComponents);
3871007
388 /* IVssComponent methods */1008 HRESULT (STDMETHODCALLTYPE *GetWriterInfo)(
389 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;1009 IVssWriterComponents *This,
390 STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;1010 VSS_ID *pidInstance,
391 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;1011 VSS_ID *pidWriter);
392 STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;1012
393 STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;1013 HRESULT (STDMETHODCALLTYPE *GetComponent)(
394 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;1014 IVssWriterComponents *This,
395 STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;1015 UINT iComponent,
396 STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;1016 IVssComponent **ppComponent);
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;
4361017
437 END_INTERFACE1018 END_INTERFACE
1019} IVssWriterComponentsVtbl;
1020
1021interface IVssWriterComponents {
1022 CONST_VTBL IVssWriterComponentsVtbl* lpVtbl;
438};1023};
1024
439#ifdef COBJMACROS1025#ifdef COBJMACROS
440#define IVssComponentEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1026#ifndef WIDL_C_INLINE_WRAPPERS
441#define IVssComponentEx_AddRef(This) (This)->lpVtbl->AddRef(This)1027/*** IVssWriterComponents methods ***/
442#define IVssComponentEx_Release(This) (This)->lpVtbl->Release(This)1028#define IVssWriterComponents_GetComponentCount(This,pcComponents) (This)->lpVtbl->GetComponentCount(This,pcComponents)
443#define IVssComponentEx_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)1029#define IVssWriterComponents_GetWriterInfo(This,pidInstance,pidWriter) (This)->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter)
444#define IVssComponentEx_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)1030#define IVssWriterComponents_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent)
445#define IVssComponentEx_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)1031#else
446#define IVssComponentEx_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)1032/*** IVssWriterComponents methods ***/
447#define IVssComponentEx_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)1033static FORCEINLINE HRESULT IVssWriterComponents_GetComponentCount(IVssWriterComponents* This,UINT *pcComponents) {
448#define IVssComponentEx_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)1034 return This->lpVtbl->GetComponentCount(This,pcComponents);
449#define IVssComponentEx_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)1035}
450#define IVssComponentEx_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)1036static FORCEINLINE HRESULT IVssWriterComponents_GetWriterInfo(IVssWriterComponents* This,VSS_ID *pidInstance,VSS_ID *pidWriter) {
451#define IVssComponentEx_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)1037 return This->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter);
452#define IVssComponentEx_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)1038}
453#define IVssComponentEx_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)1039static FORCEINLINE HRESULT IVssWriterComponents_GetComponent(IVssWriterComponents* This,UINT iComponent,IVssComponent **ppComponent) {
454#define IVssComponentEx_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)1040 return This->lpVtbl->GetComponent(This,iComponent,ppComponent);
455#define IVssComponentEx_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)1041}
456#define IVssComponentEx_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)1042#endif
457#define IVssComponentEx_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)1043#endif
458#define IVssComponentEx_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)1044
459#define IVssComponentEx_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)1045#endif
460#define IVssComponentEx_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)1046
461#define IVssComponentEx_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata)1047
462#define IVssComponentEx_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata)1048#endif /* __IVssWriterComponents_INTERFACE_DEFINED__ */
463#define IVssComponentEx_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target)1049
464#define IVssComponentEx_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget)1050/*****************************************************************************
465#define IVssComponentEx_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg)1051 * IVssComponentEx interface
466#define IVssComponentEx_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg)1052 */
467#define IVssComponentEx_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg)1053#ifndef __IVssComponentEx_INTERFACE_DEFINED__
468#define IVssComponentEx_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg)1054#define __IVssComponentEx_INTERFACE_DEFINED__
469#define IVssComponentEx_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp)1055
470#define IVssComponentEx_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp)1056DEFINE_GUID(IID_IVssComponentEx, 0x156c8b5e, 0xf131, 0x4bd7, 0x9c,0x97, 0xd1,0x92,0x3b,0xe7,0xe1,0xfa);
471#define IVssComponentEx_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp)1057#if defined(__cplusplus) && !defined(CINTERFACE)
472#define IVssComponentEx_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions)1058MIDL_INTERFACE("156c8b5e-f131-4bd7-9c97-d1923be7e1fa")
473#define IVssComponentEx_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions)1059IVssComponentEx : public IVssComponent
474#define IVssComponentEx_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent)1060{
475#define IVssComponentEx_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)1061 virtual HRESULT STDMETHODCALLTYPE SetPrepareForBackupFailureMsg(
476#define IVssComponentEx_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)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)
477#define IVssComponentEx_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)1368#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)
479#define IVssComponentEx_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)1370#define IVssComponentEx_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
480#define IVssComponentEx_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)1371#define IVssComponentEx_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
1372/*** IVssComponentEx methods ***/
481#define IVssComponentEx_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)1373#define IVssComponentEx_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)
482#define IVssComponentEx_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)1374#define IVssComponentEx_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)
483#define IVssComponentEx_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)1375#define IVssComponentEx_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)
...@@ -485,100 +1377,466 @@ DECLARE_INTERFACE_(IVssComponentEx,IVssComponent)...@@ -485,100 +1377,466 @@ DECLARE_INTERFACE_(IVssComponentEx,IVssComponent)
485#define IVssComponentEx_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)1377#define IVssComponentEx_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)
486#define IVssComponentEx_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)1378#define IVssComponentEx_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)
487#define IVssComponentEx_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)1379#define IVssComponentEx_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)
488#endif /*COBJMACROS*/1380#else
489#endif /*(_WIN32_WINNT >= 0x600)*/1381/*** IUnknown methods ***/
4901382static FORCEINLINE HRESULT IVssComponentEx_QueryInterface(IVssComponentEx* This,REFIID riid,void **ppvObject) {
491#if (_WIN32_WINNT >= 0x601)1383 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
492#undef INTERFACE1384}
493#define INTERFACE IVssComponentEx21385static FORCEINLINE ULONG IVssComponentEx_AddRef(IVssComponentEx* This) {
494#ifdef __GNUC__1386 return This->lpVtbl->AddRef(This);
495#warning COM interfaces layout in this header has not been verified.1387}
496#warning COM interfaces with incorrect layout may not work at all.1388static FORCEINLINE ULONG IVssComponentEx_Release(IVssComponentEx* This) {
497__MINGW_BROKEN_INTERFACE(INTERFACE)1389 return This->lpVtbl->Release(This);
498#endif1390}
499DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)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
500{1546{
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 {
501 BEGIN_INTERFACE1565 BEGIN_INTERFACE
5021566
503 /* IUnknown methods */1567 /*** IUnknown methods ***/
504 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;1568 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
505 STDMETHOD_(ULONG, AddRef)(THIS) PURE;1569 IVssComponentEx2 *This,
506 STDMETHOD_(ULONG, Release)(THIS) PURE;1570 REFIID riid,
5071571 void **ppvObject);
508 /* IVssComponent methods */1572
509 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;1573 ULONG (STDMETHODCALLTYPE *AddRef)(
510 STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;1574 IVssComponentEx2 *This);
511 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;1575
512 STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;1576 ULONG (STDMETHODCALLTYPE *Release)(
513 STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;1577 IVssComponentEx2 *This);
514 STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;1578
515 STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;1579 /*** IVssComponent methods ***/
516 STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;1580 HRESULT (STDMETHODCALLTYPE *GetLogicalPath)(
517 STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;1581 IVssComponentEx2 *This,
518 STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;1582 BSTR *pbstrPath);
519 STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;1583
520 STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;1584 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
521 STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;1585 IVssComponentEx2 *This,
522 STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;1586 VSS_COMPONENT_TYPE *pct);
523 STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;1587
524 STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;1588 HRESULT (STDMETHODCALLTYPE *GetComponentName)(
525 STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;1589 IVssComponentEx2 *This,
526 STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;1590 BSTR *pbstrName);
527 STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;1591
528 STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;1592 HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)(
529 STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;1593 IVssComponentEx2 *This,
530 STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;1594 boolean *pbSucceeded);
531 STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;1595
532 STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;1596 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)(
533 STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;1597 IVssComponentEx2 *This,
534 STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;1598 UINT *pcMappings);
535 STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;1599
536 STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;1600 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)(
537 STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;1601 IVssComponentEx2 *This,
538 STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;1602 UINT iMapping,
539 STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;1603 IVssWMFiledesc **ppFiledesc);
540 STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;1604
541 STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;1605 HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)(
542 STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;1606 IVssComponentEx2 *This,
543 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;1607 LPCWSTR wszData);
544 STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;1608
545 STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;1609 HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)(
546 STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;1610 IVssComponentEx2 *This,
5471611 BSTR *pbstrData);
548 /* IVssComponentEx methods */1612
549 STDMETHOD_(HRESULT,SetPrepareForBackupFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;1613 HRESULT (STDMETHODCALLTYPE *AddPartialFile)(
550 STDMETHOD_(HRESULT,SetPostSnapshotFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;1614 IVssComponentEx2 *This,
551 STDMETHOD_(HRESULT,GetPrepareForBackupFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;1615 LPCWSTR wszPath,
552 STDMETHOD_(HRESULT,GetPostSnapshotFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;1616 LPCWSTR wszFilename,
553 STDMETHOD_(HRESULT,GetAuthoritativeRestore)(THIS_ BOOLEAN *pbAuth) PURE;1617 LPCWSTR wszRanges,
554 STDMETHOD_(HRESULT,GetRollForward)(THIS_ VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) PURE;1618 LPCWSTR wszMetadata);
555 STDMETHOD_(HRESULT,GetRestoreName)(THIS_ BSTR *pbstrName) PURE;1619
5561620 HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)(
557 /* IVssComponentEx2 methods */1621 IVssComponentEx2 *This,
558 STDMETHOD_(HRESULT,GetFailure)(THIS_ HRESULT *phr,HRESULT *phrApplication,BSTR *pbstrApplicationMessage,DWORD *pdwReserved) PURE;1622 UINT *pcPartialFiles);
559 STDMETHOD_(HRESULT,SetFailure)(THIS_ HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage,DWORD dwReserved) PURE;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
561 END_INTERFACE1811 END_INTERFACE
1812} IVssComponentEx2Vtbl;
1813
1814interface IVssComponentEx2 {
1815 CONST_VTBL IVssComponentEx2Vtbl* lpVtbl;
562};1816};
1817
563#ifdef COBJMACROS1818#ifdef COBJMACROS
1819#ifndef WIDL_C_INLINE_WRAPPERS
1820/*** IUnknown methods ***/
564#define IVssComponentEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)1821#define IVssComponentEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
565#define IVssComponentEx2_AddRef(This) (This)->lpVtbl->AddRef(This)1822#define IVssComponentEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
566#define IVssComponentEx2_Release(This) (This)->lpVtbl->Release(This)1823#define IVssComponentEx2_Release(This) (This)->lpVtbl->Release(This)
1824/*** IVssComponent methods ***/
567#define IVssComponentEx2_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)1825#define IVssComponentEx2_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
568#define IVssComponentEx2_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)1826#define IVssComponentEx2_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct)
569#define IVssComponentEx2_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)1827#define IVssComponentEx2_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName)
570#define IVssComponentEx2_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)1828#define IVssComponentEx2_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
571#define IVssComponentEx2_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)1829#define IVssComponentEx2_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
572#define IVssComponentEx2_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)1830#define IVssComponentEx2_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc)
573#define IVssComponentEx2_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)1831#define IVssComponentEx2_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData)
574#define IVssComponentEx2_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)1832#define IVssComponentEx2_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData)
575#define IVssComponentEx2_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)1833#define IVssComponentEx2_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
576#define IVssComponentEx2_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)1834#define IVssComponentEx2_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
577#define IVssComponentEx2_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)1835#define IVssComponentEx2_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
578#define IVssComponentEx2_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)1836#define IVssComponentEx2_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
579#define IVssComponentEx2_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)1837#define IVssComponentEx2_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
580#define IVssComponentEx2_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)1838#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)
582#define IVssComponentEx2_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)1840#define IVssComponentEx2_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
583#define IVssComponentEx2_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)1841#define IVssComponentEx2_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
584#define IVssComponentEx2_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)1842#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)...@@ -599,9 +1857,10 @@ DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)
599#define IVssComponentEx2_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)1857#define IVssComponentEx2_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
600#define IVssComponentEx2_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)1858#define IVssComponentEx2_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
601#define IVssComponentEx2_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)1859#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)
603#define IVssComponentEx2_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)1861#define IVssComponentEx2_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
604#define IVssComponentEx2_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)1862#define IVssComponentEx2_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
1863/*** IVssComponentEx methods ***/
605#define IVssComponentEx2_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)1864#define IVssComponentEx2_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)
606#define IVssComponentEx2_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)1865#define IVssComponentEx2_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)
607#define IVssComponentEx2_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)1866#define IVssComponentEx2_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)
...@@ -609,182 +1868,1298 @@ DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)...@@ -609,182 +1868,1298 @@ DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)
609#define IVssComponentEx2_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)1868#define IVssComponentEx2_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)
610#define IVssComponentEx2_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)1869#define IVssComponentEx2_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)
611#define IVssComponentEx2_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)1870#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 ***/
613#define IVssComponentEx2_SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved) (This)->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved)1872#define IVssComponentEx2_SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved) (This)->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved)
614#endif /*COBJMACROS*/1873#define IVssComponentEx2_GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved) (This)->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved)
615#endif /*(_WIN32_WINNT >= 0x601)*/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;
617#ifdef __cplusplus2040#ifdef __cplusplus
618/* Is a C++ interface instead of a COM */2041interface IXMLDOMDocument;
619#undef INTERFACE2042#endif /* __cplusplus */
620#define INTERFACE IVssWMDependency2043#endif
621#ifdef __GNUC__2044
622#warning COM interfaces layout in this header has not been verified.2045/*****************************************************************************
623#warning COM interfaces with incorrect layout may not work at all.2046 * IVssCreateWriterMetadata interface
624__MINGW_BROKEN_INTERFACE(INTERFACE)2047 */
625#endif2048#ifndef __IVssCreateWriterMetadata_INTERFACE_DEFINED__
626DECLARE_INTERFACE_(IVssWMDependency,IUnknown)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
627{2055{
2056
628 BEGIN_INTERFACE2057 BEGIN_INTERFACE
6292058
630 /* IUnknown methods */2059 virtual HRESULT STDMETHODCALLTYPE AddIncludeFiles(
631 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;2060 LPCWSTR wszPath,
632 STDMETHOD_(ULONG, AddRef)(THIS) PURE;2061 LPCWSTR wszFilespec,
633 STDMETHOD_(ULONG, Release)(THIS) PURE;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 */2113 virtual HRESULT STDMETHODCALLTYPE AddAlternateLocationMapping(
636 STDMETHOD_(HRESULT,GetWriterId)(THIS_ VSS_ID *pWriterId) PURE;2114 LPCWSTR wszSourcePath,
637 STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrLogicalPath) PURE;2115 LPCWSTR wszSourceFilespec,
638 STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pbstrComponentName) PURE;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
640 END_INTERFACE2135 END_INTERFACE
2136
641};2137};
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 INTERFACE2189 HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)(
644#define INTERFACE IVssWMFiledesc2190 IVssCreateWriterMetadata *This,
645#ifdef __GNUC__2191 LPCWSTR wszLogicalPath,
646#warning COM interfaces layout in this header has not been verified.2192 LPCWSTR wszGroupName,
647#warning COM interfaces with incorrect layout may not work at all.2193 LPCWSTR wszPath,
648__MINGW_BROKEN_INTERFACE(INTERFACE)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
649#endif2295#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
651{2312{
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 {
652 BEGIN_INTERFACE2324 BEGIN_INTERFACE
6532325
654 /* IUnknown methods */2326 /*** IVssCreateWriterMetadata methods ***/
655 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;2327 HRESULT (STDMETHODCALLTYPE *AddIncludeFiles)(
656 STDMETHOD_(ULONG, AddRef)(THIS) PURE;2328 IVssCreateWriterMetadataEx *This,
657 STDMETHOD_(ULONG, Release)(THIS) PURE;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 */2362 HRESULT (STDMETHODCALLTYPE *AddDatabaseLogFiles)(
660 STDMETHOD_(HRESULT,GetPath)(THIS_ BSTR *pbstrPath) PURE;2363 IVssCreateWriterMetadataEx *This,
661 STDMETHOD_(HRESULT,GetFilespec)(THIS_ BSTR *pbstrFilespec) PURE;2364 LPCWSTR wszLogicalPath,
662 STDMETHOD_(HRESULT,GetRecursive)(THIS_ BOOLEAN *pbRecursive) PURE;2365 LPCWSTR wszDatabaseName,
663 STDMETHOD_(HRESULT,GetAlternateLocation)(THIS_ BSTR *pbstrAlternateLocation) PURE;2366 LPCWSTR wszPath,
664 STDMETHOD_(HRESULT,GetBackupTypeMask)(THIS_ DWORD *pdwTypeMask) PURE;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
666 END_INTERFACE2422 END_INTERFACE
2423} IVssCreateWriterMetadataExVtbl;
2424
2425interface IVssCreateWriterMetadataEx {
2426 CONST_VTBL IVssCreateWriterMetadataExVtbl* lpVtbl;
667};2427};
668#endif /*__cplusplus*/
6692428
670#ifdef __cplusplus2429#ifdef COBJMACROS
671#if __MINGW_GNUC_PREREQ(4,6)2430#ifndef WIDL_C_INLINE_WRAPPERS
672/* We need __thiscall support */2431/*** IVssCreateWriterMetadata methods ***/
673class CVssWriter {2432#define IVssCreateWriterMetadataEx_AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) (This)->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation)
674protected:2433#define IVssCreateWriterMetadataEx_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive)
675 bool WINAPI AreComponentsSelected() const;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)
676 VSS_BACKUP_TYPE WINAPI GetBackupType() const;2435#define IVssCreateWriterMetadataEx_AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask)
677 LONG WINAPI GetContext() const;2436#define IVssCreateWriterMetadataEx_AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask)
678 VSS_APPLICATION_LEVEL WINAPI GetCurrentLevel() const;2437#define IVssCreateWriterMetadataEx_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)
679 VSS_ID WINAPI GetCurrentSnapshotSetId() const;2438#define IVssCreateWriterMetadataEx_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired)
680 LPCWSTR* WINAPI GetCurrentVolumeArray() const;2439#define IVssCreateWriterMetadataEx_AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination)
681 UINT WINAPI GetCurrentVolumeCount() const;2440#define IVssCreateWriterMetadataEx_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName)
682 VSS_RESTORE_TYPE WINAPI GetRestoreType() const;2441#define IVssCreateWriterMetadataEx_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask)
683 HRESULT WINAPI GetSnapshotDeviceName(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(
684 LPCWSTR wszOriginalVolume,2537 LPCWSTR wszOriginalVolume,
685 LPCWSTR *ppwszSnapshotDevice) const;2538 LPCWSTR *ppwszSnapshotDevice) = 0;
686 bool WINAPI IsBootableSystemStateBackedUp() const;2539
687 bool WINAPI IsPartialFileSupportEnabled() const;2540#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
688 bool WINAPI IsPathAffected(2541 virtual VSS_ID* STDMETHODCALLTYPE GetCurrentSnapshotSetId(
689 LPCWSTR wszPath) const;2542 VSS_ID *__ret) = 0;
690 HRESULT WINAPI SetWriterFailure(2543 VSS_ID STDMETHODCALLTYPE GetCurrentSnapshotSetId(
691 HRESULT hr);2544 )
692public:2545 {
693 //Pure virtuals2546 VSS_ID __ret;
694 virtual bool WINAPI OnAbort() = 0;2547 return *GetCurrentSnapshotSetId(&__ret);
695 virtual bool WINAPI OnFreeze() = 0;2548 }
696 virtual bool WINAPI OnPrepareSnapshot() = 0;2549#else
697 virtual bool WINAPI OnThaw() = 0;2550 virtual VSS_ID STDMETHODCALLTYPE GetCurrentSnapshotSetId(
698 //Virtuals2551 ) = 0;
699 virtual __thiscall ~CVssWriter();2552#endif
700 virtual bool WINAPI OnBackupComplete(2553
701 IVssWriterComponents *pComponent);2554 virtual LONG STDMETHODCALLTYPE GetContext(
702 virtual bool WINAPI OnBackupShutdown(2555 ) = 0;
703 VSS_ID SnapshotSetId);2556
704 virtual bool WINAPI OnIdentify(2557 virtual VSS_APPLICATION_LEVEL STDMETHODCALLTYPE GetCurrentLevel(
705 IVssCreateWriterMetadata *pMetadata);2558 ) = 0;
706 virtual bool WINAPI OnPostRestore(2559
707 IVssWriterComponents *pComponent);2560 virtual boolean STDMETHODCALLTYPE IsPathAffected(
708 virtual bool WINAPI OnPostSnapshot(2561 LPCWSTR wszPath) = 0;
709 IVssWriterComponents *pComponent);2562
710 virtual bool WINAPI OnPrepareBackup(2563 virtual boolean STDMETHODCALLTYPE IsBootableSystemStateBackedUp(
711 IVssWriterComponents *pComponent);2564 ) = 0;
712 virtual bool WINAPI OnPreRestore(2565
713 IVssWriterComponents *pComponent);2566 virtual boolean STDMETHODCALLTYPE AreComponentsSelected(
714 //gendef says public: virtual bool __stdcall CVssWriter::OnBackOffIOOnVolume(unsigned short *,struct _GUID,struct _GUID)2567 ) = 0;
715 //Method unsupported2568
716 virtual bool WINAPI OnBackOffIOOnVolume(2569 virtual VSS_BACKUP_TYPE STDMETHODCALLTYPE GetBackupType(
717 VSS_PWSZ _vss_pwsz,2570 ) = 0;
718 VSS_ID _id1,2571
719 VSS_ID _id2);2572 virtual VSS_RESTORE_TYPE STDMETHODCALLTYPE GetRestoreType(
720 //gendef says public: virtual bool __stdcall CVssWriter::OnContinueIOOnVolume(unsigned short *,struct _GUID,struct _GUID)2573 ) = 0;
721 //Method unsupported2574
722 virtual bool WINAPI OnContinueIOOnVolume(2575 virtual HRESULT STDMETHODCALLTYPE SetWriterFailure(
723 VSS_PWSZ _vss_pwsz,2576 HRESULT hr) = 0;
724 VSS_ID _id1,2577
725 VSS_ID _id2);2578 virtual boolean STDMETHODCALLTYPE IsPartialFileSupportEnabled(
726 //gendef says public: virtual bool __stdcall CVssWriter::OnVSSShutdown(void)2579 ) = 0;
727 //Method unsupported2580
728 virtual bool WINAPI OnVssShutdown();2581 virtual HRESULT STDMETHODCALLTYPE InstallAlternateWriter(
729 //Non-virtuals2582 VSS_ID idWriter,
730 __thiscall CVssWriter();2583 CLSID clsid) = 0;
731 HRESULT WINAPI Initialize(2584
732 VSS_ID WriterId,2585 virtual IVssExamineWriterMetadata * STDMETHODCALLTYPE GetIdentityInformation(
733 LPCWSTR WriterName,2586 ) = 0;
734 VSS_USAGE_TYPE UsageType,2587
735 VSS_SOURCE_TYPE SourceType,2588 virtual HRESULT STDMETHODCALLTYPE SetWriterFailureEx(
736 VSS_APPLICATION_LEVEL AppLevel,2589 HRESULT hr,
737 DWORD dwTimeoutFreeze = 60000,2590 HRESULT hrApplication,
738 VSS_ALTERNATE_WRITER_STATE aws = VSS_AWS_NO_ALTERNATE_WRITER,2591 LPCWSTR wszApplicationMessage) = 0;
739 bool bIOThrottlingOnly = false,2592
740 LPCWSTR wszWriterInstanceName = NULL);2593 virtual HRESULT STDMETHODCALLTYPE GetSessionId(
741 HRESULT WINAPI Subscribe(2594 VSS_ID *idSession) = 0;
742 DWORD dwEventFlags);2595
743 HRESULT WINAPI Unsubscribe();2596 virtual boolean STDMETHODCALLTYPE IsWriterShuttingDown(
744 //gendef says public: long __stdcall CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID)2597 ) = 0;
745 //Method unsupported2598
746 HRESULT WINAPI InstallAlternateWriter(
747 VSS_ID _id1,
748 VSS_ID _id2);
749};2599};
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 {2607 /*** IUnknown methods ***/
752 protected:2608 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
753 HRESULT WINAPI GetIdentifyInformation(2609 IVssWriterImpl *This,
754 IVssExamineWriterMetadata **ppMetadata) const;2610 REFIID riid,
755 HRESULT WINAPI SubscribeEx(2611 void **ppvObject);
756 DWORD dwUnsubscribeTimeout,2612
757 DWORD dwEventFlags);2613 ULONG (STDMETHODCALLTYPE *AddRef)(
758 public:2614 IVssWriterImpl *This);
759 virtual bool WINAPI OnIdentifyEx(2615
760 IVssCreateWriterMetadataEx *pMetadata) const;2616 ULONG (STDMETHODCALLTYPE *Release)(
761 HRESULT WINAPI InitializeEx(2617 IVssWriterImpl *This);
762 VSS_ID WriterId,2618
2619 /*** IVssWriterImpl methods ***/
2620 HRESULT (STDMETHODCALLTYPE *Initialize)(
2621 IVssWriterImpl *This,
2622 VSS_ID writerId,
763 LPCWSTR wszWriterName,2623 LPCWSTR wszWriterName,
2624 LPCWSTR wszWriterInstanceName,
764 DWORD dwMajorVersion,2625 DWORD dwMajorVersion,
765 DWORD dwMinorVersion,2626 DWORD dwMinorVersion,
766 VSS_USAGE_TYPE ut,2627 VSS_USAGE_TYPE ut,
767 VSS_SOURCE_TYPE st,2628 VSS_SOURCE_TYPE st,
768 VSS_APPLICATION_LEVEL nLevel,2629 VSS_APPLICATION_LEVEL nLevel,
769 DWORD dwTimeoutFreeze = 60000,2630 DWORD dwTimeout,
770 VSS_ALTERNATE_WRITER_STATE aws = VSS_AWS_NO_ALTERNATE_WRITER,2631 VSS_ALTERNATE_WRITER_STATE aws,
771 bool bIOThrottlingOnly = false,2632 boolean bIOThrottlingOnly);
772 LPCWSTR wszWriterInstanceName = NULL);2633
773};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 {2679 VSS_RESTORE_TYPE (STDMETHODCALLTYPE *GetRestoreType)(
776 public:2680 IVssWriterImpl *This);
777 HRESULT WINAPI GetSessionId(2681
778 VSS_ID *idSession) const;2682 HRESULT (STDMETHODCALLTYPE *SetWriterFailure)(
779 bool WINAPI IsWriterShuttingDown() const;2683 IVssWriterImpl *This,
780 HRESULT WINAPI SetWriterFailureEx(2684 HRESULT hr);
781 HRESULT hrWriter,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,
782 HRESULT hrApplication,2700 HRESULT hrApplication,
783 LPCWSTR wszApplicationMessage);2701 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;
784};3106};
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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemcli.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemdisp.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemprov.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wbemtran.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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 */...@@ -281,7 +281,7 @@ extern FILE (* __MINGW_IMP_SYMBOL(_iob))[]; /* A pointer to an array of FILE */
281 int __cdecl is_wctype(wint_t _C,wctype_t _Type);281 int __cdecl is_wctype(wint_t _C,wctype_t _Type);
282#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */282#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)
285 int __cdecl iswblank(wint_t _C);285 int __cdecl iswblank(wint_t _C);
286#endif286#endif
287287
lib/libc/include/any-windows-any/wdstptmgmt.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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" {...@@ -1594,25 +1594,8 @@ extern "C" {
1594#endif1594#endif
1595#endif1595#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
1612#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) && _WIN32_WINNT >= 0x06021597#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) && _WIN32_WINNT >= 0x0602
1613 WINBASEAPI HMODULE WINAPI LoadPackagedLibrary (LPCWSTR lpwLibFileName, DWORD Reserved);1598 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);
1616#endif1599#endif
16171600
1618#if _WIN32_WINNT >= 0x06001601#if _WIN32_WINNT >= 0x0600
lib/libc/include/any-windows-any/wincodec.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wincodecsdk.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#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...@@ -314,9 +314,7 @@ WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryA(LPSTR Commands, DWORD CommandB
314WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryW(LPWSTR Commands, DWORD CommandBufferLength, LPWSTR ExeName);314WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryW(LPWSTR Commands, DWORD CommandBufferLength, LPWSTR ExeName);
315#define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory)315#define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory)
316316
317#ifndef LF_FACESIZE317#ifndef NOGDI
318#define LF_FACESIZE 32
319#endif
320318
321typedef struct _CONSOLE_FONT_INFOEX {319typedef struct _CONSOLE_FONT_INFOEX {
322 ULONG cbSize;320 ULONG cbSize;
...@@ -327,6 +325,20 @@ typedef struct _CONSOLE_FONT_INFOEX {...@@ -327,6 +325,20 @@ typedef struct _CONSOLE_FONT_INFOEX {
327 WCHAR FaceName[LF_FACESIZE];325 WCHAR FaceName[LF_FACESIZE];
328} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;326} 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
330#define HISTORY_NO_DUP_FLAG 0x1342#define HISTORY_NO_DUP_FLAG 0x1
331343
332typedef struct _CONSOLE_HISTORY_INFO {344typedef struct _CONSOLE_HISTORY_INFO {
...@@ -378,12 +390,6 @@ WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx(...@@ -378,12 +390,6 @@ WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx(
378 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx390 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx
379);391);
380392
381WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx(
382 HANDLE hConsoleOutput,
383 WINBOOL bMaximumWindow,
384 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
385);
386
387WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo(393WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo(
388 PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo394 PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo
389);395);
...@@ -393,12 +399,6 @@ WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx(...@@ -393,12 +399,6 @@ WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx(
393 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx399 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx
394);400);
395401
396WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx(
397 HANDLE hConsoleOutput,
398 WINBOOL bMaximumWindow,
399 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
400);
401
402#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */402#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
403403
404#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)404#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
lib/libc/include/any-windows-any/windns.h+521-17
...@@ -40,6 +40,7 @@ extern "C" {...@@ -40,6 +40,7 @@ extern "C" {
40#undef IP6_ADDRESS_STRING_LENGTH40#undef IP6_ADDRESS_STRING_LENGTH
41#define IP6_ADDRESS_STRING_LENGTH (47)41#define IP6_ADDRESS_STRING_LENGTH (47)
42#define IP6_ADDRESS_STRING_BUFFER_LENGTH (48)42#define IP6_ADDRESS_STRING_BUFFER_LENGTH (48)
43#define DNS_ADDRESS_STRING_LENGTH (IP6_ADDRESS_STRING_LENGTH)
4344
44#define INLINE_WORD_FLIP(out,in) { WORD _in = (in); (out) = (_in << 8) | (_in >> 8); }45#define INLINE_WORD_FLIP(out,in) { WORD _in = (in); (out) = (_in << 8) | (_in >> 8); }
45#define INLINE_HTONS(out,in) INLINE_WORD_FLIP(out,in)46#define INLINE_HTONS(out,in) INLINE_WORD_FLIP(out,in)
...@@ -83,13 +84,22 @@ extern "C" {...@@ -83,13 +84,22 @@ extern "C" {
83 BYTE Opcode : 4;84 BYTE Opcode : 4;
84 BYTE IsResponse : 1;85 BYTE IsResponse : 1;
85 BYTE ResponseCode : 4;86 BYTE ResponseCode : 4;
86 BYTE Reserved : 3;87 BYTE CheckingDisabled : 1;
88 BYTE AuthenticatedData : 1;
89 BYTE Reserved : 1;
87 BYTE RecursionAvailable : 1;90 BYTE RecursionAvailable : 1;
88 WORD QuestionCount;91 WORD QuestionCount;
89 WORD AnswerCount;92 WORD AnswerCount;
90 WORD NameServerCount;93 WORD NameServerCount;
91 WORD AdditionalCount;94 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
94#define DNS_HEADER_FLAGS(pHead) (*((PWORD)(pHead)+1))104#define DNS_HEADER_FLAGS(pHead) (*((PWORD)(pHead)+1))
95#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); }105#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" {...@@ -148,6 +158,7 @@ extern "C" {
148#define DNS_CLASS_NONE 0x00fe158#define DNS_CLASS_NONE 0x00fe
149#define DNS_CLASS_ALL 0x00ff159#define DNS_CLASS_ALL 0x00ff
150#define DNS_CLASS_ANY 0x00ff160#define DNS_CLASS_ANY 0x00ff
161#define DNS_CLASS_UNICAST_RESPONSE 0x8000
151162
152#define DNS_RCLASS_INTERNET 0x0100163#define DNS_RCLASS_INTERNET 0x0100
153#define DNS_RCLASS_CSNET 0x0200164#define DNS_RCLASS_CSNET 0x0200
...@@ -156,6 +167,7 @@ extern "C" {...@@ -156,6 +167,7 @@ extern "C" {
156#define DNS_RCLASS_NONE 0xfe00167#define DNS_RCLASS_NONE 0xfe00
157#define DNS_RCLASS_ALL 0xff00168#define DNS_RCLASS_ALL 0xff00
158#define DNS_RCLASS_ANY 0xff00169#define DNS_RCLASS_ANY 0xff00
170#define DNS_RCLASS_UNICAST_RESPONSE 0x0080
159171
160#define DNS_TYPE_ZERO 0x0000172#define DNS_TYPE_ZERO 0x0000
161#define DNS_TYPE_A 0x0001173#define DNS_TYPE_A 0x0001
...@@ -199,6 +211,14 @@ extern "C" {...@@ -199,6 +211,14 @@ extern "C" {
199#define DNS_TYPE_DNAME 0x0027211#define DNS_TYPE_DNAME 0x0027
200#define DNS_TYPE_SINK 0x0028212#define DNS_TYPE_SINK 0x0028
201#define DNS_TYPE_OPT 0x0029213#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
202#define DNS_TYPE_UINFO 0x0064222#define DNS_TYPE_UINFO 0x0064
203#define DNS_TYPE_UID 0x0065223#define DNS_TYPE_UID 0x0065
204#define DNS_TYPE_GID 0x0066224#define DNS_TYPE_GID 0x0066
...@@ -257,6 +277,14 @@ extern "C" {...@@ -257,6 +277,14 @@ extern "C" {
257#define DNS_RTYPE_DNAME 0x2700277#define DNS_RTYPE_DNAME 0x2700
258#define DNS_RTYPE_SINK 0x2800278#define DNS_RTYPE_SINK 0x2800
259#define DNS_RTYPE_OPT 0x2900279#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
260#define DNS_RTYPE_UINFO 0x6400288#define DNS_RTYPE_UINFO 0x6400
261#define DNS_RTYPE_UID 0x6500289#define DNS_RTYPE_UID 0x6500
262#define DNS_RTYPE_GID 0x6600290#define DNS_RTYPE_GID 0x6600
...@@ -286,9 +314,19 @@ extern "C" {...@@ -286,9 +314,19 @@ extern "C" {
286#define DNS_ATMA_MAX_RECORD_LENGTH (DNS_ATMA_MAX_ADDR_LENGTH+1)314#define DNS_ATMA_MAX_RECORD_LENGTH (DNS_ATMA_MAX_ADDR_LENGTH+1)
287315
288#define DNSSEC_ALGORITHM_RSAMD5 1316#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
289#define DNSSEC_ALGORITHM_NULL 253323#define DNSSEC_ALGORITHM_NULL 253
290#define DNSSEC_ALGORITHM_PRIVATE 254324#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
292#define DNSSEC_PROTOCOL_NONE 0330#define DNSSEC_PROTOCOL_NONE 0
293#define DNSSEC_PROTOCOL_TLS 1331#define DNSSEC_PROTOCOL_TLS 1
294#define DNSSEC_PROTOCOL_EMAIL 2332#define DNSSEC_PROTOCOL_EMAIL 2
...@@ -343,10 +381,25 @@ extern "C" {...@@ -343,10 +381,25 @@ extern "C" {
343#define IS_QWORD_ALIGNED(p) (!((UINT_PTR)(p) & (UINT_PTR)7))381#define IS_QWORD_ALIGNED(p) (!((UINT_PTR)(p) & (UINT_PTR)7))
344382
345 typedef enum {383 typedef enum {
346 DnsConfigPrimaryDomainName_W,DnsConfigPrimaryDomainName_A,DnsConfigPrimaryDomainName_UTF8,DnsConfigAdapterDomainName_W,384 DnsConfigPrimaryDomainName_W,
347 DnsConfigAdapterDomainName_A,DnsConfigAdapterDomainName_UTF8,DnsConfigDnsServerList,DnsConfigSearchList,385 DnsConfigPrimaryDomainName_A,
348 DnsConfigAdapterInfo,DnsConfigPrimaryHostNameRegistrationEnabled,DnsConfigAdapterHostNameRegistrationEnabled,DnsConfigAddressRegistrationMaxCount,386 DnsConfigPrimaryDomainName_UTF8,
349 DnsConfigHostName_W,DnsConfigHostName_A,DnsConfigHostName_UTF8,DnsConfigFullHostName_W,DnsConfigFullHostName_A,DnsConfigFullHostName_UTF8387 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
350 } DNS_CONFIG_TYPE;403 } DNS_CONFIG_TYPE;
351404
352#define DNS_CONFIG_FLAG_ALLOC (0x00000001)405#define DNS_CONFIG_FLAG_ALLOC (0x00000001)
...@@ -433,7 +486,6 @@ extern "C" {...@@ -433,7 +486,6 @@ extern "C" {
433 } DNS_AAAA_DATA,*PDNS_AAAA_DATA;486 } DNS_AAAA_DATA,*PDNS_AAAA_DATA;
434487
435 typedef struct {488 typedef struct {
436 PWSTR pNameSigner;
437 WORD wTypeCovered;489 WORD wTypeCovered;
438 BYTE chAlgorithm;490 BYTE chAlgorithm;
439 BYTE chLabelCount;491 BYTE chLabelCount;
...@@ -441,12 +493,12 @@ extern "C" {...@@ -441,12 +493,12 @@ extern "C" {
441 DWORD dwExpiration;493 DWORD dwExpiration;
442 DWORD dwTimeSigned;494 DWORD dwTimeSigned;
443 WORD wKeyTag;495 WORD wKeyTag;
444 WORD Pad;496 WORD wSignatureLength;
497 PWSTR pNameSigner;
445 BYTE Signature[1];498 BYTE Signature[1];
446 } DNS_SIG_DATAW,*PDNS_SIG_DATAW;499 } DNS_SIG_DATAW, *PDNS_SIG_DATAW, DNS_RRSIG_DATAW, *PDNS_RRSIG_DATAW;
447500
448 typedef struct {501 typedef struct {
449 PSTR pNameSigner;
450 WORD wTypeCovered;502 WORD wTypeCovered;
451 BYTE chAlgorithm;503 BYTE chAlgorithm;
452 BYTE chLabelCount;504 BYTE chLabelCount;
...@@ -454,16 +506,81 @@ extern "C" {...@@ -454,16 +506,81 @@ extern "C" {
454 DWORD dwExpiration;506 DWORD dwExpiration;
455 DWORD dwTimeSigned;507 DWORD dwTimeSigned;
456 WORD wKeyTag;508 WORD wKeyTag;
457 WORD Pad;509 WORD wSignatureLength;
510 PSTR pNameSigner;
458 BYTE Signature[1];511 BYTE Signature[1];
459 } DNS_SIG_DATAA,*PDNS_SIG_DATAA;512 } DNS_SIG_DATAA, *PDNS_SIG_DATAA, DNS_RRSIG_DATAA, *PDNS_RRSIG_DATAA;
460513
461 typedef struct {514 typedef struct {
462 WORD wFlags;515 WORD wFlags;
463 BYTE chProtocol;516 BYTE chProtocol;
464 BYTE chAlgorithm;517 BYTE chAlgorithm;
518 WORD wKeyLength;
519 WORD wPad;
465 BYTE Key[1];520 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
468 typedef struct {585 typedef struct {
469 WORD wVersion;586 WORD wVersion;
...@@ -503,6 +620,24 @@ extern "C" {...@@ -503,6 +620,24 @@ extern "C" {
503 WORD Pad;620 WORD Pad;
504 } DNS_SRV_DATAA,*PDNS_SRV_DATAA;621 } 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
506 typedef struct {641 typedef struct {
507 BYTE AddressType;642 BYTE AddressType;
508 BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH ];643 BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH ];
...@@ -568,6 +703,11 @@ extern "C" {...@@ -568,6 +703,11 @@ extern "C" {
568 WINBOOL bPacketPointers;703 WINBOOL bPacketPointers;
569 } DNS_TSIG_DATAA,*PDNS_TSIG_DATAA;704 } 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
571 typedef struct {711 typedef struct {
572 DWORD dwMappingFlag;712 DWORD dwMappingFlag;
573 DWORD dwLookupTimeout;713 DWORD dwLookupTimeout;
...@@ -606,6 +746,12 @@ extern "C" {...@@ -606,6 +746,12 @@ extern "C" {
606 __MINGW_TYPEDEF_AW(PDNS_NXT_DATA)746 __MINGW_TYPEDEF_AW(PDNS_NXT_DATA)
607 __MINGW_TYPEDEF_AW(DNS_SRV_DATA)747 __MINGW_TYPEDEF_AW(DNS_SRV_DATA)
608 __MINGW_TYPEDEF_AW(PDNS_SRV_DATA)748 __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)
609 __MINGW_TYPEDEF_AW(DNS_TKEY_DATA)755 __MINGW_TYPEDEF_AW(DNS_TKEY_DATA)
610 __MINGW_TYPEDEF_AW(PDNS_TKEY_DATA)756 __MINGW_TYPEDEF_AW(PDNS_TKEY_DATA)
611 __MINGW_TYPEDEF_AW(DNS_TSIG_DATA)757 __MINGW_TYPEDEF_AW(DNS_TSIG_DATA)
...@@ -617,6 +763,16 @@ extern "C" {...@@ -617,6 +763,16 @@ extern "C" {
617#define DNS_NULL_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NULL_DATA,Data) + (ByteCount))763#define DNS_NULL_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NULL_DATA,Data) + (ByteCount))
618#define DNS_WKS_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_WKS_DATA,BitMask) + (ByteCount))764#define DNS_WKS_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_WKS_DATA,BitMask) + (ByteCount))
619#define DNS_WINS_RECORD_LENGTH(IpCount) (FIELD_OFFSET(DNS_WINS_DATA,WinsServers) + ((IpCount) *sizeof(IP4_ADDRESS)))765#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
621 typedef struct _DnsRecordFlags {777 typedef struct _DnsRecordFlags {
622 DWORD Section : 2;778 DWORD Section : 2;
...@@ -661,7 +817,7 @@ extern "C" {...@@ -661,7 +817,7 @@ extern "C" {
661 union {817 union {
662 DNS_A_DATA A;818 DNS_A_DATA A;
663 DNS_SOA_DATAW SOA,Soa;819 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;
665 DNS_MINFO_DATAW MINFO,Minfo,RP,Rp;821 DNS_MINFO_DATAW MINFO,Minfo,RP,Rp;
666 DNS_MX_DATAW MX,Mx,AFSDB,Afsdb,RT,Rt;822 DNS_MX_DATAW MX,Mx,AFSDB,Afsdb,RT,Rt;
667 DNS_TXT_DATAW HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25;823 DNS_TXT_DATAW HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25;
...@@ -673,13 +829,42 @@ extern "C" {...@@ -673,13 +829,42 @@ extern "C" {
673 DNS_ATMA_DATA ATMA,Atma;829 DNS_ATMA_DATA ATMA,Atma;
674 DNS_NXT_DATAW NXT,Nxt;830 DNS_NXT_DATAW NXT,Nxt;
675 DNS_SRV_DATAW SRV,Srv;831 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;
676 DNS_TKEY_DATAW TKEY,Tkey;838 DNS_TKEY_DATAW TKEY,Tkey;
677 DNS_TSIG_DATAW TSIG,Tsig;839 DNS_TSIG_DATAW TSIG,Tsig;
678 DNS_WINS_DATA WINS,Wins;840 DNS_WINS_DATA WINS,Wins;
679 DNS_WINSR_DATAW WINSR,WinsR,NBSTAT,Nbstat;841 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;
680 } Data;848 } Data;
681 } DNS_RECORDW,*PDNS_RECORDW;849 } 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
683 typedef struct _DnsRecordA {868 typedef struct _DnsRecordA {
684 struct _DnsRecordA *pNext;869 struct _DnsRecordA *pNext;
685 PSTR pName;870 PSTR pName;
...@@ -694,7 +879,7 @@ extern "C" {...@@ -694,7 +879,7 @@ extern "C" {
694 union {879 union {
695 DNS_A_DATA A;880 DNS_A_DATA A;
696 DNS_SOA_DATAA SOA,Soa;881 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;
698 DNS_MINFO_DATAA MINFO,Minfo,RP,Rp;883 DNS_MINFO_DATAA MINFO,Minfo,RP,Rp;
699 DNS_MX_DATAA MX,Mx,AFSDB,Afsdb,RT,Rt;884 DNS_MX_DATAA MX,Mx,AFSDB,Afsdb,RT,Rt;
700 DNS_TXT_DATAA HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25;885 DNS_TXT_DATAA HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25;
...@@ -706,17 +891,48 @@ extern "C" {...@@ -706,17 +891,48 @@ extern "C" {
706 DNS_ATMA_DATA ATMA,Atma;891 DNS_ATMA_DATA ATMA,Atma;
707 DNS_NXT_DATAA NXT,Nxt;892 DNS_NXT_DATAA NXT,Nxt;
708 DNS_SRV_DATAA SRV,Srv;893 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;
709 DNS_TKEY_DATAA TKEY,Tkey;900 DNS_TKEY_DATAA TKEY,Tkey;
710 DNS_TSIG_DATAA TSIG,Tsig;901 DNS_TSIG_DATAA TSIG,Tsig;
711 DNS_WINS_DATA WINS,Wins;902 DNS_WINS_DATA WINS,Wins;
712 DNS_WINSR_DATAA WINSR,WinsR,NBSTAT,Nbstat;903 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;
713 } Data;910 } Data;
714 } DNS_RECORDA,*PDNS_RECORDA;911 } 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
716#ifdef UNICODE930#ifdef UNICODE
717 typedef DNS_RECORDW DNS_RECORD, *PDNS_RECORD;931 typedef DNS_RECORDW DNS_RECORD, *PDNS_RECORD;
932 typedef DNS_RECORD_OPTW DNS_RECORD_OPT, *PDNS_RECORD_OPT;
718#else933#else
719 typedef DNS_RECORDA DNS_RECORD, *PDNS_RECORD;934 typedef DNS_RECORDA DNS_RECORD, *PDNS_RECORD;
935 typedef DNS_RECORD_OPTA DNS_RECORD_OPT, *PDNS_RECORD_OPT;
720#endif936#endif
721937
722#define DNS_RECORD_FIXED_SIZE FIELD_OFFSET(DNS_RECORD,Data)938#define DNS_RECORD_FIXED_SIZE FIELD_OFFSET(DNS_RECORD,Data)
...@@ -731,6 +947,21 @@ extern "C" {...@@ -731,6 +947,21 @@ extern "C" {
731#define DNS_RRSET_ADD(rrset,pnewRR) { PDNS_RRSET _prrset = &(rrset); PDNS_RECORD _prrnew = (pnewRR); _prrset->pLastRR->pNext = _prrnew; _prrset->pLastRR = _prrnew; }947#define DNS_RRSET_ADD(rrset,pnewRR) { PDNS_RRSET _prrset = &(rrset); PDNS_RECORD _prrnew = (pnewRR); _prrset->pLastRR->pNext = _prrnew; _prrset->pLastRR = _prrnew; }
732#define DNS_RRSET_TERMINATE(rrset) { PDNS_RRSET _prrset = &(rrset); _prrset->pLastRR->pNext = NULL; }948#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
734 typedef enum _DNS_CHARSET {965 typedef enum _DNS_CHARSET {
735 DnsCharSetUnknown,DnsCharSetUnicode,DnsCharSetUtf8,DnsCharSetAnsi966 DnsCharSetUnknown,DnsCharSetUnicode,DnsCharSetUtf8,DnsCharSetAnsi
736 } DNS_CHARSET;967 } DNS_CHARSET;
...@@ -779,8 +1010,14 @@ extern "C" {...@@ -779,8 +1010,14 @@ extern "C" {
779#define DNS_QUERY_NO_MULTICAST 0x000008001010#define DNS_QUERY_NO_MULTICAST 0x00000800
780#define DNS_QUERY_TREAT_AS_FQDN 0x000010001011#define DNS_QUERY_TREAT_AS_FQDN 0x00001000
781#define DNS_QUERY_APPEND_MULTILABEL 0x008000001012#define DNS_QUERY_APPEND_MULTILABEL 0x00800000
1013#define DNS_QUERY_ADDRCONFIG 0x00002000
1014#define DNS_QUERY_DUAL_ADDR 0x00004000
782#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x001000001015#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000
783#define DNS_QUERY_RESERVED 0xff0000001016#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
784#define DNS_QUERY_CACHE_ONLY DNS_QUERY_NO_WIRE_QUERY1021#define DNS_QUERY_CACHE_ONLY DNS_QUERY_NO_WIRE_QUERY
7851022
786 DNS_STATUS WINAPI DnsQuery_A(PCSTR pszName,WORD wType,DWORD Options,PIP4_ARRAY aipServers,PDNS_RECORD *ppQueryResults,PVOID *pReserved);1023 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" {...@@ -789,6 +1026,24 @@ extern "C" {
7891026
790#define DnsQuery __MINGW_NAME_UAW(DnsQuery)1027#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
792#define DNS_UPDATE_SECURITY_USE_DEFAULT 0x000000001047#define DNS_UPDATE_SECURITY_USE_DEFAULT 0x00000000
793#define DNS_UPDATE_SECURITY_OFF 0x000000101048#define DNS_UPDATE_SECURITY_OFF 0x00000010
794#define DNS_UPDATE_SECURITY_ON 0x000000201049#define DNS_UPDATE_SECURITY_ON 0x00000020
...@@ -818,12 +1073,33 @@ extern "C" {...@@ -818,12 +1073,33 @@ extern "C" {
818 DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORDA pNewSet,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved);1073 DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORDA pNewSet,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved);
8191074
820 typedef enum _DNS_NAME_FORMAT {1075 typedef enum _DNS_NAME_FORMAT {
821 DnsNameDomain,DnsNameDomainLabel,DnsNameHostnameFull,DnsNameHostnameLabel,DnsNameWildcard,DnsNameSrvRecord1076 DnsNameDomain,
1077 DnsNameDomainLabel,
1078 DnsNameHostnameFull,
1079 DnsNameHostnameLabel,
1080 DnsNameWildcard,
1081 DnsNameSrvRecord,
1082 DnsNameValidateTld
822 } DNS_NAME_FORMAT;1083 } DNS_NAME_FORMAT;
8231084
824 DNS_STATUS DnsValidateName_UTF8(LPCSTR pszName,DNS_NAME_FORMAT Format);1085 DNS_STATUS DnsValidateName_UTF8(LPCSTR pszName,DNS_NAME_FORMAT Format);
825 DNS_STATUS DnsValidateName_W(LPCWSTR pwszName,DNS_NAME_FORMAT Format);1086 DNS_STATUS DnsValidateName_W(LPCWSTR pwszName,DNS_NAME_FORMAT Format);
826 DNS_STATUS DnsValidateName_A(LPCSTR pszName,DNS_NAME_FORMAT Format);1087 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
827 WINBOOL WINAPI DnsNameCompare_A(LPSTR pName1,LPSTR pName2);1103 WINBOOL WINAPI DnsNameCompare_A(LPSTR pName1,LPSTR pName2);
828 WINBOOL WINAPI DnsNameCompare_W(LPWSTR pName1,LPWSTR pName2);1104 WINBOOL WINAPI DnsNameCompare_W(LPWSTR pName1,LPWSTR pName2);
8291105
...@@ -837,6 +1113,234 @@ extern "C" {...@@ -837,6 +1113,234 @@ extern "C" {
837 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORD *ppRecord);1113 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORD *ppRecord);
838 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORDA *ppRecord);1114 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
840#ifdef __cplusplus1344#ifdef __cplusplus
841}1345}
842#endif1346#endif
lib/libc/include/any-windows-any/windows.foundation.collections.h+46-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -74,6 +74,22 @@ namespace ABI {...@@ -74,6 +74,22 @@ namespace ABI {
74}74}
75#endif75#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
77#if defined(__cplusplus) && !defined(CINTERFACE)93#if defined(__cplusplus) && !defined(CINTERFACE)
78namespace ABI {94namespace ABI {
79 namespace Windows {95 namespace Windows {
...@@ -232,6 +248,35 @@ namespace ABI {...@@ -232,6 +248,35 @@ namespace ABI {
232extern "C" {248extern "C" {
233#endif249#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
235#if defined(__cplusplus) && !defined(CINTERFACE)280#if defined(__cplusplus) && !defined(CINTERFACE)
236} /* extern "C" */281} /* extern "C" */
237namespace ABI {282namespace ABI {
lib/libc/include/any-windows-any/windows.foundation.h+213-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -33,6 +33,21 @@ namespace ABI {...@@ -33,6 +33,21 @@ namespace ABI {
33#endif /* __cplusplus */33#endif /* __cplusplus */
34#endif34#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
36#ifndef ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__51#ifndef ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__
37#define ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__52#define ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__
38typedef interface __FIAsyncOperationCompletedHandler_1_boolean __FIAsyncOperationCompletedHandler_1_boolean;53typedef interface __FIAsyncOperationCompletedHandler_1_boolean __FIAsyncOperationCompletedHandler_1_boolean;
...@@ -68,6 +83,78 @@ typedef interface __FIVectorView_1_HSTRING __FIVectorView_1_HSTRING;...@@ -68,6 +83,78 @@ typedef interface __FIVectorView_1_HSTRING __FIVectorView_1_HSTRING;
68extern "C" {83extern "C" {
69#endif84#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
71#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000158#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
72#ifdef __cplusplus159#ifdef __cplusplus
73} /* extern "C" */160} /* extern "C" */
...@@ -422,6 +509,131 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__...@@ -422,6 +509,131 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__
422#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */509#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */
423#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */510#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
425#ifndef ____FIAsyncOperation_1_boolean_FWD_DEFINED__637#ifndef ____FIAsyncOperation_1_boolean_FWD_DEFINED__
426#define ____FIAsyncOperation_1_boolean_FWD_DEFINED__638#define ____FIAsyncOperation_1_boolean_FWD_DEFINED__
427typedef interface __FIAsyncOperation_1_boolean __FIAsyncOperation_1_boolean;639typedef 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -18,6 +18,40 @@...@@ -18,6 +18,40 @@
1818
19/* Forward declarations */19/* 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
21#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation_FWD_DEFINED__55#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation_FWD_DEFINED__
22#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation_FWD_DEFINED__56#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation_FWD_DEFINED__
23typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIVoiceInformation;57typedef 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...@@ -69,6 +103,23 @@ typedef struct __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceInformation __x_AB
69#endif /* defined __cplusplus */103#endif /* defined __cplusplus */
70#endif /* defined ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceInformation_FWD_DEFINED__ */104#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
72#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesizer_FWD_DEFINED__123#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesizer_FWD_DEFINED__
73#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesizer_FWD_DEFINED__124#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CSpeechSynthesizer_FWD_DEFINED__
74#ifdef __cplusplus125#ifdef __cplusplus
...@@ -110,10 +161,35 @@ typedef interface __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInfo...@@ -110,10 +161,35 @@ typedef interface __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInfo
110#endif /* __cplusplus */161#endif /* __cplusplus */
111#endif162#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
113/* Headers for imported files */188/* Headers for imported files */
114189
115#include <inspectable.h>190#include <inspectable.h>
116#include <windows.foundation.h>191#include <windows.foundation.h>
192#include <windows.media.h>
117193
118#ifdef __cplusplus194#ifdef __cplusplus
119extern "C" {195extern "C" {
...@@ -134,6 +210,20 @@ namespace ABI {...@@ -134,6 +210,20 @@ namespace ABI {
134#endif /* __cplusplus */210#endif /* __cplusplus */
135#endif211#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
137#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic_FWD_DEFINED__227#ifndef ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic_FWD_DEFINED__
138#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic_FWD_DEFINED__228#define ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic_FWD_DEFINED__
139typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic;229typedef interface __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic __x_ABI_CWindows_CMedia_CSpeechSynthesis_CIInstalledVoicesStatic;
...@@ -219,6 +309,123 @@ namespace ABI {...@@ -219,6 +309,123 @@ namespace ABI {
219#endif /* __cplusplus */309#endif /* __cplusplus */
220#endif310#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
222#ifndef ____FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_FWD_DEFINED__429#ifndef ____FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_FWD_DEFINED__
223#define ____FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_FWD_DEFINED__430#define ____FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_FWD_DEFINED__
224typedef interface __FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation __FIIterator_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation;431typedef 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...@@ -243,6 +450,22 @@ typedef interface __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInfo
243#endif /* __cplusplus */450#endif /* __cplusplus */
244#endif451#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
246#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000469#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
247#ifdef __cplusplus470#ifdef __cplusplus
248} /* extern "C" */471} /* extern "C" */
...@@ -265,11 +488,307 @@ enum __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender {...@@ -265,11 +488,307 @@ enum __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender {
265 VoiceGender_Female = 1488 VoiceGender_Female = 1
266};489};
267#ifdef WIDL_using_Windows_Media_SpeechSynthesis490#ifdef WIDL_using_Windows_Media_SpeechSynthesis
268#define VoiceGender __x_ABI_CWindows_CMedia_CSpeechSynthesis_CVoiceGender491#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
269#endif /* WIDL_using_Windows_Media_SpeechSynthesis */784#endif /* WIDL_using_Windows_Media_SpeechSynthesis */
270#endif785#endif
271786
787#endif
788
789#endif /* ____x_ABI_CWindows_CMedia_CSpeechSynthesis_CISpeechSynthesizer_INTERFACE_DEFINED__ */
272#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */790#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
791
273/*****************************************************************************792/*****************************************************************************
274 * IVoiceInformation interface793 * IVoiceInformation interface
275 */794 */
...@@ -602,6 +1121,22 @@ extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_SpeechSynthesis...@@ -602,6 +1121,22 @@ extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_SpeechSynthesis
602#endif /* RUNTIMECLASS_Windows_Media_SpeechSynthesis_VoiceInformation_DEFINED */1121#endif /* RUNTIMECLASS_Windows_Media_SpeechSynthesis_VoiceInformation_DEFINED */
603#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */1122#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
605/*1140/*
606 * Class Windows.Media.SpeechSynthesis.SpeechSynthesizer1141 * Class Windows.Media.SpeechSynthesis.SpeechSynthesizer
607 */1142 */
...@@ -1053,6 +1588,395 @@ static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__C...@@ -1053,6 +1588,395 @@ static FORCEINLINE HRESULT __FIVectorView_1_Windows__CMedia__CSpeechSynthesis__C
10531588
1054#endif /* ____FIVectorView_1_Windows__CMedia__CSpeechSynthesis__CVoiceInformation_INTERFACE_DEFINED__ */1589#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
1056/* Begin additional prototypes for all interfaces */1980/* Begin additional prototypes for all interfaces */
10571981
1058ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);1982ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
lib/libc/include/any-windows-any/windows.security.cryptography.h+15-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -78,6 +78,20 @@ namespace ABI {...@@ -78,6 +78,20 @@ namespace ABI {
78#endif /* __cplusplus */78#endif /* __cplusplus */
79#endif79#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
81#ifdef __cplusplus95#ifdef __cplusplus
82} /* extern "C" */96} /* extern "C" */
83namespace ABI {97namespace ABI {
lib/libc/include/any-windows-any/windows.storage.h+85-18
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -210,23 +210,6 @@ namespace ABI {...@@ -210,23 +210,6 @@ namespace ABI {
210#endif /* __cplusplus */210#endif /* __cplusplus */
211#endif211#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
230#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__213#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
231#define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__214#define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
232typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;215typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;
...@@ -347,6 +330,90 @@ namespace ABI {...@@ -347,6 +330,90 @@ namespace ABI {
347#endif /* __cplusplus */330#endif /* __cplusplus */
348#endif331#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
350#ifdef __cplusplus417#ifdef __cplusplus
351} /* extern "C" */418} /* extern "C" */
352namespace ABI {419namespace ABI {
lib/libc/include/any-windows-any/windows.storage.streams.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/windows.system.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/windows.system.threading.h+41-13
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -144,6 +144,34 @@ namespace ABI {...@@ -144,6 +144,34 @@ namespace ABI {
144#endif /* __cplusplus */144#endif /* __cplusplus */
145#endif145#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
147#ifndef ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__175#ifndef ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
148#define ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__176#define ____x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler_FWD_DEFINED__
149typedef interface __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler;177typedef 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 {...@@ -812,11 +840,11 @@ typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerVtbl {
812 /*** IThreadPoolTimer methods ***/840 /*** IThreadPoolTimer methods ***/
813 HRESULT (STDMETHODCALLTYPE *get_Period)(841 HRESULT (STDMETHODCALLTYPE *get_Period)(
814 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This,842 __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
817 HRESULT (STDMETHODCALLTYPE *get_Delay)(845 HRESULT (STDMETHODCALLTYPE *get_Delay)(
818 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This,846 __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
821 HRESULT (STDMETHODCALLTYPE *Cancel)(849 HRESULT (STDMETHODCALLTYPE *Cancel)(
822 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This);850 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer *This);
...@@ -864,10 +892,10 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer...@@ -864,10 +892,10 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer
864 return This->lpVtbl->GetTrustLevel(This,trustLevel);892 return This->lpVtbl->GetTrustLevel(This,trustLevel);
865}893}
866/*** IThreadPoolTimer methods ***/894/*** 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) {
868 return This->lpVtbl->get_Period(This,value);896 return This->lpVtbl->get_Period(This,value);
869}897}
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) {
871 return This->lpVtbl->get_Delay(This,value);899 return This->lpVtbl->get_Delay(This,value);
872}900}
873static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer_Cancel(__x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer* This) {901static 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...@@ -975,26 +1003,26 @@ typedef struct __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStaticsVtbl
975 HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimer)(1003 HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimer)(
976 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,1004 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
977 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,1005 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
978 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan period,1006 struct __x_ABI_CWindows_CFoundation_CTimeSpan period,
979 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);1007 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
9801008
981 HRESULT (STDMETHODCALLTYPE *CreateTimer)(1009 HRESULT (STDMETHODCALLTYPE *CreateTimer)(
982 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,1010 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
983 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,1011 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
984 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan delay,1012 struct __x_ABI_CWindows_CFoundation_CTimeSpan delay,
985 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);1013 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
9861014
987 HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimerWithCompletion)(1015 HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimerWithCompletion)(
988 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,1016 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
989 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,1017 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
990 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan period,1018 struct __x_ABI_CWindows_CFoundation_CTimeSpan period,
991 __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,1019 __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,
992 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);1020 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
9931021
994 HRESULT (STDMETHODCALLTYPE *CreateTimerWithCompletion)(1022 HRESULT (STDMETHODCALLTYPE *CreateTimerWithCompletion)(
995 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,1023 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimerStatics *This,
996 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,1024 __x_ABI_CWindows_CSystem_CThreading_CTimerElapsedHandler *handler,
997 struct __x_ABI_CWindows_CSystem_CThreading_CTimeSpan delay,1025 struct __x_ABI_CWindows_CFoundation_CTimeSpan delay,
998 __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,1026 __x_ABI_CWindows_CSystem_CThreading_CTimerDestroyedHandler *destroyed,
999 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);1027 __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer **timer);
10001028
...@@ -1042,16 +1070,16 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer...@@ -1042,16 +1070,16 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CSystem_CThreading_CIThreadPoolTimer
1042 return This->lpVtbl->GetTrustLevel(This,trustLevel);1070 return This->lpVtbl->GetTrustLevel(This,trustLevel);
1043}1071}
1044/*** IThreadPoolTimerStatics methods ***/1072/*** 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) {
1046 return This->lpVtbl->CreatePeriodicTimer(This,handler,period,timer);1074 return This->lpVtbl->CreatePeriodicTimer(This,handler,period,timer);
1047}1075}
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) {
1049 return This->lpVtbl->CreateTimer(This,handler,delay,timer);1077 return This->lpVtbl->CreateTimer(This,handler,delay,timer);
1050}1078}
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) {
1052 return This->lpVtbl->CreatePeriodicTimerWithCompletion(This,handler,period,destroyed,timer);1080 return This->lpVtbl->CreatePeriodicTimerWithCompletion(This,handler,period,destroyed,timer);
1053}1081}
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) {
1055 return This->lpVtbl->CreateTimerWithCompletion(This,handler,delay,destroyed,timer);1083 return This->lpVtbl->CreateTimerWithCompletion(This,handler,delay,destroyed,timer);
1056}1084}
1057#endif1085#endif
lib/libc/include/any-windows-any/windowscontracts.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/winerror.h+21
...@@ -247,10 +247,12 @@...@@ -247,10 +247,12 @@
247#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED __MSABI_LONG(342)247#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED __MSABI_LONG(342)
248#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN __MSABI_LONG(343)248#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN __MSABI_LONG(343)
249#define ERROR_COMPRESSION_NOT_BENEFICIAL __MSABI_LONG(344)249#define ERROR_COMPRESSION_NOT_BENEFICIAL __MSABI_LONG(344)
250#define ERROR_CASE_DIFFERING_NAMES_IN_DIR __MSABI_LONG(424)
250#define ERROR_INVALID_ADDRESS __MSABI_LONG(487)251#define ERROR_INVALID_ADDRESS __MSABI_LONG(487)
251#define ERROR_ARITHMETIC_OVERFLOW __MSABI_LONG(534)252#define ERROR_ARITHMETIC_OVERFLOW __MSABI_LONG(534)
252#define ERROR_PIPE_CONNECTED __MSABI_LONG(535)253#define ERROR_PIPE_CONNECTED __MSABI_LONG(535)
253#define ERROR_PIPE_LISTENING __MSABI_LONG(536)254#define ERROR_PIPE_LISTENING __MSABI_LONG(536)
255#define ERROR_COMMITMENT_MINIMUM __MSABI_LONG(635)
254#define ERROR_WAKE_SYSTEM __MSABI_LONG(730)256#define ERROR_WAKE_SYSTEM __MSABI_LONG(730)
255#define ERROR_WAIT_1 __MSABI_LONG(731)257#define ERROR_WAIT_1 __MSABI_LONG(731)
256#define ERROR_WAIT_2 __MSABI_LONG(732)258#define ERROR_WAIT_2 __MSABI_LONG(732)
...@@ -2881,6 +2883,25 @@ __CRT_INLINE HRESULT HRESULT_FROM_WIN32(__LONG32 x) { return x <= 0 ? (HRESULT)x...@@ -2881,6 +2883,25 @@ __CRT_INLINE HRESULT HRESULT_FROM_WIN32(__LONG32 x) { return x <= 0 ? (HRESULT)x
2881#define NTE_TOKEN_KEYSET_STORAGE_FULL _HRESULT_TYPEDEF_(0x80090023)2883#define NTE_TOKEN_KEYSET_STORAGE_FULL _HRESULT_TYPEDEF_(0x80090023)
2882#define NTE_TEMPORARY_PROFILE _HRESULT_TYPEDEF_(0x80090024)2884#define NTE_TEMPORARY_PROFILE _HRESULT_TYPEDEF_(0x80090024)
2883#define NTE_FIXEDPARAMETER _HRESULT_TYPEDEF_(0x80090025)2885#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)
2884#define SEC_E_INSUFFICIENT_MEMORY _HRESULT_TYPEDEF_(0x80090300)2905#define SEC_E_INSUFFICIENT_MEMORY _HRESULT_TYPEDEF_(0x80090300)
2885#define SEC_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80090301)2906#define SEC_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80090301)
2886#define SEC_E_UNSUPPORTED_FUNCTION _HRESULT_TYPEDEF_(0x80090302)2907#define SEC_E_UNSUPPORTED_FUNCTION _HRESULT_TYPEDEF_(0x80090302)
lib/libc/include/any-windows-any/winevt.h+18-3
...@@ -3,14 +3,24 @@...@@ -3,14 +3,24 @@
3 * This file is part of the mingw-w64 runtime package.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.4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */5 */
6#ifndef _INC_WINEVT6#ifndef __WINEVT_H__
7#define _INC_WINEVT7#define __WINEVT_H__
8
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
12
8#if (_WIN32_WINNT >= 0x0600)13#if (_WIN32_WINNT >= 0x0600)
914
10#ifdef __cplusplus15#ifdef __cplusplus
11extern "C" {16extern "C" {
12#endif17#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
14typedef enum _EVT_CHANNEL_CLOCK_TYPE {24typedef enum _EVT_CHANNEL_CLOCK_TYPE {
15 EvtChannelClockTypeSystemTime = 0,25 EvtChannelClockTypeSystemTime = 0,
16 EvtChannelClockTypeQPC = 1 26 EvtChannelClockTypeQPC = 1
...@@ -266,6 +276,9 @@ typedef enum _EVT_VARIANT_TYPE {...@@ -266,6 +276,9 @@ typedef enum _EVT_VARIANT_TYPE {
266 EvtVarTypeEvtXml = 35 276 EvtVarTypeEvtXml = 35
267} EVT_VARIANT_TYPE;277} EVT_VARIANT_TYPE;
268278
279#define EVT_VARIANT_TYPE_MASK 0x7f
280#define EVT_VARIANT_TYPE_ARRAY 128
281
269typedef HANDLE EVT_HANDLE;282typedef HANDLE EVT_HANDLE;
270typedef HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE;283typedef HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE;
271284
...@@ -572,5 +585,7 @@ WINBOOL WINAPI EvtUpdateBookmark(...@@ -572,5 +585,7 @@ WINBOOL WINAPI EvtUpdateBookmark(
572#ifdef __cplusplus585#ifdef __cplusplus
573}586}
574#endif587#endif
588
575#endif /*(_WIN32_WINNT >= 0x0600)*/589#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" {...@@ -22,15 +22,18 @@ extern "C" {
22HRESULT WINAPI WHvGetCapability(WHV_CAPABILITY_CODE CapabilityCode, VOID *CapabilityBuffer, UINT32 CapabilityBufferSizeInBytes, UINT32 *WrittenSizeInBytes);22HRESULT WINAPI WHvGetCapability(WHV_CAPABILITY_CODE CapabilityCode, VOID *CapabilityBuffer, UINT32 CapabilityBufferSizeInBytes, UINT32 *WrittenSizeInBytes);
23HRESULT WINAPI WHvCreatePartition(WHV_PARTITION_HANDLE *Partition);23HRESULT WINAPI WHvCreatePartition(WHV_PARTITION_HANDLE *Partition);
24HRESULT WINAPI WHvSetupPartition(WHV_PARTITION_HANDLE Partition);24HRESULT WINAPI WHvSetupPartition(WHV_PARTITION_HANDLE Partition);
25HRESULT WINAPI WHvResetPartition(WHV_PARTITION_HANDLE Partition);
25HRESULT WINAPI WHvDeletePartition(WHV_PARTITION_HANDLE Partition);26HRESULT WINAPI WHvDeletePartition(WHV_PARTITION_HANDLE Partition);
26HRESULT WINAPI WHvGetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes, UINT32 *WrittenSizeInBytes);27HRESULT WINAPI WHvGetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes, UINT32 *WrittenSizeInBytes);
27HRESULT WINAPI WHvSetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, const VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes);28HRESULT WINAPI WHvSetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, const VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes);
28HRESULT WINAPI WHvSuspendPartitionTime(WHV_PARTITION_HANDLE Partition);29HRESULT WINAPI WHvSuspendPartitionTime(WHV_PARTITION_HANDLE Partition);
29HRESULT WINAPI WHvResumePartitionTime(WHV_PARTITION_HANDLE Partition);30HRESULT WINAPI WHvResumePartitionTime(WHV_PARTITION_HANDLE Partition);
30HRESULT WINAPI WHvMapGpaRange(WHV_PARTITION_HANDLE Partition, VOID *SourceAddress, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes, WHV_MAP_GPA_RANGE_FLAGS Flags);31HRESULT 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);
31HRESULT WINAPI WHvUnmapGpaRange(WHV_PARTITION_HANDLE Partition, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes);33HRESULT WINAPI WHvUnmapGpaRange(WHV_PARTITION_HANDLE Partition, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes);
32HRESULT 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);34HRESULT 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);
33HRESULT WINAPI WHvCreateVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags);35HRESULT 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);
34HRESULT WINAPI WHvDeleteVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex);37HRESULT WINAPI WHvDeleteVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex);
35HRESULT WINAPI WHvRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *ExitContext, UINT32 ExitContextSizeInBytes);38HRESULT WINAPI WHvRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *ExitContext, UINT32 ExitContextSizeInBytes);
36HRESULT WINAPI WHvCancelRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags);39HRESULT WINAPI WHvCancelRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags);
...@@ -48,6 +51,40 @@ HRESULT WINAPI WHvGetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HAN...@@ -48,6 +51,40 @@ HRESULT WINAPI WHvGetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HAN
48HRESULT WINAPI WHvSetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const VOID *State, UINT32 StateSize);51HRESULT WINAPI WHvSetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const VOID *State, UINT32 StateSize);
49HRESULT WINAPI WHvRegisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData, HANDLE EventHandle);52HRESULT WINAPI WHvRegisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData, HANDLE EventHandle);
50HRESULT WINAPI WHvUnregisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData);53HRESULT 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
52#ifdef __cplusplus89#ifdef __cplusplus
53}90}
lib/libc/include/any-windows-any/winhvplatformdefs.h+715-16
...@@ -12,13 +12,18 @@ typedef enum WHV_CAPABILITY_CODE {...@@ -12,13 +12,18 @@ typedef enum WHV_CAPABILITY_CODE {
12 WHvCapabilityCodeExtendedVmExits = 0x00000002,12 WHvCapabilityCodeExtendedVmExits = 0x00000002,
13 WHvCapabilityCodeExceptionExitBitmap = 0x00000003,13 WHvCapabilityCodeExceptionExitBitmap = 0x00000003,
14 WHvCapabilityCodeX64MsrExitBitmap = 0x00000004,14 WHvCapabilityCodeX64MsrExitBitmap = 0x00000004,
15 WHvCapabilityCodeGpaRangePopulateFlags = 0x00000005,
16 WHvCapabilityCodeSchedulerFeatures = 0x00000006,
15 WHvCapabilityCodeProcessorVendor = 0x00001000,17 WHvCapabilityCodeProcessorVendor = 0x00001000,
16 WHvCapabilityCodeProcessorFeatures = 0x00001001,18 WHvCapabilityCodeProcessorFeatures = 0x00001001,
17 WHvCapabilityCodeProcessorClFlushSize = 0x00001002,19 WHvCapabilityCodeProcessorClFlushSize = 0x00001002,
18 WHvCapabilityCodeProcessorXsaveFeatures = 0x00001003,20 WHvCapabilityCodeProcessorXsaveFeatures = 0x00001003,
19 WHvCapabilityCodeProcessorClockFrequency = 0x00001004,21 WHvCapabilityCodeProcessorClockFrequency = 0x00001004,
20 WHvCapabilityCodeInterruptClockFrequency = 0x00001005,22 WHvCapabilityCodeInterruptClockFrequency = 0x00001005,
21 WHvCapabilityCodeProcessorFeaturesBanks = 0x0000100623 WHvCapabilityCodeProcessorFeaturesBanks = 0x00001006,
24 WHvCapabilityCodeProcessorFrequencyCap = 0x00001007,
25 WHvCapabilityCodeSyntheticProcessorFeaturesBanks = 0x00001008,
26 WHvCapabilityCodeProcessorPerfmonFeatures = 0x00001009
22} WHV_CAPABILITY_CODE;27} WHV_CAPABILITY_CODE;
2328
24typedef union WHV_CAPABILITY_FEATURES {29typedef union WHV_CAPABILITY_FEATURES {
...@@ -30,7 +35,10 @@ typedef union WHV_CAPABILITY_FEATURES {...@@ -30,7 +35,10 @@ typedef union WHV_CAPABILITY_FEATURES {
30 UINT64 SpeculationControl : 1;35 UINT64 SpeculationControl : 1;
31 UINT64 ApicRemoteRead : 1;36 UINT64 ApicRemoteRead : 1;
32 UINT64 IdleSuspend : 1;37 UINT64 IdleSuspend : 1;
33 UINT64 Reserved : 57;38 UINT64 VirtualPciDeviceSupport : 1;
39 UINT64 IommuSupport : 1;
40 UINT64 VpHotAddRemove : 1;
41 UINT64 Reserved : 54;
34 };42 };
35 UINT64 AsUINT64;43 UINT64 AsUINT64;
36} WHV_CAPABILITY_FEATURES;44} WHV_CAPABILITY_FEATURES;
...@@ -46,7 +54,15 @@ typedef union WHV_EXTENDED_VM_EXITS {...@@ -46,7 +54,15 @@ typedef union WHV_EXTENDED_VM_EXITS {
46 UINT64 X64ApicSmiExitTrap : 1;54 UINT64 X64ApicSmiExitTrap : 1;
47 UINT64 HypercallExit : 1;55 UINT64 HypercallExit : 1;
48 UINT64 X64ApicInitSipiExitTrap : 1;56 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;
50 };66 };
51 UINT64 AsUINT64;67 UINT64 AsUINT64;
52} WHV_EXTENDED_VM_EXITS;68} WHV_EXTENDED_VM_EXITS;
...@@ -121,7 +137,9 @@ typedef union WHV_PROCESSOR_FEATURES {...@@ -121,7 +137,9 @@ typedef union WHV_PROCESSOR_FEATURES {
121 UINT64 UmipSupport : 1;137 UINT64 UmipSupport : 1;
122 UINT64 MdsNoSupport : 1;138 UINT64 MdsNoSupport : 1;
123 UINT64 MdClearSupport : 1;139 UINT64 MdClearSupport : 1;
124 UINT64 Reserved6 : 3;140 UINT64 TaaNoSupport : 1;
141 UINT64 TsxCtrlSupport : 1;
142 UINT64 Reserved6 : 1;
125 };143 };
126 UINT64 AsUINT64;144 UINT64 AsUINT64;
127} WHV_PROCESSOR_FEATURES;145} WHV_PROCESSOR_FEATURES;
...@@ -130,9 +148,28 @@ C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES) == sizeof(UINT64));...@@ -130,9 +148,28 @@ C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES) == sizeof(UINT64));
130148
131typedef union WHV_PROCESSOR_FEATURES1 {149typedef union WHV_PROCESSOR_FEATURES1 {
132 __C89_NAMELESS struct {150 __C89_NAMELESS struct {
133 UINT64 Reserved1 : 2;151 UINT64 ACountMCountSupport : 1;
152 UINT64 TscInvariantSupport : 1;
134 UINT64 ClZeroSupport : 1;153 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;
136 };173 };
137 UINT64 AsUINT64;174 UINT64 AsUINT64;
138} WHV_PROCESSOR_FEATURES1;175} WHV_PROCESSOR_FEATURES1;
...@@ -155,6 +192,78 @@ typedef struct WHV_PROCESSOR_FEATURES_BANKS {...@@ -155,6 +192,78 @@ typedef struct WHV_PROCESSOR_FEATURES_BANKS {
155192
156C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES_BANKS) == sizeof(UINT64) * (WHV_PROCESSOR_FEATURES_BANKS_COUNT + 1));193C_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
158typedef union _WHV_PROCESSOR_XSAVE_FEATURES {267typedef union _WHV_PROCESSOR_XSAVE_FEATURES {
159 __C89_NAMELESS struct {268 __C89_NAMELESS struct {
160 UINT64 XsaveSupport : 1;269 UINT64 XsaveSupport : 1;
...@@ -182,13 +291,30 @@ typedef union _WHV_PROCESSOR_XSAVE_FEATURES {...@@ -182,13 +291,30 @@ typedef union _WHV_PROCESSOR_XSAVE_FEATURES {
182 UINT64 VpclmulqdqSupport : 1;291 UINT64 VpclmulqdqSupport : 1;
183 UINT64 Avx512Bf16Support : 1;292 UINT64 Avx512Bf16Support : 1;
184 UINT64 Avx512Vp2IntersectSupport : 1;293 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;
186 };301 };
187 UINT64 AsUINT64;302 UINT64 AsUINT64;
188} WHV_PROCESSOR_XSAVE_FEATURES, *PWHV_PROCESSOR_XSAVE_FEATURES;303} WHV_PROCESSOR_XSAVE_FEATURES, *PWHV_PROCESSOR_XSAVE_FEATURES;
189304
190C_ASSERT(sizeof(WHV_PROCESSOR_XSAVE_FEATURES) == sizeof(UINT64));305C_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
192typedef union WHV_X64_MSR_EXIT_BITMAP {318typedef union WHV_X64_MSR_EXIT_BITMAP {
193 UINT64 AsUINT64;319 UINT64 AsUINT64;
194 __C89_NAMELESS struct {320 __C89_NAMELESS struct {
...@@ -196,18 +322,77 @@ typedef union WHV_X64_MSR_EXIT_BITMAP {...@@ -196,18 +322,77 @@ typedef union WHV_X64_MSR_EXIT_BITMAP {
196 UINT64 TscMsrWrite : 1;322 UINT64 TscMsrWrite : 1;
197 UINT64 TscMsrRead : 1;323 UINT64 TscMsrRead : 1;
198 UINT64 ApicBaseMsrWrite : 1;324 UINT64 ApicBaseMsrWrite : 1;
199 UINT64 Reserved : 60;325 UINT64 MiscEnableMsrRead:1;
326 UINT64 McUpdatePatchLevelMsrRead:1;
327 UINT64 Reserved:58;
200 };328 };
201} WHV_X64_MSR_EXIT_BITMAP;329} WHV_X64_MSR_EXIT_BITMAP;
202330
203C_ASSERT(sizeof(WHV_X64_MSR_EXIT_BITMAP) == sizeof(UINT64));331C_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
205typedef union WHV_CAPABILITY {389typedef union WHV_CAPABILITY {
206 WINBOOL HypervisorPresent;390 WINBOOL HypervisorPresent;
207 WHV_CAPABILITY_FEATURES Features;391 WHV_CAPABILITY_FEATURES Features;
208 WHV_EXTENDED_VM_EXITS ExtendedVmExits;392 WHV_EXTENDED_VM_EXITS ExtendedVmExits;
209 WHV_PROCESSOR_VENDOR ProcessorVendor;393 WHV_PROCESSOR_VENDOR ProcessorVendor;
210 WHV_PROCESSOR_FEATURES ProcessorFeatures;394 WHV_PROCESSOR_FEATURES ProcessorFeatures;
395 WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks;
211 WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures;396 WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures;
212 UINT8 ProcessorClFlushSize;397 UINT8 ProcessorClFlushSize;
213 UINT64 ExceptionExitBitmap;398 UINT64 ExceptionExitBitmap;
...@@ -215,6 +400,10 @@ typedef union WHV_CAPABILITY {...@@ -215,6 +400,10 @@ typedef union WHV_CAPABILITY {
215 UINT64 ProcessorClockFrequency;400 UINT64 ProcessorClockFrequency;
216 UINT64 InterruptClockFrequency;401 UINT64 InterruptClockFrequency;
217 WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks;402 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;
218} WHV_CAPABILITY;407} WHV_CAPABILITY;
219408
220typedef VOID* WHV_PARTITION_HANDLE;409typedef VOID* WHV_PARTITION_HANDLE;
...@@ -225,6 +414,14 @@ typedef enum WHV_PARTITION_PROPERTY_CODE {...@@ -225,6 +414,14 @@ typedef enum WHV_PARTITION_PROPERTY_CODE {
225 WHvPartitionPropertyCodeSeparateSecurityDomain = 0x00000003,414 WHvPartitionPropertyCodeSeparateSecurityDomain = 0x00000003,
226 WHvPartitionPropertyCodeNestedVirtualization = 0x00000004,415 WHvPartitionPropertyCodeNestedVirtualization = 0x00000004,
227 WHvPartitionPropertyCodeX64MsrExitBitmap = 0x00000005,416 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,
228 WHvPartitionPropertyCodeProcessorFeatures = 0x00001001,425 WHvPartitionPropertyCodeProcessorFeatures = 0x00001001,
229 WHvPartitionPropertyCodeProcessorClFlushSize = 0x00001002,426 WHvPartitionPropertyCodeProcessorClFlushSize = 0x00001002,
230 WHvPartitionPropertyCodeCpuidExitList = 0x00001003,427 WHvPartitionPropertyCodeCpuidExitList = 0x00001003,
...@@ -236,6 +433,11 @@ typedef enum WHV_PARTITION_PROPERTY_CODE {...@@ -236,6 +433,11 @@ typedef enum WHV_PARTITION_PROPERTY_CODE {
236 WHvPartitionPropertyCodeApicRemoteReadSupport = 0x00001009,433 WHvPartitionPropertyCodeApicRemoteReadSupport = 0x00001009,
237 WHvPartitionPropertyCodeProcessorFeaturesBanks = 0x0000100A,434 WHvPartitionPropertyCodeProcessorFeaturesBanks = 0x0000100A,
238 WHvPartitionPropertyCodeReferenceTime = 0x0000100B,435 WHvPartitionPropertyCodeReferenceTime = 0x0000100B,
436 WHvPartitionPropertyCodeSyntheticProcessorFeaturesBanks = 0x0000100C,
437 WHvPartitionPropertyCodeCpuidResultList2 = 0x0000100D,
438 WHvPartitionPropertyCodeProcessorPerfmonFeatures = 0x0000100E,
439 WHvPartitionPropertyCodeMsrActionList = 0x0000100F,
440 WHvPartitionPropertyCodeUnimplementedMsrAction = 0x00001010,
239 WHvPartitionPropertyCodeProcessorCount = 0x00001fff441 WHvPartitionPropertyCodeProcessorCount = 0x00001fff
240} WHV_PARTITION_PROPERTY_CODE;442} WHV_PARTITION_PROPERTY_CODE;
241443
...@@ -248,6 +450,50 @@ typedef struct WHV_X64_CPUID_RESULT {...@@ -248,6 +450,50 @@ typedef struct WHV_X64_CPUID_RESULT {
248 UINT32 Edx;450 UINT32 Edx;
249} WHV_X64_CPUID_RESULT;451} 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
251typedef enum WHV_EXCEPTION_TYPE {497typedef enum WHV_EXCEPTION_TYPE {
252 WHvX64ExceptionTypeDivideErrorFault = 0x0,498 WHvX64ExceptionTypeDivideErrorFault = 0x0,
253 WHvX64ExceptionTypeDebugTrapOrFault = 0x1,499 WHvX64ExceptionTypeDebugTrapOrFault = 0x1,
...@@ -277,11 +523,15 @@ typedef enum WHV_X64_LOCAL_APIC_EMULATION_MODE {...@@ -277,11 +523,15 @@ typedef enum WHV_X64_LOCAL_APIC_EMULATION_MODE {
277typedef union WHV_PARTITION_PROPERTY {523typedef union WHV_PARTITION_PROPERTY {
278 WHV_EXTENDED_VM_EXITS ExtendedVmExits;524 WHV_EXTENDED_VM_EXITS ExtendedVmExits;
279 WHV_PROCESSOR_FEATURES ProcessorFeatures;525 WHV_PROCESSOR_FEATURES ProcessorFeatures;
526 WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks;
280 WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures;527 WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures;
281 UINT8 ProcessorClFlushSize;528 UINT8 ProcessorClFlushSize;
282 UINT32 ProcessorCount;529 UINT32 ProcessorCount;
283 UINT32 CpuidExitList[1];530 UINT32 CpuidExitList[1];
284 WHV_X64_CPUID_RESULT CpuidResultList[1];531 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;
285 UINT64 ExceptionExitBitmap;535 UINT64 ExceptionExitBitmap;
286 WHV_X64_LOCAL_APIC_EMULATION_MODE LocalApicEmulationMode;536 WHV_X64_LOCAL_APIC_EMULATION_MODE LocalApicEmulationMode;
287 WINBOOL SeparateSecurityDomain;537 WINBOOL SeparateSecurityDomain;
...@@ -292,6 +542,15 @@ typedef union WHV_PARTITION_PROPERTY {...@@ -292,6 +542,15 @@ typedef union WHV_PARTITION_PROPERTY {
292 WINBOOL ApicRemoteRead;542 WINBOOL ApicRemoteRead;
293 WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks;543 WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks;
294 UINT64 ReferenceTime;544 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;
295} WHV_PARTITION_PROPERTY;554} WHV_PARTITION_PROPERTY;
296555
297typedef UINT64 WHV_GUEST_PHYSICAL_ADDRESS;556typedef UINT64 WHV_GUEST_PHYSICAL_ADDRESS;
...@@ -313,7 +572,9 @@ typedef enum WHV_TRANSLATE_GVA_FLAGS {...@@ -313,7 +572,9 @@ typedef enum WHV_TRANSLATE_GVA_FLAGS {
313 WHvTranslateGvaFlagValidateWrite = 0x00000002,572 WHvTranslateGvaFlagValidateWrite = 0x00000002,
314 WHvTranslateGvaFlagValidateExecute = 0x00000004,573 WHvTranslateGvaFlagValidateExecute = 0x00000004,
315 WHvTranslateGvaFlagPrivilegeExempt = 0x00000008,574 WHvTranslateGvaFlagPrivilegeExempt = 0x00000008,
316 WHvTranslateGvaFlagSetPageTableBits = 0x00000010575 WHvTranslateGvaFlagSetPageTableBits = 0x00000010,
576 WHvTranslateGvaFlagEnforceSmap = 0x00000100,
577 WHvTranslateGvaFlagOverrideSmap = 0x00000200
317} WHV_TRANSLATE_GVA_FLAGS;578} WHV_TRANSLATE_GVA_FLAGS;
318579
319DEFINE_ENUM_FLAG_OPERATORS(WHV_TRANSLATE_GVA_FLAGS);580DEFINE_ENUM_FLAG_OPERATORS(WHV_TRANSLATE_GVA_FLAGS);
...@@ -335,6 +596,36 @@ typedef struct WHV_TRANSLATE_GVA_RESULT {...@@ -335,6 +596,36 @@ typedef struct WHV_TRANSLATE_GVA_RESULT {
335 UINT32 Reserved;596 UINT32 Reserved;
336} WHV_TRANSLATE_GVA_RESULT;597} 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
338typedef enum WHV_REGISTER_NAME {629typedef enum WHV_REGISTER_NAME {
339 WHvX64RegisterRax = 0x00000000,630 WHvX64RegisterRax = 0x00000000,
340 WHvX64RegisterRcx = 0x00000001,631 WHvX64RegisterRcx = 0x00000001,
...@@ -376,6 +667,10 @@ typedef enum WHV_REGISTER_NAME {...@@ -376,6 +667,10 @@ typedef enum WHV_REGISTER_NAME {
376 WHvX64RegisterDr6 = 0x00000025,667 WHvX64RegisterDr6 = 0x00000025,
377 WHvX64RegisterDr7 = 0x00000026,668 WHvX64RegisterDr7 = 0x00000026,
378 WHvX64RegisterXCr0 = 0x00000027,669 WHvX64RegisterXCr0 = 0x00000027,
670 WHvX64RegisterVirtualCr0 = 0x00000028,
671 WHvX64RegisterVirtualCr3 = 0x00000029,
672 WHvX64RegisterVirtualCr4 = 0x0000002A,
673 WHvX64RegisterVirtualCr8 = 0x0000002B,
379 WHvX64RegisterXmm0 = 0x00001000,674 WHvX64RegisterXmm0 = 0x00001000,
380 WHvX64RegisterXmm1 = 0x00001001,675 WHvX64RegisterXmm1 = 0x00001001,
381 WHvX64RegisterXmm2 = 0x00001002,676 WHvX64RegisterXmm2 = 0x00001002,
...@@ -461,11 +756,97 @@ typedef enum WHV_REGISTER_NAME {...@@ -461,11 +756,97 @@ typedef enum WHV_REGISTER_NAME {
461 WHvX64RegisterMsrMtrrFix4kF0000 = 0x00002079,756 WHvX64RegisterMsrMtrrFix4kF0000 = 0x00002079,
462 WHvX64RegisterMsrMtrrFix4kF8000 = 0x0000207A,757 WHvX64RegisterMsrMtrrFix4kF8000 = 0x0000207A,
463 WHvX64RegisterTscAux = 0x0000207B,758 WHvX64RegisterTscAux = 0x0000207B,
759 WHvX64RegisterBndcfgs = 0x0000207C,
760 WHvX64RegisterMCount = 0x0000207E,
761 WHvX64RegisterACount = 0x0000207F,
464 WHvX64RegisterSpecCtrl = 0x00002084,762 WHvX64RegisterSpecCtrl = 0x00002084,
465 WHvX64RegisterPredCmd = 0x00002085,763 WHvX64RegisterPredCmd = 0x00002085,
466 WHvX64RegisterTscVirtualOffset = 0x00002087,764 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,
467 WHvX64RegisterApicId = 0x00003002,780 WHvX64RegisterApicId = 0x00003002,
468 WHvX64RegisterApicVersion = 0x00003003,781 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,
469 WHvRegisterPendingInterruption = 0x80000000,850 WHvRegisterPendingInterruption = 0x80000000,
470 WHvRegisterInterruptState = 0x80000001,851 WHvRegisterInterruptState = 0x80000001,
471 WHvRegisterPendingEvent = 0x80000002,852 WHvRegisterPendingEvent = 0x80000002,
...@@ -482,6 +863,8 @@ typedef union DECLSPEC_ALIGN(16) WHV_UINT128 {...@@ -482,6 +863,8 @@ typedef union DECLSPEC_ALIGN(16) WHV_UINT128 {
482 UINT32 Dword[4];863 UINT32 Dword[4];
483} WHV_UINT128;864} WHV_UINT128;
484865
866C_ASSERT(sizeof(WHV_UINT128) == 16);
867
485typedef union WHV_X64_FP_REGISTER {868typedef union WHV_X64_FP_REGISTER {
486 __C89_NAMELESS struct {869 __C89_NAMELESS struct {
487 UINT64 Mantissa;870 UINT64 Mantissa;
...@@ -492,6 +875,8 @@ typedef union WHV_X64_FP_REGISTER {...@@ -492,6 +875,8 @@ typedef union WHV_X64_FP_REGISTER {
492 WHV_UINT128 AsUINT128;875 WHV_UINT128 AsUINT128;
493} WHV_X64_FP_REGISTER;876} WHV_X64_FP_REGISTER;
494877
878C_ASSERT(sizeof(WHV_X64_FP_REGISTER) == 16);
879
495typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER {880typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER {
496 __C89_NAMELESS struct {881 __C89_NAMELESS struct {
497 UINT16 FpControl;882 UINT16 FpControl;
...@@ -511,6 +896,8 @@ typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER {...@@ -511,6 +896,8 @@ typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER {
511 WHV_UINT128 AsUINT128;896 WHV_UINT128 AsUINT128;
512} WHV_X64_FP_CONTROL_STATUS_REGISTER;897} WHV_X64_FP_CONTROL_STATUS_REGISTER;
513898
899C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16);
900
514typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER {901typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER {
515 __C89_NAMELESS struct {902 __C89_NAMELESS struct {
516 __C89_NAMELESS union {903 __C89_NAMELESS union {
...@@ -527,6 +914,8 @@ typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER {...@@ -527,6 +914,8 @@ typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER {
527 WHV_UINT128 AsUINT128;914 WHV_UINT128 AsUINT128;
528} WHV_X64_XMM_CONTROL_STATUS_REGISTER;915} WHV_X64_XMM_CONTROL_STATUS_REGISTER;
529916
917C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16);
918
530typedef struct WHV_X64_SEGMENT_REGISTER {919typedef struct WHV_X64_SEGMENT_REGISTER {
531 UINT64 Base;920 UINT64 Base;
532 UINT32 Limit;921 UINT32 Limit;
...@@ -547,12 +936,16 @@ typedef struct WHV_X64_SEGMENT_REGISTER {...@@ -547,12 +936,16 @@ typedef struct WHV_X64_SEGMENT_REGISTER {
547 };936 };
548} WHV_X64_SEGMENT_REGISTER;937} WHV_X64_SEGMENT_REGISTER;
549938
939C_ASSERT(sizeof(WHV_X64_SEGMENT_REGISTER) == 16);
940
550typedef struct WHV_X64_TABLE_REGISTER {941typedef struct WHV_X64_TABLE_REGISTER {
551 UINT16 Pad[3];942 UINT16 Pad[3];
552 UINT16 Limit;943 UINT16 Limit;
553 UINT64 Base;944 UINT64 Base;
554} WHV_X64_TABLE_REGISTER;945} WHV_X64_TABLE_REGISTER;
555946
947C_ASSERT(sizeof(WHV_X64_TABLE_REGISTER) == 16);
948
556typedef union WHV_X64_INTERRUPT_STATE_REGISTER {949typedef union WHV_X64_INTERRUPT_STATE_REGISTER {
557 __C89_NAMELESS struct {950 __C89_NAMELESS struct {
558 UINT64 InterruptShadow:1;951 UINT64 InterruptShadow:1;
...@@ -562,6 +955,8 @@ typedef union WHV_X64_INTERRUPT_STATE_REGISTER {...@@ -562,6 +955,8 @@ typedef union WHV_X64_INTERRUPT_STATE_REGISTER {
562 UINT64 AsUINT64;955 UINT64 AsUINT64;
563} WHV_X64_INTERRUPT_STATE_REGISTER;956} WHV_X64_INTERRUPT_STATE_REGISTER;
564957
958C_ASSERT(sizeof(WHV_X64_INTERRUPT_STATE_REGISTER) == 8);
959
565typedef union WHV_X64_PENDING_INTERRUPTION_REGISTER {960typedef union WHV_X64_PENDING_INTERRUPTION_REGISTER {
566 __C89_NAMELESS struct {961 __C89_NAMELESS struct {
567 UINT32 InterruptionPending:1;962 UINT32 InterruptionPending:1;
...@@ -590,7 +985,6 @@ typedef union WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {...@@ -590,7 +985,6 @@ typedef union WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {
590985
591C_ASSERT(sizeof(WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER) == sizeof(UINT64));986C_ASSERT(sizeof(WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER) == sizeof(UINT64));
592987
593
594typedef enum WHV_X64_PENDING_EVENT_TYPE {988typedef enum WHV_X64_PENDING_EVENT_TYPE {
595 WHvX64PendingEventException = 0,989 WHvX64PendingEventException = 0,
596 WHvX64PendingEventExtInt = 5990 WHvX64PendingEventExtInt = 5
...@@ -652,6 +1046,14 @@ typedef union WHV_X64_PENDING_DEBUG_EXCEPTION {...@@ -652,6 +1046,14 @@ typedef union WHV_X64_PENDING_DEBUG_EXCEPTION {
6521046
653C_ASSERT(sizeof(WHV_X64_PENDING_DEBUG_EXCEPTION) == sizeof(UINT64));1047C_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
655typedef union WHV_REGISTER_VALUE {1057typedef union WHV_REGISTER_VALUE {
656 WHV_UINT128 Reg128;1058 WHV_UINT128 Reg128;
657 UINT64 Reg64;1059 UINT64 Reg64;
...@@ -672,6 +1074,8 @@ typedef union WHV_REGISTER_VALUE {...@@ -672,6 +1074,8 @@ typedef union WHV_REGISTER_VALUE {
672 WHV_X64_PENDING_DEBUG_EXCEPTION PendingDebugException;1074 WHV_X64_PENDING_DEBUG_EXCEPTION PendingDebugException;
673} WHV_REGISTER_VALUE;1075} WHV_REGISTER_VALUE;
6741076
1077C_ASSERT(sizeof(WHV_REGISTER_VALUE) == 16);
1078
675typedef enum WHV_RUN_VP_EXIT_REASON {1079typedef enum WHV_RUN_VP_EXIT_REASON {
676 WHvRunVpExitReasonNone = 0x00000000,1080 WHvRunVpExitReasonNone = 0x00000000,
677 WHvRunVpExitReasonMemoryAccess = 0x00000001,1081 WHvRunVpExitReasonMemoryAccess = 0x00000001,
...@@ -682,6 +1086,7 @@ typedef enum WHV_RUN_VP_EXIT_REASON {...@@ -682,6 +1086,7 @@ typedef enum WHV_RUN_VP_EXIT_REASON {
682 WHvRunVpExitReasonX64InterruptWindow = 0x00000007,1086 WHvRunVpExitReasonX64InterruptWindow = 0x00000007,
683 WHvRunVpExitReasonX64Halt = 0x00000008,1087 WHvRunVpExitReasonX64Halt = 0x00000008,
684 WHvRunVpExitReasonX64ApicEoi = 0x00000009,1088 WHvRunVpExitReasonX64ApicEoi = 0x00000009,
1089 WHvRunVpExitReasonSynicSintDeliverable = 0x0000000A,
685 WHvRunVpExitReasonX64MsrAccess = 0x00001000,1090 WHvRunVpExitReasonX64MsrAccess = 0x00001000,
686 WHvRunVpExitReasonX64Cpuid = 0x00001001,1091 WHvRunVpExitReasonX64Cpuid = 0x00001001,
687 WHvRunVpExitReasonException = 0x00001002,1092 WHvRunVpExitReasonException = 0x00001002,
...@@ -689,6 +1094,7 @@ typedef enum WHV_RUN_VP_EXIT_REASON {...@@ -689,6 +1094,7 @@ typedef enum WHV_RUN_VP_EXIT_REASON {
689 WHvRunVpExitReasonX64ApicSmiTrap = 0x00001004,1094 WHvRunVpExitReasonX64ApicSmiTrap = 0x00001004,
690 WHvRunVpExitReasonHypercall = 0x00001005,1095 WHvRunVpExitReasonHypercall = 0x00001005,
691 WHvRunVpExitReasonX64ApicInitSipiTrap = 0x00001006,1096 WHvRunVpExitReasonX64ApicInitSipiTrap = 0x00001006,
1097 WHvRunVpExitReasonX64ApicWriteTrap = 0x00001007,
692 WHvRunVpExitReasonCanceled = 0x000020011098 WHvRunVpExitReasonCanceled = 0x00002001
693} WHV_RUN_VP_EXIT_REASON;1099} WHV_RUN_VP_EXIT_REASON;
6941100
...@@ -720,11 +1126,7 @@ typedef struct WHV_VP_EXIT_CONTEXT {...@@ -720,11 +1126,7 @@ typedef struct WHV_VP_EXIT_CONTEXT {
720 UINT64 Rflags;1126 UINT64 Rflags;
721} WHV_VP_EXIT_CONTEXT;1127} WHV_VP_EXIT_CONTEXT;
7221128
723typedef enum WHV_MEMORY_ACCESS_TYPE {1129C_ASSERT(sizeof(WHV_VP_EXIT_CONTEXT) == 40);
724 WHvMemoryAccessRead = 0,
725 WHvMemoryAccessWrite = 1,
726 WHvMemoryAccessExecute = 2
727} WHV_MEMORY_ACCESS_TYPE;
7281130
729typedef union WHV_MEMORY_ACCESS_INFO {1131typedef union WHV_MEMORY_ACCESS_INFO {
730 __C89_NAMELESS struct {1132 __C89_NAMELESS struct {
...@@ -736,6 +1138,8 @@ typedef union WHV_MEMORY_ACCESS_INFO {...@@ -736,6 +1138,8 @@ typedef union WHV_MEMORY_ACCESS_INFO {
736 UINT32 AsUINT32;1138 UINT32 AsUINT32;
737} WHV_MEMORY_ACCESS_INFO;1139} WHV_MEMORY_ACCESS_INFO;
7381140
1141C_ASSERT(sizeof(WHV_MEMORY_ACCESS_INFO) == 4);
1142
739typedef struct WHV_MEMORY_ACCESS_CONTEXT {1143typedef struct WHV_MEMORY_ACCESS_CONTEXT {
740 UINT8 InstructionByteCount;1144 UINT8 InstructionByteCount;
741 UINT8 Reserved[3];1145 UINT8 Reserved[3];
...@@ -745,6 +1149,8 @@ typedef struct WHV_MEMORY_ACCESS_CONTEXT {...@@ -745,6 +1149,8 @@ typedef struct WHV_MEMORY_ACCESS_CONTEXT {
745 WHV_GUEST_VIRTUAL_ADDRESS Gva;1149 WHV_GUEST_VIRTUAL_ADDRESS Gva;
746} WHV_MEMORY_ACCESS_CONTEXT;1150} WHV_MEMORY_ACCESS_CONTEXT;
7471151
1152C_ASSERT(sizeof(WHV_MEMORY_ACCESS_CONTEXT) == 40);
1153
748typedef union WHV_X64_IO_PORT_ACCESS_INFO {1154typedef union WHV_X64_IO_PORT_ACCESS_INFO {
749 __C89_NAMELESS struct {1155 __C89_NAMELESS struct {
750 UINT32 IsWrite : 1;1156 UINT32 IsWrite : 1;
...@@ -773,6 +1179,8 @@ typedef struct WHV_X64_IO_PORT_ACCESS_CONTEXT {...@@ -773,6 +1179,8 @@ typedef struct WHV_X64_IO_PORT_ACCESS_CONTEXT {
773 WHV_X64_SEGMENT_REGISTER Es;1179 WHV_X64_SEGMENT_REGISTER Es;
774} WHV_X64_IO_PORT_ACCESS_CONTEXT;1180} WHV_X64_IO_PORT_ACCESS_CONTEXT;
7751181
1182C_ASSERT(sizeof(WHV_X64_IO_PORT_ACCESS_CONTEXT) == 96);
1183
776typedef union WHV_X64_MSR_ACCESS_INFO {1184typedef union WHV_X64_MSR_ACCESS_INFO {
777 __C89_NAMELESS struct {1185 __C89_NAMELESS struct {
778 UINT32 IsWrite : 1;1186 UINT32 IsWrite : 1;
...@@ -790,6 +1198,8 @@ typedef struct WHV_X64_MSR_ACCESS_CONTEXT {...@@ -790,6 +1198,8 @@ typedef struct WHV_X64_MSR_ACCESS_CONTEXT {
790 UINT64 Rdx;1198 UINT64 Rdx;
791} WHV_X64_MSR_ACCESS_CONTEXT;1199} WHV_X64_MSR_ACCESS_CONTEXT;
7921200
1201C_ASSERT(sizeof(WHV_X64_MSR_ACCESS_CONTEXT) == 24);
1202
793typedef struct WHV_X64_CPUID_ACCESS_CONTEXT {1203typedef struct WHV_X64_CPUID_ACCESS_CONTEXT {
794 UINT64 Rax;1204 UINT64 Rax;
795 UINT64 Rcx;1205 UINT64 Rcx;
...@@ -801,6 +1211,8 @@ typedef struct WHV_X64_CPUID_ACCESS_CONTEXT {...@@ -801,6 +1211,8 @@ typedef struct WHV_X64_CPUID_ACCESS_CONTEXT {
801 UINT64 DefaultResultRbx;1211 UINT64 DefaultResultRbx;
802} WHV_X64_CPUID_ACCESS_CONTEXT;1212} WHV_X64_CPUID_ACCESS_CONTEXT;
8031213
1214C_ASSERT(sizeof(WHV_X64_CPUID_ACCESS_CONTEXT) == 64);
1215
804typedef union WHV_VP_EXCEPTION_INFO {1216typedef union WHV_VP_EXCEPTION_INFO {
805 __C89_NAMELESS struct {1217 __C89_NAMELESS struct {
806 UINT32 ErrorCodeValid : 1;1218 UINT32 ErrorCodeValid : 1;
...@@ -823,6 +1235,8 @@ typedef struct WHV_VP_EXCEPTION_CONTEXT {...@@ -823,6 +1235,8 @@ typedef struct WHV_VP_EXCEPTION_CONTEXT {
823 UINT64 ExceptionParameter;1235 UINT64 ExceptionParameter;
824} WHV_VP_EXCEPTION_CONTEXT;1236} WHV_VP_EXCEPTION_CONTEXT;
8251237
1238C_ASSERT(sizeof(WHV_VP_EXCEPTION_CONTEXT) == 40);
1239
826typedef enum WHV_X64_UNSUPPORTED_FEATURE_CODE {1240typedef enum WHV_X64_UNSUPPORTED_FEATURE_CODE {
827 WHvUnsupportedFeatureIntercept = 1,1241 WHvUnsupportedFeatureIntercept = 1,
828 WHvUnsupportedFeatureTaskSwitchTss = 21242 WHvUnsupportedFeatureTaskSwitchTss = 2
...@@ -834,6 +1248,8 @@ typedef struct WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {...@@ -834,6 +1248,8 @@ typedef struct WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
834 UINT64 FeatureParameter;1248 UINT64 FeatureParameter;
835} WHV_X64_UNSUPPORTED_FEATURE_CONTEXT;1249} WHV_X64_UNSUPPORTED_FEATURE_CONTEXT;
8361250
1251C_ASSERT(sizeof(WHV_X64_UNSUPPORTED_FEATURE_CONTEXT) == 16);
1252
837typedef enum WHV_RUN_VP_CANCEL_REASON {1253typedef enum WHV_RUN_VP_CANCEL_REASON {
838 WhvRunVpCancelReasonUser = 01254 WhvRunVpCancelReasonUser = 0
839} WHV_RUN_VP_CANCEL_REASON;1255} WHV_RUN_VP_CANCEL_REASON;
...@@ -842,6 +1258,8 @@ typedef struct WHV_RUN_VP_CANCELED_CONTEXT {...@@ -842,6 +1258,8 @@ typedef struct WHV_RUN_VP_CANCELED_CONTEXT {
842 WHV_RUN_VP_CANCEL_REASON CancelReason;1258 WHV_RUN_VP_CANCEL_REASON CancelReason;
843} WHV_RUN_VP_CANCELED_CONTEXT;1259} WHV_RUN_VP_CANCELED_CONTEXT;
8441260
1261C_ASSERT(sizeof(WHV_RUN_VP_CANCELED_CONTEXT) == 4);
1262
845typedef enum WHV_X64_PENDING_INTERRUPTION_TYPE {1263typedef enum WHV_X64_PENDING_INTERRUPTION_TYPE {
846 WHvX64PendingInterrupt = 0,1264 WHvX64PendingInterrupt = 0,
847 WHvX64PendingNmi = 2,1265 WHvX64PendingNmi = 2,
...@@ -852,10 +1270,14 @@ typedef struct WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {...@@ -852,10 +1270,14 @@ typedef struct WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
852 WHV_X64_PENDING_INTERRUPTION_TYPE DeliverableType;1270 WHV_X64_PENDING_INTERRUPTION_TYPE DeliverableType;
853} WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT, *PWHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT;1271} WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT, *PWHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT;
8541272
1273C_ASSERT(sizeof(WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT) == 4);
1274
855typedef struct WHV_X64_APIC_EOI_CONTEXT {1275typedef struct WHV_X64_APIC_EOI_CONTEXT {
856 UINT32 InterruptVector;1276 UINT32 InterruptVector;
857} WHV_X64_APIC_EOI_CONTEXT;1277} WHV_X64_APIC_EOI_CONTEXT;
8581278
1279C_ASSERT(sizeof(WHV_X64_APIC_EOI_CONTEXT) == 4);
1280
859typedef union WHV_X64_RDTSC_INFO {1281typedef union WHV_X64_RDTSC_INFO {
860 __C89_NAMELESS struct {1282 __C89_NAMELESS struct {
861 UINT64 IsRdtscp : 1;1283 UINT64 IsRdtscp : 1;
...@@ -864,6 +1286,8 @@ typedef union WHV_X64_RDTSC_INFO {...@@ -864,6 +1286,8 @@ typedef union WHV_X64_RDTSC_INFO {
864 UINT64 AsUINT64;1286 UINT64 AsUINT64;
865} WHV_X64_RDTSC_INFO;1287} WHV_X64_RDTSC_INFO;
8661288
1289C_ASSERT(sizeof(WHV_X64_RDTSC_INFO) == 8);
1290
867typedef struct WHV_X64_RDTSC_CONTEXT {1291typedef struct WHV_X64_RDTSC_CONTEXT {
868 UINT64 TscAux;1292 UINT64 TscAux;
869 UINT64 VirtualOffset;1293 UINT64 VirtualOffset;
...@@ -872,10 +1296,14 @@ typedef struct WHV_X64_RDTSC_CONTEXT {...@@ -872,10 +1296,14 @@ typedef struct WHV_X64_RDTSC_CONTEXT {
872 WHV_X64_RDTSC_INFO RdtscInfo;1296 WHV_X64_RDTSC_INFO RdtscInfo;
873} WHV_X64_RDTSC_CONTEXT;1297} WHV_X64_RDTSC_CONTEXT;
8741298
1299C_ASSERT(sizeof(WHV_X64_RDTSC_CONTEXT) == 40);
1300
875typedef struct WHV_X64_APIC_SMI_CONTEXT {1301typedef struct WHV_X64_APIC_SMI_CONTEXT {
876 UINT64 ApicIcr;1302 UINT64 ApicIcr;
877} WHV_X64_APIC_SMI_CONTEXT;1303} WHV_X64_APIC_SMI_CONTEXT;
8781304
1305C_ASSERT(sizeof(WHV_X64_APIC_SMI_CONTEXT) == 8);
1306
879#define WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS 61307#define WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS 6
8801308
881typedef struct _WHV_HYPERCALL_CONTEXT {1309typedef struct _WHV_HYPERCALL_CONTEXT {
...@@ -891,10 +1319,30 @@ typedef struct _WHV_HYPERCALL_CONTEXT {...@@ -891,10 +1319,30 @@ typedef struct _WHV_HYPERCALL_CONTEXT {
891 UINT64 Reserved1[2];1319 UINT64 Reserved1[2];
892} WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT;1320} WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT;
8931321
1322C_ASSERT(sizeof(WHV_HYPERCALL_CONTEXT) == 176);
1323
894typedef struct WHV_X64_APIC_INIT_SIPI_CONTEXT {1324typedef struct WHV_X64_APIC_INIT_SIPI_CONTEXT {
895 UINT64 ApicIcr;1325 UINT64 ApicIcr;
896} WHV_X64_APIC_INIT_SIPI_CONTEXT;1326} 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
898typedef struct WHV_RUN_VP_EXIT_CONTEXT {1346typedef struct WHV_RUN_VP_EXIT_CONTEXT {
899 WHV_RUN_VP_EXIT_REASON ExitReason;1347 WHV_RUN_VP_EXIT_REASON ExitReason;
900 UINT32 Reserved;1348 UINT32 Reserved;
...@@ -913,9 +1361,13 @@ typedef struct WHV_RUN_VP_EXIT_CONTEXT {...@@ -913,9 +1361,13 @@ typedef struct WHV_RUN_VP_EXIT_CONTEXT {
913 WHV_X64_APIC_SMI_CONTEXT ApicSmi;1361 WHV_X64_APIC_SMI_CONTEXT ApicSmi;
914 WHV_HYPERCALL_CONTEXT Hypercall;1362 WHV_HYPERCALL_CONTEXT Hypercall;
915 WHV_X64_APIC_INIT_SIPI_CONTEXT ApicInitSipi;1363 WHV_X64_APIC_INIT_SIPI_CONTEXT ApicInitSipi;
1364 WHV_X64_APIC_WRITE_CONTEXT ApicWrite;
1365 WHV_SYNIC_SINT_DELIVERABLE_CONTEXT SynicSintDeliverable;
916 };1366 };
917} WHV_RUN_VP_EXIT_CONTEXT;1367} WHV_RUN_VP_EXIT_CONTEXT;
9181368
1369C_ASSERT(sizeof(WHV_RUN_VP_EXIT_CONTEXT) == 224);
1370
919typedef enum WHV_INTERRUPT_TYPE {1371typedef enum WHV_INTERRUPT_TYPE {
920 WHvX64InterruptTypeFixed = 0,1372 WHvX64InterruptTypeFixed = 0,
921 WHvX64InterruptTypeLowestPriority = 1,1373 WHvX64InterruptTypeLowestPriority = 1,
...@@ -944,6 +1396,8 @@ typedef struct WHV_INTERRUPT_CONTROL {...@@ -944,6 +1396,8 @@ typedef struct WHV_INTERRUPT_CONTROL {
944 UINT32 Vector;1396 UINT32 Vector;
945} WHV_INTERRUPT_CONTROL;1397} WHV_INTERRUPT_CONTROL;
9461398
1399C_ASSERT(sizeof(WHV_INTERRUPT_CONTROL) == 16);
1400
947typedef struct WHV_DOORBELL_MATCH_DATA {1401typedef struct WHV_DOORBELL_MATCH_DATA {
948 WHV_GUEST_PHYSICAL_ADDRESS GuestAddress;1402 WHV_GUEST_PHYSICAL_ADDRESS GuestAddress;
949 UINT64 Value;1403 UINT64 Value;
...@@ -953,6 +1407,8 @@ typedef struct WHV_DOORBELL_MATCH_DATA {...@@ -953,6 +1407,8 @@ typedef struct WHV_DOORBELL_MATCH_DATA {
953 UINT32 Reserved : 30;1407 UINT32 Reserved : 30;
954} WHV_DOORBELL_MATCH_DATA;1408} WHV_DOORBELL_MATCH_DATA;
9551409
1410C_ASSERT(sizeof(WHV_DOORBELL_MATCH_DATA) == 24);
1411
956typedef enum WHV_PARTITION_COUNTER_SET {1412typedef enum WHV_PARTITION_COUNTER_SET {
957 WHvPartitionCounterSetMemory1413 WHvPartitionCounterSetMemory
958} WHV_PARTITION_COUNTER_SET;1414} WHV_PARTITION_COUNTER_SET;
...@@ -963,11 +1419,14 @@ typedef struct WHV_PARTITION_MEMORY_COUNTERS {...@@ -963,11 +1419,14 @@ typedef struct WHV_PARTITION_MEMORY_COUNTERS {
963 UINT64 Mapped1GPageCount;1419 UINT64 Mapped1GPageCount;
964} WHV_PARTITION_MEMORY_COUNTERS;1420} WHV_PARTITION_MEMORY_COUNTERS;
9651421
1422C_ASSERT(sizeof(WHV_PARTITION_MEMORY_COUNTERS) == 24);
1423
966typedef enum WHV_PROCESSOR_COUNTER_SET {1424typedef enum WHV_PROCESSOR_COUNTER_SET {
967 WHvProcessorCounterSetRuntime,1425 WHvProcessorCounterSetRuntime,
968 WHvProcessorCounterSetIntercepts,1426 WHvProcessorCounterSetIntercepts,
969 WHvProcessorCounterSetEvents,1427 WHvProcessorCounterSetEvents,
970 WHvProcessorCounterSetApic1428 WHvProcessorCounterSetApic,
1429 WHvProcessorCounterSetSyntheticFeatures
971} WHV_PROCESSOR_COUNTER_SET;1430} WHV_PROCESSOR_COUNTER_SET;
9721431
973typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS {1432typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS {
...@@ -975,11 +1434,15 @@ typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS {...@@ -975,11 +1434,15 @@ typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS {
975 UINT64 HypervisorRuntime100ns;1434 UINT64 HypervisorRuntime100ns;
976} WHV_PROCESSOR_RUNTIME_COUNTERS;1435} WHV_PROCESSOR_RUNTIME_COUNTERS;
9771436
1437C_ASSERT(sizeof(WHV_PROCESSOR_RUNTIME_COUNTERS) == 16);
1438
978typedef struct WHV_PROCESSOR_INTERCEPT_COUNTER {1439typedef struct WHV_PROCESSOR_INTERCEPT_COUNTER {
979 UINT64 Count;1440 UINT64 Count;
980 UINT64 Time100ns;1441 UINT64 Time100ns;
981} WHV_PROCESSOR_INTERCEPT_COUNTER;1442} WHV_PROCESSOR_INTERCEPT_COUNTER;
9821443
1444C_ASSERT(sizeof(WHV_PROCESSOR_INTERCEPT_COUNTER) == 16);
1445
983typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS {1446typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS {
984 WHV_PROCESSOR_INTERCEPT_COUNTER PageInvalidations;1447 WHV_PROCESSOR_INTERCEPT_COUNTER PageInvalidations;
985 WHV_PROCESSOR_INTERCEPT_COUNTER ControlRegisterAccesses;1448 WHV_PROCESSOR_INTERCEPT_COUNTER ControlRegisterAccesses;
...@@ -992,14 +1455,21 @@ typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS {...@@ -992,14 +1455,21 @@ typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS {
992 WHV_PROCESSOR_INTERCEPT_COUNTER EmulatedInstructions;1455 WHV_PROCESSOR_INTERCEPT_COUNTER EmulatedInstructions;
993 WHV_PROCESSOR_INTERCEPT_COUNTER DebugRegisterAccesses;1456 WHV_PROCESSOR_INTERCEPT_COUNTER DebugRegisterAccesses;
994 WHV_PROCESSOR_INTERCEPT_COUNTER PageFaultIntercepts;1457 WHV_PROCESSOR_INTERCEPT_COUNTER PageFaultIntercepts;
1458 WHV_PROCESSOR_INTERCEPT_COUNTER NestedPageFaultIntercepts;
1459 WHV_PROCESSOR_INTERCEPT_COUNTER Hypercalls;
1460 WHV_PROCESSOR_INTERCEPT_COUNTER RdpmcInstructions;
995} WHV_PROCESSOR_ACTIVITY_COUNTERS;1461} WHV_PROCESSOR_ACTIVITY_COUNTERS;
9961462
1463C_ASSERT(sizeof(WHV_PROCESSOR_ACTIVITY_COUNTERS) == 224);
1464
997typedef struct WHV_PROCESSOR_EVENT_COUNTERS {1465typedef struct WHV_PROCESSOR_EVENT_COUNTERS {
998 UINT64 PageFaultCount;1466 UINT64 PageFaultCount;
999 UINT64 ExceptionCount;1467 UINT64 ExceptionCount;
1000 UINT64 InterruptCount;1468 UINT64 InterruptCount;
1001} WHV_PROCESSOR_GUEST_EVENT_COUNTERS;1469} WHV_PROCESSOR_GUEST_EVENT_COUNTERS;
10021470
1471C_ASSERT(sizeof(WHV_PROCESSOR_GUEST_EVENT_COUNTERS) == 24);
1472
1003typedef struct WHV_PROCESSOR_APIC_COUNTERS {1473typedef struct WHV_PROCESSOR_APIC_COUNTERS {
1004 UINT64 MmioAccessCount;1474 UINT64 MmioAccessCount;
1005 UINT64 EoiAccessCount;1475 UINT64 EoiAccessCount;
...@@ -1008,4 +1478,233 @@ typedef struct WHV_PROCESSOR_APIC_COUNTERS {...@@ -1008,4 +1478,233 @@ typedef struct WHV_PROCESSOR_APIC_COUNTERS {
1008 UINT64 SelfIpiCount;1478 UINT64 SelfIpiCount;
1009} WHV_PROCESSOR_APIC_COUNTERS;1479} 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
1011#endif /* _WINHVAPIDEFS_H_ */1710#endif /* _WINHVAPIDEFS_H_ */
lib/libc/include/any-windows-any/wininet.h+97-1
...@@ -61,6 +61,9 @@ extern "C" {...@@ -61,6 +61,9 @@ extern "C" {
61#define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x0000004061#define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x00000040
62#define INTERNET_REQFLAG_NET_TIMEOUT 0x0000008062#define INTERNET_REQFLAG_NET_TIMEOUT 0x00000080
6363
64#define INTERNET_FLAG_IDN_DIRECT 0x00000001
65#define INTERNET_FLAG_IDN_PROXY 0x00000002
66
64#define INTERNET_FLAG_RELOAD 0x8000000067#define INTERNET_FLAG_RELOAD 0x80000000
6568
66#define INTERNET_FLAG_RAW_DATA 0x4000000069#define INTERNET_FLAG_RAW_DATA 0x40000000
...@@ -104,6 +107,7 @@ extern "C" {...@@ -104,6 +107,7 @@ extern "C" {
104#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY107#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY
105108
106#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)109#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)
107#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)111#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
109#define INTERNET_ERROR_MASK_INSERT_CDROM 0x1113#define INTERNET_ERROR_MASK_INSERT_CDROM 0x1
...@@ -476,6 +480,7 @@ extern "C" {...@@ -476,6 +480,7 @@ extern "C" {
476#define INTERNET_OPTION_ERROR_MASK 62480#define INTERNET_OPTION_ERROR_MASK 62
477#define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63481#define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63
478#define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64482#define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64
483#define INTERNET_OPTION_HTTP_DECODING 65
479#define INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO 67484#define INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO 67
480#define INTERNET_OPTION_CODEPAGE 68485#define INTERNET_OPTION_CODEPAGE 68
481#define INTERNET_OPTION_CACHE_TIMESTAMPS 69486#define INTERNET_OPTION_CACHE_TIMESTAMPS 69
...@@ -507,11 +512,47 @@ extern "C" {...@@ -507,11 +512,47 @@ extern "C" {
507512
508#define INTERNET_OPTION_DATAFILE_EXT 96513#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
510#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK541#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
511#define INTERNET_LAST_OPTION INTERNET_OPTION_DATAFILE_EXT542#define INTERNET_LAST_OPTION INTERNET_OPTION_DATAFILE_EXT
512543
513#define INTERNET_PRIORITY_FOREGROUND 1000544#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
515#define INTERNET_HANDLE_TYPE_INTERNET 1556#define INTERNET_HANDLE_TYPE_INTERNET 1
516#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2557#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
517#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3558#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
...@@ -530,6 +571,7 @@ extern "C" {...@@ -530,6 +571,7 @@ extern "C" {
530#define AUTH_FLAG_DISABLE_NEGOTIATE 0x00000001571#define AUTH_FLAG_DISABLE_NEGOTIATE 0x00000001
531#define AUTH_FLAG_ENABLE_NEGOTIATE 0x00000002572#define AUTH_FLAG_ENABLE_NEGOTIATE 0x00000002
532#define AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL 0x00000004573#define AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL 0x00000004
574#define AUTH_FLAG_DISABLE_SERVER_AUTH 0x00000008
533575
534#define SECURITY_FLAG_SECURE 0x00000001576#define SECURITY_FLAG_SECURE 0x00000001
535#define SECURITY_FLAG_STRENGTH_WEAK 0x10000000577#define SECURITY_FLAG_STRENGTH_WEAK 0x10000000
...@@ -552,6 +594,7 @@ extern "C" {...@@ -552,6 +594,7 @@ extern "C" {
552#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080594#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
553#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100595#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
554#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200596#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
597#define SECURITY_FLAG_IGNORE_WEAK_SIGNATURE 0x00010000
555598
556#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID599#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
557#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID600#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
...@@ -561,6 +604,8 @@ extern "C" {...@@ -561,6 +604,8 @@ extern "C" {
561604
562#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)605#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
564#define AUTODIAL_MODE_NEVER 1609#define AUTODIAL_MODE_NEVER 1
565#define AUTODIAL_MODE_ALWAYS 2610#define AUTODIAL_MODE_ALWAYS 2
566#define AUTODIAL_MODE_NO_NETWORK_PRESENT 4611#define AUTODIAL_MODE_NO_NETWORK_PRESENT 4
...@@ -1035,6 +1080,33 @@ extern "C" {...@@ -1035,6 +1080,33 @@ extern "C" {
1035#define HTTP_QUERY_PASSPORT_URLS 771080#define HTTP_QUERY_PASSPORT_URLS 77
1036#define HTTP_QUERY_PASSPORT_CONFIG 781081#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
1038#define HTTP_QUERY_MAX 781110#define HTTP_QUERY_MAX 78
1039#define HTTP_QUERY_CUSTOM 655351111#define HTTP_QUERY_CUSTOM 65535
10401112
...@@ -1042,7 +1114,9 @@ extern "C" {...@@ -1042,7 +1114,9 @@ extern "C" {
1042#define HTTP_QUERY_FLAG_SYSTEMTIME 0x400000001114#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000
1043#define HTTP_QUERY_FLAG_NUMBER 0x200000001115#define HTTP_QUERY_FLAG_NUMBER 0x20000000
1044#define HTTP_QUERY_FLAG_COALESCE 0x100000001116#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)
1046#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)1120#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)
10471121
1048#define HTTP_STATUS_CONTINUE 1001122#define HTTP_STATUS_CONTINUE 100
...@@ -1063,6 +1137,7 @@ extern "C" {...@@ -1063,6 +1137,7 @@ extern "C" {
1063#define HTTP_STATUS_NOT_MODIFIED 3041137#define HTTP_STATUS_NOT_MODIFIED 304
1064#define HTTP_STATUS_USE_PROXY 3051138#define HTTP_STATUS_USE_PROXY 305
1065#define HTTP_STATUS_REDIRECT_KEEP_VERB 3071139#define HTTP_STATUS_REDIRECT_KEEP_VERB 307
1140#define HTTP_STATUS_PERMANENT_REDIRECT 308
10661141
1067#define HTTP_STATUS_BAD_REQUEST 4001142#define HTTP_STATUS_BAD_REQUEST 400
1068#define HTTP_STATUS_DENIED 4011143#define HTTP_STATUS_DENIED 401
...@@ -1080,6 +1155,7 @@ extern "C" {...@@ -1080,6 +1155,7 @@ extern "C" {
1080#define HTTP_STATUS_REQUEST_TOO_LARGE 4131155#define HTTP_STATUS_REQUEST_TOO_LARGE 413
1081#define HTTP_STATUS_URI_TOO_LONG 4141156#define HTTP_STATUS_URI_TOO_LONG 414
1082#define HTTP_STATUS_UNSUPPORTED_MEDIA 4151157#define HTTP_STATUS_UNSUPPORTED_MEDIA 415
1158#define HTTP_STATUS_MISDIRECTED_REQUEST 421
1083#define HTTP_STATUS_RETRY_WITH 4491159#define HTTP_STATUS_RETRY_WITH 449
10841160
1085#define HTTP_STATUS_SERVER_ERROR 5001161#define HTTP_STATUS_SERVER_ERROR 500
...@@ -1133,6 +1209,16 @@ extern "C" {...@@ -1133,6 +1209,16 @@ extern "C" {
1133 BOOLAPI HttpQueryInfoA(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);1209 BOOLAPI HttpQueryInfoA(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);
1134 BOOLAPI HttpQueryInfoW(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);1210 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
1136#define INTERNET_COOKIE_IS_SECURE 0x011222#define INTERNET_COOKIE_IS_SECURE 0x01
1137#define INTERNET_COOKIE_IS_SESSION 0x021223#define INTERNET_COOKIE_IS_SESSION 0x02
11381224
...@@ -1146,6 +1232,16 @@ extern "C" {...@@ -1146,6 +1232,16 @@ extern "C" {
1146#define INTERNET_COOKIE_IE6 0x4001232#define INTERNET_COOKIE_IE6 0x400
1147#define INTERNET_COOKIE_IS_LEGACY 0x8001233#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
1149#define InternetSetCookie __MINGW_NAME_AW(InternetSetCookie)1245#define InternetSetCookie __MINGW_NAME_AW(InternetSetCookie)
1150#define InternetGetCookie __MINGW_NAME_AW(InternetGetCookie)1246#define InternetGetCookie __MINGW_NAME_AW(InternetGetCookie)
1151#define InternetSetCookieEx __MINGW_NAME_AW(InternetSetCookieEx)1247#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,...@@ -129,6 +129,7 @@ WINBOOL WINAPI GetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,LPDWORD,
129#define GetUrlCacheConfigInfo __MINGW_NAME_AW(GetUrlCacheConfigInfo)129#define GetUrlCacheConfigInfo __MINGW_NAME_AW(GetUrlCacheConfigInfo)
130WINBOOL WINAPI IncrementUrlCacheHeaderData(DWORD,LPDWORD);130WINBOOL WINAPI IncrementUrlCacheHeaderData(DWORD,LPDWORD);
131WINBOOL WINAPI InternetQueryFortezzaStatus(DWORD*,DWORD_PTR);131WINBOOL WINAPI InternetQueryFortezzaStatus(DWORD*,DWORD_PTR);
132WINBOOL WINAPI IsHostInProxyBypassList(INTERNET_SCHEME,LPCSTR,DWORD);
132WINBOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*);133WINBOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*);
133WINBOOL WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*);134WINBOOL WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*);
134#define IsUrlCacheEntryExpired __MINGW_NAME_AW(IsUrlCacheEntryExpired)135#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...@@ -19,7 +19,17 @@ DEFINE_GUID(GUID_DEVINTERFACE_MEDIUMCHANGER,0x53f56310,0xb6bf,0x11d0,0x94,0xf2,0
19DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,0x53f56311,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);19DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,0x53f56311,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
20DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,0x53f56312,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);20DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,0x53f56312,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
21DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,0x2accfe60,0xc130,0x11d2,0xb0,0x82,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);21DEFINE_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);
22DEFINE_GUID(GUID_DEVINTERFACE_HIDDEN_VOLUME,0x7f108a28,0x9833,0x4b3b,0xb7,0x80,0x2c,0x6b,0x5f,0xa5,0xc0,0x62);28DEFINE_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);
23DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,0x86e0d1e0,0x8089,0x11d0,0x9c,0xe4,0x08,0x00,0x3e,0x30,0x1f,0x73);33DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,0x86e0d1e0,0x8089,0x11d0,0x9c,0xe4,0x08,0x00,0x3e,0x30,0x1f,0x73);
24DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18);34DEFINE_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...@@ -38,6 +48,23 @@ DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0x
38#define GUID_SERENUM_BUS_ENUMERATOR GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR48#define GUID_SERENUM_BUS_ENUMERATOR GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR
39#endif /* DEFINE_GUID */49#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
41#ifndef _WINIOCTL_68#ifndef _WINIOCTL_
42#define _WINIOCTL_69#define _WINIOCTL_
4370
...@@ -133,10 +160,15 @@ DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0x...@@ -133,10 +160,15 @@ DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0x
133#define FILE_DEVICE_HOLOGRAPHIC 0x0000005b160#define FILE_DEVICE_HOLOGRAPHIC 0x0000005b
134#define FILE_DEVICE_SDFXHCI 0x0000005c161#define FILE_DEVICE_SDFXHCI 0x0000005c
135#define FILE_DEVICE_UCMUCSI 0x0000005d162#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
137#define CTL_CODE(DeviceType,Function,Method,Access) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))168#define CTL_CODE(DeviceType,Function,Method,Access) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
138169
139#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((DWORD)(ctrlCode & 0xffff0000)) >> 16)170#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((DWORD)(ctrlCode & 0xffff0000)) >> 16)
171#define METHOD_FROM_CTL_CODE(ctrlCode) ((DWORD)(ctrlCode & 3))
140172
141#define METHOD_BUFFERED 0173#define METHOD_BUFFERED 0
142#define METHOD_IN_DIRECT 1174#define METHOD_IN_DIRECT 1
...@@ -189,17 +221,59 @@ extern "C" {...@@ -189,17 +221,59 @@ extern "C" {
189#define IOCTL_STORAGE_PERSISTENT_RESERVE_OUT CTL_CODE(IOCTL_STORAGE_BASE, 0x0407, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)221#define IOCTL_STORAGE_PERSISTENT_RESERVE_OUT CTL_CODE(IOCTL_STORAGE_BASE, 0x0407, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
190222
191#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE,0x0420,METHOD_BUFFERED,FILE_ANY_ACCESS)223#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)
192#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE,0x0440,METHOD_BUFFERED,FILE_ANY_ACCESS)225#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)
193#define IOCTL_STORAGE_READ_CAPACITY CTL_CODE(IOCTL_STORAGE_BASE,0x0450,METHOD_BUFFERED,FILE_READ_ACCESS)228#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
195#define IOCTL_STORAGE_GET_BC_PROPERTIES CTL_CODE(IOCTL_STORAGE_BASE, 0x0600, METHOD_BUFFERED, FILE_READ_ACCESS)246#define IOCTL_STORAGE_GET_BC_PROPERTIES CTL_CODE(IOCTL_STORAGE_BASE, 0x0600, METHOD_BUFFERED, FILE_READ_ACCESS)
196#define IOCTL_STORAGE_ALLOCATE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0601, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)247#define IOCTL_STORAGE_ALLOCATE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0601, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
197#define IOCTL_STORAGE_FREE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0602, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)248#define IOCTL_STORAGE_FREE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0602, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
249
198#define IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT CTL_CODE(IOCTL_STORAGE_BASE, 0x0620, METHOD_BUFFERED, FILE_ANY_ACCESS)250#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
200#define OBSOLETE_IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE,0x0400,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)255#define OBSOLETE_IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE,0x0400,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
201#define OBSOLETE_IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE,0x0401,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)256#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
203typedef struct _STORAGE_READ_CAPACITY {277typedef struct _STORAGE_READ_CAPACITY {
204 ULONG Version;278 ULONG Version;
205 ULONG Size;279 ULONG Size;
...@@ -320,6 +394,27 @@ typedef struct _STORAGE_READ_CAPACITY {...@@ -320,6 +394,27 @@ typedef struct _STORAGE_READ_CAPACITY {
320 DWORD PartitionNumber;394 DWORD PartitionNumber;
321 } STORAGE_DEVICE_NUMBER,*PSTORAGE_DEVICE_NUMBER;395 } 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
323 typedef struct _STORAGE_BUS_RESET_REQUEST {418 typedef struct _STORAGE_BUS_RESET_REQUEST {
324 BYTE PathId;419 BYTE PathId;
325 } STORAGE_BUS_RESET_REQUEST,*PSTORAGE_BUS_RESET_REQUEST;420 } STORAGE_BUS_RESET_REQUEST,*PSTORAGE_BUS_RESET_REQUEST;
...@@ -368,7 +463,7 @@ typedef struct _STORAGE_READ_CAPACITY {...@@ -368,7 +463,7 @@ typedef struct _STORAGE_READ_CAPACITY {
368#define TAPE_RESET_STATISTICS __MSABI_LONG(2)463#define TAPE_RESET_STATISTICS __MSABI_LONG(2)
369464
370 typedef enum _STORAGE_MEDIA_TYPE {465 typedef enum _STORAGE_MEDIA_TYPE {
371 DDS_4mm = 0x20,466 DDS_4mm = 0x20,
372 MiniQic,467 MiniQic,
373 Travan,468 Travan,
374 QIC,469 QIC,
...@@ -470,6 +565,8 @@ typedef struct _STORAGE_READ_CAPACITY {...@@ -470,6 +565,8 @@ typedef struct _STORAGE_READ_CAPACITY {
470 BusTypeMaxReserved = 0x7F 565 BusTypeMaxReserved = 0x7F
471 } STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;566 } STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
472567
568#define SupportsDeviceSharing(BusType) ((BusType == BusTypeScsi) || (BusType == BusTypeFibre) || (BusType == BusTypeiScsi) || (BusType == BusTypeSas) || (BusType == BusTypeSpaces))
569
473 typedef struct _DEVICE_MEDIA_INFO {570 typedef struct _DEVICE_MEDIA_INFO {
474 union {571 union {
475 struct {572 struct {
...@@ -516,6 +613,16 @@ typedef struct _STORAGE_READ_CAPACITY {...@@ -516,6 +613,16 @@ typedef struct _STORAGE_READ_CAPACITY {
516 BYTE VendorSpecific[512];613 BYTE VendorSpecific[512];
517 } STORAGE_PREDICT_FAILURE,*PSTORAGE_PREDICT_FAILURE;614 } 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
519#ifdef __cplusplus626#ifdef __cplusplus
520}627}
521#endif628#endif
...@@ -705,6 +812,9 @@ typedef struct _PARTITION_INFORMATION_MBR {...@@ -705,6 +812,9 @@ typedef struct _PARTITION_INFORMATION_MBR {
705 BOOLEAN BootIndicator;812 BOOLEAN BootIndicator;
706 BOOLEAN RecognizedPartition;813 BOOLEAN RecognizedPartition;
707 DWORD HiddenSectors;814 DWORD HiddenSectors;
815#if NTDDI_VERSION > NTDDI_WINBLUE
816 GUID PartitionId;
817#endif
708} PARTITION_INFORMATION_MBR,*PPARTITION_INFORMATION_MBR;818} PARTITION_INFORMATION_MBR,*PPARTITION_INFORMATION_MBR;
709819
710typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;820typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
...@@ -745,6 +855,9 @@ typedef struct _PARTITION_INFORMATION_EX {...@@ -745,6 +855,9 @@ typedef struct _PARTITION_INFORMATION_EX {
745 LARGE_INTEGER PartitionLength;855 LARGE_INTEGER PartitionLength;
746 DWORD PartitionNumber;856 DWORD PartitionNumber;
747 BOOLEAN RewritePartition;857 BOOLEAN RewritePartition;
858#if NTDDI_VERSION >= NTDDI_WIN10_RS3
859 BOOLEAN IsServicePartition;
860#endif
748 __C89_NAMELESS union {861 __C89_NAMELESS union {
749 PARTITION_INFORMATION_MBR Mbr;862 PARTITION_INFORMATION_MBR Mbr;
750 PARTITION_INFORMATION_GPT Gpt;863 PARTITION_INFORMATION_GPT Gpt;
...@@ -1865,16 +1978,42 @@ typedef struct _STORAGE_DESCRIPTOR_HEADER {...@@ -1865,16 +1978,42 @@ typedef struct _STORAGE_DESCRIPTOR_HEADER {
1865} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;1978} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;
18661979
1867typedef enum _STORAGE_PROPERTY_ID {1980typedef enum _STORAGE_PROPERTY_ID {
1868 StorageDeviceProperty = 0,1981 StorageDeviceProperty = 0,
1869 StorageAdapterProperty = 1,1982 StorageAdapterProperty,
1870 StorageDeviceIdProperty = 2,1983 StorageDeviceIdProperty,
1871 StorageDeviceUniqueIdProperty = 3,1984 StorageDeviceUniqueIdProperty,
1872 StorageDeviceWriteCacheProperty = 4,1985 StorageDeviceWriteCacheProperty,
1873 StorageMiniportProperty = 5,1986 StorageMiniportProperty,
1874 StorageAccessAlignmentProperty = 6,1987 StorageAccessAlignmentProperty,
1875 StorageDeviceSeekPenaltyProperty = 7,1988 StorageDeviceSeekPenaltyProperty,
1876 StorageDeviceTrimProperty = 8,1989 StorageDeviceTrimProperty,
1877 StorageDeviceWriteAggregationProperty = 91990 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
1878} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;2017} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
18792018
1880typedef enum _STORAGE_QUERY_TYPE {2019typedef enum _STORAGE_QUERY_TYPE {
...@@ -1884,12 +2023,24 @@ typedef enum _STORAGE_QUERY_TYPE {...@@ -1884,12 +2023,24 @@ typedef enum _STORAGE_QUERY_TYPE {
1884 PropertyQueryMaxDefined = 3 2023 PropertyQueryMaxDefined = 3
1885} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;2024} 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
1887typedef struct _STORAGE_PROPERTY_QUERY {2032typedef struct _STORAGE_PROPERTY_QUERY {
1888 STORAGE_PROPERTY_ID PropertyId;2033 STORAGE_PROPERTY_ID PropertyId;
1889 STORAGE_QUERY_TYPE QueryType;2034 STORAGE_QUERY_TYPE QueryType;
1890 BYTE AdditionalParameters[1];2035 BYTE AdditionalParameters[1];
1891} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;2036} 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
1893typedef struct _STORAGE_DEVICE_DESCRIPTOR {2044typedef struct _STORAGE_DEVICE_DESCRIPTOR {
1894 DWORD Version;2045 DWORD Version;
1895 DWORD Size;2046 DWORD Size;
...@@ -1919,8 +2070,30 @@ typedef struct _STORAGE_ADAPTER_DESCRIPTOR {...@@ -1919,8 +2070,30 @@ typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
1919 BYTE BusType;2070 BYTE BusType;
1920 WORD BusMajorVersion;2071 WORD BusMajorVersion;
1921 WORD BusMinorVersion;2072 WORD BusMinorVersion;
2073#if NTDDI_VERSION >= NTDDI_WIN8
2074 BYTE SrbType;
2075 BYTE AddressType;
2076#endif
1922} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;2077} 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
1924typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR {2097typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR {
1925 DWORD Version;2098 DWORD Version;
1926 DWORD Size;2099 DWORD Size;
...@@ -2302,9 +2475,14 @@ typedef struct _STORAGE_WRITE_CACHE_PROPERTY {...@@ -2302,9 +2475,14 @@ typedef struct _STORAGE_WRITE_CACHE_PROPERTY {
2302} STORAGE_WRITE_CACHE_PROPERTY, *PSTORAGE_WRITE_CACHE_PROPERTY;2475} STORAGE_WRITE_CACHE_PROPERTY, *PSTORAGE_WRITE_CACHE_PROPERTY;
23032476
2304typedef enum _STORAGE_PORT_CODE_SET {2477typedef enum _STORAGE_PORT_CODE_SET {
2305 StoragePortCodeSetReserved = 0,2478 StoragePortCodeSetReserved = 0,
2306 StoragePortCodeSetStorport = 1,2479 StoragePortCodeSetStorport = 1,
2307 StoragePortCodeSetSCSIport = 2 2480 StoragePortCodeSetSCSIport = 2,
2481 StoragePortCodeSetSpaceport = 3,
2482 StoragePortCodeSetATAport = 4,
2483 StoragePortCodeSetUSBport = 5,
2484 StoragePortCodeSetSBP2port = 6,
2485 StoragePortCodeSetSDport = 7
2308} STORAGE_PORT_CODE_SET, *PSTORAGE_PORT_CODE_SET;2486} STORAGE_PORT_CODE_SET, *PSTORAGE_PORT_CODE_SET;
23092487
2310typedef struct _STORAGE_MINIPORT_DESCRIPTOR {2488typedef struct _STORAGE_MINIPORT_DESCRIPTOR {
...@@ -2366,6 +2544,13 @@ typedef struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR {...@@ -2366,6 +2544,13 @@ typedef struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR {
2366 DWORD BytesPerPhysicalSector;2544 DWORD BytesPerPhysicalSector;
2367 DWORD BytesOffsetForSectorAlignment;2545 DWORD BytesOffsetForSectorAlignment;
2368} STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR, *PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR;2546} 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
2369#endif /*(_WIN32_WINNT >= 0x0600)*/2554#endif /*(_WIN32_WINNT >= 0x0600)*/
23702555
2371typedef struct _DEVICE_SEEK_PENALTY_DESCRIPTOR {2556typedef struct _DEVICE_SEEK_PENALTY_DESCRIPTOR {
...@@ -2386,6 +2571,268 @@ typedef struct _DEVICE_TRIM_DESCRIPTOR {...@@ -2386,6 +2571,268 @@ typedef struct _DEVICE_TRIM_DESCRIPTOR {
2386 BOOLEAN TrimEnabled;2571 BOOLEAN TrimEnabled;
2387} DEVICE_TRIM_DESCRIPTOR, *PDEVICE_TRIM_DESCRIPTOR;2572} 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
2389#if (_WIN32_WINNT >= 0x0601)2836#if (_WIN32_WINNT >= 0x0601)
2390typedef struct _REQUEST_OPLOCK_INPUT_BUFFER {2837typedef struct _REQUEST_OPLOCK_INPUT_BUFFER {
2391 WORD StructureVersion;2838 WORD StructureVersion;
lib/libc/include/any-windows-any/winnt.h+121-2
...@@ -4180,6 +4180,44 @@ __buildmemorybarrier()...@@ -4180,6 +4180,44 @@ __buildmemorybarrier()
4180 PVOID UmsCompletionList;4180 PVOID UmsCompletionList;
4181 } UMS_CREATE_THREAD_ATTRIBUTES,*PUMS_CREATE_THREAD_ATTRIBUTES;4181 } 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
4183 typedef struct _QUOTA_LIMITS {4221 typedef struct _QUOTA_LIMITS {
4184 SIZE_T PagedPoolLimit;4222 SIZE_T PagedPoolLimit;
4185 SIZE_T NonPagedPoolLimit;4223 SIZE_T NonPagedPoolLimit;
...@@ -4252,6 +4290,8 @@ __buildmemorybarrier()...@@ -4252,6 +4290,8 @@ __buildmemorybarrier()
4252 ProcessPayloadRestrictionPolicy,4290 ProcessPayloadRestrictionPolicy,
4253 ProcessChildProcessPolicy,4291 ProcessChildProcessPolicy,
4254 ProcessSideChannelIsolationPolicy,4292 ProcessSideChannelIsolationPolicy,
4293 ProcessUserShadowStackPolicy,
4294 ProcessRedirectionTrustPolicy,
4255 MaxProcessMitigationPolicy4295 MaxProcessMitigationPolicy
4256 } PROCESS_MITIGATION_POLICY,*PPROCESS_MITIGATION_POLICY;4296 } PROCESS_MITIGATION_POLICY,*PPROCESS_MITIGATION_POLICY;
42574297
...@@ -4426,6 +4466,36 @@ __buildmemorybarrier()...@@ -4426,6 +4466,36 @@ __buildmemorybarrier()
4426 };4466 };
4427 } PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY, *PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY;4467 } 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
4429 typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {4499 typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
4430 LARGE_INTEGER TotalUserTime;4500 LARGE_INTEGER TotalUserTime;
4431 LARGE_INTEGER TotalKernelTime;4501 LARGE_INTEGER TotalKernelTime;
...@@ -4758,6 +4828,16 @@ __buildmemorybarrier()...@@ -4758,6 +4828,16 @@ __buildmemorybarrier()
4758 DWORD64 CycleTime;4828 DWORD64 CycleTime;
4759 } SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION,*PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION;4829 } 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
4761#define PROCESSOR_INTEL_386 3864841#define PROCESSOR_INTEL_386 386
4762#define PROCESSOR_INTEL_486 4864842#define PROCESSOR_INTEL_486 486
4763#define PROCESSOR_INTEL_PENTIUM 5864843#define PROCESSOR_INTEL_PENTIUM 586
...@@ -4834,19 +4914,58 @@ __buildmemorybarrier()...@@ -4834,19 +4914,58 @@ __buildmemorybarrier()
4834#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 314914#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 31
4835#define PF_RDTSCP_INSTRUCTION_AVAILABLE 324915#define PF_RDTSCP_INSTRUCTION_AVAILABLE 32
4836#define PF_RDPID_INSTRUCTION_AVAILABLE 334916#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
4838#define XSTATE_LEGACY_FLOATING_POINT (0)4929#define XSTATE_LEGACY_FLOATING_POINT (0)
4839#define XSTATE_LEGACY_SSE (1)4930#define XSTATE_LEGACY_SSE (1)
4840#define XSTATE_GSSE (2)4931#define XSTATE_GSSE (2)
4841#define XSTATE_AVX (XSTATE_GSSE)4932#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
4843#define XSTATE_MASK_LEGACY_FLOATING_POINT (1ULL << (XSTATE_LEGACY_FLOATING_POINT))4947#define XSTATE_MASK_LEGACY_FLOATING_POINT (1ULL << (XSTATE_LEGACY_FLOATING_POINT))
4844#define XSTATE_MASK_LEGACY_SSE (1ULL << (XSTATE_LEGACY_SSE))4948#define XSTATE_MASK_LEGACY_SSE (1ULL << (XSTATE_LEGACY_SSE))
4845#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)4949#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
4846#define XSTATE_MASK_GSSE (1LLU << (XSTATE_GSSE))4950#define XSTATE_MASK_GSSE (1LLU << (XSTATE_GSSE))
4847#define XSTATE_MASK_AVX (XSTATE_MASK_GSSE)4951#define XSTATE_MASK_AVX (XSTATE_MASK_GSSE)
48484952#define XSTATE_MASK_MPX ((1LLU << (XSTATE_MPX_BNDREGS)) | (1LLU << (XSTATE_MPX_BNDCSR)))
4849#define MAXIMUM_XSTATE_FEATURES (64)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
4851 typedef struct _XSTATE_FEATURE {4970 typedef struct _XSTATE_FEATURE {
4852 DWORD Offset;4971 DWORD Offset;
lib/libc/include/any-windows-any/winsock2.h+7
...@@ -1011,6 +1011,9 @@ typedef unsigned int GROUP;...@@ -1011,6 +1011,9 @@ typedef unsigned int GROUP;
1011#ifndef __INSIDE_CYGWIN__1011#ifndef __INSIDE_CYGWIN__
1012 WINSOCK_API_LINKAGE u_long WSAAPI htonl(u_long hostlong);1012 WINSOCK_API_LINKAGE u_long WSAAPI htonl(u_long hostlong);
1013 WINSOCK_API_LINKAGE u_short WSAAPI htons(u_short hostshort);1013 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
1014#endif /* !__INSIDE_CYGWIN__ */1017#endif /* !__INSIDE_CYGWIN__ */
1015 WINSOCK_API_LINKAGE unsigned __LONG32 WSAAPI inet_addr(const char *cp);1018 WINSOCK_API_LINKAGE unsigned __LONG32 WSAAPI inet_addr(const char *cp);
1016 WINSOCK_API_LINKAGE char *WSAAPI inet_ntoa(struct in_addr in);1019 WINSOCK_API_LINKAGE char *WSAAPI inet_ntoa(struct in_addr in);
...@@ -1018,6 +1021,9 @@ typedef unsigned int GROUP;...@@ -1018,6 +1021,9 @@ typedef unsigned int GROUP;
1018#ifndef __INSIDE_CYGWIN__1021#ifndef __INSIDE_CYGWIN__
1019 WINSOCK_API_LINKAGE u_long WSAAPI ntohl(u_long netlong);1022 WINSOCK_API_LINKAGE u_long WSAAPI ntohl(u_long netlong);
1020 WINSOCK_API_LINKAGE u_short WSAAPI ntohs(u_short netshort);1023 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
1021#endif /* !__INSIDE_CYGWIN__ */1027#endif /* !__INSIDE_CYGWIN__ */
1022 WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);1028 WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);
1023 WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);1029 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;...@@ -1032,6 +1038,7 @@ typedef unsigned int GROUP;
1032 WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyaddr(const char *addr,int len,int type);1038 WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyaddr(const char *addr,int len,int type);
1033 WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyname(const char *name);1039 WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyname(const char *name);
1034 WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);1040 WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);
1041 WINSOCK_API_LINKAGE int WSAAPI GetHostNameW(PWSTR name, int namelen);
1035 WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyport(int port,const char *proto);1042 WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyport(int port,const char *proto);
1036 WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyname(const char *name,const char *proto);1043 WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyname(const char *name,const char *proto);
1037 WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobynumber(int number);1044 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" {...@@ -48,6 +48,12 @@ extern "C" {
48#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C48#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C
49#define SERVICE_CONTROL_POWEREVENT 0x0000000D49#define SERVICE_CONTROL_POWEREVENT 0x0000000D
50#define SERVICE_CONTROL_SESSIONCHANGE 0x0000000E50#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
52#define SERVICE_STOPPED 0x0000000158#define SERVICE_STOPPED 0x00000001
53#define SERVICE_START_PENDING 0x0000000259#define SERVICE_START_PENDING 0x00000002
...@@ -65,6 +71,12 @@ extern "C" {...@@ -65,6 +71,12 @@ extern "C" {
65#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x0000002071#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020
66#define SERVICE_ACCEPT_POWEREVENT 0x0000004072#define SERVICE_ACCEPT_POWEREVENT 0x00000040
67#define SERVICE_ACCEPT_SESSIONCHANGE 0x0000008073#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
69#define SC_MANAGER_CONNECT 0x000181#define SC_MANAGER_CONNECT 0x0001
70#define SC_MANAGER_CREATE_SERVICE 0x000282#define SC_MANAGER_CREATE_SERVICE 0x0002
...@@ -91,6 +103,107 @@ extern "C" {...@@ -91,6 +103,107 @@ extern "C" {
91103
92#define SERVICE_CONFIG_DESCRIPTION 1104#define SERVICE_CONFIG_DESCRIPTION 1
93#define SERVICE_CONFIG_FAILURE_ACTIONS 2105#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
95 typedef struct _SERVICE_DESCRIPTIONA {208 typedef struct _SERVICE_DESCRIPTIONA {
96 LPSTR lpDescription;209 LPSTR lpDescription;
...@@ -366,7 +479,6 @@ __MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS)...@@ -366,7 +479,6 @@ __MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS)
366#define SERVICE_STOP_REASON_MINOR_MMC 0x00000016479#define SERVICE_STOP_REASON_MINOR_MMC 0x00000016
367#define SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011480#define SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011
368#define SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009481#define SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009
369#define SERVICE_STOP_REASON_MINOR_NONE 0x00060000
370#define SERVICE_STOP_REASON_MINOR_OTHER 0x00000001482#define SERVICE_STOP_REASON_MINOR_OTHER 0x00000001
371#define SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c483#define SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c
372#define SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005484#define SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005
...@@ -376,7 +488,6 @@ __MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS)...@@ -376,7 +488,6 @@ __MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS)
376#define SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d488#define SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d
377#define SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013489#define SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013
378#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e490#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e
379#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL 0x0000000e
380#define SERVICE_STOP_REASON_MINOR_UNSTABLE 0x00000007491#define SERVICE_STOP_REASON_MINOR_UNSTABLE 0x00000007
381#define SERVICE_STOP_REASON_MINOR_UPGRADE 0x00000004492#define SERVICE_STOP_REASON_MINOR_UPGRADE 0x00000004
382#define SERVICE_STOP_REASON_MINOR_WMI 0x00000012493#define SERVICE_STOP_REASON_MINOR_WMI 0x00000012
lib/libc/include/any-windows-any/winuser.h+4-1
...@@ -2241,7 +2241,10 @@ extern "C" {...@@ -2241,7 +2241,10 @@ extern "C" {
2241#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)2241#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
2242 WINUSERAPI WINBOOL WINAPI GetLayeredWindowAttributes (HWND hwnd, COLORREF *pcrKey, BYTE *pbAlpha, DWORD *pdwFlags);2242 WINUSERAPI WINBOOL WINAPI GetLayeredWindowAttributes (HWND hwnd, COLORREF *pcrKey, BYTE *pbAlpha, DWORD *pdwFlags);
22432243
2244#define PW_CLIENTONLY 0x000000012244#define PW_CLIENTONLY 0x00000001
2245#if _WIN32_WINNT >= 0x0603
2246#define PW_RENDERFULLCONTENT 0x00000002
2247#endif
22452248
2246 WINUSERAPI WINBOOL WINAPI PrintWindow (HWND hwnd, HDC hdcBlt, UINT nFlags);2249 WINUSERAPI WINBOOL WINAPI PrintWindow (HWND hwnd, HDC hdcBlt, UINT nFlags);
2247 WINUSERAPI WINBOOL WINAPI SetLayeredWindowAttributes (HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);2250 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmcontainer.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmdrmsdk.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmp.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmprealestate.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmpservices.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wmsbuffer.h+314-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -26,6 +26,22 @@ interface INSSBuffer;...@@ -26,6 +26,22 @@ interface INSSBuffer;
26#endif /* __cplusplus */26#endif /* __cplusplus */
27#endif27#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
29/* Headers for imported files */45/* Headers for imported files */
3046
31#include <objidl.h>47#include <objidl.h>
...@@ -157,6 +173,303 @@ static FORCEINLINE HRESULT INSSBuffer_GetBufferAndLength(INSSBuffer* This,BYTE *...@@ -157,6 +173,303 @@ static FORCEINLINE HRESULT INSSBuffer_GetBufferAndLength(INSSBuffer* This,BYTE *
157173
158#endif /* __INSSBuffer_INTERFACE_DEFINED__ */174#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
160/* Begin additional prototypes for all interfaces */473/* Begin additional prototypes for all interfaces */
161474
162475
lib/libc/include/any-windows-any/wmsdkidl.h+375-6
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -34,6 +34,14 @@ interface IWMReaderCallback;...@@ -34,6 +34,14 @@ interface IWMReaderCallback;
34#endif /* __cplusplus */34#endif /* __cplusplus */
35#endif35#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
37#ifndef __IWMStreamList_FWD_DEFINED__45#ifndef __IWMStreamList_FWD_DEFINED__
38#define __IWMStreamList_FWD_DEFINED__46#define __IWMStreamList_FWD_DEFINED__
39typedef interface IWMStreamList IWMStreamList;47typedef interface IWMStreamList IWMStreamList;
...@@ -458,6 +466,22 @@ interface IWMLicenseRestore;...@@ -458,6 +466,22 @@ interface IWMLicenseRestore;
458#endif /* __cplusplus */466#endif /* __cplusplus */
459#endif467#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
461/* Headers for imported files */485/* Headers for imported files */
462486
463#include <oaidl.h>487#include <oaidl.h>
...@@ -519,6 +543,11 @@ typedef struct _WMReaderClientInfo {...@@ -519,6 +543,11 @@ typedef struct _WMReaderClientInfo {
519 QWORD qwHostVersion;543 QWORD qwHostVersion;
520 WCHAR *wszPlayerUserAgent;544 WCHAR *wszPlayerUserAgent;
521} WM_READER_CLIENTINFO;545} WM_READER_CLIENTINFO;
546enum {
547 WM_SF_CLEANPOINT = 0x1,
548 WM_SF_DISCONTINUITY = 0x2,
549 WM_SF_DATALOSS = 0x4
550};
522typedef enum WMT_ATTR_DATATYPE {551typedef enum WMT_ATTR_DATATYPE {
523 WMT_TYPE_DWORD = 0,552 WMT_TYPE_DWORD = 0,
524 WMT_TYPE_STRING = 1,553 WMT_TYPE_STRING = 1,
...@@ -825,6 +854,172 @@ static FORCEINLINE HRESULT IWMReaderCallback_OnSample(IWMReaderCallback* This,DW...@@ -825,6 +854,172 @@ static FORCEINLINE HRESULT IWMReaderCallback_OnSample(IWMReaderCallback* This,DW
825854
826#endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */855#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
828/*****************************************************************************1023/*****************************************************************************
829 * IWMStreamList interface1024 * IWMStreamList interface
830 */1025 */
...@@ -6757,7 +6952,7 @@ IWMReaderAllocatorEx : public IUnknown...@@ -6757,7 +6952,7 @@ IWMReaderAllocatorEx : public IUnknown
6757 void *pvContext) = 0;6952 void *pvContext) = 0;
67586953
6759 virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx(6954 virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx(
6760 WORD wOutputNum,6955 DWORD output,
6761 DWORD cbBuffer,6956 DWORD cbBuffer,
6762 INSSBuffer **ppBuffer,6957 INSSBuffer **ppBuffer,
6763 DWORD dwFlags,6958 DWORD dwFlags,
...@@ -6798,7 +6993,7 @@ typedef struct IWMReaderAllocatorExVtbl {...@@ -6798,7 +6993,7 @@ typedef struct IWMReaderAllocatorExVtbl {
67986993
6799 HRESULT (STDMETHODCALLTYPE *AllocateForOutputEx)(6994 HRESULT (STDMETHODCALLTYPE *AllocateForOutputEx)(
6800 IWMReaderAllocatorEx *This,6995 IWMReaderAllocatorEx *This,
6801 WORD wOutputNum,6996 DWORD output,
6802 DWORD cbBuffer,6997 DWORD cbBuffer,
6803 INSSBuffer **ppBuffer,6998 INSSBuffer **ppBuffer,
6804 DWORD dwFlags,6999 DWORD dwFlags,
...@@ -6821,7 +7016,7 @@ interface IWMReaderAllocatorEx {...@@ -6821,7 +7016,7 @@ interface IWMReaderAllocatorEx {
6821#define IWMReaderAllocatorEx_Release(This) (This)->lpVtbl->Release(This)7016#define IWMReaderAllocatorEx_Release(This) (This)->lpVtbl->Release(This)
6822/*** IWMReaderAllocatorEx methods ***/7017/*** IWMReaderAllocatorEx methods ***/
6823#define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) (This)->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)7018#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)
6825#else7020#else
6826/*** IUnknown methods ***/7021/*** IUnknown methods ***/
6827static FORCEINLINE HRESULT IWMReaderAllocatorEx_QueryInterface(IWMReaderAllocatorEx* This,REFIID riid,void **ppvObject) {7022static FORCEINLINE HRESULT IWMReaderAllocatorEx_QueryInterface(IWMReaderAllocatorEx* This,REFIID riid,void **ppvObject) {
...@@ -6837,8 +7032,8 @@ static FORCEINLINE ULONG IWMReaderAllocatorEx_Release(IWMReaderAllocatorEx* This...@@ -6837,8 +7032,8 @@ static FORCEINLINE ULONG IWMReaderAllocatorEx_Release(IWMReaderAllocatorEx* This
6837static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForStreamEx(IWMReaderAllocatorEx* This,WORD wStreamNum,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) {7032static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForStreamEx(IWMReaderAllocatorEx* This,WORD wStreamNum,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) {
6838 return This->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext);7033 return This->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext);
6839}7034}
6840static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForOutputEx(IWMReaderAllocatorEx* This,WORD wOutputNum,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) {7035static FORCEINLINE HRESULT IWMReaderAllocatorEx_AllocateForOutputEx(IWMReaderAllocatorEx* This,DWORD output,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);7036 return This->lpVtbl->AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext);
6842}7037}
6843#endif7038#endif
6844#endif7039#endif
...@@ -11857,6 +12052,180 @@ static FORCEINLINE HRESULT IWMLicenseRestore_CancelLicenseRestore(IWMLicenseRest...@@ -11857,6 +12052,180 @@ static FORCEINLINE HRESULT IWMLicenseRestore_CancelLicenseRestore(IWMLicenseRest
1185712052
11858#endif /* __IWMLicenseRestore_INTERFACE_DEFINED__ */12053#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
11860HRESULT WINAPI WMCheckURLExtension(LPCWSTR);12229HRESULT WINAPI WMCheckURLExtension(LPCWSTR);
11861HRESULT WINAPI WMCheckURLScheme(LPCWSTR);12230HRESULT WINAPI WMCheckURLScheme(LPCWSTR);
11862HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);12231HRESULT 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/ws2ipdef.h-5
...@@ -192,11 +192,6 @@ typedef enum _MULTICAST_MODE_TYPE {...@@ -192,11 +192,6 @@ typedef enum _MULTICAST_MODE_TYPE {
192 MCAST_EXCLUDE192 MCAST_EXCLUDE
193} MULTICAST_MODE_TYPE;193} MULTICAST_MODE_TYPE;
194194
195typedef struct ip_mreq {
196 IN_ADDR imr_multiaddr;
197 IN_ADDR imr_interface;
198} IP_MREQ, *PIP_MREQ;
199
200typedef struct ip_mreq_source {195typedef struct ip_mreq_source {
201 IN_ADDR imr_multiaddr;196 IN_ADDR imr_multiaddr;
202 IN_ADDR imr_sourceaddr;197 IN_ADDR imr_sourceaddr;
lib/libc/include/any-windows-any/wsdattachment.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdbase.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdclient.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsddisco.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdhost.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsdxml.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wsmandisp.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wtypes.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wtypesbase.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/wuapi.h+158-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
...@@ -274,6 +274,14 @@ interface ISystemInformation;...@@ -274,6 +274,14 @@ interface ISystemInformation;
274#endif /* __cplusplus */274#endif /* __cplusplus */
275#endif275#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
277#ifndef __AutomaticUpdates_FWD_DEFINED__285#ifndef __AutomaticUpdates_FWD_DEFINED__
278#define __AutomaticUpdates_FWD_DEFINED__286#define __AutomaticUpdates_FWD_DEFINED__
279#ifdef __cplusplus287#ifdef __cplusplus
...@@ -310,6 +318,15 @@ typedef struct SystemInformation SystemInformation;...@@ -310,6 +318,15 @@ typedef struct SystemInformation SystemInformation;
310#endif /* defined __cplusplus */318#endif /* defined __cplusplus */
311#endif /* defined __SystemInformation_FWD_DEFINED__ */319#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
313/* Headers for imported files */330/* Headers for imported files */
314331
315#include <oaidl.h>332#include <oaidl.h>
...@@ -6903,6 +6920,133 @@ static FORCEINLINE HRESULT ISystemInformation_get_RebootRequired(ISystemInformat...@@ -6903,6 +6920,133 @@ static FORCEINLINE HRESULT ISystemInformation_get_RebootRequired(ISystemInformat
69036920
6904#endif /* __ISystemInformation_INTERFACE_DEFINED__ */6921#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
6906/*****************************************************************************7050/*****************************************************************************
6907 * AutomaticUpdates coclass7051 * AutomaticUpdates coclass
6908 */7052 */
...@@ -6955,6 +7099,19 @@ __CRT_UUID_DECL(SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0...@@ -6955,6 +7099,19 @@ __CRT_UUID_DECL(SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0
6955#endif7099#endif
6956#endif7100#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
6958#endif /* __WUApiLib_LIBRARY_DEFINED__ */7115#endif /* __WUApiLib_LIBRARY_DEFINED__ */
6959/* Begin additional prototypes for all interfaces */7116/* 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,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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xaudio2.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xaudio2fx.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xmllite.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsdigitalsignature.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsobjectmodel.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsobjectmodel_1.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsprint.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__
lib/libc/include/any-windows-any/xpsrassvc.h+1-1
...@@ -1,4 +1,4 @@...@@ -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
3#ifdef _WIN323#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__4#ifndef __REQUIRED_RPCNDR_H_VERSION__