Mercurial > games > semicongine
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
