2 * SPDX-FileCopyrightText: This file has no copyright assigned and is placed in the Public Domain.
3 * SPDX-License-Identifier: CC0-1.0
5 * This file is part of the w64 mingw-runtime package.
6 * No warranty is given; refer to https://github.com/kinke/mingw-w64-crt/blob/master/DISCLAIMER.PD.
9 #if NTDDI_VERSION < NTDDI_WIN8
10 /* The following code is copied verbatim from MinGW-w64 shobjidl.h */
12 * IApplicationActivationManager interface
14 typedef enum ACTIVATEOPTIONS {
18 AO_NOSPLASHSCREEN = 0x4
21 DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)
23 #ifndef __IApplicationActivationManager_INTERFACE_DEFINED__
24 #define __IApplicationActivationManager_INTERFACE_DEFINED__
26 DEFINE_GUID(IID_IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d);
27 #if defined(__cplusplus) && !defined(CINTERFACE)
28 MIDL_INTERFACE("2e941141-7f97-4756-ba1d-9decde894a3d")
29 IApplicationActivationManager : public IUnknown
31 virtual HRESULT STDMETHODCALLTYPE ActivateApplication(
32 LPCWSTR appUserModelId,
34 ACTIVATEOPTIONS options,
35 DWORD *processId) = 0;
37 virtual HRESULT STDMETHODCALLTYPE ActivateForFile(
38 LPCWSTR appUserModelId,
39 IShellItemArray *itemArray,
41 DWORD *processId) = 0;
43 virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol(
44 LPCWSTR appUserModelId,
45 IShellItemArray *itemArray,
46 DWORD *processId) = 0;
49 #ifdef __CRT_UUID_DECL
50 __CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d)
53 typedef struct IApplicationActivationManagerVtbl {
56 /*** IUnknown methods ***/
57 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
58 IApplicationActivationManager *This,
62 ULONG (STDMETHODCALLTYPE *AddRef)(
63 IApplicationActivationManager *This);
65 ULONG (STDMETHODCALLTYPE *Release)(
66 IApplicationActivationManager *This);
68 /*** IApplicationActivationManager methods ***/
69 HRESULT (STDMETHODCALLTYPE *ActivateApplication)(
70 IApplicationActivationManager *This,
71 LPCWSTR appUserModelId,
73 ACTIVATEOPTIONS options,
76 HRESULT (STDMETHODCALLTYPE *ActivateForFile)(
77 IApplicationActivationManager *This,
78 LPCWSTR appUserModelId,
79 IShellItemArray *itemArray,
83 HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)(
84 IApplicationActivationManager *This,
85 LPCWSTR appUserModelId,
86 IShellItemArray *itemArray,
90 } IApplicationActivationManagerVtbl;
92 interface IApplicationActivationManager {
93 CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl;
97 #ifndef WIDL_C_INLINE_WRAPPERS
98 /*** IUnknown methods ***/
99 #define IApplicationActivationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
100 #define IApplicationActivationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
101 #define IApplicationActivationManager_Release(This) (This)->lpVtbl->Release(This)
102 /*** IApplicationActivationManager methods ***/
103 #define IApplicationActivationManager_ActivateApplication(This,appUserModelId,arguments,options,processId) (This)->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId)
104 #define IApplicationActivationManager_ActivateForFile(This,appUserModelId,itemArray,verb,processId) (This)->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId)
105 #define IApplicationActivationManager_ActivateForProtocol(This,appUserModelId,itemArray,processId) (This)->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId)
107 /*** IUnknown methods ***/
108 static FORCEINLINE HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) {
109 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
111 static FORCEINLINE ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) {
112 return This->lpVtbl->AddRef(This);
114 static FORCEINLINE ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) {
115 return This->lpVtbl->Release(This);
117 /*** IApplicationActivationManager methods ***/
118 static FORCEINLINE HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager* This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD *processId) {
119 return This->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId);
121 static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) {
122 return This->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId);
124 static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) {
125 return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId);
133 #endif /* __IApplicationActivationManager_INTERFACE_DEFINED__ */
134 #endif /* NTDDI_VERSION < NTDDI_WIN8 */