mirror of https://github.com/buggins/dlangui.git
91 lines
3.2 KiB
D
91 lines
3.2 KiB
D
/***********************************************************************\
|
|
* intshcut.d *
|
|
* *
|
|
* Windows API header module *
|
|
* *
|
|
* Translated from MinGW Windows headers *
|
|
* by Stewart Gordon *
|
|
* *
|
|
* Placed into public domain *
|
|
\***********************************************************************/
|
|
module win32.intshcut;
|
|
version(Windows):
|
|
|
|
private import win32.unknwn, win32.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;
|
|
}
|