1 /*** Autogenerated by WIDL 1.6 from include/xpsprint.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __xpsprint_h__ 16 #define __xpsprint_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IXpsPrintJobStream_FWD_DEFINED__ 21 #define __IXpsPrintJobStream_FWD_DEFINED__ 22 typedef interface IXpsPrintJobStream IXpsPrintJobStream; 23 #endif 24 25 #ifndef __IXpsPrintJob_FWD_DEFINED__ 26 #define __IXpsPrintJob_FWD_DEFINED__ 27 typedef interface IXpsPrintJob IXpsPrintJob; 28 #endif 29 30 /* Headers for imported files */ 31 32 #include <objidl.h> 33 #include <oaidl.h> 34 #include <ocidl.h> 35 #include <xpsobjectmodel.h> 36 37 #ifdef __cplusplus 38 extern "C" { 39 #endif 40 41 #include <winapifamily.h> 42 43 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 44 #if NTDDI_VERSION >= 0x06010000 45 typedef enum __WIDL_xpsprint_generated_name_00000038 { 46 XPS_JOB_IN_PROGRESS = 0, 47 XPS_JOB_COMPLETED = 1, 48 XPS_JOB_CANCELLED = 2, 49 XPS_JOB_FAILED = 3 50 } XPS_JOB_COMPLETION; 51 typedef struct __WIDL_xpsprint_generated_name_00000039 { 52 UINT32 jobId; 53 INT32 currentDocument; 54 INT32 currentPage; 55 INT32 currentPageTotal; 56 XPS_JOB_COMPLETION completion; 57 HRESULT jobStatus; 58 } XPS_JOB_STATUS; 59 /***************************************************************************** 60 * IXpsPrintJobStream interface 61 */ 62 #ifndef __IXpsPrintJobStream_INTERFACE_DEFINED__ 63 #define __IXpsPrintJobStream_INTERFACE_DEFINED__ 64 65 DEFINE_GUID(IID_IXpsPrintJobStream, 0x7a77dc5f, 0x45d6, 0x4dff, 0x93,0x07, 0xd8,0xcb,0x84,0x63,0x47,0xca); 66 #if defined(__cplusplus) && !defined(CINTERFACE) 67 MIDL_INTERFACE("7a77dc5f-45d6-4dff-9307-d8cb846347ca") 68 IXpsPrintJobStream : public ISequentialStream 69 { 70 virtual HRESULT STDMETHODCALLTYPE Close( 71 ) = 0; 72 73 }; 74 #ifdef __CRT_UUID_DECL 75 __CRT_UUID_DECL(IXpsPrintJobStream, 0x7a77dc5f, 0x45d6, 0x4dff, 0x93,0x07, 0xd8,0xcb,0x84,0x63,0x47,0xca) 76 #endif 77 #else 78 typedef struct IXpsPrintJobStreamVtbl { 79 BEGIN_INTERFACE 80 81 /*** IUnknown methods ***/ 82 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 83 IXpsPrintJobStream* This, 84 REFIID riid, 85 void **ppvObject); 86 87 ULONG (STDMETHODCALLTYPE *AddRef)( 88 IXpsPrintJobStream* This); 89 90 ULONG (STDMETHODCALLTYPE *Release)( 91 IXpsPrintJobStream* This); 92 93 /*** ISequentialStream methods ***/ 94 HRESULT (STDMETHODCALLTYPE *Read)( 95 IXpsPrintJobStream* This, 96 void *pv, 97 ULONG cb, 98 ULONG *pcbRead); 99 100 HRESULT (STDMETHODCALLTYPE *Write)( 101 IXpsPrintJobStream* This, 102 const void *pv, 103 ULONG cb, 104 ULONG *pcbWritten); 105 106 /*** IXpsPrintJobStream methods ***/ 107 HRESULT (STDMETHODCALLTYPE *Close)( 108 IXpsPrintJobStream* This); 109 110 END_INTERFACE 111 } IXpsPrintJobStreamVtbl; 112 interface IXpsPrintJobStream { 113 CONST_VTBL IXpsPrintJobStreamVtbl* lpVtbl; 114 }; 115 116 #ifdef COBJMACROS 117 #ifndef WIDL_C_INLINE_WRAPPERS 118 /*** IUnknown methods ***/ 119 #define IXpsPrintJobStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 120 #define IXpsPrintJobStream_AddRef(This) (This)->lpVtbl->AddRef(This) 121 #define IXpsPrintJobStream_Release(This) (This)->lpVtbl->Release(This) 122 /*** ISequentialStream methods ***/ 123 #define IXpsPrintJobStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 124 #define IXpsPrintJobStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 125 /*** IXpsPrintJobStream methods ***/ 126 #define IXpsPrintJobStream_Close(This) (This)->lpVtbl->Close(This) 127 #else 128 /*** IUnknown methods ***/ 129 static FORCEINLINE HRESULT IXpsPrintJobStream_QueryInterface(IXpsPrintJobStream* This,REFIID riid,void **ppvObject) { 130 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 131 } 132 static FORCEINLINE ULONG IXpsPrintJobStream_AddRef(IXpsPrintJobStream* This) { 133 return This->lpVtbl->AddRef(This); 134 } 135 static FORCEINLINE ULONG IXpsPrintJobStream_Release(IXpsPrintJobStream* This) { 136 return This->lpVtbl->Release(This); 137 } 138 /*** ISequentialStream methods ***/ 139 static FORCEINLINE HRESULT IXpsPrintJobStream_Read(IXpsPrintJobStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 140 return This->lpVtbl->Read(This,pv,cb,pcbRead); 141 } 142 static FORCEINLINE HRESULT IXpsPrintJobStream_Write(IXpsPrintJobStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 143 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 144 } 145 /*** IXpsPrintJobStream methods ***/ 146 static FORCEINLINE HRESULT IXpsPrintJobStream_Close(IXpsPrintJobStream* This) { 147 return This->lpVtbl->Close(This); 148 } 149 #endif 150 #endif 151 152 #endif 153 154 155 #endif /* __IXpsPrintJobStream_INTERFACE_DEFINED__ */ 156 157 /***************************************************************************** 158 * IXpsPrintJob interface 159 */ 160 #ifndef __IXpsPrintJob_INTERFACE_DEFINED__ 161 #define __IXpsPrintJob_INTERFACE_DEFINED__ 162 163 DEFINE_GUID(IID_IXpsPrintJob, 0x5ab89b06, 0x8194, 0x425f, 0xab,0x3b, 0xd7,0xa9,0x6e,0x35,0x01,0x61); 164 #if defined(__cplusplus) && !defined(CINTERFACE) 165 MIDL_INTERFACE("5ab89b06-8194-425f-ab3b-d7a96e350161") 166 IXpsPrintJob : public IUnknown 167 { 168 virtual HRESULT STDMETHODCALLTYPE Cancel( 169 ) = 0; 170 171 virtual HRESULT STDMETHODCALLTYPE GetJobStatus( 172 XPS_JOB_STATUS *jobStatus) = 0; 173 174 }; 175 #ifdef __CRT_UUID_DECL 176 __CRT_UUID_DECL(IXpsPrintJob, 0x5ab89b06, 0x8194, 0x425f, 0xab,0x3b, 0xd7,0xa9,0x6e,0x35,0x01,0x61) 177 #endif 178 #else 179 typedef struct IXpsPrintJobVtbl { 180 BEGIN_INTERFACE 181 182 /*** IUnknown methods ***/ 183 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 184 IXpsPrintJob* This, 185 REFIID riid, 186 void **ppvObject); 187 188 ULONG (STDMETHODCALLTYPE *AddRef)( 189 IXpsPrintJob* This); 190 191 ULONG (STDMETHODCALLTYPE *Release)( 192 IXpsPrintJob* This); 193 194 /*** IXpsPrintJob methods ***/ 195 HRESULT (STDMETHODCALLTYPE *Cancel)( 196 IXpsPrintJob* This); 197 198 HRESULT (STDMETHODCALLTYPE *GetJobStatus)( 199 IXpsPrintJob* This, 200 XPS_JOB_STATUS *jobStatus); 201 202 END_INTERFACE 203 } IXpsPrintJobVtbl; 204 interface IXpsPrintJob { 205 CONST_VTBL IXpsPrintJobVtbl* lpVtbl; 206 }; 207 208 #ifdef COBJMACROS 209 #ifndef WIDL_C_INLINE_WRAPPERS 210 /*** IUnknown methods ***/ 211 #define IXpsPrintJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 212 #define IXpsPrintJob_AddRef(This) (This)->lpVtbl->AddRef(This) 213 #define IXpsPrintJob_Release(This) (This)->lpVtbl->Release(This) 214 /*** IXpsPrintJob methods ***/ 215 #define IXpsPrintJob_Cancel(This) (This)->lpVtbl->Cancel(This) 216 #define IXpsPrintJob_GetJobStatus(This,jobStatus) (This)->lpVtbl->GetJobStatus(This,jobStatus) 217 #else 218 /*** IUnknown methods ***/ 219 static FORCEINLINE HRESULT IXpsPrintJob_QueryInterface(IXpsPrintJob* This,REFIID riid,void **ppvObject) { 220 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 221 } 222 static FORCEINLINE ULONG IXpsPrintJob_AddRef(IXpsPrintJob* This) { 223 return This->lpVtbl->AddRef(This); 224 } 225 static FORCEINLINE ULONG IXpsPrintJob_Release(IXpsPrintJob* This) { 226 return This->lpVtbl->Release(This); 227 } 228 /*** IXpsPrintJob methods ***/ 229 static FORCEINLINE HRESULT IXpsPrintJob_Cancel(IXpsPrintJob* This) { 230 return This->lpVtbl->Cancel(This); 231 } 232 static FORCEINLINE HRESULT IXpsPrintJob_GetJobStatus(IXpsPrintJob* This,XPS_JOB_STATUS *jobStatus) { 233 return This->lpVtbl->GetJobStatus(This,jobStatus); 234 } 235 #endif 236 #endif 237 238 #endif 239 240 241 #endif /* __IXpsPrintJob_INTERFACE_DEFINED__ */ 242 243 HRESULT WINAPI StartXpsPrintJob (LPCWSTR printerName, LPCWSTR jobName, LPCWSTR outputFileName, HANDLE progressEvent, HANDLE completionEvent, UINT8 *printablePagesOn, UINT32 printablePagesOnCount, IXpsPrintJob **xpsPrintJob, IXpsPrintJobStream **documentStream, IXpsPrintJobStream **printTicketStream); 244 HRESULT WINAPI StartXpsPrintJob1 (LPCWSTR printerName, LPCWSTR jobName, LPCWSTR outputFileName, HANDLE progressEvent, HANDLE completionEvent, IXpsPrintJob **xpsPrintJob, IXpsOMPackageTarget **printContentReceiver); 245 #endif 246 #endif 247 /* Begin additional prototypes for all interfaces */ 248 249 250 /* End additional prototypes */ 251 252 #ifdef __cplusplus 253 } 254 #endif 255 256 #endif /* __xpsprint_h__ */ 257