1 // Copyright © 2015, Peter Atashian
2 // Licensed under the MIT License <LICENSE.md>
3 //! FFI bindings to ole32.
4 #![cfg(windows)]
5 extern crate winapi;
6 use winapi::*;
7 extern "system" {
8     // pub fn BindMoniker();
9     // pub fn CLIPFORMAT_UserFree();
10     // #[cfg(target_arch = "x86_64")]
11     // pub fn CLIPFORMAT_UserFree64();
12     // pub fn CLIPFORMAT_UserMarshal();
13     // #[cfg(target_arch = "x86_64")]
14     // pub fn CLIPFORMAT_UserMarshal64();
15     // pub fn CLIPFORMAT_UserSize();
16     // #[cfg(target_arch = "x86_64")]
17     // pub fn CLIPFORMAT_UserSize64();
18     // pub fn CLIPFORMAT_UserUnmarshal();
19     // #[cfg(target_arch = "x86_64")]
20     // pub fn CLIPFORMAT_UserUnmarshal64();
CLSIDFromProgID(lpszProgID: LPCOLESTR, lpclsid: LPCLSID) -> HRESULT21     pub fn CLSIDFromProgID(lpszProgID: LPCOLESTR, lpclsid: LPCLSID) -> HRESULT;
22     // pub fn CLSIDFromProgIDEx();
23     // pub fn CLSIDFromString();
24     // pub fn CoAddRefServerProcess();
25     // pub fn CoAllowSetForegroundWindow();
CoAllowUnmarshalerCLSID(clsid: REFCLSID) -> HRESULT26     pub fn CoAllowUnmarshalerCLSID(clsid: REFCLSID) -> HRESULT;
27     // pub fn CoBuildVersion();
28     // pub fn CoCancelCall();
29     // pub fn CoCopyProxy();
30     // pub fn CoCreateFreeThreadedMarshaler();
31     // pub fn CoCreateGuid();
CoCreateInstance( rclsid: REFCLSID, pUnkOuter: LPUNKNOWN, dwClsContext: DWORD, riid: REFIID, ppv: *mut LPVOID, ) -> HRESULT32     pub fn CoCreateInstance(
33         rclsid: REFCLSID, pUnkOuter: LPUNKNOWN, dwClsContext: DWORD, riid: REFIID,
34         ppv: *mut LPVOID,
35     ) -> HRESULT;
36     // pub fn CoCreateInstanceEx();
37     // pub fn CoCreateInstanceFromApp();
38     // pub fn CoCreateObjectInContext();
39     // pub fn CoDeactivateObject();
CoDecodeProxy( dwClientPid: DWORD, ui64ProxyAddress: UINT64, pServerInformation: PServerInformation, ) -> HRESULT40     pub fn CoDecodeProxy(
41         dwClientPid: DWORD, ui64ProxyAddress: UINT64, pServerInformation: PServerInformation,
42     ) -> HRESULT;
CoDecrementMTAUsage(Cookie: CO_MTA_USAGE_COOKIE) -> HRESULT43     pub fn CoDecrementMTAUsage(Cookie: CO_MTA_USAGE_COOKIE) -> HRESULT;
44     // pub fn CoDisableCallCancellation();
45     // pub fn CoDisconnectContext();
46     // pub fn CoDisconnectObject();
47     // pub fn CoDosDateTimeToFileTime();
48     // pub fn CoEnableCallCancellation();
49     // pub fn CoFileTimeNow();
50     // pub fn CoFileTimeToDosDateTime();
51     // pub fn CoFreeAllLibraries();
52     // pub fn CoFreeLibrary();
53     // pub fn CoFreeUnusedLibraries();
54     // pub fn CoFreeUnusedLibrariesEx();
55     // pub fn CoGetApartmentID();
CoGetApartmentType( pAptType: *mut APTTYPE, pAptQualifier: *mut APTTYPEQUALIFIER, ) -> HRESULT56     pub fn CoGetApartmentType(
57         pAptType: *mut APTTYPE, pAptQualifier: *mut APTTYPEQUALIFIER,
58     ) -> HRESULT;
59     // pub fn CoGetCallContext();
CoGetCallerTID(lpdwTID: LPDWORD) -> HRESULT60     pub fn CoGetCallerTID(lpdwTID: LPDWORD) -> HRESULT;
61     // pub fn CoGetCancelObject();
CoGetClassObject( rclsid: REFCLSID, dwClsContext: DWORD, pvReserved: LPVOID, riid: REFIID, ppv: *mut LPVOID, ) -> HRESULT62     pub fn CoGetClassObject(
63         rclsid: REFCLSID, dwClsContext: DWORD, pvReserved: LPVOID, riid: REFIID, ppv: *mut LPVOID,
64     ) -> HRESULT;
65     // pub fn CoGetClassVersion();
66     // pub fn CoGetComCatalog();
CoGetContextToken(pToken: *mut ULONG_PTR) -> HRESULT67     pub fn CoGetContextToken(pToken: *mut ULONG_PTR) -> HRESULT;
CoGetCurrentLogicalThreadId(pguid: *mut GUID) -> HRESULT68     pub fn CoGetCurrentLogicalThreadId(pguid: *mut GUID) -> HRESULT;
CoGetCurrentProcess() -> DWORD69     pub fn CoGetCurrentProcess() -> DWORD;
CoGetDefaultContext(aptType: APTTYPE, riid: REFIID, ppv: *mut *mut c_void) -> HRESULT70     pub fn CoGetDefaultContext(aptType: APTTYPE, riid: REFIID, ppv: *mut *mut c_void) -> HRESULT;
71     // pub fn CoGetInstanceFromFile();
72     // pub fn CoGetInstanceFromIStorage();
73     // pub fn CoGetInterceptor();
74     // pub fn CoGetInterceptorFromTypeInfo();
75     // pub fn CoGetInterfaceAndReleaseStream();
CoGetMalloc(dwMemContext: DWORD, ppMalloc: *mut LPMALLOC) -> HRESULT76     pub fn CoGetMalloc(dwMemContext: DWORD, ppMalloc: *mut LPMALLOC) -> HRESULT;
77     // pub fn CoGetMarshalSizeMax();
78     // pub fn CoGetObject();
CoGetObjectContext(riid: REFIID, ppv: *mut LPVOID) -> HRESULT79     pub fn CoGetObjectContext(riid: REFIID, ppv: *mut LPVOID) -> HRESULT;
80     // pub fn CoGetPSClsid();
81     // pub fn CoGetProcessIdentifier();
82     // pub fn CoGetStandardMarshal();
83     // pub fn CoGetStdMarshalEx();
84     // pub fn CoGetSystemSecurityPermissions();
85     // pub fn CoGetTreatAsClass();
86     // pub fn CoHandlePriorityEventsFromMessagePump();
87     // pub fn CoImpersonateClient();
CoIncrementMTAUsage(pCookie: *mut CO_MTA_USAGE_COOKIE) -> HRESULT88     pub fn CoIncrementMTAUsage(pCookie: *mut CO_MTA_USAGE_COOKIE) -> HRESULT;
CoInitialize(pvReserved: LPVOID) -> HRESULT89     pub fn CoInitialize(pvReserved: LPVOID) -> HRESULT;
CoInitializeEx(pvReserved: LPVOID, dwCoInit: DWORD) -> HRESULT90     pub fn CoInitializeEx(pvReserved: LPVOID, dwCoInit: DWORD) -> HRESULT;
CoInitializeSecurity( pSecDesc: PSECURITY_DESCRIPTOR, cAuthSvc: LONG, asAuthSvc: *mut SOLE_AUTHENTICATION_SERVICE, pReserved1: LPVOID, dwAuthnLevel: DWORD, dwImpLevel: DWORD, pAuthList: LPVOID, dwCapabilities: DWORD, pReserved3: LPVOID, ) -> HRESULT91     pub fn CoInitializeSecurity(
92         pSecDesc: PSECURITY_DESCRIPTOR, cAuthSvc: LONG,
93         asAuthSvc: *mut SOLE_AUTHENTICATION_SERVICE, pReserved1: LPVOID, dwAuthnLevel: DWORD,
94         dwImpLevel: DWORD, pAuthList: LPVOID, dwCapabilities: DWORD, pReserved3: LPVOID,
95     ) -> HRESULT;
96     // pub fn CoInitializeWOW();
97     // pub fn CoInstall();
98     // pub fn CoInvalidateRemoteMachineBindings();
99     // pub fn CoIsHandlerConnected();
100     // pub fn CoIsOle1Class();
101     // pub fn CoLoadLibrary();
102     // pub fn CoLockObjectExternal();
103     // pub fn CoMarshalHresult();
104     // pub fn CoMarshalInterThreadInterfaceInStream();
105     // pub fn CoMarshalInterface();
106     // pub fn CoQueryAuthenticationServices();
107     // pub fn CoQueryClientBlanket();
108     // pub fn CoQueryProxyBlanket();
109     // pub fn CoQueryReleaseObject();
110     // pub fn CoReactivateObject();
111     // pub fn CoRegisterActivationFilter();
112     // pub fn CoRegisterChannelHook();
CoRegisterClassObject( rclsid: REFCLSID, pUnk: LPUNKNOWN, dwClsContext: DWORD, flags: DWORD, lpdwRegister: LPDWORD, ) -> HRESULT113     pub fn CoRegisterClassObject(
114         rclsid: REFCLSID, pUnk: LPUNKNOWN, dwClsContext: DWORD, flags: DWORD,
115         lpdwRegister: LPDWORD,
116     ) -> HRESULT;
117     // pub fn CoRegisterInitializeSpy();
118     // pub fn CoRegisterMallocSpy();
119     // pub fn CoRegisterMessageFilter();
120     // pub fn CoRegisterPSClsid();
121     // pub fn CoRegisterSurrogate();
122     // pub fn CoRegisterSurrogateEx();
123     // pub fn CoReleaseMarshalData();
124     // pub fn CoReleaseServerProcess();
125     // pub fn CoResumeClassObjects();
126     // pub fn CoRetireServer();
127     // pub fn CoRevertToSelf();
CoRevokeClassObject() -> HRESULT128     pub fn CoRevokeClassObject() -> HRESULT;
129     // pub fn CoRevokeInitializeSpy();
130     // pub fn CoRevokeMallocSpy();
131     // pub fn CoSetCancelObject();
132     // pub fn CoSetMessageDispatcher();
133     // pub fn CoSetProxyBlanket();
134     // pub fn CoSuspendClassObjects();
135     // pub fn CoSwitchCallContext();
CoTaskMemAlloc(cb: SIZE_T) -> LPVOID136     pub fn CoTaskMemAlloc(cb: SIZE_T) -> LPVOID;
CoTaskMemFree(pv: LPVOID)137     pub fn CoTaskMemFree(pv: LPVOID);
CoTaskMemRealloc(pv: LPVOID, cb: SIZE_T) -> LPVOID138     pub fn CoTaskMemRealloc(pv: LPVOID, cb: SIZE_T) -> LPVOID;
139     // pub fn CoTestCancel();
140     // pub fn CoTreatAsClass();
CoUninitialize()141     pub fn CoUninitialize();
142     // pub fn CoUnloadingWOW();
143     // pub fn CoUnmarshalHresult();
144     // pub fn CoUnmarshalInterface();
145     // pub fn CoWaitForMultipleHandles();
146     // pub fn CoWaitForMultipleObjects();
147     // pub fn ComPs_NdrDllCanUnloadNow();
148     // pub fn ComPs_NdrDllGetClassObject();
149     // pub fn ComPs_NdrDllRegisterProxy();
150     // pub fn ComPs_NdrDllUnregisterProxy();
151     // pub fn CreateAntiMoniker();
152     // pub fn CreateBindCtx();
153     // pub fn CreateClassMoniker();
154     // pub fn CreateDataAdviseHolder();
155     // pub fn CreateDataCache();
156     // pub fn CreateFileMoniker();
157     // pub fn CreateGenericComposite();
158     // pub fn CreateILockBytesOnHGlobal();
159     // pub fn CreateItemMoniker();
160     // pub fn CreateObjrefMoniker();
161     // pub fn CreateOleAdviseHolder();
162     // pub fn CreatePointerMoniker();
163     // pub fn CreateStdProgressIndicator();
CreateStreamOnHGlobal( hGlobal: HGLOBAL, fDeleteOnRelease: BOOL, ppstm: *mut LPSTREAM, ) -> HRESULT164     pub fn CreateStreamOnHGlobal(
165         hGlobal: HGLOBAL, fDeleteOnRelease: BOOL, ppstm: *mut LPSTREAM,
166     ) -> HRESULT;
167     // pub fn DcomChannelSetHResult();
168     // pub fn DllDebugObjectRPCHook();
169     // pub fn DllGetClassObjectWOW();
170     // pub fn DoDragDrop();
171     // pub fn EnableHookObject();
172     // pub fn FmtIdToPropStgName();
173     // pub fn FreePropVariantArray();
174     // pub fn GetActiveObjectExt();
175     // pub fn GetClassFile();
176     // pub fn GetConvertStg();
177     // pub fn GetDocumentBitStg();
178     // pub fn GetHGlobalFromILockBytes();
GetHGlobalFromStream(pstm: LPSTREAM, phglobal: *mut HGLOBAL) -> HRESULT179     pub fn GetHGlobalFromStream(pstm: LPSTREAM, phglobal: *mut HGLOBAL) -> HRESULT;
180     // pub fn GetHookInterface();
181     // pub fn GetRunningObjectTable();
182     // pub fn HACCEL_UserFree();
183     // #[cfg(target_arch = "x86_64")]
184     // pub fn HACCEL_UserFree64();
185     // pub fn HACCEL_UserMarshal();
186     // #[cfg(target_arch = "x86_64")]
187     // pub fn HACCEL_UserMarshal64();
188     // pub fn HACCEL_UserSize();
189     // #[cfg(target_arch = "x86_64")]
190     // pub fn HACCEL_UserSize64();
191     // pub fn HACCEL_UserUnmarshal();
192     // #[cfg(target_arch = "x86_64")]
193     // pub fn HACCEL_UserUnmarshal64();
194     // pub fn HBITMAP_UserFree();
195     // #[cfg(target_arch = "x86_64")]
196     // pub fn HBITMAP_UserFree64();
197     // pub fn HBITMAP_UserMarshal();
198     // #[cfg(target_arch = "x86_64")]
199     // pub fn HBITMAP_UserMarshal64();
200     // pub fn HBITMAP_UserSize();
201     // #[cfg(target_arch = "x86_64")]
202     // pub fn HBITMAP_UserSize64();
203     // pub fn HBITMAP_UserUnmarshal();
204     // #[cfg(target_arch = "x86_64")]
205     // pub fn HBITMAP_UserUnmarshal64();
206     // pub fn HBRUSH_UserFree();
207     // #[cfg(target_arch = "x86_64")]
208     // pub fn HBRUSH_UserFree64();
209     // pub fn HBRUSH_UserMarshal();
210     // #[cfg(target_arch = "x86_64")]
211     // pub fn HBRUSH_UserMarshal64();
212     // pub fn HBRUSH_UserSize();
213     // #[cfg(target_arch = "x86_64")]
214     // pub fn HBRUSH_UserSize64();
215     // pub fn HBRUSH_UserUnmarshal();
216     // #[cfg(target_arch = "x86_64")]
217     // pub fn HBRUSH_UserUnmarshal64();
218     // pub fn HDC_UserFree();
219     // #[cfg(target_arch = "x86_64")]
220     // pub fn HDC_UserFree64();
221     // pub fn HDC_UserMarshal();
222     // #[cfg(target_arch = "x86_64")]
223     // pub fn HDC_UserMarshal64();
224     // pub fn HDC_UserSize();
225     // #[cfg(target_arch = "x86_64")]
226     // pub fn HDC_UserSize64();
227     // pub fn HDC_UserUnmarshal();
228     // #[cfg(target_arch = "x86_64")]
229     // pub fn HDC_UserUnmarshal64();
230     // pub fn HENHMETAFILE_UserFree();
231     // #[cfg(target_arch = "x86_64")]
232     // pub fn HENHMETAFILE_UserFree64();
233     // pub fn HENHMETAFILE_UserMarshal();
234     // #[cfg(target_arch = "x86_64")]
235     // pub fn HENHMETAFILE_UserMarshal64();
236     // pub fn HENHMETAFILE_UserSize();
237     // #[cfg(target_arch = "x86_64")]
238     // pub fn HENHMETAFILE_UserSize64();
239     // pub fn HENHMETAFILE_UserUnmarshal();
240     // #[cfg(target_arch = "x86_64")]
241     // pub fn HENHMETAFILE_UserUnmarshal64();
242     // pub fn HGLOBAL_UserFree();
243     // #[cfg(target_arch = "x86_64")]
244     // pub fn HGLOBAL_UserFree64();
245     // pub fn HGLOBAL_UserMarshal();
246     // #[cfg(target_arch = "x86_64")]
247     // pub fn HGLOBAL_UserMarshal64();
248     // pub fn HGLOBAL_UserSize();
249     // #[cfg(target_arch = "x86_64")]
250     // pub fn HGLOBAL_UserSize64();
251     // pub fn HGLOBAL_UserUnmarshal();
252     // #[cfg(target_arch = "x86_64")]
253     // pub fn HGLOBAL_UserUnmarshal64();
254     // pub fn HICON_UserFree();
255     // #[cfg(target_arch = "x86_64")]
256     // pub fn HICON_UserFree64();
257     // pub fn HICON_UserMarshal();
258     // #[cfg(target_arch = "x86_64")]
259     // pub fn HICON_UserMarshal64();
260     // pub fn HICON_UserSize();
261     // #[cfg(target_arch = "x86_64")]
262     // pub fn HICON_UserSize64();
263     // pub fn HICON_UserUnmarshal();
264     // #[cfg(target_arch = "x86_64")]
265     // pub fn HICON_UserUnmarshal64();
266     // pub fn HMENU_UserFree();
267     // #[cfg(target_arch = "x86_64")]
268     // pub fn HMENU_UserFree64();
269     // pub fn HMENU_UserMarshal();
270     // #[cfg(target_arch = "x86_64")]
271     // pub fn HMENU_UserMarshal64();
272     // pub fn HMENU_UserSize();
273     // #[cfg(target_arch = "x86_64")]
274     // pub fn HMENU_UserSize64();
275     // pub fn HMENU_UserUnmarshal();
276     // #[cfg(target_arch = "x86_64")]
277     // pub fn HMENU_UserUnmarshal64();
278     // pub fn HMETAFILEPICT_UserFree();
279     // #[cfg(target_arch = "x86_64")]
280     // pub fn HMETAFILEPICT_UserFree64();
281     // pub fn HMETAFILEPICT_UserMarshal();
282     // #[cfg(target_arch = "x86_64")]
283     // pub fn HMETAFILEPICT_UserMarshal64();
284     // pub fn HMETAFILEPICT_UserSize();
285     // #[cfg(target_arch = "x86_64")]
286     // pub fn HMETAFILEPICT_UserSize64();
287     // pub fn HMETAFILEPICT_UserUnmarshal();
288     // #[cfg(target_arch = "x86_64")]
289     // pub fn HMETAFILEPICT_UserUnmarshal64();
290     // pub fn HMETAFILE_UserFree();
291     // #[cfg(target_arch = "x86_64")]
292     // pub fn HMETAFILE_UserFree64();
293     // pub fn HMETAFILE_UserMarshal();
294     // #[cfg(target_arch = "x86_64")]
295     // pub fn HMETAFILE_UserMarshal64();
296     // pub fn HMETAFILE_UserSize();
297     // #[cfg(target_arch = "x86_64")]
298     // pub fn HMETAFILE_UserSize64();
299     // pub fn HMETAFILE_UserUnmarshal();
300     // #[cfg(target_arch = "x86_64")]
301     // pub fn HMETAFILE_UserUnmarshal64();
302     // pub fn HMONITOR_UserFree();
303     // #[cfg(target_arch = "x86_64")]
304     // pub fn HMONITOR_UserFree64();
305     // pub fn HMONITOR_UserMarshal();
306     // #[cfg(target_arch = "x86_64")]
307     // pub fn HMONITOR_UserMarshal64();
308     // pub fn HMONITOR_UserSize();
309     // #[cfg(target_arch = "x86_64")]
310     // pub fn HMONITOR_UserSize64();
311     // pub fn HMONITOR_UserUnmarshal();
312     // #[cfg(target_arch = "x86_64")]
313     // pub fn HMONITOR_UserUnmarshal64();
314     // pub fn HPALETTE_UserFree();
315     // #[cfg(target_arch = "x86_64")]
316     // pub fn HPALETTE_UserFree64();
317     // pub fn HPALETTE_UserMarshal();
318     // #[cfg(target_arch = "x86_64")]
319     // pub fn HPALETTE_UserMarshal64();
320     // pub fn HPALETTE_UserSize();
321     // #[cfg(target_arch = "x86_64")]
322     // pub fn HPALETTE_UserSize64();
323     // pub fn HPALETTE_UserUnmarshal();
324     // #[cfg(target_arch = "x86_64")]
325     // pub fn HPALETTE_UserUnmarshal64();
326     // pub fn HWND_UserFree();
327     // #[cfg(target_arch = "x86_64")]
328     // pub fn HWND_UserFree64();
329     // pub fn HWND_UserMarshal();
330     // #[cfg(target_arch = "x86_64")]
331     // pub fn HWND_UserMarshal64();
332     // pub fn HWND_UserSize();
333     // #[cfg(target_arch = "x86_64")]
334     // pub fn HWND_UserSize64();
335     // pub fn HWND_UserUnmarshal();
336     // #[cfg(target_arch = "x86_64")]
337     // pub fn HWND_UserUnmarshal64();
338     // pub fn HkOleRegisterObject();
339     // pub fn IIDFromString();
340     // pub fn IsAccelerator();
341     // pub fn IsEqualGUID();
342     // pub fn MkParseDisplayName();
343     // pub fn MonikerCommonPrefixWith();
344     // pub fn MonikerRelativePathTo();
345     // pub fn NdrProxyForwardingFunction10();
346     // pub fn NdrProxyForwardingFunction11();
347     // pub fn NdrProxyForwardingFunction12();
348     // pub fn NdrProxyForwardingFunction13();
349     // pub fn NdrProxyForwardingFunction14();
350     // pub fn NdrProxyForwardingFunction15();
351     // pub fn NdrProxyForwardingFunction16();
352     // pub fn NdrProxyForwardingFunction17();
353     // pub fn NdrProxyForwardingFunction18();
354     // pub fn NdrProxyForwardingFunction19();
355     // pub fn NdrProxyForwardingFunction20();
356     // pub fn NdrProxyForwardingFunction21();
357     // pub fn NdrProxyForwardingFunction22();
358     // pub fn NdrProxyForwardingFunction23();
359     // pub fn NdrProxyForwardingFunction24();
360     // pub fn NdrProxyForwardingFunction25();
361     // pub fn NdrProxyForwardingFunction26();
362     // pub fn NdrProxyForwardingFunction27();
363     // pub fn NdrProxyForwardingFunction28();
364     // pub fn NdrProxyForwardingFunction29();
365     // pub fn NdrProxyForwardingFunction3();
366     // pub fn NdrProxyForwardingFunction30();
367     // pub fn NdrProxyForwardingFunction31();
368     // pub fn NdrProxyForwardingFunction32();
369     // pub fn NdrProxyForwardingFunction4();
370     // pub fn NdrProxyForwardingFunction5();
371     // pub fn NdrProxyForwardingFunction6();
372     // pub fn NdrProxyForwardingFunction7();
373     // pub fn NdrProxyForwardingFunction8();
374     // pub fn NdrProxyForwardingFunction9();
375     // pub fn ObjectStublessClient10();
376     // pub fn ObjectStublessClient11();
377     // pub fn ObjectStublessClient12();
378     // pub fn ObjectStublessClient13();
379     // pub fn ObjectStublessClient14();
380     // pub fn ObjectStublessClient15();
381     // pub fn ObjectStublessClient16();
382     // pub fn ObjectStublessClient17();
383     // pub fn ObjectStublessClient18();
384     // pub fn ObjectStublessClient19();
385     // pub fn ObjectStublessClient20();
386     // pub fn ObjectStublessClient21();
387     // pub fn ObjectStublessClient22();
388     // pub fn ObjectStublessClient23();
389     // pub fn ObjectStublessClient24();
390     // pub fn ObjectStublessClient25();
391     // pub fn ObjectStublessClient26();
392     // pub fn ObjectStublessClient27();
393     // pub fn ObjectStublessClient28();
394     // pub fn ObjectStublessClient29();
395     // pub fn ObjectStublessClient3();
396     // pub fn ObjectStublessClient30();
397     // pub fn ObjectStublessClient31();
398     // pub fn ObjectStublessClient32();
399     // pub fn ObjectStublessClient4();
400     // pub fn ObjectStublessClient5();
401     // pub fn ObjectStublessClient6();
402     // pub fn ObjectStublessClient7();
403     // pub fn ObjectStublessClient8();
404     // pub fn ObjectStublessClient9();
405     // pub fn Ole32DllGetClassObject();
406     // pub fn OleBuildVersion();
407     // pub fn OleConvertIStorageToOLESTREAM();
408     // pub fn OleConvertIStorageToOLESTREAMEx();
409     // pub fn OleConvertOLESTREAMToIStorage();
410     // pub fn OleConvertOLESTREAMToIStorageEx();
411     // pub fn OleCreate();
412     // pub fn OleCreateDefaultHandler();
413     // pub fn OleCreateEmbeddingHelper();
414     // pub fn OleCreateEx();
415     // pub fn OleCreateFontIndirectExt();
416     // pub fn OleCreateFromData();
417     // pub fn OleCreateFromDataEx();
418     // pub fn OleCreateFromFile();
419     // pub fn OleCreateFromFileEx();
420     // pub fn OleCreateLink();
421     // pub fn OleCreateLinkEx();
422     // pub fn OleCreateLinkFromData();
423     // pub fn OleCreateLinkFromDataEx();
424     // pub fn OleCreateLinkToFile();
425     // pub fn OleCreateLinkToFileEx();
426     // pub fn OleCreateMenuDescriptor();
427     // pub fn OleCreatePictureIndirectExt();
428     // pub fn OleCreatePropertyFrameIndirectExt();
429     // pub fn OleCreateStaticFromData();
430     // pub fn OleDestroyMenuDescriptor();
431     // pub fn OleDoAutoConvert();
432     // pub fn OleDraw();
433     // pub fn OleDuplicateData();
434     // pub fn OleFlushClipboard();
435     // pub fn OleGetAutoConvert();
436     // pub fn OleGetClipboard();
437     // pub fn OleGetIconOfClass();
438     // pub fn OleGetIconOfFile();
439     // pub fn OleIconToCursorExt();
440     // pub fn OleInitialize();
441     // pub fn OleInitializeWOW();
442     // pub fn OleIsCurrentClipboard();
443     // pub fn OleIsRunning();
444     // pub fn OleLoad();
445     // pub fn OleLoadFromStream();
446     // pub fn OleLoadPictureExt();
447     // pub fn OleLoadPictureFileExt();
448     // pub fn OleLoadPicturePathExt();
449     // pub fn OleLockRunning();
450     // pub fn OleMetafilePictFromIconAndLabel();
451     // pub fn OleNoteObjectVisible();
452     // pub fn OleQueryCreateFromData();
453     // pub fn OleQueryLinkFromData();
454     // pub fn OleRegEnumFormatEtc();
455     // pub fn OleRegEnumVerbs();
456     // pub fn OleRegGetMiscStatus();
457     // pub fn OleRegGetUserType();
458     // pub fn OleRun();
459     // pub fn OleSave();
460     // pub fn OleSavePictureFileExt();
461     // pub fn OleSaveToStream();
462     // pub fn OleSetAutoConvert();
463     // pub fn OleSetClipboard();
464     // pub fn OleSetContainedObject();
465     // pub fn OleSetMenuDescriptor();
466     // pub fn OleTranslateAccelerator();
467     // pub fn OleTranslateColorExt();
468     // pub fn OleUninitialize();
469     // pub fn OpenOrCreateStream();
470     // pub fn ProgIDFromCLSID();
471     // pub fn PropStgNameToFmtId();
472     // pub fn PropVariantClear();
473     // pub fn PropVariantCopy();
474     // pub fn ReadClassStg();
475     // pub fn ReadClassStm();
476     // pub fn ReadFmtUserTypeStg();
477     // pub fn ReadOleStg();
478     // pub fn ReadStringStream();
479     // pub fn RegisterActiveObjectExt();
480     // pub fn RegisterDragDrop();
481     // pub fn ReleaseStgMedium();
482     // pub fn RevokeActiveObjectExt();
483     // pub fn RevokeDragDrop();
484     // pub fn RoGetAgileReference();
485     // pub fn SNB_UserFree();
486     // #[cfg(target_arch = "x86_64")]
487     // pub fn SNB_UserFree64();
488     // pub fn SNB_UserMarshal();
489     // #[cfg(target_arch = "x86_64")]
490     // pub fn SNB_UserMarshal64();
491     // pub fn SNB_UserSize();
492     // #[cfg(target_arch = "x86_64")]
493     // pub fn SNB_UserSize64();
494     // pub fn SNB_UserUnmarshal();
495     // #[cfg(target_arch = "x86_64")]
496     // pub fn SNB_UserUnmarshal64();
497     // pub fn STGMEDIUM_UserFree();
498     // #[cfg(target_arch = "x86_64")]
499     // pub fn STGMEDIUM_UserFree64();
500     // pub fn STGMEDIUM_UserMarshal();
501     // #[cfg(target_arch = "x86_64")]
502     // pub fn STGMEDIUM_UserMarshal64();
503     // pub fn STGMEDIUM_UserSize();
504     // #[cfg(target_arch = "x86_64")]
505     // pub fn STGMEDIUM_UserSize64();
506     // pub fn STGMEDIUM_UserUnmarshal();
507     // #[cfg(target_arch = "x86_64")]
508     // pub fn STGMEDIUM_UserUnmarshal64();
509     // pub fn SetConvertStg();
510     // pub fn SetDocumentBitStg();
511     // pub fn StgConvertPropertyToVariant();
512     // pub fn StgConvertVariantToProperty();
513     // pub fn StgCreateDocfile();
514     // pub fn StgCreateDocfileOnILockBytes();
515     // pub fn StgCreatePropSetStg();
516     // pub fn StgCreatePropStg();
517     // pub fn StgCreateStorageEx();
518     // pub fn StgGetIFillLockBytesOnFile();
519     // pub fn StgGetIFillLockBytesOnILockBytes();
520     // pub fn StgIsStorageFile();
521     // pub fn StgIsStorageILockBytes();
522     // pub fn StgOpenAsyncDocfileOnIFillLockBytes();
523     // pub fn StgOpenPropStg();
524     // pub fn StgOpenStorage();
525     // pub fn StgOpenStorageEx();
526     // pub fn StgOpenStorageOnILockBytes();
527     // pub fn StgPropertyLengthAsVariant();
528     // pub fn StgSetTimes();
529     // pub fn StringFromCLSID();
530     // pub fn StringFromGUID2();
531     // pub fn StringFromIID();
532     // pub fn UpdateDCOMSettings();
533     // pub fn UtConvertDvtd16toDvtd32();
534     // pub fn UtConvertDvtd32toDvtd16();
535     // pub fn UtGetDvtd16Info();
536     // pub fn UtGetDvtd32Info();
537     // pub fn WdtpInterfacePointer_UserFree();
538     // #[cfg(target_arch = "x86_64")]
539     // pub fn WdtpInterfacePointer_UserFree64();
540     // pub fn WdtpInterfacePointer_UserMarshal();
541     // #[cfg(target_arch = "x86_64")]
542     // pub fn WdtpInterfacePointer_UserMarshal64();
543     // pub fn WdtpInterfacePointer_UserSize();
544     // #[cfg(target_arch = "x86_64")]
545     // pub fn WdtpInterfacePointer_UserSize64();
546     // pub fn WdtpInterfacePointer_UserUnmarshal();
547     // #[cfg(target_arch = "x86_64")]
548     // pub fn WdtpInterfacePointer_UserUnmarshal64();
549     // pub fn WriteClassStg();
550     // pub fn WriteClassStm();
551     // pub fn WriteFmtUserTypeStg();
552     // pub fn WriteOleStg();
553     // pub fn WriteStringStream();
554 }
555