1
|
1 /***********************************************************************\
|
|
2 * intshcut.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * by Stewart Gordon *
|
|
8 * *
|
|
9 * Placed into public domain *
|
|
10 \***********************************************************************/
|
|
11 module win32.intshcut;
|
|
12
|
|
13 private import win32.unknwn, win32.windef;
|
|
14
|
|
15 enum : SCODE {
|
|
16 E_FLAGS = 0x80041000,
|
|
17 // = MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x1000)
|
|
18 URL_E_INVALID_SYNTAX = 0x80041001,
|
|
19 // = MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x1001)
|
|
20 URL_E_UNREGISTERED_PROTOCOL = 0x80041002, // etc.
|
|
21 IS_E_EXEC_FAILED = 0x80042002
|
|
22 }
|
|
23
|
|
24 enum IURL_SETURL_FLAGS {
|
|
25 IURL_SETURL_FL_GUESS_PROTOCOL = 1,
|
|
26 IURL_SETURL_FL_USE_DEFAULT_PROTOCOL,
|
|
27 ALL_IURL_SETURL_FLAGS
|
|
28 }
|
|
29
|
|
30 enum IURL_INVOKECOMMAND_FLAGS {
|
|
31 IURL_INVOKECOMMAND_FL_ALLOW_UI = 1,
|
|
32 IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB,
|
|
33 ALL_IURL_INVOKECOMMAND_FLAGS
|
|
34 }
|
|
35
|
|
36 enum TRANSLATEURL_IN_FLAGS {
|
|
37 TRANSLATEURL_FL_GUESS_PROTOCOL = 1,
|
|
38 TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL,
|
|
39 ALL_TRANSLATEURL_FLAGS
|
|
40 }
|
|
41
|
|
42 enum URLASSOCIATIONDIALOG_IN_FLAGS {
|
|
43 URLASSOCDLG_FL_USE_DEFAULT_NAME = 1,
|
|
44 URLASSOCDLG_FL_REGISTER_ASSOC,
|
|
45 ALL_URLASSOCDLG_FLAGS
|
|
46 }
|
|
47
|
|
48 enum MIMEASSOCIATIONDIALOG_IN_FLAGS {
|
|
49 MIMEASSOCDLG_FL_REGISTER_ASSOC = 1,
|
|
50 ALL_MIMEASSOCDLG_FLAGS = MIMEASSOCDLG_FL_REGISTER_ASSOC
|
|
51 }
|
|
52
|
|
53 struct URLINVOKECOMMANDINFO {
|
|
54 DWORD dwcbSize = URLINVOKECOMMANDINFO.sizeof;
|
|
55 DWORD dwFlags;
|
|
56 HWND hwndParent;
|
|
57 PCSTR pcszVerb;
|
|
58 }
|
|
59 alias URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO;
|
|
60 alias URLINVOKECOMMANDINFO* PURLINVOKECOMMANDINFO, PCURLINVOKECOMMANDINFO;
|
|
61
|
|
62 interface IUniformResourceLocator : IUnknown {
|
|
63 HRESULT SetURL(PCSTR, DWORD);
|
|
64 HRESULT GetURL(PSTR*);
|
|
65 HRESULT InvokeCommand(PURLINVOKECOMMANDINFO);
|
|
66 }
|
|
67 alias IUniformResourceLocator CIUniformResourceLocator;
|
|
68 alias IUniformResourceLocator* PIUniformResourceLocator,
|
|
69 PCIUniformResourceLocator;
|
|
70
|
|
71 extern (Windows) {
|
|
72 BOOL InetIsOffline(DWORD);
|
|
73 HRESULT MIMEAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT);
|
|
74 HRESULT MIMEAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT);
|
|
75 HRESULT TranslateURLA(PCSTR, DWORD, PSTR*);
|
|
76 HRESULT TranslateURLW(PCWSTR, DWORD, PWSTR*);
|
|
77 HRESULT URLAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT);
|
|
78 HRESULT URLAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT);
|
|
79 }
|
|
80
|
|
81 version (Unicode) {
|
|
82 alias TranslateURLW TranslateURL;
|
|
83 alias MIMEAssociationDialogW MIMEAssociationDialog;
|
|
84 alias URLAssociationDialogW URLAssociationDialog;
|
|
85 } else {
|
|
86 alias TranslateURLA TranslateURL;
|
|
87 alias MIMEAssociationDialogA MIMEAssociationDialog;
|
|
88 alias URLAssociationDialogA URLAssociationDialog;
|
|
89 }
|