| 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 |
} |
|---|