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