/** * Windows API header module * * Translated from MinGW Windows headers * * Authors: Stewart Gordon * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) * Source: $(DRUNTIMESRC core/sys/windows/_intshcut.d) */ module core.sys.windows.intshcut; version (Windows): @system: version (ANSI) {} else version = Unicode; import core.sys.windows.unknwn, core.sys.windows.windef; enum : SCODE { E_FLAGS = 0x80041000, // = MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x1000) URL_E_INVALID_SYNTAX = 0x80041001, // = MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x1001) URL_E_UNREGISTERED_PROTOCOL = 0x80041002, // etc. IS_E_EXEC_FAILED = 0x80042002 } enum IURL_SETURL_FLAGS { IURL_SETURL_FL_GUESS_PROTOCOL = 1, IURL_SETURL_FL_USE_DEFAULT_PROTOCOL, ALL_IURL_SETURL_FLAGS } enum IURL_INVOKECOMMAND_FLAGS { IURL_INVOKECOMMAND_FL_ALLOW_UI = 1, IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB, ALL_IURL_INVOKECOMMAND_FLAGS } enum TRANSLATEURL_IN_FLAGS { TRANSLATEURL_FL_GUESS_PROTOCOL = 1, TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL, ALL_TRANSLATEURL_FLAGS } enum URLASSOCIATIONDIALOG_IN_FLAGS { URLASSOCDLG_FL_USE_DEFAULT_NAME = 1, URLASSOCDLG_FL_REGISTER_ASSOC, ALL_URLASSOCDLG_FLAGS } enum MIMEASSOCIATIONDIALOG_IN_FLAGS { MIMEASSOCDLG_FL_REGISTER_ASSOC = 1, ALL_MIMEASSOCDLG_FLAGS = MIMEASSOCDLG_FL_REGISTER_ASSOC } struct URLINVOKECOMMANDINFO { DWORD dwcbSize = URLINVOKECOMMANDINFO.sizeof; DWORD dwFlags; HWND hwndParent; PCSTR pcszVerb; } alias URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO; alias URLINVOKECOMMANDINFO* PURLINVOKECOMMANDINFO, PCURLINVOKECOMMANDINFO; interface IUniformResourceLocator : IUnknown { HRESULT SetURL(PCSTR, DWORD); HRESULT GetURL(PSTR*); HRESULT InvokeCommand(PURLINVOKECOMMANDINFO); } //alias typeof(*(IUniformResourceLocator.init)) CIUniformResourceLocator; // value-type of interface not representable in D alias IUniformResourceLocator PIUniformResourceLocator, PCIUniformResourceLocator; extern (Windows) { BOOL InetIsOffline(DWORD); HRESULT MIMEAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT); HRESULT MIMEAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT); HRESULT TranslateURLA(PCSTR, DWORD, PSTR*); HRESULT TranslateURLW(PCWSTR, DWORD, PWSTR*); HRESULT URLAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT); HRESULT URLAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT); } version (Unicode) { alias TranslateURLW TranslateURL; alias MIMEAssociationDialogW MIMEAssociationDialog; alias URLAssociationDialogW URLAssociationDialog; } else { alias TranslateURLA TranslateURL; alias MIMEAssociationDialogA MIMEAssociationDialog; alias URLAssociationDialogA URLAssociationDialog; }