xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/windows/ole2.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_ole2.d)
8  */
9 module core.sys.windows.ole2;
10 version (Windows):
11 @system:
12 pragma(lib, "ole32");
13 
14 public import core.sys.windows.basetyps, core.sys.windows.objbase, core.sys.windows.oleauto, core.sys.windows.olectlid,
15   core.sys.windows.oleidl, core.sys.windows.unknwn, core.sys.windows.winerror, core.sys.windows.uuid;
16 import core.sys.windows.objfwd, core.sys.windows.objidl, core.sys.windows.windef, core.sys.windows.wtypes;
17 import core.sys.windows.winuser; // for LPMSG
18 
19 enum E_DRAW = VIEW_E_DRAW;
20 
21 enum DATA_E_FORMATETC = DV_E_FORMATETC;
22 
23 enum {
24     OLEIVERB_PRIMARY = 0,
25     OLEIVERB_SHOW = -1,
26     OLEIVERB_OPEN = -2,
27     OLEIVERB_HIDE = -3,
28     OLEIVERB_UIACTIVATE = -4,
29     OLEIVERB_INPLACEACTIVATE = -5,
30     OLEIVERB_DISCARDUNDOSTATE = -6
31 }
32 
33 enum EMBDHLP_INPROC_HANDLER = 0x0000L;
34 enum EMBDHLP_INPROC_SERVER  = 0x0001L;
35 enum EMBDHLP_CREATENOW      = 0x00000000L;
36 enum EMBDHLP_DELAYCREATE    = 0x00010000L;
37 
38 align(8):
39 struct OLESTREAM {
40     LPOLESTREAMVTBL lpstbl;
41 }
42 alias OLESTREAM* LPOLESTREAM;
43 
44 extern (Windows) {
45     struct OLESTREAMVTBL {
46         DWORD function (LPOLESTREAM, void*, DWORD) Get;
47         DWORD function (LPOLESTREAM, const(void)*, DWORD) Put;
48     }
49 }
50 alias OLESTREAMVTBL* LPOLESTREAMVTBL;
51 
52 extern (Windows) {
53     HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
54     DWORD OleBuildVersion();
55     HRESULT ReadClassStg(LPSTORAGE, CLSID*);
56     HRESULT WriteClassStg(LPSTORAGE, REFCLSID);
57     HRESULT ReadClassStm(LPSTREAM, CLSID*);
58     HRESULT WriteClassStm(LPSTREAM, REFCLSID);
59     HRESULT WriteFmtUserTypeStg(LPSTORAGE, CLIPFORMAT, LPOLESTR);
60     HRESULT ReadFmtUserTypeStg(LPSTORAGE, CLIPFORMAT*, LPOLESTR*);
61     HRESULT OleInitialize(PVOID);
62     void OleUninitialize();
63     HRESULT OleQueryLinkFromData(LPDATAOBJECT);
64     HRESULT OleQueryCreateFromData(LPDATAOBJECT);
65     HRESULT OleCreate(REFCLSID, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
66     HRESULT OleCreateFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
67     HRESULT OleCreateLinkFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
68     HRESULT OleCreateStaticFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
69     HRESULT OleCreateLink(LPMONIKER, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
70     HRESULT OleCreateLinkToFile(LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
71     HRESULT OleCreateFromFile(REFCLSID, LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*);
72     HRESULT OleLoad(LPSTORAGE, REFIID, LPOLECLIENTSITE, PVOID*);
73     HRESULT OleSave(LPPERSISTSTORAGE, LPSTORAGE, BOOL);
74     HRESULT OleLoadFromStream(LPSTREAM, REFIID, PVOID*);
75     HRESULT OleSaveToStream(LPPERSISTSTREAM, LPSTREAM);
76     HRESULT OleSetContainedObject(LPUNKNOWN, BOOL);
77     HRESULT OleNoteObjectVisible(LPUNKNOWN, BOOL);
78     HRESULT RegisterDragDrop(HWND, LPDROPTARGET);
79     HRESULT RevokeDragDrop(HWND);
80     HRESULT DoDragDrop(LPDATAOBJECT, LPDROPSOURCE, DWORD, PDWORD);
81     HRESULT OleSetClipboard(LPDATAOBJECT);
82     HRESULT OleGetClipboard(LPDATAOBJECT*);
83     HRESULT OleFlushClipboard();
84     HRESULT OleIsCurrentClipboard(LPDATAOBJECT);
85     HOLEMENU OleCreateMenuDescriptor(HMENU, LPOLEMENUGROUPWIDTHS);
86     HRESULT OleSetMenuDescriptor(HOLEMENU, HWND, HWND, LPOLEINPLACEFRAME, LPOLEINPLACEACTIVEOBJECT);
87     HRESULT OleDestroyMenuDescriptor(HOLEMENU);
88     HRESULT OleTranslateAccelerator(LPOLEINPLACEFRAME, LPOLEINPLACEFRAMEINFO, LPMSG);
89     HANDLE OleDuplicateData(HANDLE, CLIPFORMAT, UINT);
90     HRESULT OleDraw(LPUNKNOWN, DWORD, HDC, LPCRECT);
91     HRESULT OleRun(LPUNKNOWN);
92     BOOL OleIsRunning(LPOLEOBJECT);
93     HRESULT OleLockRunning(LPUNKNOWN, BOOL, BOOL);
94     void ReleaseStgMedium(LPSTGMEDIUM);
95     HRESULT CreateOleAdviseHolder(LPOLEADVISEHOLDER*);
96     HRESULT OleCreateDefaultHandler(REFCLSID, LPUNKNOWN, REFIID, PVOID*);
97     HRESULT OleCreateEmbeddingHelper(REFCLSID, LPUNKNOWN, DWORD, LPCLASSFACTORY, REFIID, PVOID*);
98     BOOL IsAccelerator(HACCEL, int, LPMSG, WORD*);
99     HGLOBAL OleGetIconOfFile(LPOLESTR, BOOL);
100     HGLOBAL OleGetIconOfClass(REFCLSID, LPOLESTR, BOOL);
101     HGLOBAL OleMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT);
102     HRESULT OleRegGetUserType(REFCLSID, DWORD, LPOLESTR*);
103     HRESULT OleRegGetMiscStatus(REFCLSID, DWORD, DWORD*);
104     HRESULT OleRegEnumFormatEtc (REFCLSID, DWORD, LPENUMFORMATETC*);
105     HRESULT OleRegEnumVerbs (REFCLSID, LPENUMOLEVERB*);
106     HRESULT OleConvertOLESTREAMToIStorage(LPOLESTREAM, LPSTORAGE, const(DVTARGETDEVICE)*);
107     HRESULT OleConvertIStorageToOLESTREAM(LPSTORAGE, LPOLESTREAM);
108     HRESULT GetHGlobalFromILockBytes(LPLOCKBYTES, HGLOBAL*);
109     HRESULT CreateILockBytesOnHGlobal(HGLOBAL, BOOL, LPLOCKBYTES*);
110     HRESULT GetHGlobalFromStream(LPSTREAM, HGLOBAL*);
111     HRESULT CreateStreamOnHGlobal(HGLOBAL, BOOL, LPSTREAM*);
112     HRESULT OleDoAutoConvert(LPSTORAGE, LPCLSID);
113     HRESULT OleGetAutoConvert(REFCLSID, LPCLSID);
114     HRESULT OleSetAutoConvert(REFCLSID, REFCLSID);
115     HRESULT GetConvertStg(LPSTORAGE);
116     HRESULT SetConvertStg(LPSTORAGE, BOOL);
117     HRESULT OleConvertIStorageToOLESTREAMEx(LPSTORAGE, CLIPFORMAT, LONG, LONG, DWORD, LPSTGMEDIUM, LPOLESTREAM);
118     HRESULT OleConvertOLESTREAMToIStorageEx(LPOLESTREAM, LPSTORAGE, CLIPFORMAT*, LONG*, LONG*, DWORD*, LPSTGMEDIUM);
119 }
120