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