Home | History | Annotate | Download | only in include
      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