annotate dwt/internal/ole/win32/COMAPI.d @ 341:f403c83322c3 default tip

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