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