OSDN Git Service

Correct mistyped __MINGW_NOTHROW macro.
[mingw/mingw-org-wsl.git] / include / intshcut.h
1 /**
2  * @file intshcut.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _INTSHCUT_H
25 #define _INTSHCUT_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #include <isguids.h>
30
31 #ifdef __cplusplus
32 extern "C" { 
33 #endif 
34
35 #define INTSHCUTAPI DECLSPEC_IMPORT
36 #define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000)
37 #define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002)
38 #define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001)
39 #define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002)
40 typedef enum iurl_seturl_flags {
41  IURL_SETURL_FL_GUESS_PROTOCOL=1,
42  IURL_SETURL_FL_USE_DEFAULT_PROTOCOL,
43  ALL_IURL_SETURL_FLAGS=(IURL_SETURL_FL_GUESS_PROTOCOL|IURL_SETURL_FL_USE_DEFAULT_PROTOCOL)
44 } IURL_SETURL_FLAGS;
45 typedef enum iurl_invokecommand_flags {
46  IURL_INVOKECOMMAND_FL_ALLOW_UI=1,
47  IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB,
48  ALL_IURL_INVOKECOMMAND_FLAGS=(IURL_INVOKECOMMAND_FL_ALLOW_UI|IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB)
49 } IURL_INVOKECOMMAND_FLAGS;
50 typedef enum translateurl_in_flags {
51  TRANSLATEURL_FL_GUESS_PROTOCOL=1,
52  TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL,
53  ALL_TRANSLATEURL_FLAGS=(TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL)
54 } TRANSLATEURL_IN_FLAGS;
55 typedef enum urlassociationdialog_in_flags {
56  URLASSOCDLG_FL_USE_DEFAULT_NAME=1,
57  URLASSOCDLG_FL_REGISTER_ASSOC,
58  ALL_URLASSOCDLG_FLAGS=(URLASSOCDLG_FL_USE_DEFAULT_NAME|URLASSOCDLG_FL_REGISTER_ASSOC)
59 } URLASSOCIATIONDIALOG_IN_FLAGS;
60 typedef enum mimeassociationdialog_in_flags {
61  MIMEASSOCDLG_FL_REGISTER_ASSOC=1,
62  ALL_MIMEASSOCDLG_FLAGS=MIMEASSOCDLG_FL_REGISTER_ASSOC
63 } MIMEASSOCIATIONDIALOG_IN_FLAGS;
64 typedef struct urlinvokecommandinfo {
65  DWORD dwcbSize;
66  DWORD dwFlags;
67  HWND hwndParent;
68  PCSTR pcszVerb;
69 } URLINVOKECOMMANDINFO,*PURLINVOKECOMMANDINFO;
70 typedef const URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO;
71 typedef const URLINVOKECOMMANDINFO *PCURLINVOKECOMMANDINFO;
72 #define INTERFACE IUniformResourceLocator
73 DECLARE_INTERFACE_(IUniformResourceLocator,IUnknown)
74 {
75  STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
76  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
77  STDMETHOD_(ULONG,Release)(THIS) PURE;
78  STDMETHOD(SetURL)(THIS_ PCSTR,DWORD) PURE;
79  STDMETHOD(GetURL)(THIS_ PSTR*) PURE;
80  STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFO) PURE;
81 };
82 #undef INTERFACE
83 typedef IUniformResourceLocator *PIUniformResourceLocator;
84 typedef const IUniformResourceLocator CIUniformResourceLocator;
85 typedef const IUniformResourceLocator *PCIUniformResourceLocator;
86
87 BOOL WINAPI InetIsOffline(DWORD);
88 HRESULT WINAPI MIMEAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT);
89 HRESULT WINAPI MIMEAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT);
90 HRESULT WINAPI TranslateURLA(PCSTR,DWORD,PSTR*);
91 HRESULT WINAPI TranslateURLW(PCWSTR,DWORD,PWSTR*);
92 HRESULT WINAPI URLAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT);
93 HRESULT WINAPI URLAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT);
94 #define TranslateURL __AW(TranslateURL)
95 #define MIMEAssociationDialog __AW(MIMEAssociationDialog)
96 #define URLAssociationDialog __AW(URLAssociationDialog)
97
98 #ifdef __cplusplus
99
100 #endif 
101
102 #endif