mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-09-07 06:22:00 +00:00
D front-end changes: - Import latest fixes from dmd v2.110.0-beta.1. - The `align' attribute now allows to specify `default' explicitly. - Add primary expression of the form `__rvalue(expression)' which causes `expression' to be treated as an rvalue, even if it is an lvalue. - Shortened method syntax can now be used in constructors. D runtime changes: - Import latest fixes from druntime v2.110.0-beta.1. Phobos changes: - Import latest fixes from phobos v2.110.0-beta.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd c57da0cf59. * d-codegen.cc (can_elide_copy_p): New. (d_build_call): Use it. * d-lang.cc (d_post_options): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime c57da0cf59. * src/MERGE: Merge upstream phobos ad8ee5587. * testsuite/libphobos.init_fini/custom_gc.d: Adjust test. gcc/testsuite/ChangeLog: * gdc.dg/copy1.d: New test.
119 lines
5.4 KiB
D
119 lines
5.4 KiB
D
/**
|
|
* Windows API header module
|
|
*
|
|
* Translated from MinGW Windows headers
|
|
*
|
|
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
|
|
* Source: $(DRUNTIMESRC core/sys/windows/_ole2.d)
|
|
*/
|
|
module core.sys.windows.ole2;
|
|
version (Windows):
|
|
pragma(lib, "ole32");
|
|
|
|
public import core.sys.windows.basetyps, core.sys.windows.objbase, core.sys.windows.oleauto, core.sys.windows.olectlid,
|
|
core.sys.windows.oleidl, core.sys.windows.unknwn, core.sys.windows.winerror, core.sys.windows.uuid;
|
|
import core.sys.windows.objfwd, core.sys.windows.objidl, core.sys.windows.windef, core.sys.windows.wtypes;
|
|
import core.sys.windows.winuser; // for LPMSG
|
|
|
|
enum E_DRAW = VIEW_E_DRAW;
|
|
|
|
enum DATA_E_FORMATETC = DV_E_FORMATETC;
|
|
|
|
enum {
|
|
OLEIVERB_PRIMARY = 0,
|
|
OLEIVERB_SHOW = -1,
|
|
OLEIVERB_OPEN = -2,
|
|
OLEIVERB_HIDE = -3,
|
|
OLEIVERB_UIACTIVATE = -4,
|
|
OLEIVERB_INPLACEACTIVATE = -5,
|
|
OLEIVERB_DISCARDUNDOSTATE = -6
|
|
}
|
|
|
|
enum EMBDHLP_INPROC_HANDLER = 0x0000L;
|
|
enum EMBDHLP_INPROC_SERVER = 0x0001L;
|
|
enum EMBDHLP_CREATENOW = 0x00000000L;
|
|
enum EMBDHLP_DELAYCREATE = 0x00010000L;
|
|
|
|
align(8):
|
|
struct OLESTREAM {
|
|
LPOLESTREAMVTBL lpstbl;
|
|
}
|
|
alias OLESTREAM* LPOLESTREAM;
|
|
|
|
extern (Windows) {
|
|
struct OLESTREAMVTBL {
|
|
DWORD function (LPOLESTREAM, void*, DWORD) Get;
|
|
DWORD function (LPOLESTREAM, const(void)*, DWORD) Put;
|
|
}
|
|
}
|
|
alias OLESTREAMVTBL* LPOLESTREAMVTBL;
|
|
|
|
extern (Windows) nothrow @nogc {
|
|
HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
|
|
DWORD OleBuildVersion();
|
|
HRESULT ReadClassStg(LPSTORAGE, CLSID*);
|
|
HRESULT WriteClassStg(LPSTORAGE, REFCLSID);
|
|
HRESULT ReadClassStm(LPSTREAM, CLSID*);
|
|
HRESULT WriteClassStm(LPSTREAM, REFCLSID);
|
|
HRESULT WriteFmtUserTypeStg(LPSTORAGE, CLIPFORMAT, LPOLESTR);
|
|
HRESULT ReadFmtUserTypeStg(LPSTORAGE, CLIPFORMAT*, LPOLESTR*);
|
|
HRESULT OleInitialize(PVOID);
|
|
void OleUninitialize();
|
|
HRESULT OleQueryLinkFromData(LPDATAOBJECT);
|
|
HRESULT OleQueryCreateFromData(LPDATAOBJECT);
|
|
HRESULT OleCreate(REFCLSID, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleCreateFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleCreateLinkFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleCreateStaticFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleCreateLink(LPMONIKER, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleCreateLinkToFile(LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleCreateFromFile(REFCLSID, LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
|
|
HRESULT OleLoad(LPSTORAGE, REFIID, LPOLECLIENTSITE, PVOID*);
|
|
HRESULT OleSave(LPPERSISTSTORAGE, LPSTORAGE, BOOL);
|
|
HRESULT OleLoadFromStream(LPSTREAM, REFIID, PVOID*);
|
|
HRESULT OleSaveToStream(LPPERSISTSTREAM, LPSTREAM);
|
|
HRESULT OleSetContainedObject(LPUNKNOWN, BOOL);
|
|
HRESULT OleNoteObjectVisible(LPUNKNOWN, BOOL);
|
|
HRESULT RegisterDragDrop(HWND, LPDROPTARGET);
|
|
HRESULT RevokeDragDrop(HWND);
|
|
HRESULT DoDragDrop(LPDATAOBJECT, LPDROPSOURCE, DWORD, PDWORD);
|
|
HRESULT OleSetClipboard(LPDATAOBJECT);
|
|
HRESULT OleGetClipboard(LPDATAOBJECT*);
|
|
HRESULT OleFlushClipboard();
|
|
HRESULT OleIsCurrentClipboard(LPDATAOBJECT);
|
|
HOLEMENU OleCreateMenuDescriptor(HMENU, LPOLEMENUGROUPWIDTHS);
|
|
HRESULT OleSetMenuDescriptor(HOLEMENU, HWND, HWND, LPOLEINPLACEFRAME, LPOLEINPLACEACTIVEOBJECT);
|
|
HRESULT OleDestroyMenuDescriptor(HOLEMENU);
|
|
HRESULT OleTranslateAccelerator(LPOLEINPLACEFRAME, LPOLEINPLACEFRAMEINFO, LPMSG);
|
|
HANDLE OleDuplicateData(HANDLE, CLIPFORMAT, UINT);
|
|
HRESULT OleDraw(LPUNKNOWN, DWORD, HDC, LPCRECT);
|
|
HRESULT OleRun(LPUNKNOWN);
|
|
BOOL OleIsRunning(LPOLEOBJECT);
|
|
HRESULT OleLockRunning(LPUNKNOWN, BOOL, BOOL);
|
|
void ReleaseStgMedium(LPSTGMEDIUM);
|
|
HRESULT CreateOleAdviseHolder(LPOLEADVISEHOLDER*);
|
|
HRESULT OleCreateDefaultHandler(REFCLSID, LPUNKNOWN, REFIID, PVOID*);
|
|
HRESULT OleCreateEmbeddingHelper(REFCLSID, LPUNKNOWN, DWORD, LPCLASSFACTORY, REFIID, PVOID*);
|
|
BOOL IsAccelerator(HACCEL, int, LPMSG, WORD*);
|
|
HGLOBAL OleGetIconOfFile(LPOLESTR, BOOL);
|
|
HGLOBAL OleGetIconOfClass(REFCLSID, LPOLESTR, BOOL);
|
|
HGLOBAL OleMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT);
|
|
HRESULT OleRegGetUserType(REFCLSID, DWORD, LPOLESTR*);
|
|
HRESULT OleRegGetMiscStatus(REFCLSID, DWORD, DWORD*);
|
|
HRESULT OleRegEnumFormatEtc (REFCLSID, DWORD, LPENUMFORMATETC*);
|
|
HRESULT OleRegEnumVerbs (REFCLSID, LPENUMOLEVERB*);
|
|
HRESULT OleConvertOLESTREAMToIStorage(LPOLESTREAM, LPSTORAGE, const(DVTARGETDEVICE)*);
|
|
HRESULT OleConvertIStorageToOLESTREAM(LPSTORAGE, LPOLESTREAM);
|
|
HRESULT GetHGlobalFromILockBytes(LPLOCKBYTES, HGLOBAL*);
|
|
HRESULT CreateILockBytesOnHGlobal(HGLOBAL, BOOL, LPLOCKBYTES*);
|
|
HRESULT GetHGlobalFromStream(LPSTREAM, HGLOBAL*);
|
|
HRESULT CreateStreamOnHGlobal(HGLOBAL, BOOL, LPSTREAM*);
|
|
HRESULT OleDoAutoConvert(LPSTORAGE, LPCLSID);
|
|
HRESULT OleGetAutoConvert(REFCLSID, LPCLSID);
|
|
HRESULT OleSetAutoConvert(REFCLSID, REFCLSID);
|
|
HRESULT GetConvertStg(LPSTORAGE);
|
|
HRESULT SetConvertStg(LPSTORAGE, BOOL);
|
|
HRESULT OleConvertIStorageToOLESTREAMEx(LPSTORAGE, CLIPFORMAT, LONG, LONG, DWORD, LPSTGMEDIUM, LPOLESTREAM);
|
|
HRESULT OleConvertOLESTREAMToIStorageEx(LPOLESTREAM, LPSTORAGE, CLIPFORMAT*, LONG*, LONG*, DWORD*, LPSTGMEDIUM);
|
|
}
|