Mercurial > games > semicongine
diff fuhtark_test/include/winapi/appmgmt.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/appmgmt.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,109 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _APPMGMT_H_ +#define _APPMGMT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + + typedef enum _INSTALLSPECTYPE { + APPNAME = 1, + FILEEXT,PROGID, + COMCLASS + } INSTALLSPECTYPE; + + typedef union _INSTALLSPEC { + struct { + WCHAR *Name; + GUID GPOId; + } AppName; + WCHAR *FileExt; + WCHAR *ProgId; + struct { + GUID Clsid; + DWORD ClsCtx; + } COMClass; + } INSTALLSPEC; + + typedef struct _INSTALLDATA { + INSTALLSPECTYPE Type; + INSTALLSPEC Spec; + } INSTALLDATA,*PINSTALLDATA; + + typedef enum { + ABSENT,ASSIGNED,PUBLISHED + } APPSTATE; + +#define LOCALSTATE_ASSIGNED 0x1 +#define LOCALSTATE_PUBLISHED 0x2 +#define LOCALSTATE_UNINSTALL_UNMANAGED 0x4 +#define LOCALSTATE_POLICYREMOVE_ORPHAN 0x8 +#define LOCALSTATE_POLICYREMOVE_UNINSTALL 0x10 +#define LOCALSTATE_ORPHANED 0x20 +#define LOCALSTATE_UNINSTALLED 0x40 + + typedef struct _LOCALMANAGEDAPPLICATION { + LPWSTR pszDeploymentName; + LPWSTR pszPolicyName; + LPWSTR pszProductId; + DWORD dwState; + } LOCALMANAGEDAPPLICATION,*PLOCALMANAGEDAPPLICATION; + +#define MANAGED_APPS_USERAPPLICATIONS 0x1 +#define MANAGED_APPS_FROMCATEGORY 0x2 +#define MANAGED_APPS_INFOLEVEL_DEFAULT 0x10000 + +#define MANAGED_APPTYPE_WINDOWSINSTALLER 0x1 +#define MANAGED_APPTYPE_SETUPEXE 0x2 +#define MANAGED_APPTYPE_UNSUPPORTED 0x3 + + typedef struct _MANAGEDAPPLICATION { + LPWSTR pszPackageName; + LPWSTR pszPublisher; + DWORD dwVersionHi; + DWORD dwVersionLo; + DWORD dwRevision; + GUID GpoId; + LPWSTR pszPolicyName; + GUID ProductId; + LANGID Language; + LPWSTR pszOwner; + LPWSTR pszCompany; + LPWSTR pszComments; + LPWSTR pszContact; + LPWSTR pszSupportUrl; + DWORD dwPathType; + WINBOOL bInstalled; + } MANAGEDAPPLICATION,*PMANAGEDAPPLICATION; + + typedef struct _APPCATEGORYINFO { + LCID Locale; + LPWSTR pszDescription; + GUID AppCategoryId; + } APPCATEGORYINFO; + + typedef struct _APPCATEGORYINFOLIST { + DWORD cCategory; + APPCATEGORYINFO *pCategoryInfo; + } APPCATEGORYINFOLIST; + +#ifndef WINAPI +#define WINAPI +#endif + + DWORD WINAPI InstallApplication(PINSTALLDATA pInstallInfo); + DWORD WINAPI UninstallApplication(WCHAR *ProductCode,DWORD dwStatus); + DWORD WINAPI CommandLineFromMsiDescriptor(WCHAR *Descriptor,WCHAR *CommandLine,DWORD *CommandLineLength); + DWORD WINAPI GetManagedApplications(GUID *pCategory,DWORD dwQueryFlags,DWORD dwInfoLevel,LPDWORD pdwApps,PMANAGEDAPPLICATION *prgManagedApps); + DWORD WINAPI GetLocalManagedApplications(WINBOOL bUserApps,LPDWORD pdwApps,PLOCALMANAGEDAPPLICATION *prgLocalApps); + void WINAPI GetLocalManagedApplicationData(WCHAR *ProductCode,LPWSTR *DisplayName,LPWSTR *SupportUrl); + DWORD WINAPI GetManagedApplicationCategories(DWORD dwReserved,APPCATEGORYINFOLIST *pAppCategory); + +#ifdef __cplusplus +} +#endif +#endif
