1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef __INTSHCUT_H__
|
---|
7 | #define __INTSHCUT_H__
|
---|
8 |
|
---|
9 | #include <_mingw_unicode.h>
|
---|
10 | #include <isguids.h>
|
---|
11 |
|
---|
12 | #ifdef __cplusplus
|
---|
13 | extern "C" {
|
---|
14 | #endif
|
---|
15 |
|
---|
16 | #ifdef _INTSHCUT_
|
---|
17 | #define INTSHCUTAPI
|
---|
18 | #else
|
---|
19 | #define INTSHCUTAPI DECLSPEC_IMPORT
|
---|
20 | #endif
|
---|
21 |
|
---|
22 | #define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000)
|
---|
23 | #define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002)
|
---|
24 | #define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001)
|
---|
25 | #define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002)
|
---|
26 |
|
---|
27 | typedef enum iurl_seturl_flags {
|
---|
28 | IURL_SETURL_FL_GUESS_PROTOCOL = 0x0001,IURL_SETURL_FL_USE_DEFAULT_PROTOCOL = 0x0002
|
---|
29 | } IURL_SETURL_FLAGS;
|
---|
30 |
|
---|
31 | typedef enum iurl_invokecommand_flags {
|
---|
32 | IURL_INVOKECOMMAND_FL_ALLOW_UI = 0x0001,IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB = 0x0002,IURL_INVOKECOMMAND_FL_DDEWAIT = 0x0004
|
---|
33 | } IURL_INVOKECOMMAND_FLAGS;
|
---|
34 |
|
---|
35 | typedef struct urlinvokecommandinfoA {
|
---|
36 | DWORD dwcbSize;
|
---|
37 | DWORD dwFlags;
|
---|
38 | HWND hwndParent;
|
---|
39 | LPCSTR pcszVerb;
|
---|
40 | } URLINVOKECOMMANDINFOA;
|
---|
41 |
|
---|
42 | typedef URLINVOKECOMMANDINFOA *PURLINVOKECOMMANDINFOA;
|
---|
43 | typedef const URLINVOKECOMMANDINFOA CURLINVOKECOMMANDINFOA;
|
---|
44 | typedef const URLINVOKECOMMANDINFOA *PCURLINVOKECOMMANDINFOA;
|
---|
45 |
|
---|
46 | typedef struct urlinvokecommandinfoW {
|
---|
47 | DWORD dwcbSize;
|
---|
48 | DWORD dwFlags;
|
---|
49 | HWND hwndParent;
|
---|
50 | LPCWSTR pcszVerb;
|
---|
51 | } URLINVOKECOMMANDINFOW;
|
---|
52 |
|
---|
53 | typedef URLINVOKECOMMANDINFOW *PURLINVOKECOMMANDINFOW;
|
---|
54 | typedef const URLINVOKECOMMANDINFOW CURLINVOKECOMMANDINFOW;
|
---|
55 | typedef const URLINVOKECOMMANDINFOW *PCURLINVOKECOMMANDINFOW;
|
---|
56 |
|
---|
57 | #define URLINVOKECOMMANDINFO __MINGW_NAME_AW(URLINVOKECOMMANDINFO)
|
---|
58 | #define PURLINVOKECOMMANDINFO __MINGW_NAME_AW(PURLINVOKECOMMANDINFO)
|
---|
59 | #define CURLINVOKECOMMANDINFO __MINGW_NAME_AW(CURLINVOKECOMMANDINFO)
|
---|
60 | #define PCURLINVOKECOMMANDINFO __MINGW_NAME_AW(PCURLINVOKECOMMANDINFO)
|
---|
61 |
|
---|
62 | #undef INTERFACE
|
---|
63 | #define INTERFACE IUniformResourceLocatorA
|
---|
64 |
|
---|
65 | DECLARE_INTERFACE_(IUniformResourceLocatorA,IUnknown) {
|
---|
66 | STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
|
---|
67 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
68 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
69 | STDMETHOD(SetURL)(THIS_ LPCSTR pcszURL,DWORD dwInFlags) PURE;
|
---|
70 | STDMETHOD(GetURL)(THIS_ LPSTR *ppszURL) PURE;
|
---|
71 | STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFOA purlici) PURE;
|
---|
72 | };
|
---|
73 |
|
---|
74 | #undef INTERFACE
|
---|
75 | #define INTERFACE IUniformResourceLocatorW
|
---|
76 | DECLARE_INTERFACE_(IUniformResourceLocatorW,IUnknown) {
|
---|
77 | STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
|
---|
78 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
79 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
80 | STDMETHOD(SetURL)(THIS_ LPCWSTR pcszURL,DWORD dwInFlags) PURE;
|
---|
81 | STDMETHOD(GetURL)(THIS_ LPWSTR *ppszURL) PURE;
|
---|
82 | STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFOW purlici) PURE;
|
---|
83 | };
|
---|
84 |
|
---|
85 | #define IUniformResourceLocator __MINGW_NAME_AW(IUniformResourceLocator)
|
---|
86 |
|
---|
87 | #define IUniformResourceLocatorVtbl __MINGW_NAME_AW_EXT(IUniformResourceLocator,Vtbl)
|
---|
88 |
|
---|
89 | typedef IUniformResourceLocator *PIUniformResourceLocator;
|
---|
90 | typedef const IUniformResourceLocator CIUniformResourceLocator;
|
---|
91 | typedef const IUniformResourceLocator *PCIUniformResourceLocator;
|
---|
92 |
|
---|
93 | typedef enum translateurl_in_flags {
|
---|
94 | TRANSLATEURL_FL_GUESS_PROTOCOL = 0x0001,TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL = 0x0002
|
---|
95 | } TRANSLATEURL_IN_FLAGS;
|
---|
96 |
|
---|
97 | INTSHCUTAPI HRESULT WINAPI TranslateURLA(PCSTR pcszURL,DWORD dwInFlags,PSTR *ppszTranslatedURL);
|
---|
98 | INTSHCUTAPI HRESULT WINAPI TranslateURLW(PCWSTR pcszURL,DWORD dwInFlags,PWSTR UNALIGNED *ppszTranslatedURL);
|
---|
99 |
|
---|
100 | #define TranslateURL __MINGW_NAME_AW(TranslateURL)
|
---|
101 |
|
---|
102 | typedef enum urlassociationdialog_in_flags {
|
---|
103 | URLASSOCDLG_FL_USE_DEFAULT_NAME = 0x0001,URLASSOCDLG_FL_REGISTER_ASSOC = 0x0002
|
---|
104 | } URLASSOCIATIONDIALOG_IN_FLAGS;
|
---|
105 |
|
---|
106 | INTSHCUTAPI HRESULT WINAPI URLAssociationDialogA(HWND hwndParent,DWORD dwInFlags,PCSTR pcszFile,PCSTR pcszURL,PSTR pszAppBuf,UINT ucAppBufLen);
|
---|
107 | INTSHCUTAPI HRESULT WINAPI URLAssociationDialogW(HWND hwndParent,DWORD dwInFlags,PCWSTR pcszFile,PCWSTR pcszURL,PWSTR pszAppBuf,UINT ucAppBufLen);
|
---|
108 |
|
---|
109 | #define URLAssociationDialog __MINGW_NAME_AW(URLAssociationDialog)
|
---|
110 |
|
---|
111 | typedef enum mimeassociationdialog_in_flags {
|
---|
112 | MIMEASSOCDLG_FL_REGISTER_ASSOC = 0x0001
|
---|
113 | } MIMEASSOCIATIONDIALOG_IN_FLAGS;
|
---|
114 |
|
---|
115 | INTSHCUTAPI HRESULT WINAPI MIMEAssociationDialogA(HWND hwndParent,DWORD dwInFlags,PCSTR pcszFile,PCSTR pcszMIMEContentType,PSTR pszAppBuf,UINT ucAppBufLen);
|
---|
116 | INTSHCUTAPI HRESULT WINAPI MIMEAssociationDialogW(HWND hwndParent,DWORD dwInFlags,PCWSTR pcszFile,PCWSTR pcszMIMEContentType,PWSTR pszAppBuf,UINT ucAppBufLen);
|
---|
117 |
|
---|
118 | #define MIMEAssociationDialog __MINGW_NAME_AW(MIMEAssociationDialog)
|
---|
119 |
|
---|
120 | INTSHCUTAPI WINBOOL WINAPI InetIsOffline(DWORD dwFlags);
|
---|
121 |
|
---|
122 | #ifdef __cplusplus
|
---|
123 | }
|
---|
124 | #endif
|
---|
125 | #endif
|
---|