root/trunk/win32/intshcut.d

Revision 155, 3.1 kB (checked in by Don Clugston, 5 years ago)

Committed on behalf of Stewart.

Line 
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 }
Note: See TracBrowser for help on using the browser.