(root)/
glib-2.79.0/
gio/
gwin32api-application-activation-manager.h
       1  /*
       2   * SPDX-FileCopyrightText: This file has no copyright assigned and is placed in the Public Domain.
       3   * SPDX-License-Identifier: CC0-1.0
       4   *
       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.
       7   */
       8  
       9  #if NTDDI_VERSION < NTDDI_WIN8
      10  /* The following code is copied verbatim from MinGW-w64 shobjidl.h */
      11  /*
      12   * IApplicationActivationManager interface
      13   */
      14  typedef enum ACTIVATEOPTIONS {
      15      AO_NONE = 0x0,
      16      AO_DESIGNMODE = 0x1,
      17      AO_NOERRORUI = 0x2,
      18      AO_NOSPLASHSCREEN = 0x4
      19  } ACTIVATEOPTIONS;
      20  
      21  DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)
      22  
      23  #ifndef __IApplicationActivationManager_INTERFACE_DEFINED__
      24  #define __IApplicationActivationManager_INTERFACE_DEFINED__
      25  
      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
      30  {
      31      virtual HRESULT STDMETHODCALLTYPE ActivateApplication(
      32          LPCWSTR appUserModelId,
      33          LPCWSTR arguments,
      34          ACTIVATEOPTIONS options,
      35          DWORD *processId) = 0;
      36  
      37      virtual HRESULT STDMETHODCALLTYPE ActivateForFile(
      38          LPCWSTR appUserModelId,
      39          IShellItemArray *itemArray,
      40          LPCWSTR verb,
      41          DWORD *processId) = 0;
      42  
      43      virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol(
      44          LPCWSTR appUserModelId,
      45          IShellItemArray *itemArray,
      46          DWORD *processId) = 0;
      47  
      48  };
      49  #ifdef __CRT_UUID_DECL
      50  __CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d)
      51  #endif
      52  #else
      53  typedef struct IApplicationActivationManagerVtbl {
      54      BEGIN_INTERFACE
      55  
      56      /*** IUnknown methods ***/
      57      HRESULT (STDMETHODCALLTYPE *QueryInterface)(
      58          IApplicationActivationManager *This,
      59          REFIID riid,
      60          void **ppvObject);
      61  
      62      ULONG (STDMETHODCALLTYPE *AddRef)(
      63          IApplicationActivationManager *This);
      64  
      65      ULONG (STDMETHODCALLTYPE *Release)(
      66          IApplicationActivationManager *This);
      67  
      68      /*** IApplicationActivationManager methods ***/
      69      HRESULT (STDMETHODCALLTYPE *ActivateApplication)(
      70          IApplicationActivationManager *This,
      71          LPCWSTR appUserModelId,
      72          LPCWSTR arguments,
      73          ACTIVATEOPTIONS options,
      74          DWORD *processId);
      75  
      76      HRESULT (STDMETHODCALLTYPE *ActivateForFile)(
      77          IApplicationActivationManager *This,
      78          LPCWSTR appUserModelId,
      79          IShellItemArray *itemArray,
      80          LPCWSTR verb,
      81          DWORD *processId);
      82  
      83      HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)(
      84          IApplicationActivationManager *This,
      85          LPCWSTR appUserModelId,
      86          IShellItemArray *itemArray,
      87          DWORD *processId);
      88  
      89      END_INTERFACE
      90  } IApplicationActivationManagerVtbl;
      91  
      92  interface IApplicationActivationManager {
      93      CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl;
      94  };
      95  
      96  #ifdef COBJMACROS
      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)
     106  #else
     107  /*** IUnknown methods ***/
     108  static FORCEINLINE HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) {
     109      return This->lpVtbl->QueryInterface(This,riid,ppvObject);
     110  }
     111  static FORCEINLINE ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) {
     112      return This->lpVtbl->AddRef(This);
     113  }
     114  static FORCEINLINE ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) {
     115      return This->lpVtbl->Release(This);
     116  }
     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);
     120  }
     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);
     123  }
     124  static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) {
     125      return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId);
     126  }
     127  #endif
     128  #endif
     129  
     130  #endif
     131  
     132  
     133  #endif  /* __IApplicationActivationManager_INTERFACE_DEFINED__ */
     134  #endif /* NTDDI_VERSION < NTDDI_WIN8 */