annotate dwt/internal/ole/win32/COMAPI.d @ 213:36f5cb12e1a2

Update to SWT 3.4M7
author Frank Benoit <benoit@tionex.de>
date Sat, 17 May 2008 17:34:28 +0200
parents 07e8963537b7
children 41a9fce66f7f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
97
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * All COM APIs required by DWT, all APIs prototype copied from MSDN 2003
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * don't import this module directly, import std.internal.ole.win32.com instead
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 *
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * author : Shawn Liu
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 */
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 module dwt.internal.ole.win32.COMAPI;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 //private import std.c.windows.windows;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 //private import std.c.windows.com;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 private import dwt.internal.win32.WINTYPES;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 private import dwt.internal.ole.win32.COMTYPES;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 private import dwt.internal.ole.win32.OBJIDL;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 private import dwt.internal.ole.win32.OLEIDL;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 private import dwt.internal.ole.win32.OAIDL;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 private import dwt.internal.ole.win32.extras;
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 extern(Windows){
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 WINOLEAPI CreateStreamOnHGlobal(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 HGLOBAL hGlobal, //Memory handle for the stream object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 BOOL fDeleteOnRelease, //Whether to free memory when the object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 // is released
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 LPSTREAM * ppstm //Address of output variable that
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 // receives the IStream interface pointer
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 HRESULT CLSIDFromProgID(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 LPCOLESTR lpszProgID,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 LPCLSID pclsid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 HRESULT CLSIDFromString(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 LPOLESTR lpsz,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 LPCLSID pclsid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 STDAPI CoCreateInstance(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 REFCLSID rclsid,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 LPUNKNOWN pUnkOuter,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 DWORD dwClsContext,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 REFIID riid,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 LPVOID * ppv
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 void CoFreeUnusedLibraries();
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 STDAPI CoGetClassObject(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 REFCLSID rclsid,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 DWORD dwClsContext,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 COSERVERINFO * pServerInfo,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 REFIID riid,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 LPVOID * ppv
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 STDAPI CoLockObjectExternal(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 LPUNKNOWN pUnk,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 BOOL fLock,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 BOOL fLastUnlockReleases
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 LPVOID CoTaskMemAlloc(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 ULONG cb
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 void CoTaskMemFree(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 void * pv
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 WINOLEAPI DoDragDrop(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 LPDATAOBJECT pDataObject, //Pointer to the data object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 LPDROPSOURCE pDropSource, //Pointer to the source
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 DWORD dwOKEffect, //Effects allowed by the source
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 DWORD * pdwEffect //Pointer to effects on the source
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 WINOLEAPI GetClassFile(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 LPCWSTR szFileName,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 CLSID * pclsid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 WINOLEAPI IIDFromString(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 LPOLESTR lpsz,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 LPIID lpiid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 BOOL IsEqualGUID(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 REFGUID rguid1,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 REFGUID rguid2
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 WINOLEAPI OleCreate(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 REFCLSID rclsid, //CLSID of embedded object to be created
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 REFIID riid, //Reference to the identifier of the interface
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 // used to communicate with new object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 DWORD renderopt, //RENDEROPT value indicating cached capabilities
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 FORMATETC * pFormatEtc,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 //Pointer to a FORMATETC structure
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 IOleClientSite * pClientSite,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 //Pointer to request services from the container
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 LPSTORAGE pStg, //Pointer to storage for the object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 void ** ppvObject //Address of output variable that receives the
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 // interface pointer requested in riid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 WINOLEAPI OleCreateFromFile(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 REFCLSID rclsid, //Reserved. Must be CLSID_NULL
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 LPCOLESTR lpszFileName, //Pointer to full path of file used to
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 // create object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 REFIID riid, //Reference to the identifier of the
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 // interface to be used to communicate with
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 // new object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 DWORD renderopt, //Value from OLERENDER
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 LPFORMATETC pFormatEtc, //Pointer to the FORMATETC structure
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 LPOLECLIENTSITE pClientSite,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 //Pointer to an interface
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 LPSTORAGE pStg, //Pointer tothe interface to be used as
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 // object storage
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 LPVOID * ppvObj //Address of output variable that
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 // receives the interface pointer requested
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 // in riid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 STDAPI OleCreatePropertyFrame(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 HWND hwndOwner, //Parent window of property sheet dialog box
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 UINT x, //Horizontal position for dialog box
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 UINT y, //Vertical position for dialog box
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 LPCOLESTR lpszCaption,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 //Pointer to the dialog box caption
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 ULONG cObjects, //Number of object pointers in lplpUnk
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 LPUNKNOWN * lplpUnk,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 //Pointer to the objects for property sheet
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 ULONG cPages, //Number of property pages in lpPageClsID
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 LPCLSID lpPageClsID,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 //Array of CLSIDs for each property page
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 LCID lcid, //Locale identifier for property sheet locale
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 DWORD dwReserved, //Reserved
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 LPVOID lpvReserved //Reserved
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 WINOLEAPI OleDraw(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 LPUNKNOWN pUnk, //Pointer to the view object to be drawn
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 DWORD dwAspect, //How the object is to be represented
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 HDC hdcDraw, //Device context on which to draw
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 LPCRECT lprcBounds //Pointer to the rectangle in which the object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 // is drawn
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 WINOLEAPI OleFlushClipboard();
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 WINOLEAPI OleGetClipboard(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 LPDATAOBJECT * ppDataObj //Address of output variable that
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 // receives the IDataObject interface
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 // pointer
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 WINOLEAPI OleIsCurrentClipboard(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 LPDATAOBJECT pDataObject //Pointer to the data object previously
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 // copied or cut
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 BOOL OleIsRunning(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 LPOLEOBJECT pObject //Pointer to the interface
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 WINOLEAPI OleLoad(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 LPSTORAGE pStg, //Pointer to the storage object from which to
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 // load
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 REFIID riid, //Reference to the identifier of the interface
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 IOleClientSite * pClientSite,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 //Pointer to the client site for the object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 LPVOID * ppvObj //Address of output variable that receives the
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 // interface pointer requested in riid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 WINOLEAPI OleRun(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 LPUNKNOWN pUnknown //Pointer to interface on the object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 WINOLEAPI OleSave(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 LPPERSISTSTORAGE pPS, //Pointer to the object to be saved
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 LPSTORAGE pStg, //Pointer to the destination storage to
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 // which pPS is saved
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 BOOL fSameAsLoad //Whether the object was loaded from pstg
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 // or not
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 WINOLEAPI OleSetClipboard(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 LPDATAOBJECT pDataObj //Pointer to the data object being copied
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 // or cut
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 WINOLEAPI OleSetContainedObject(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 LPUNKNOWN pUnk, //Pointer to the interface on the embedded object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 BOOL fContained //Indicates if the object is embedded
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 WINOLEAPI OleSetMenuDescriptor(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 HOLEMENU holemenu, //Handle to the composite menu descriptor
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 HWND hwndFrame, //Handle to the container's frame window
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 HWND hwndActiveObject, //Handle to the object's in-place
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 // activation window
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 LPOLEINPLACEFRAME lpFrame, //Pointer to the container's frame
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 // window
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 LPOLEINPLACEACTIVEOBJECT lpActiveObj
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 //Active in-place object
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 STDAPI OleTranslateColor (
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 OLE_COLOR clr, //Color to be converted into a COLORREF
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 HPALETTE hpal, //Palette used for conversion
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 COLORREF *pcolorref //Pointer to the caller's variable that
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 // receives the converted result
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 WINOLEAPI ProgIDFromCLSID(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 REFCLSID clsid,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 LPOLESTR * lplpszProgID
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 WINOLEAPI RegisterDragDrop(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 HWND hwnd, //Handle to a window that can accept drops
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 LPDROPTARGET pDropTarget
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 //Pointer to object that is to be target of drop
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 void ReleaseStgMedium(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205 STGMEDIUM * pmedium //Pointer to storage medium to be freed
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 WINOLEAPI RevokeDragDrop(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 HWND hwnd //Handle to a window that can accept drops
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 );
213
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
210 HRESULT SHDoDragDrop(
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
211 HWND hwnd,
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
212 IDataObject *pdtobj,
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
213 IDropSource *pdsrc,
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
214 DWORD dwEffect,
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
215 DWORD *pdwEffect
36f5cb12e1a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 128
diff changeset
216 );
97
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 HRESULT StgCreateDocfile(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 WCHAR* pwcsName,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 DWORD grfMode,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 DWORD reserved,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 LPSTORAGE* ppstgOpen
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 WINOLEAPI StgIsStorageFile(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 WCHAR* pwcsName
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 HRESULT StgOpenStorage(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 WCHAR* pwcsName,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 LPSTORAGE pstgPriority,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 DWORD grfMode,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 SNB snbExclude,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 DWORD reserved,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 LPSTORAGE * ppstgOpen
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 WINOLEAPI StringFromCLSID(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 REFCLSID rclsid,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 LPOLESTR * ppsz
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241 BSTR SysAllocString(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242 OLECHAR * sz
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 VOID SysFreeString(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 BSTR bstr
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 UINT SysStringByteLen(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248 BSTR bstr
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 HRESULT VariantChangeType(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 VARIANTARG * pvargDest,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 VARIANTARG * pvarSrc,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253 ushort wFlags,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 VARTYPE vt
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257 HRESULT VariantClear(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 VARIANTARG * pvarg
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 HRESULT VariantCopy(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 VARIANTARG * pvargDest,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 VARIANTARG * pvargSrc
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264 VOID VariantInit(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 VARIANTARG * pvarg
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 WINOLEAPI WriteClassStg(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268 LPSTORAGE pStg,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
269 REFCLSID rclsid
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 STDAPI CreateStdAccessibleObject(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273 HWND hwnd,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 LONG idObject,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 REFIID riidInterface,
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 void** ppvObject
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 LRESULT LresultFromObject(
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 REFIID riid,
128
07e8963537b7 removed tango_sys_win32 and added all necessary bindings to the dwt.internal.win32 WINTYPES and WINAPI modules
Frank Benoit <benoit@tionex.de>
parents: 97
diff changeset
280 WPARAM wParam,
97
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
281 LPUNKNOWN pAcc
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
282 );
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
283
2e6eb5bd2c16 starting OLE
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
284 } // end of comapi