1 #if NTDDI_VERSION < NTDDI_WIN8 2 /* The following code is copied verbatim from MinGW-w64 shobjidl.h */ 3 /* 4 * IApplicationActivationManager interface 5 */ 6 typedef enum ACTIVATEOPTIONS { 7 AO_NONE = 0x0, 8 AO_DESIGNMODE = 0x1, 9 AO_NOERRORUI = 0x2, 10 AO_NOSPLASHSCREEN = 0x4 11 } ACTIVATEOPTIONS; 12 13 DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS) 14 15 #ifndef __IApplicationActivationManager_INTERFACE_DEFINED__ 16 #define __IApplicationActivationManager_INTERFACE_DEFINED__ 17 18 DEFINE_GUID(IID_IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d); 19 #if defined(__cplusplus) && !defined(CINTERFACE) 20 MIDL_INTERFACE("2e941141-7f97-4756-ba1d-9decde894a3d") 21 IApplicationActivationManager : public IUnknown 22 { 23 virtual HRESULT STDMETHODCALLTYPE ActivateApplication( 24 LPCWSTR appUserModelId, 25 LPCWSTR arguments, 26 ACTIVATEOPTIONS options, 27 DWORD *processId) = 0; 28 29 virtual HRESULT STDMETHODCALLTYPE ActivateForFile( 30 LPCWSTR appUserModelId, 31 IShellItemArray *itemArray, 32 LPCWSTR verb, 33 DWORD *processId) = 0; 34 35 virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol( 36 LPCWSTR appUserModelId, 37 IShellItemArray *itemArray, 38 DWORD *processId) = 0; 39 40 }; 41 #ifdef __CRT_UUID_DECL 42 __CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d) 43 #endif 44 #else 45 typedef struct IApplicationActivationManagerVtbl { 46 BEGIN_INTERFACE 47 48 /*** IUnknown methods ***/ 49 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 50 IApplicationActivationManager *This, 51 REFIID riid, 52 void **ppvObject); 53 54 ULONG (STDMETHODCALLTYPE *AddRef)( 55 IApplicationActivationManager *This); 56 57 ULONG (STDMETHODCALLTYPE *Release)( 58 IApplicationActivationManager *This); 59 60 /*** IApplicationActivationManager methods ***/ 61 HRESULT (STDMETHODCALLTYPE *ActivateApplication)( 62 IApplicationActivationManager *This, 63 LPCWSTR appUserModelId, 64 LPCWSTR arguments, 65 ACTIVATEOPTIONS options, 66 DWORD *processId); 67 68 HRESULT (STDMETHODCALLTYPE *ActivateForFile)( 69 IApplicationActivationManager *This, 70 LPCWSTR appUserModelId, 71 IShellItemArray *itemArray, 72 LPCWSTR verb, 73 DWORD *processId); 74 75 HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)( 76 IApplicationActivationManager *This, 77 LPCWSTR appUserModelId, 78 IShellItemArray *itemArray, 79 DWORD *processId); 80 81 END_INTERFACE 82 } IApplicationActivationManagerVtbl; 83 84 interface IApplicationActivationManager { 85 CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl; 86 }; 87 88 #ifdef COBJMACROS 89 #ifndef WIDL_C_INLINE_WRAPPERS 90 /*** IUnknown methods ***/ 91 #define IApplicationActivationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 92 #define IApplicationActivationManager_AddRef(This) (This)->lpVtbl->AddRef(This) 93 #define IApplicationActivationManager_Release(This) (This)->lpVtbl->Release(This) 94 /*** IApplicationActivationManager methods ***/ 95 #define IApplicationActivationManager_ActivateApplication(This,appUserModelId,arguments,options,processId) (This)->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId) 96 #define IApplicationActivationManager_ActivateForFile(This,appUserModelId,itemArray,verb,processId) (This)->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId) 97 #define IApplicationActivationManager_ActivateForProtocol(This,appUserModelId,itemArray,processId) (This)->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId) 98 #else 99 /*** IUnknown methods ***/ 100 static FORCEINLINE HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) { 101 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 102 } 103 static FORCEINLINE ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) { 104 return This->lpVtbl->AddRef(This); 105 } 106 static FORCEINLINE ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) { 107 return This->lpVtbl->Release(This); 108 } 109 /*** IApplicationActivationManager methods ***/ 110 static FORCEINLINE HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager* This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD *processId) { 111 return This->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId); 112 } 113 static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) { 114 return This->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId); 115 } 116 static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) { 117 return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId); 118 } 119 #endif 120 #endif 121 122 #endif 123 124 125 #endif /* __IApplicationActivationManager_INTERFACE_DEFINED__ */ 126 #endif /* NTDDI_VERSION < NTDDI_WIN8 */