1 /*** Autogenerated by WIDL 1.5.31 from include/windows.foundation.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 __windows_foundation_h__
16 #define __windows_foundation_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IAsyncInfo_FWD_DEFINED__
21 #define __IAsyncInfo_FWD_DEFINED__
22 typedef interface IAsyncInfo IAsyncInfo;
23 #endif
24 
25 #ifndef __IASyncAction_FWD_DEFINED__
26 #define __IASyncAction_FWD_DEFINED__
27 typedef interface IASyncAction IASyncAction;
28 #endif
29 
30 #ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
31 #define __AsyncActionCompletedHandler_FWD_DEFINED__
32 typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
33 #endif
34 
35 #ifndef __IAsyncOperation_FWD_DEFINED__
36 #define __IAsyncOperation_FWD_DEFINED__
37 typedef interface IAsyncOperation IAsyncOperation;
38 #endif
39 
40 /* Headers for imported files */
41 
42 #include <inspectable.h>
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 #ifndef __IAsyncInfo_FWD_DEFINED__
49 #define __IAsyncInfo_FWD_DEFINED__
50 typedef interface IAsyncInfo IAsyncInfo;
51 #endif
52 
53 #ifndef __IAsyncAction_FWD_DEFINED__
54 #define __IAsyncAction_FWD_DEFINED__
55 typedef interface IAsyncAction IAsyncAction;
56 #endif
57 
58 #ifndef __IAsyncOperation_FWD_DEFINED__
59 #define __IAsyncOperation_FWD_DEFINED__
60 typedef interface IAsyncOperation IAsyncOperation;
61 #endif
62 
63 #ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
64 #define __AsyncActionCompletedHandler_FWD_DEFINED__
65 typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
66 #endif
67 
68 #ifndef __TypedEventHandler_FWD_DEFINED__
69 #define __TypedEventHandler_FWD_DEFINED__
70 typedef interface TypedEventHandler TypedEventHandler;
71 #endif
72 
73 struct DateTime;
74 
75 struct EventRegistrationToken;
76 
77 #ifndef __IVectorView_FWD_DEFINED__
78 #define __IVectorView_FWD_DEFINED__
79 typedef interface IVectorView IVectorView;
80 #endif
81 
82 #ifndef __IPropertySet_FWD_DEFINED__
83 #define __IPropertySet_FWD_DEFINED__
84 typedef interface IPropertySet IPropertySet;
85 #endif
86 
87 typedef enum AsyncStatus {
88     Started = 0,
89     Completed = 1,
90     Canceled = 2,
91     Error = 3
92 } AsyncStatus;
93 typedef struct DateTime {
94     UINT64 UniversalTime;
95 } DateTime;
96 typedef struct EventRegistrationToken {
97     UINT64 Value;
98 } EventRegistrationToken;
99 /*****************************************************************************
100  * IAsyncInfo interface
101  */
102 #ifndef __IAsyncInfo_INTERFACE_DEFINED__
103 #define __IAsyncInfo_INTERFACE_DEFINED__
104 
105 DEFINE_GUID(IID_IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
106 #if defined(__cplusplus) && !defined(CINTERFACE)
107 MIDL_INTERFACE("00000036-0000-0000-c000-000000000046")
108 IAsyncInfo : public IInspectable
109 {
110     virtual HRESULT STDMETHODCALLTYPE get_Id(
111         unsigned int *id) = 0;
112 
113     virtual HRESULT STDMETHODCALLTYPE get_Status(
114         AsyncStatus *status) = 0;
115 
116     virtual HRESULT STDMETHODCALLTYPE get_ErrorCode(
117         HRESULT *errorCode) = 0;
118 
119     virtual HRESULT STDMETHODCALLTYPE Cancel(
120         ) = 0;
121 
122     virtual HRESULT STDMETHODCALLTYPE Close(
123         ) = 0;
124 
125 };
126 #ifdef __CRT_UUID_DECL
127 __CRT_UUID_DECL(IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
128 #endif
129 #else
130 typedef struct IAsyncInfoVtbl {
131     BEGIN_INTERFACE
132 
133     /*** IUnknown methods ***/
134     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
135         IAsyncInfo* This,
136         REFIID riid,
137         void **ppvObject);
138 
139     ULONG (STDMETHODCALLTYPE *AddRef)(
140         IAsyncInfo* This);
141 
142     ULONG (STDMETHODCALLTYPE *Release)(
143         IAsyncInfo* This);
144 
145     /*** IInspectable methods ***/
146     HRESULT (STDMETHODCALLTYPE *GetIids)(
147         IAsyncInfo* This,
148         ULONG *iidCount,
149         IID **iids);
150 
151     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
152         IAsyncInfo* This,
153         HSTRING *className);
154 
155     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
156         IAsyncInfo* This,
157         TrustLevel *trustLevel);
158 
159     /*** IAsyncInfo methods ***/
160     HRESULT (STDMETHODCALLTYPE *get_Id)(
161         IAsyncInfo* This,
162         unsigned int *id);
163 
164     HRESULT (STDMETHODCALLTYPE *get_Status)(
165         IAsyncInfo* This,
166         AsyncStatus *status);
167 
168     HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
169         IAsyncInfo* This,
170         HRESULT *errorCode);
171 
172     HRESULT (STDMETHODCALLTYPE *Cancel)(
173         IAsyncInfo* This);
174 
175     HRESULT (STDMETHODCALLTYPE *Close)(
176         IAsyncInfo* This);
177 
178     END_INTERFACE
179 } IAsyncInfoVtbl;
180 interface IAsyncInfo {
181     CONST_VTBL IAsyncInfoVtbl* lpVtbl;
182 };
183 
184 #ifdef COBJMACROS
185 #ifndef WIDL_C_INLINE_WRAPPERS
186 /*** IUnknown methods ***/
187 #define IAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
188 #define IAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
189 #define IAsyncInfo_Release(This) (This)->lpVtbl->Release(This)
190 /*** IInspectable methods ***/
191 #define IAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
192 #define IAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
193 #define IAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
194 /*** IAsyncInfo methods ***/
195 #define IAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
196 #define IAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
197 #define IAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
198 #define IAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This)
199 #define IAsyncInfo_Close(This) (This)->lpVtbl->Close(This)
200 #else
201 /*** IUnknown methods ***/
202 static FORCEINLINE HRESULT IAsyncInfo_QueryInterface(IAsyncInfo* This,REFIID riid,void **ppvObject) {
203     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
204 }
205 static FORCEINLINE ULONG IAsyncInfo_AddRef(IAsyncInfo* This) {
206     return This->lpVtbl->AddRef(This);
207 }
208 static FORCEINLINE ULONG IAsyncInfo_Release(IAsyncInfo* This) {
209     return This->lpVtbl->Release(This);
210 }
211 /*** IInspectable methods ***/
212 static FORCEINLINE HRESULT IAsyncInfo_GetIids(IAsyncInfo* This,ULONG *iidCount,IID **iids) {
213     return This->lpVtbl->GetIids(This,iidCount,iids);
214 }
215 static FORCEINLINE HRESULT IAsyncInfo_GetRuntimeClassName(IAsyncInfo* This,HSTRING *className) {
216     return This->lpVtbl->GetRuntimeClassName(This,className);
217 }
218 static FORCEINLINE HRESULT IAsyncInfo_GetTrustLevel(IAsyncInfo* This,TrustLevel *trustLevel) {
219     return This->lpVtbl->GetTrustLevel(This,trustLevel);
220 }
221 /*** IAsyncInfo methods ***/
222 static FORCEINLINE HRESULT IAsyncInfo_get_Id(IAsyncInfo* This,unsigned int *id) {
223     return This->lpVtbl->get_Id(This,id);
224 }
225 static FORCEINLINE HRESULT IAsyncInfo_get_Status(IAsyncInfo* This,AsyncStatus *status) {
226     return This->lpVtbl->get_Status(This,status);
227 }
228 static FORCEINLINE HRESULT IAsyncInfo_get_ErrorCode(IAsyncInfo* This,HRESULT *errorCode) {
229     return This->lpVtbl->get_ErrorCode(This,errorCode);
230 }
231 static FORCEINLINE HRESULT IAsyncInfo_Cancel(IAsyncInfo* This) {
232     return This->lpVtbl->Cancel(This);
233 }
234 static FORCEINLINE HRESULT IAsyncInfo_Close(IAsyncInfo* This) {
235     return This->lpVtbl->Close(This);
236 }
237 #endif
238 #endif
239 
240 #endif
241 
242 HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Id_Proxy(
243     IAsyncInfo* This,
244     unsigned int *id);
245 void __RPC_STUB IAsyncInfo_get_Id_Stub(
246     IRpcStubBuffer* This,
247     IRpcChannelBuffer* pRpcChannelBuffer,
248     PRPC_MESSAGE pRpcMessage,
249     DWORD* pdwStubPhase);
250 HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Status_Proxy(
251     IAsyncInfo* This,
252     AsyncStatus *status);
253 void __RPC_STUB IAsyncInfo_get_Status_Stub(
254     IRpcStubBuffer* This,
255     IRpcChannelBuffer* pRpcChannelBuffer,
256     PRPC_MESSAGE pRpcMessage,
257     DWORD* pdwStubPhase);
258 HRESULT STDMETHODCALLTYPE IAsyncInfo_get_ErrorCode_Proxy(
259     IAsyncInfo* This,
260     HRESULT *errorCode);
261 void __RPC_STUB IAsyncInfo_get_ErrorCode_Stub(
262     IRpcStubBuffer* This,
263     IRpcChannelBuffer* pRpcChannelBuffer,
264     PRPC_MESSAGE pRpcMessage,
265     DWORD* pdwStubPhase);
266 HRESULT STDMETHODCALLTYPE IAsyncInfo_Cancel_Proxy(
267     IAsyncInfo* This);
268 void __RPC_STUB IAsyncInfo_Cancel_Stub(
269     IRpcStubBuffer* This,
270     IRpcChannelBuffer* pRpcChannelBuffer,
271     PRPC_MESSAGE pRpcMessage,
272     DWORD* pdwStubPhase);
273 HRESULT STDMETHODCALLTYPE IAsyncInfo_Close_Proxy(
274     IAsyncInfo* This);
275 void __RPC_STUB IAsyncInfo_Close_Stub(
276     IRpcStubBuffer* This,
277     IRpcChannelBuffer* pRpcChannelBuffer,
278     PRPC_MESSAGE pRpcMessage,
279     DWORD* pdwStubPhase);
280 
281 #endif  /* __IAsyncInfo_INTERFACE_DEFINED__ */
282 
283 /*****************************************************************************
284  * IASyncAction interface
285  */
286 #ifndef __IASyncAction_INTERFACE_DEFINED__
287 #define __IASyncAction_INTERFACE_DEFINED__
288 
289 DEFINE_GUID(IID_IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b);
290 #if defined(__cplusplus) && !defined(CINTERFACE)
291 MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
292 IASyncAction : public IInspectable
293 {
294     virtual HRESULT STDMETHODCALLTYPE put_Completed(
295         AsyncActionCompletedHandler *handler) = 0;
296 
297     virtual HRESULT STDMETHODCALLTYPE get_Completed(
298         AsyncActionCompletedHandler **handler) = 0;
299 
300     virtual HRESULT STDMETHODCALLTYPE GetResults(
301         ) = 0;
302 
303 };
304 #ifdef __CRT_UUID_DECL
305 __CRT_UUID_DECL(IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
306 #endif
307 #else
308 typedef struct IASyncActionVtbl {
309     BEGIN_INTERFACE
310 
311     /*** IUnknown methods ***/
312     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
313         IASyncAction* This,
314         REFIID riid,
315         void **ppvObject);
316 
317     ULONG (STDMETHODCALLTYPE *AddRef)(
318         IASyncAction* This);
319 
320     ULONG (STDMETHODCALLTYPE *Release)(
321         IASyncAction* This);
322 
323     /*** IInspectable methods ***/
324     HRESULT (STDMETHODCALLTYPE *GetIids)(
325         IASyncAction* This,
326         ULONG *iidCount,
327         IID **iids);
328 
329     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
330         IASyncAction* This,
331         HSTRING *className);
332 
333     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
334         IASyncAction* This,
335         TrustLevel *trustLevel);
336 
337     /*** IASyncAction methods ***/
338     HRESULT (STDMETHODCALLTYPE *put_Completed)(
339         IASyncAction* This,
340         AsyncActionCompletedHandler *handler);
341 
342     HRESULT (STDMETHODCALLTYPE *get_Completed)(
343         IASyncAction* This,
344         AsyncActionCompletedHandler **handler);
345 
346     HRESULT (STDMETHODCALLTYPE *GetResults)(
347         IASyncAction* This);
348 
349     END_INTERFACE
350 } IASyncActionVtbl;
351 interface IASyncAction {
352     CONST_VTBL IASyncActionVtbl* lpVtbl;
353 };
354 
355 #ifdef COBJMACROS
356 #ifndef WIDL_C_INLINE_WRAPPERS
357 /*** IUnknown methods ***/
358 #define IASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
359 #define IASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This)
360 #define IASyncAction_Release(This) (This)->lpVtbl->Release(This)
361 /*** IInspectable methods ***/
362 #define IASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
363 #define IASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
364 #define IASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
365 /*** IASyncAction methods ***/
366 #define IASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
367 #define IASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
368 #define IASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This)
369 #else
370 /*** IUnknown methods ***/
371 static FORCEINLINE HRESULT IASyncAction_QueryInterface(IASyncAction* This,REFIID riid,void **ppvObject) {
372     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
373 }
374 static FORCEINLINE ULONG IASyncAction_AddRef(IASyncAction* This) {
375     return This->lpVtbl->AddRef(This);
376 }
377 static FORCEINLINE ULONG IASyncAction_Release(IASyncAction* This) {
378     return This->lpVtbl->Release(This);
379 }
380 /*** IInspectable methods ***/
381 static FORCEINLINE HRESULT IASyncAction_GetIids(IASyncAction* This,ULONG *iidCount,IID **iids) {
382     return This->lpVtbl->GetIids(This,iidCount,iids);
383 }
384 static FORCEINLINE HRESULT IASyncAction_GetRuntimeClassName(IASyncAction* This,HSTRING *className) {
385     return This->lpVtbl->GetRuntimeClassName(This,className);
386 }
387 static FORCEINLINE HRESULT IASyncAction_GetTrustLevel(IASyncAction* This,TrustLevel *trustLevel) {
388     return This->lpVtbl->GetTrustLevel(This,trustLevel);
389 }
390 /*** IASyncAction methods ***/
391 static FORCEINLINE HRESULT IASyncAction_put_Completed(IASyncAction* This,AsyncActionCompletedHandler *handler) {
392     return This->lpVtbl->put_Completed(This,handler);
393 }
394 static FORCEINLINE HRESULT IASyncAction_get_Completed(IASyncAction* This,AsyncActionCompletedHandler **handler) {
395     return This->lpVtbl->get_Completed(This,handler);
396 }
397 static FORCEINLINE HRESULT IASyncAction_GetResults(IASyncAction* This) {
398     return This->lpVtbl->GetResults(This);
399 }
400 #endif
401 #endif
402 
403 #endif
404 
405 HRESULT STDMETHODCALLTYPE IASyncAction_put_Completed_Proxy(
406     IASyncAction* This,
407     AsyncActionCompletedHandler *handler);
408 void __RPC_STUB IASyncAction_put_Completed_Stub(
409     IRpcStubBuffer* This,
410     IRpcChannelBuffer* pRpcChannelBuffer,
411     PRPC_MESSAGE pRpcMessage,
412     DWORD* pdwStubPhase);
413 HRESULT STDMETHODCALLTYPE IASyncAction_get_Completed_Proxy(
414     IASyncAction* This,
415     AsyncActionCompletedHandler **handler);
416 void __RPC_STUB IASyncAction_get_Completed_Stub(
417     IRpcStubBuffer* This,
418     IRpcChannelBuffer* pRpcChannelBuffer,
419     PRPC_MESSAGE pRpcMessage,
420     DWORD* pdwStubPhase);
421 HRESULT STDMETHODCALLTYPE IASyncAction_GetResults_Proxy(
422     IASyncAction* This);
423 void __RPC_STUB IASyncAction_GetResults_Stub(
424     IRpcStubBuffer* This,
425     IRpcChannelBuffer* pRpcChannelBuffer,
426     PRPC_MESSAGE pRpcMessage,
427     DWORD* pdwStubPhase);
428 
429 #endif  /* __IASyncAction_INTERFACE_DEFINED__ */
430 
431 /*****************************************************************************
432  * AsyncActionCompletedHandler interface
433  */
434 #ifndef __AsyncActionCompletedHandler_INTERFACE_DEFINED__
435 #define __AsyncActionCompletedHandler_INTERFACE_DEFINED__
436 
437 DEFINE_GUID(IID_AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7);
438 #if defined(__cplusplus) && !defined(CINTERFACE)
439 MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7")
440 AsyncActionCompletedHandler : public IUnknown
441 {
442     virtual HRESULT STDMETHODCALLTYPE Invoke(
443         IInspectable *asyncAction,
444         AsyncStatus status) = 0;
445 
446 };
447 #ifdef __CRT_UUID_DECL
448 __CRT_UUID_DECL(AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
449 #endif
450 #else
451 typedef struct AsyncActionCompletedHandlerVtbl {
452     BEGIN_INTERFACE
453 
454     /*** IUnknown methods ***/
455     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
456         AsyncActionCompletedHandler* This,
457         REFIID riid,
458         void **ppvObject);
459 
460     ULONG (STDMETHODCALLTYPE *AddRef)(
461         AsyncActionCompletedHandler* This);
462 
463     ULONG (STDMETHODCALLTYPE *Release)(
464         AsyncActionCompletedHandler* This);
465 
466     /*** AsyncActionCompletedHandler methods ***/
467     HRESULT (STDMETHODCALLTYPE *Invoke)(
468         AsyncActionCompletedHandler* This,
469         IInspectable *asyncAction,
470         AsyncStatus status);
471 
472     END_INTERFACE
473 } AsyncActionCompletedHandlerVtbl;
474 interface AsyncActionCompletedHandler {
475     CONST_VTBL AsyncActionCompletedHandlerVtbl* lpVtbl;
476 };
477 
478 #ifdef COBJMACROS
479 #ifndef WIDL_C_INLINE_WRAPPERS
480 /*** IUnknown methods ***/
481 #define AsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
482 #define AsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
483 #define AsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
484 /*** AsyncActionCompletedHandler methods ***/
485 #define AsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status)
486 #else
487 /*** IUnknown methods ***/
488 static FORCEINLINE HRESULT AsyncActionCompletedHandler_QueryInterface(AsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
489     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
490 }
491 static FORCEINLINE ULONG AsyncActionCompletedHandler_AddRef(AsyncActionCompletedHandler* This) {
492     return This->lpVtbl->AddRef(This);
493 }
494 static FORCEINLINE ULONG AsyncActionCompletedHandler_Release(AsyncActionCompletedHandler* This) {
495     return This->lpVtbl->Release(This);
496 }
497 /*** AsyncActionCompletedHandler methods ***/
498 static FORCEINLINE HRESULT AsyncActionCompletedHandler_Invoke(AsyncActionCompletedHandler* This,IInspectable *asyncAction,AsyncStatus status) {
499     return This->lpVtbl->Invoke(This,asyncAction,status);
500 }
501 #endif
502 #endif
503 
504 #endif
505 
506 HRESULT STDMETHODCALLTYPE AsyncActionCompletedHandler_Invoke_Proxy(
507     AsyncActionCompletedHandler* This,
508     IInspectable *asyncAction,
509     AsyncStatus status);
510 void __RPC_STUB AsyncActionCompletedHandler_Invoke_Stub(
511     IRpcStubBuffer* This,
512     IRpcChannelBuffer* pRpcChannelBuffer,
513     PRPC_MESSAGE pRpcMessage,
514     DWORD* pdwStubPhase);
515 
516 #endif  /* __AsyncActionCompletedHandler_INTERFACE_DEFINED__ */
517 
518 /*****************************************************************************
519  * IAsyncOperation interface
520  */
521 #ifndef __IAsyncOperation_INTERFACE_DEFINED__
522 #define __IAsyncOperation_INTERFACE_DEFINED__
523 
524 DEFINE_GUID(IID_IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2);
525 #if defined(__cplusplus) && !defined(CINTERFACE)
526 MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2")
527 IAsyncOperation : public IAsyncInfo
528 {
529     virtual HRESULT STDMETHODCALLTYPE put_Completed(
530         AsyncActionCompletedHandler *handler) = 0;
531 
532     virtual HRESULT STDMETHODCALLTYPE get_Completed(
533         AsyncActionCompletedHandler **handler) = 0;
534 
535     virtual IInspectable * STDMETHODCALLTYPE GetResults(
536         ) = 0;
537 
538 };
539 #ifdef __CRT_UUID_DECL
540 __CRT_UUID_DECL(IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2)
541 #endif
542 #else
543 typedef struct IAsyncOperationVtbl {
544     BEGIN_INTERFACE
545 
546     /*** IUnknown methods ***/
547     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
548         IAsyncOperation* This,
549         REFIID riid,
550         void **ppvObject);
551 
552     ULONG (STDMETHODCALLTYPE *AddRef)(
553         IAsyncOperation* This);
554 
555     ULONG (STDMETHODCALLTYPE *Release)(
556         IAsyncOperation* This);
557 
558     /*** IInspectable methods ***/
559     HRESULT (STDMETHODCALLTYPE *GetIids)(
560         IAsyncOperation* This,
561         ULONG *iidCount,
562         IID **iids);
563 
564     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
565         IAsyncOperation* This,
566         HSTRING *className);
567 
568     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
569         IAsyncOperation* This,
570         TrustLevel *trustLevel);
571 
572     /*** IAsyncInfo methods ***/
573     HRESULT (STDMETHODCALLTYPE *get_Id)(
574         IAsyncOperation* This,
575         unsigned int *id);
576 
577     HRESULT (STDMETHODCALLTYPE *get_Status)(
578         IAsyncOperation* This,
579         AsyncStatus *status);
580 
581     HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
582         IAsyncOperation* This,
583         HRESULT *errorCode);
584 
585     HRESULT (STDMETHODCALLTYPE *Cancel)(
586         IAsyncOperation* This);
587 
588     HRESULT (STDMETHODCALLTYPE *Close)(
589         IAsyncOperation* This);
590 
591     /*** IAsyncOperation methods ***/
592     HRESULT (STDMETHODCALLTYPE *put_Completed)(
593         IAsyncOperation* This,
594         AsyncActionCompletedHandler *handler);
595 
596     HRESULT (STDMETHODCALLTYPE *get_Completed)(
597         IAsyncOperation* This,
598         AsyncActionCompletedHandler **handler);
599 
600     IInspectable * (STDMETHODCALLTYPE *GetResults)(
601         IAsyncOperation* This);
602 
603     END_INTERFACE
604 } IAsyncOperationVtbl;
605 interface IAsyncOperation {
606     CONST_VTBL IAsyncOperationVtbl* lpVtbl;
607 };
608 
609 #ifdef COBJMACROS
610 #ifndef WIDL_C_INLINE_WRAPPERS
611 /*** IUnknown methods ***/
612 #define IAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
613 #define IAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This)
614 #define IAsyncOperation_Release(This) (This)->lpVtbl->Release(This)
615 /*** IInspectable methods ***/
616 #define IAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
617 #define IAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
618 #define IAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
619 /*** IAsyncInfo methods ***/
620 #define IAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
621 #define IAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
622 #define IAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
623 #define IAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This)
624 #define IAsyncOperation_Close(This) (This)->lpVtbl->Close(This)
625 /*** IAsyncOperation methods ***/
626 #define IAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
627 #define IAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
628 #define IAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This)
629 #else
630 /*** IUnknown methods ***/
631 static FORCEINLINE HRESULT IAsyncOperation_QueryInterface(IAsyncOperation* This,REFIID riid,void **ppvObject) {
632     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
633 }
634 static FORCEINLINE ULONG IAsyncOperation_AddRef(IAsyncOperation* This) {
635     return This->lpVtbl->AddRef(This);
636 }
637 static FORCEINLINE ULONG IAsyncOperation_Release(IAsyncOperation* This) {
638     return This->lpVtbl->Release(This);
639 }
640 /*** IInspectable methods ***/
641 static FORCEINLINE HRESULT IAsyncOperation_GetIids(IAsyncOperation* This,ULONG *iidCount,IID **iids) {
642     return This->lpVtbl->GetIids(This,iidCount,iids);
643 }
644 static FORCEINLINE HRESULT IAsyncOperation_GetRuntimeClassName(IAsyncOperation* This,HSTRING *className) {
645     return This->lpVtbl->GetRuntimeClassName(This,className);
646 }
647 static FORCEINLINE HRESULT IAsyncOperation_GetTrustLevel(IAsyncOperation* This,TrustLevel *trustLevel) {
648     return This->lpVtbl->GetTrustLevel(This,trustLevel);
649 }
650 /*** IAsyncInfo methods ***/
651 static FORCEINLINE HRESULT IAsyncOperation_get_Id(IAsyncOperation* This,unsigned int *id) {
652     return This->lpVtbl->get_Id(This,id);
653 }
654 static FORCEINLINE HRESULT IAsyncOperation_get_Status(IAsyncOperation* This,AsyncStatus *status) {
655     return This->lpVtbl->get_Status(This,status);
656 }
657 static FORCEINLINE HRESULT IAsyncOperation_get_ErrorCode(IAsyncOperation* This,HRESULT *errorCode) {
658     return This->lpVtbl->get_ErrorCode(This,errorCode);
659 }
660 static FORCEINLINE HRESULT IAsyncOperation_Cancel(IAsyncOperation* This) {
661     return This->lpVtbl->Cancel(This);
662 }
663 static FORCEINLINE HRESULT IAsyncOperation_Close(IAsyncOperation* This) {
664     return This->lpVtbl->Close(This);
665 }
666 /*** IAsyncOperation methods ***/
667 static FORCEINLINE HRESULT IAsyncOperation_put_Completed(IAsyncOperation* This,AsyncActionCompletedHandler *handler) {
668     return This->lpVtbl->put_Completed(This,handler);
669 }
670 static FORCEINLINE HRESULT IAsyncOperation_get_Completed(IAsyncOperation* This,AsyncActionCompletedHandler **handler) {
671     return This->lpVtbl->get_Completed(This,handler);
672 }
673 static FORCEINLINE IInspectable * IAsyncOperation_GetResults(IAsyncOperation* This) {
674     return This->lpVtbl->GetResults(This);
675 }
676 #endif
677 #endif
678 
679 #endif
680 
681 HRESULT STDMETHODCALLTYPE IAsyncOperation_put_Completed_Proxy(
682     IAsyncOperation* This,
683     AsyncActionCompletedHandler *handler);
684 void __RPC_STUB IAsyncOperation_put_Completed_Stub(
685     IRpcStubBuffer* This,
686     IRpcChannelBuffer* pRpcChannelBuffer,
687     PRPC_MESSAGE pRpcMessage,
688     DWORD* pdwStubPhase);
689 HRESULT STDMETHODCALLTYPE IAsyncOperation_get_Completed_Proxy(
690     IAsyncOperation* This,
691     AsyncActionCompletedHandler **handler);
692 void __RPC_STUB IAsyncOperation_get_Completed_Stub(
693     IRpcStubBuffer* This,
694     IRpcChannelBuffer* pRpcChannelBuffer,
695     PRPC_MESSAGE pRpcMessage,
696     DWORD* pdwStubPhase);
697 IInspectable * STDMETHODCALLTYPE IAsyncOperation_GetResults_Proxy(
698     IAsyncOperation* This);
699 void __RPC_STUB IAsyncOperation_GetResults_Stub(
700     IRpcStubBuffer* This,
701     IRpcChannelBuffer* pRpcChannelBuffer,
702     PRPC_MESSAGE pRpcMessage,
703     DWORD* pdwStubPhase);
704 
705 #endif  /* __IAsyncOperation_INTERFACE_DEFINED__ */
706 
707 /* Begin additional prototypes for all interfaces */
708 
709 
710 /* End additional prototypes */
711 
712 #ifdef __cplusplus
713 }
714 #endif
715 
716 #endif /* __windows_foundation_h__ */
717