diff fuhtark_test/include/winapi/intshcut.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/intshcut.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,144 @@
+/**
+ * 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 __INTSHCUT_H__
+#define __INTSHCUT_H__
+
+#include <isguids.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef _INTSHCUT_
+#define INTSHCUTAPI
+#else
+#define INTSHCUTAPI DECLSPEC_IMPORT
+#endif
+
+#define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000)
+#define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002)
+#define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001)
+#define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002)
+
+  typedef enum iurl_seturl_flags {
+    IURL_SETURL_FL_GUESS_PROTOCOL = 0x0001,IURL_SETURL_FL_USE_DEFAULT_PROTOCOL = 0x0002
+  } IURL_SETURL_FLAGS;
+
+  typedef enum iurl_invokecommand_flags {
+    IURL_INVOKECOMMAND_FL_ALLOW_UI = 0x0001,IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB = 0x0002,IURL_INVOKECOMMAND_FL_DDEWAIT = 0x0004
+  } IURL_INVOKECOMMAND_FLAGS;
+
+  typedef struct urlinvokecommandinfoA {
+    DWORD dwcbSize;
+    DWORD dwFlags;
+    HWND hwndParent;
+    LPCSTR pcszVerb;
+  } URLINVOKECOMMANDINFOA;
+
+  typedef URLINVOKECOMMANDINFOA *PURLINVOKECOMMANDINFOA;
+  typedef const URLINVOKECOMMANDINFOA CURLINVOKECOMMANDINFOA;
+  typedef const URLINVOKECOMMANDINFOA *PCURLINVOKECOMMANDINFOA;
+
+  typedef struct urlinvokecommandinfoW {
+    DWORD dwcbSize;
+    DWORD dwFlags;
+    HWND hwndParent;
+    LPCWSTR pcszVerb;
+  } URLINVOKECOMMANDINFOW;
+
+  typedef URLINVOKECOMMANDINFOW *PURLINVOKECOMMANDINFOW;
+  typedef const URLINVOKECOMMANDINFOW CURLINVOKECOMMANDINFOW;
+  typedef const URLINVOKECOMMANDINFOW *PCURLINVOKECOMMANDINFOW;
+
+#ifdef UNICODE
+#define URLINVOKECOMMANDINFO URLINVOKECOMMANDINFOW
+#define PURLINVOKECOMMANDINFO PURLINVOKECOMMANDINFOW
+#define CURLINVOKECOMMANDINFO CURLINVOKECOMMANDINFOW
+#define PCURLINVOKECOMMANDINFO PCURLINVOKECOMMANDINFOW
+#else
+#define URLINVOKECOMMANDINFO URLINVOKECOMMANDINFOA
+#define PURLINVOKECOMMANDINFO PURLINVOKECOMMANDINFOA
+#define CURLINVOKECOMMANDINFO CURLINVOKECOMMANDINFOA
+#define PCURLINVOKECOMMANDINFO PCURLINVOKECOMMANDINFOA
+#endif
+
+#undef INTERFACE
+#define INTERFACE IUniformResourceLocatorA
+
+  DECLARE_INTERFACE_(IUniformResourceLocatorA,IUnknown) {
+    STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
+    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+    STDMETHOD_(ULONG,Release)(THIS) PURE;
+    STDMETHOD(SetURL)(THIS_ LPCSTR pcszURL,DWORD dwInFlags) PURE;
+    STDMETHOD(GetURL)(THIS_ LPSTR *ppszURL) PURE;
+    STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFOA purlici) PURE;
+  };
+
+#undef INTERFACE
+#define INTERFACE IUniformResourceLocatorW
+  DECLARE_INTERFACE_(IUniformResourceLocatorW,IUnknown) {
+    STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
+    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+    STDMETHOD_(ULONG,Release)(THIS) PURE;
+    STDMETHOD(SetURL)(THIS_ LPCWSTR pcszURL,DWORD dwInFlags) PURE;
+    STDMETHOD(GetURL)(THIS_ LPWSTR *ppszURL) PURE;
+    STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFOW purlici) PURE;
+  };
+
+#ifdef UNICODE
+#define IUniformResourceLocator IUniformResourceLocatorW
+#define IUniformResourceLocatorVtbl IUniformResourceLocatorWVtbl
+#else
+#define IUniformResourceLocator IUniformResourceLocatorA
+#define IUniformResourceLocatorVtbl IUniformResourceLocatorAVtbl
+#endif
+
+  typedef IUniformResourceLocator *PIUniformResourceLocator;
+  typedef const IUniformResourceLocator CIUniformResourceLocator;
+  typedef const IUniformResourceLocator *PCIUniformResourceLocator;
+
+  typedef enum translateurl_in_flags {
+    TRANSLATEURL_FL_GUESS_PROTOCOL = 0x0001,TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL = 0x0002
+  } TRANSLATEURL_IN_FLAGS;
+
+  INTSHCUTAPI HRESULT WINAPI TranslateURLA(PCSTR pcszURL,DWORD dwInFlags,PSTR *ppszTranslatedURL);
+  INTSHCUTAPI HRESULT WINAPI TranslateURLW(PCWSTR pcszURL,DWORD dwInFlags,PWSTR UNALIGNED *ppszTranslatedURL);
+#ifdef UNICODE
+#define TranslateURL TranslateURLW
+#else
+#define TranslateURL TranslateURLA
+#endif
+
+  typedef enum urlassociationdialog_in_flags {
+    URLASSOCDLG_FL_USE_DEFAULT_NAME = 0x0001,URLASSOCDLG_FL_REGISTER_ASSOC = 0x0002
+  } URLASSOCIATIONDIALOG_IN_FLAGS;
+
+  INTSHCUTAPI HRESULT WINAPI URLAssociationDialogA(HWND hwndParent,DWORD dwInFlags,PCSTR pcszFile,PCSTR pcszURL,PSTR pszAppBuf,UINT ucAppBufLen);
+  INTSHCUTAPI HRESULT WINAPI URLAssociationDialogW(HWND hwndParent,DWORD dwInFlags,PCWSTR pcszFile,PCWSTR pcszURL,PWSTR pszAppBuf,UINT ucAppBufLen);
+#ifdef UNICODE
+#define URLAssociationDialog URLAssociationDialogW
+#else
+#define URLAssociationDialog URLAssociationDialogA
+#endif
+
+  typedef enum mimeassociationdialog_in_flags {
+    MIMEASSOCDLG_FL_REGISTER_ASSOC = 0x0001
+  } MIMEASSOCIATIONDIALOG_IN_FLAGS;
+
+  INTSHCUTAPI HRESULT WINAPI MIMEAssociationDialogA(HWND hwndParent,DWORD dwInFlags,PCSTR pcszFile,PCSTR pcszMIMEContentType,PSTR pszAppBuf,UINT ucAppBufLen);
+  INTSHCUTAPI HRESULT WINAPI MIMEAssociationDialogW(HWND hwndParent,DWORD dwInFlags,PCWSTR pcszFile,PCWSTR pcszMIMEContentType,PWSTR pszAppBuf,UINT ucAppBufLen);
+#ifdef UNICODE
+#define MIMEAssociationDialog MIMEAssociationDialogW
+#else
+#define MIMEAssociationDialog MIMEAssociationDialogA
+#endif
+
+  INTSHCUTAPI WINBOOL WINAPI InetIsOffline(DWORD dwFlags);
+
+#ifdef __cplusplus
+}
+#endif
+#endif