8 use vars qw(@ISA @EXPORT @EXPORT_OK);
14 my $module_declarations = {
15 "CLSIDFromProgID" => ["long", ["str", "ptr"]],
16 "CLSIDFromString" => ["long", ["str", "ptr"]],
17 "CoBuildVersion" => ["long", []],
18 "CoCreateFreeThreadedMarshaler" => ["long", ["ptr", "ptr"]],
19 "CoCreateGuid" => ["long", ["ptr"]],
20 "CoCreateInstance" => ["long", ["ptr", "ptr", "long", "ptr", "ptr"]],
21 "CoDisconnectObject" => ["long", ["ptr", "long"]],
22 "CoFileTimeNow" => ["long", ["ptr"]],
23 "CoFreeAllLibraries" => ["void", []],
24 "CoFreeLibrary" => ["void", ["long"]],
25 "CoFreeUnusedLibraries" => ["void", []],
26 "CoGetClassObject" => ["long", ["ptr", "long", "ptr", "ptr", "ptr"]],
27 "CoGetCurrentProcess" => ["long", []],
28 "CoGetMalloc" => ["long", ["long", "ptr"]],
29 "CoGetPSClsid" => ["long", ["ptr", "ptr"]],
30 "CoInitialize" => ["long", ["ptr"]],
31 "CoInitializeWOW" => ["long", ["long", "long"]],
32 "CoIsOle1Class" => ["long", ["ptr"]],
33 "CoLoadLibrary" => ["long", ["str", "long"]],
34 "CoLockObjectExternal" => ["long", ["ptr", "long", "long"]],
35 "CoRegisterClassObject" => ["long", ["ptr", "ptr", "long", "long", "ptr"]],
36 "CoRegisterMessageFilter" => ["long", ["ptr", "ptr"]],
37 "CoRevokeClassObject" => ["long", ["long"]],
38 "CoSetState" => ["long", ["ptr"]],
39 "CoTaskMemAlloc" => ["ptr", ["long"]],
40 "CoTaskMemFree" => ["void", ["ptr"]],
41 "CoTaskMemRealloc" => ["ptr", ["ptr", "long"]],
42 "CoTreatAsClass" => ["long", ["ptr", "ptr"]],
43 "CoUninitialize" => ["void", []],
44 "CreateAntiMoniker" => ["long", ["ptr"]],
45 "CreateBindCtx" => ["long", ["long", "ptr"]],
46 "CreateDataAdviseHolder" => ["long", ["ptr"]],
47 "CreateDataCache" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
48 "CreateFileMoniker" => ["long", ["str", "ptr"]],
49 "CreateGenericComposite" => ["long", ["ptr", "ptr", "ptr"]],
50 "CreateILockBytesOnHGlobal" => ["long", ["long", "long", "ptr"]],
51 "CreateItemMoniker" => ["long", ["str", "str", "ptr"]],
52 "CreateOleAdviseHolder" => ["long", ["ptr"]],
53 "CreateStreamOnHGlobal" => ["long", ["long", "long", "ptr"]],
54 "DllDebugObjectRPCHook" => ["long", ["long", "ptr"]],
55 "DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
56 "DoDragDrop" => ["long", ["ptr", "ptr", "long", "ptr"]],
57 "GetClassFile" => ["long", ["str", "ptr"]],
58 "GetConvertStg" => ["long", ["ptr"]],
59 "GetHGlobalFromILockBytes" => ["long", ["ptr", "ptr"]],
60 "GetHGlobalFromStream" => ["long", ["ptr", "ptr"]],
61 "GetRunningObjectTable" => ["long", ["long", "ptr"]],
62 "IIDFromString" => ["long", ["str", "ptr"]],
63 "IsAccelerator" => ["long", ["long", "long", "ptr", "ptr"]],
64 "IsEqualGUID" => ["long", ["ptr", "ptr"]],
65 "IsValidInterface" => ["long", ["ptr"]],
66 "MkParseDisplayName" => ["long", ["ptr", "str", "ptr", "ptr"]],
67 "MonikerCommonPrefixWith" => ["long", ["ptr", "ptr", "ptr"]],
68 "OleBuildVersion" => ["long", []],
69 "OleConvertIStorageToOLESTREAM" => ["long", ["ptr", "ptr"]],
70 "OleConvertOLESTREAMToIStorage" => ["long", ["ptr", "ptr", "ptr"]],
71 "OleCreate" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
72 "OleCreateDefaultHandler" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
73 "OleCreateFromData" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
74 "OleCreateFromFile" => ["long", ["ptr", "str", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
75 "OleCreateLink" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
76 "OleCreateLinkFromData" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
77 "OleCreateLinkToFile" => ["long", ["str", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
78 "OleCreateMenuDescriptor" => ["long", ["long", "ptr"]],
79 "OleCreateStaticFromData" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
80 "OleDestroyMenuDescriptor" => ["long", ["long"]],
81 "OleDuplicateData" => ["long", ["long", "long", "long"]],
82 "OleFlushClipboard" => ["long", ["undef"]],
83 "OleGetAutoConvert" => ["long", ["ptr", "ptr"]],
84 "OleGetClipboard" => ["long", ["ptr"]],
85 "OleGetIconOfClass" => ["long", ["ptr", "str", "long"]],
86 "OleInitialize" => ["long", ["ptr"]],
87 "OleInitializeWOW" => ["long", ["long"]],
88 "OleIsCurrentClipboard" => ["long", ["ptr"]],
89 "OleIsRunning" => ["long", ["ptr"]],
90 "OleLoad" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
91 "OleLoadFromStream" => ["long", ["ptr", "ptr", "ptr"]],
92 "OleLockRunning" => ["long", ["ptr", "long", "long"]],
93 "OleQueryCreateFromData" => ["long", ["ptr"]],
94 "OleQueryLinkFromData" => ["long", ["ptr"]],
95 "OleRegEnumFormatEtc" => ["long", ["ptr", "long", "ptr"]],
96 "OleRegEnumVerbs" => ["long", ["ptr", "ptr"]],
97 "OleRegGetMiscStatus" => ["long", ["ptr", "long", "ptr"]],
98 "OleRegGetUserType" => ["long", ["ptr", "long", "ptr"]],
99 "OleRun" => ["long", ["ptr"]],
100 "OleSave" => ["long", ["ptr", "ptr", "long"]],
101 "OleSaveToStream" => ["long", ["ptr", "ptr"]],
102 "OleSetAutoConvert" => ["long", ["ptr", "ptr"]],
103 "OleSetClipboard" => ["long", ["ptr"]],
104 "OleSetContainedObject" => ["long", ["ptr", "long"]],
105 "OleSetMenuDescriptor" => ["long", ["long", "long", "long", "ptr", "ptr"]],
106 "OleTranslateAccelerator" => ["long", ["ptr", "ptr", "ptr"]],
107 "OleUninitialize" => ["void", []],
108 "ProgIDFromCLSID" => ["long", ["ptr", "ptr"]],
109 "ReadClassStg" => ["long", ["ptr", "ptr"]],
110 "ReadClassStm" => ["long", ["ptr", "ptr"]],
111 "ReadFmtUserTypeStg" => ["long", ["ptr", "ptr", "ptr"]],
112 "RegisterDragDrop" => ["long", ["long", "ptr"]],
113 "ReleaseStgMedium" => ["void", ["ptr"]],
114 "RevokeDragDrop" => ["long", ["long"]],
115 "SetConvertStg" => ["long", ["ptr", "long"]],
116 "StgCreateDocfile" => ["long", ["str", "long", "long", "ptr"]],
117 "StgCreateDocfileOnILockBytes" => ["long", ["ptr", "long", "long", "ptr"]],
118 "StgIsStorageFile" => ["long", ["str"]],
119 "StgIsStorageILockBytes" => ["long", ["ptr"]],
120 "StgOpenStorage" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
121 "StgOpenStorageOnILockBytes" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
122 "StgSetTimes" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
123 "StringFromCLSID" => ["long", ["ptr", "ptr"]],
124 "StringFromGUID2" => ["long", ["ptr", "str", "long"]],
125 "StringFromIID" => ["long", ["ptr", "ptr"]],
126 "WriteClassStg" => ["long", ["ptr", "ptr"]],
127 "WriteClassStm" => ["long", ["ptr", "ptr"]],
128 "WriteFmtUserTypeStg" => ["long", ["ptr", "long", "str"]],
129 "CoInitializeEx" => ["long", ["ptr", "long"]],
130 "CoCreateInstanceEx" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
131 "PropVariantClear" => ["long", ["ptr"]],
132 "CoResumeClassObjects" => ["long", []],
133 "CreateErrorInfo" => ["long", ["ptr"]],
134 "DllRegisterServer" => ["long", ["undef"]],
135 "FreePropVariantArray" => ["long", ["long", "ptr"]],
136 "GetErrorInfo" => ["long", ["long", "ptr"]],
137 "PropVariantCopy" => ["long", ["ptr", "ptr"]],
138 "SetErrorInfo" => ["long", ["long", "ptr"]],
139 "DllEntryPoint" => ["long", ["long", "long", "ptr"]]
142 &wine::declare("ole32",%$module_declarations);
143 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));