(root)/
glib-2.79.0/
gio/
gwin32api-package.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   * Additional code derived from the windows-rs repository on GitHub
       9   * (https://github.com/microsoft/windows-rs) with the MIT license:
      10   *
      11   * MIT License
      12   *
      13   * Copyright (c) Microsoft Corporation.
      14   *
      15   * Permission is hereby granted, free of charge, to any person obtaining a copy
      16   * of this software and associated documentation files (the "Software"), to deal
      17   * in the Software without restriction, including without limitation the rights
      18   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      19   * copies of the Software, and to permit persons to whom the Software is
      20   * furnished to do so, subject to the following conditions:
      21   *
      22   * The above copyright notice and this permission notice shall be included in all
      23   * copies or substantial portions of the Software.
      24   *
      25   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      26   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      27   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      28   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      29   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      30   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
      31   * SOFTWARE
      32   */
      33  
      34  typedef interface IPackageManager IPackageManager;
      35  typedef interface IPackage IPackage;
      36  typedef interface IPackageId IPackageId;
      37  typedef interface IPackageVersion IPackageVersion;
      38  typedef interface IPackage2 IPackage2;
      39  
      40  DEFINE_GUID(IID_IPackageManager, 0x9A7D4B65, 0x5E8F, 0x4FC7, 0xA2, 0xE5, 0x7F, 0x69, 0x25, 0xCB, 0x8B, 0x53);
      41  DEFINE_GUID(IID_IPackage, 0x163C792F, 0xBD75, 0x413C, 0xBF, 0x23, 0xB1, 0xFE, 0x7B, 0x95, 0xD8, 0x25);
      42  DEFINE_GUID(IID_IPackage2, 0xA6612fb6, 0x7688, 0x4ACE, 0x95, 0xFB, 0x35, 0x95, 0x38, 0xE7, 0xAA, 0x01);
      43  
      44  /* IPackageManager */
      45  typedef struct IPackageManagerVtbl {
      46    BEGIN_INTERFACE
      47  
      48    /*** IUnknown methods ***/
      49    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
      50      IPackageManager *This,
      51      REFIID riid,
      52      void **ppvObject);
      53  
      54    ULONG (STDMETHODCALLTYPE *AddRef)(
      55      IPackageManager *This);
      56  
      57    ULONG (STDMETHODCALLTYPE *Release)(
      58      IPackageManager *This);
      59  
      60    /*** IInspectable methods ***/
      61    HRESULT (STDMETHODCALLTYPE *GetIids)(
      62      IPackageManager *This,
      63      UINT32 *count,
      64      IID **ids);
      65  
      66    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
      67      IPackageManager *This,
      68      HSTRING *className);
      69  
      70    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
      71      IPackageManager *This,
      72      TrustLevel *trustLevel);
      73  
      74    /*** IPackageManager methods ***/
      75    HRESULT (STDMETHODCALLTYPE *stub_AddPackageAsync)(
      76      IPackageManager *This);
      77  
      78    HRESULT (STDMETHODCALLTYPE *stub_UpdatePackageAsync)(
      79      IPackageManager *This);
      80  
      81    HRESULT (STDMETHODCALLTYPE *stub_RemovePackageAsync)(
      82      IPackageManager *This);
      83  
      84    HRESULT (STDMETHODCALLTYPE *stub_StagePackageAsync)(
      85      IPackageManager *This);
      86  
      87    HRESULT (STDMETHODCALLTYPE *stub_RegisterPackageAsync)(
      88      IPackageManager *This);
      89  
      90    HRESULT (STDMETHODCALLTYPE *FindPackages)(
      91      IPackageManager *This,
      92      IIterable **retval);
      93  
      94    HRESULT (STDMETHODCALLTYPE *FindPackagesByUserSecurityId)(
      95      IPackageManager *This,
      96      HSTRING userSecurityId,
      97      IIterable **retval);
      98  
      99    HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByNamePublisher)(
     100      IPackageManager *This);
     101  
     102    HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByUserSecurityIdNamePublisher)(
     103      IPackageManager *This);
     104  
     105    HRESULT (STDMETHODCALLTYPE *stub_FindUsers)(
     106      IPackageManager *This);
     107  
     108    HRESULT (STDMETHODCALLTYPE *stub_SetPackageState)(
     109      IPackageManager *This);
     110  
     111    HRESULT (STDMETHODCALLTYPE *stub_FindPackageByPackageFullName)(
     112      IPackageManager *This);
     113  
     114    HRESULT (STDMETHODCALLTYPE *stub_CleanupPackageForUserAsync)(
     115      IPackageManager *This);
     116  
     117    HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByPackageFamilyName)(
     118      IPackageManager *This);
     119  
     120    HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByUserSecurityIdPackageFamilyName)(
     121      IPackageManager *This);
     122  
     123    HRESULT (STDMETHODCALLTYPE *stub_FindPackageByUserSecurityIdPackageFullName)(
     124      IPackageManager *This);
     125  
     126    END_INTERFACE
     127  } IPackageManagerVtbl;
     128  
     129  interface IPackageManager {
     130    CONST_VTBL IPackageManagerVtbl* lpVtbl;
     131  };
     132  
     133  /*** IUnknown methods ***/
     134  #define IPackageManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     135  #define IPackageManager_AddRef(This) (This)->lpVtbl->AddRef(This)
     136  #define IPackageManager_Release(This) (This)->lpVtbl->Release(This)
     137  /*** IInspectable methods ***/
     138  #define IPackageManager_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids)
     139  #define IPackageManager_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name)
     140  #define IPackageManager_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level)
     141  /*** IPackageManager methods ***/
     142  #define IPackageManager_FindPackages(This,retval) (This)->lpVtbl->FindPackages(This,retval)
     143  #define IPackageManager_FindPackagesByUserSecurityId(This,userSecurityId,retval) (This)->lpVtbl->FindPackagesByUserSecurityId(This,userSecurityId,retval)
     144  
     145  /* IPackageId */
     146  typedef struct IPackageIdVtbl {
     147    BEGIN_INTERFACE
     148  
     149    /*** IUnknown methods ***/
     150    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
     151      IPackageId *This,
     152      REFIID riid,
     153      void **ppvObject);
     154  
     155    ULONG (STDMETHODCALLTYPE *AddRef)(
     156      IPackageId *This);
     157  
     158    ULONG (STDMETHODCALLTYPE *Release)(
     159      IPackageId *This);
     160  
     161    /*** IInspectable methods ***/
     162    HRESULT (STDMETHODCALLTYPE *GetIids)(
     163      IPackageId *This,
     164      UINT32 *count,
     165      IID **ids);
     166  
     167    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
     168      IPackageId *This,
     169      HSTRING *className);
     170  
     171    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
     172      IPackageId *This,
     173      TrustLevel *trustLevel);
     174  
     175    /*** IPackageId methods ***/
     176    HRESULT (STDMETHODCALLTYPE *get_Name)(
     177      IPackageId *This,
     178      HSTRING *value);
     179  
     180    HRESULT (STDMETHODCALLTYPE *get_Version)(
     181      IPackageId *This,
     182      IPackageVersion *value);
     183  
     184    HRESULT (STDMETHODCALLTYPE *get_Architecture)(
     185      IPackageId *This,
     186      IProcessorArchitecture *value);
     187  
     188    HRESULT (STDMETHODCALLTYPE *get_ResourceId)(
     189      IPackageId *This,
     190      HSTRING *value);
     191  
     192    HRESULT (STDMETHODCALLTYPE *get_Publisher)(
     193      IPackageId *This,
     194      HSTRING *value);
     195  
     196    HRESULT (STDMETHODCALLTYPE *get_PublisherId)(
     197      IPackageId *This,
     198      HSTRING *value);
     199  
     200    HRESULT (STDMETHODCALLTYPE *get_FullName)(
     201      IPackageId *This,
     202      HSTRING *value);
     203  
     204    HRESULT (STDMETHODCALLTYPE *get_FamilyName)(
     205      IPackageId *This,
     206      HSTRING *value);
     207  
     208    END_INTERFACE
     209  } IPackageIdVtbl;
     210  
     211  interface IPackageId {
     212    CONST_VTBL IPackageIdVtbl* lpVtbl;
     213  };
     214  
     215  /*** IUnknown methods ***/
     216  #define IPackageId_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     217  #define IPackageId_AddRef(This) (This)->lpVtbl->AddRef(This)
     218  #define IPackageId_Release(This) (This)->lpVtbl->Release(This)
     219  /*** IInspectable methods ***/
     220  #define IPackageId_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids)
     221  #define IPackageId_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name)
     222  #define IPackageId_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level)
     223  /*** IPackageId methods ***/
     224  #define IPackageId_get_Name(This,value) (This)->lpVtbl->get_Name(This,value)
     225  #define IPackageId_get_Version(This,value) (This)->lpVtbl->get_Version(This,value)
     226  #define IPackageId_get_Architecture(This,value) (This)->lpVtbl->get_Architecture(This,value)
     227  #define IPackageId_get_ResourceId(This,value) (This)->lpVtbl->get_ResourceId(This,value)
     228  #define IPackageId_get_Publisher(This,value) (This)->lpVtbl->get_Publisher(This,value)
     229  #define IPackageId_get_PublisherId(This,value) (This)->lpVtbl->get_PublisherId(This,value)
     230  #define IPackageId_get_FullName(This,value) (This)->lpVtbl->get_FullName(This,value)
     231  #define IPackageId_get_FamilyName(This,value) (This)->lpVtbl->get_FamilyName(This,value)
     232  
     233  /* IPackage */
     234  typedef struct IPackageVtbl {
     235    BEGIN_INTERFACE
     236  
     237    /*** IUnknown methods ***/
     238    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
     239      IPackage *This,
     240      REFIID riid,
     241      void **ppvObject);
     242  
     243    ULONG (STDMETHODCALLTYPE *AddRef)(
     244      IPackage *This);
     245  
     246    ULONG (STDMETHODCALLTYPE *Release)(
     247      IPackage *This);
     248  
     249    /*** IInspectable methods ***/
     250    HRESULT (STDMETHODCALLTYPE *GetIids)(
     251      IPackage *This,
     252      UINT32 *count,
     253      IID **ids);
     254  
     255    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
     256      IPackage *This,
     257      HSTRING *className);
     258  
     259    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
     260      IPackage *This,
     261      TrustLevel *trustLevel);
     262  
     263    /*** IPackage methods ***/
     264    HRESULT (STDMETHODCALLTYPE *get_Id)(
     265      IPackage *This,
     266      IPackageId **value);
     267  
     268    HRESULT (STDMETHODCALLTYPE *get_InstalledLocation)(
     269      IPackage *This,
     270      IUnknown **value);
     271  
     272    HRESULT (STDMETHODCALLTYPE *get_IsFramework)(
     273      IPackage *This,
     274      CHAR *value);
     275  
     276    HRESULT (STDMETHODCALLTYPE *get_Dependencies)(
     277      IPackage *This,
     278      void **value);
     279  
     280    END_INTERFACE
     281  } IPackageVtbl;
     282  
     283  interface IPackage {
     284    CONST_VTBL IPackageVtbl* lpVtbl;
     285  };
     286  
     287  /*** IUnknown methods ***/
     288  #define IPackage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     289  #define IPackage_AddRef(This) (This)->lpVtbl->AddRef(This)
     290  #define IPackage_Release(This) (This)->lpVtbl->Release(This)
     291  /*** IInspectable methods ***/
     292  #define IPackage_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids)
     293  #define IPackage_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name)
     294  #define IPackage_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level)
     295  /*** IPackage methods ***/
     296  #define IPackage_get_Id(This,value) (This)->lpVtbl->get_Id(This,value)
     297  #define IPackage_get_InstalledLocation(This,value) (This)->lpVtbl->get_InstalledLocation(This,value)
     298  #define IPackage_get_IsFramework(This,value) (This)->lpVtbl->get_IsFramework(This,value)
     299  #define IPackage_get_Dependencies(This,value) (This)->lpVtbl->get_Dependencies(This,value)
     300  
     301  /* IPackage2 */
     302  typedef struct IPackage2Vtbl {
     303    BEGIN_INTERFACE
     304  
     305    /*** IUnknown methods ***/
     306    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
     307      IPackage2  *This,
     308      REFIID      riid,
     309      void      **ppvObject);
     310  
     311    ULONG (STDMETHODCALLTYPE *AddRef)(
     312      IPackage2  *This);
     313  
     314    ULONG (STDMETHODCALLTYPE *Release)(
     315      IPackage2  *This);
     316  
     317    /*** IInspectable methods ***/
     318    HRESULT (STDMETHODCALLTYPE *GetIids)(
     319      IPackage2  *This,
     320      UINT32     *count,
     321      IID       **ids);
     322  
     323    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
     324      IPackage2  *This,
     325      HSTRING    *className);
     326  
     327    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
     328      IPackage2  *This,
     329      TrustLevel *trustLevel);
     330  
     331    /*** IPackage2 methods ***/
     332    HRESULT (STDMETHODCALLTYPE *get_DisplayName)(
     333      IPackage2  *This,
     334      HSTRING    *value);
     335  
     336    HRESULT (STDMETHODCALLTYPE *get_PublisherDisplayName)(
     337      IPackage2  *This,
     338      HSTRING    *value);
     339  
     340    HRESULT (STDMETHODCALLTYPE *get_Description)(
     341      IPackage2  *This,
     342      HSTRING    *value);
     343  
     344    HRESULT (STDMETHODCALLTYPE *get_Logo)(
     345      IPackage2  *This,
     346      void      **value);
     347  
     348    HRESULT (STDMETHODCALLTYPE *get_IsResourcePackage)(
     349      IPackage2  *This,
     350      UCHAR      *value);
     351  
     352    HRESULT (STDMETHODCALLTYPE *get_IsBundle)(
     353      IPackage2  *This,
     354      UCHAR      *value);
     355  
     356    HRESULT (STDMETHODCALLTYPE *get_IsDevelopmentMode)(
     357      IPackage2  *This,
     358      UCHAR      *value);
     359  
     360    END_INTERFACE
     361  } IPackage2Vtbl;
     362  
     363  interface IPackage2 {
     364    CONST_VTBL IPackage2Vtbl* lpVtbl;
     365  };
     366  
     367  /*** IUnknown methods ***/
     368  #define IPackage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     369  #define IPackage2_AddRef(This) (This)->lpVtbl->AddRef(This)
     370  #define IPackage2_Release(This) (This)->lpVtbl->Release(This)
     371  /*** IInspectable methods ***/
     372  #define IPackage2_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids)
     373  #define IPackage2_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name)
     374  #define IPackage2_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level)
     375  /*** IPackage2 methods ***/
     376  #define IPackage2_get_DisplayName(This,value) (This)->lpVtbl->get_DisplayName(This,value)
     377  #define IPackage2_get_PublisherDisplayName(This,value) (This)->lpVtbl->get_PublisherDisplayName(This,value)
     378  #define IPackage2_get_Description(This,value) (This)->lpVtbl->get_Description(This,value)
     379  #define IPackage2_get_Logo(This,value) (This)->lpVtbl->get_Logo(This,value)
     380  #define IPackage2_get_IsResourcePackage(This,value) (This)->lpVtbl->get_IsResourcePackage(This,value)
     381  #define IPackage2_get_IsBundle(This,value) (This)->lpVtbl->get_IsBundle(This,value)
     382  #define IPackage2_get_IsDevelopmentMode(This,value) (This)->lpVtbl->get_IsDevelopmentMode(This,value)