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