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