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