|
1 #ifndef _INTSHCUT_H |
|
2 #define _INTSHCUT_H |
|
3 #if __GNUC__ >=3 |
|
4 #pragma GCC system_header |
|
5 #endif |
|
6 |
|
7 #include <isguids.h> |
|
8 #ifdef __cplusplus |
|
9 extern "C" { |
|
10 #endif |
|
11 #define INTSHCUTAPI DECLSPEC_IMPORT |
|
12 #define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000) |
|
13 #define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002) |
|
14 #define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001) |
|
15 #define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002) |
|
16 typedef enum iurl_seturl_flags { |
|
17 IURL_SETURL_FL_GUESS_PROTOCOL=1, |
|
18 IURL_SETURL_FL_USE_DEFAULT_PROTOCOL, |
|
19 ALL_IURL_SETURL_FLAGS=(IURL_SETURL_FL_GUESS_PROTOCOL|IURL_SETURL_FL_USE_DEFAULT_PROTOCOL) |
|
20 } IURL_SETURL_FLAGS; |
|
21 typedef enum iurl_invokecommand_flags { |
|
22 IURL_INVOKECOMMAND_FL_ALLOW_UI=1, |
|
23 IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB, |
|
24 ALL_IURL_INVOKECOMMAND_FLAGS=(IURL_INVOKECOMMAND_FL_ALLOW_UI|IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB) |
|
25 } IURL_INVOKECOMMAND_FLAGS; |
|
26 typedef enum translateurl_in_flags { |
|
27 TRANSLATEURL_FL_GUESS_PROTOCOL=1, |
|
28 TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL, |
|
29 ALL_TRANSLATEURL_FLAGS=(TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL) |
|
30 } TRANSLATEURL_IN_FLAGS; |
|
31 typedef enum urlassociationdialog_in_flags { |
|
32 URLASSOCDLG_FL_USE_DEFAULT_NAME=1, |
|
33 URLASSOCDLG_FL_REGISTER_ASSOC, |
|
34 ALL_URLASSOCDLG_FLAGS=(URLASSOCDLG_FL_USE_DEFAULT_NAME|URLASSOCDLG_FL_REGISTER_ASSOC) |
|
35 } URLASSOCIATIONDIALOG_IN_FLAGS; |
|
36 typedef enum mimeassociationdialog_in_flags { |
|
37 MIMEASSOCDLG_FL_REGISTER_ASSOC=1, |
|
38 ALL_MIMEASSOCDLG_FLAGS=MIMEASSOCDLG_FL_REGISTER_ASSOC |
|
39 } MIMEASSOCIATIONDIALOG_IN_FLAGS; |
|
40 typedef struct urlinvokecommandinfo { |
|
41 DWORD dwcbSize; |
|
42 DWORD dwFlags; |
|
43 HWND hwndParent; |
|
44 PCSTR pcszVerb; |
|
45 } URLINVOKECOMMANDINFO,*PURLINVOKECOMMANDINFO; |
|
46 typedef const URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO; |
|
47 typedef const URLINVOKECOMMANDINFO *PCURLINVOKECOMMANDINFO; |
|
48 #define INTERFACE IUniformResourceLocator |
|
49 DECLARE_INTERFACE_(IUniformResourceLocator,IUnknown) |
|
50 { |
|
51 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
52 STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
53 STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
54 STDMETHOD(SetURL)(THIS_ PCSTR,DWORD) PURE; |
|
55 STDMETHOD(GetURL)(THIS_ PSTR*) PURE; |
|
56 STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFO) PURE; |
|
57 }; |
|
58 #undef INTERFACE |
|
59 typedef IUniformResourceLocator *PIUniformResourceLocator; |
|
60 typedef const IUniformResourceLocator CIUniformResourceLocator; |
|
61 typedef const IUniformResourceLocator *PCIUniformResourceLocator; |
|
62 |
|
63 BOOL WINAPI InetIsOffline(DWORD); |
|
64 HRESULT WINAPI MIMEAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT); |
|
65 HRESULT WINAPI MIMEAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT); |
|
66 HRESULT WINAPI TranslateURLA(PCSTR,DWORD,PSTR*); |
|
67 HRESULT WINAPI TranslateURLW(PCWSTR,DWORD,PWSTR*); |
|
68 HRESULT WINAPI URLAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT); |
|
69 HRESULT WINAPI URLAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT); |
|
70 #ifdef UNICODE |
|
71 #define TranslateURL TranslateURLW |
|
72 #define MIMEAssociationDialog MIMEAssociationDialogW |
|
73 #define URLAssociationDialog URLAssociationDialogW |
|
74 #else |
|
75 #define TranslateURL TranslateURLA |
|
76 #define MIMEAssociationDialog MIMEAssociationDialogA |
|
77 #define URLAssociationDialog URLAssociationDialogA |
|
78 #endif |
|
79 #ifdef __cplusplus |
|
80 } |
|
81 #endif |
|
82 #endif |