mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 07:26:15 +01:00
2773c06bd4
MinGW-w64 lacks the appropriate headers, so we have to add them here. Note that these only have the C versions (normally these things come in both C and C++ flavours), since that's what we use. Also note that some of the functions that we don't use (but must describe to maintain binary compatibility) were altered to use IUnknown (basically, an untyped pointer) instead of the appropriate object types, as adding these types would require other types, which would pull even more types, forcing us to drag half of the UWP headers in here. By replacing unused types with IUnknown we can trim a lot of branches from the dependency graph.
126 lines
5.1 KiB
C
Executable File
126 lines
5.1 KiB
C
Executable File
#if NTDDI_VERSION < NTDDI_WIN8
|
|
/* The following code is copied verbatim from MinGW-w64 shobjidl.h */
|
|
/*
|
|
* IApplicationActivationManager interface
|
|
*/
|
|
typedef enum ACTIVATEOPTIONS {
|
|
AO_NONE = 0x0,
|
|
AO_DESIGNMODE = 0x1,
|
|
AO_NOERRORUI = 0x2,
|
|
AO_NOSPLASHSCREEN = 0x4
|
|
} ACTIVATEOPTIONS;
|
|
|
|
DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)
|
|
|
|
#ifndef __IApplicationActivationManager_INTERFACE_DEFINED__
|
|
#define __IApplicationActivationManager_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("2e941141-7f97-4756-ba1d-9decde894a3d")
|
|
IApplicationActivationManager : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE ActivateApplication(
|
|
LPCWSTR appUserModelId,
|
|
LPCWSTR arguments,
|
|
ACTIVATEOPTIONS options,
|
|
DWORD *processId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ActivateForFile(
|
|
LPCWSTR appUserModelId,
|
|
IShellItemArray *itemArray,
|
|
LPCWSTR verb,
|
|
DWORD *processId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol(
|
|
LPCWSTR appUserModelId,
|
|
IShellItemArray *itemArray,
|
|
DWORD *processId) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d)
|
|
#endif
|
|
#else
|
|
typedef struct IApplicationActivationManagerVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IApplicationActivationManager *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IApplicationActivationManager *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IApplicationActivationManager *This);
|
|
|
|
/*** IApplicationActivationManager methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *ActivateApplication)(
|
|
IApplicationActivationManager *This,
|
|
LPCWSTR appUserModelId,
|
|
LPCWSTR arguments,
|
|
ACTIVATEOPTIONS options,
|
|
DWORD *processId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ActivateForFile)(
|
|
IApplicationActivationManager *This,
|
|
LPCWSTR appUserModelId,
|
|
IShellItemArray *itemArray,
|
|
LPCWSTR verb,
|
|
DWORD *processId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)(
|
|
IApplicationActivationManager *This,
|
|
LPCWSTR appUserModelId,
|
|
IShellItemArray *itemArray,
|
|
DWORD *processId);
|
|
|
|
END_INTERFACE
|
|
} IApplicationActivationManagerVtbl;
|
|
|
|
interface IApplicationActivationManager {
|
|
CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IApplicationActivationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IApplicationActivationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IApplicationActivationManager_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IApplicationActivationManager methods ***/
|
|
#define IApplicationActivationManager_ActivateApplication(This,appUserModelId,arguments,options,processId) (This)->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId)
|
|
#define IApplicationActivationManager_ActivateForFile(This,appUserModelId,itemArray,verb,processId) (This)->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId)
|
|
#define IApplicationActivationManager_ActivateForProtocol(This,appUserModelId,itemArray,processId) (This)->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IApplicationActivationManager methods ***/
|
|
static FORCEINLINE HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager* This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD *processId) {
|
|
return This->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId);
|
|
}
|
|
static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) {
|
|
return This->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId);
|
|
}
|
|
static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) {
|
|
return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IApplicationActivationManager_INTERFACE_DEFINED__ */
|
|
#endif /* NTDDI_VERSION < NTDDI_WIN8 */ |