name	ole32
type	win32
init	OLE32_DllEntryPoint
rsrc	ole32res.res

import advapi32.dll
import user32.dll
import gdi32.dll
import rpcrt4.dll
import kernel32.dll
import ntdll.dll

debug_channels (accel ole relay storage)

  1 stub BindMoniker                # stdcall (ptr long ptr ptr) return 0,ERR_NOTIMPLEMENTED
  2 stdcall CLSIDFromProgID(wstr ptr) CLSIDFromProgID
  3 stdcall CLSIDFromString(wstr ptr) CLSIDFromString
  4 stdcall CoBuildVersion() CoBuildVersion
  5 stdcall CoCreateFreeThreadedMarshaler(ptr ptr) CoCreateFreeThreadedMarshaler
  6 stdcall CoCreateGuid(ptr) CoCreateGuid
  7 stdcall CoCreateInstance(ptr ptr long ptr ptr) CoCreateInstance
  8 stdcall CoDisconnectObject(ptr long) CoDisconnectObject
  9 forward CoDosDateTimeToFileTime kernel32.DosDateTimeToFileTime
 10 stdcall CoFileTimeNow(ptr) CoFileTimeNow
 11 forward CoFileTimeToDosDateTime kernel32.FileTimeToDosDateTime
 12 stdcall CoFreeAllLibraries() CoFreeAllLibraries
 13 stdcall CoFreeLibrary(long) CoFreeLibrary
 14 stdcall CoFreeUnusedLibraries() CoFreeUnusedLibraries
 15 stub CoGetCallerTID
 16 stdcall CoGetClassObject(ptr long ptr ptr ptr) CoGetClassObject
 17 stub CoGetCurrentLogicalThreadId
 18 stdcall CoGetCurrentProcess() CoGetCurrentProcess
 19 stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr) CoGetInterfaceAndReleaseStream
 20 stdcall CoGetMalloc(long ptr) CoGetMalloc
 21 stub CoGetMarshalSizeMax        # stdcall (ptr ptr ptr long ptr long) return 0,ERR_NOTIMPLEMENTED
 22 stdcall CoGetPSClsid(ptr ptr) CoGetPSClsid 
 23 stub CoGetStandardMarshal       # stdcall (ptr ptr long ptr long ptr) return 0,ERR_NOTIMPLEMENTED
 24 stub CoGetState
 25 stub CoGetTreatAsClass          # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
 26 stdcall CoInitialize(ptr) CoInitialize
 27 stdcall CoInitializeWOW(long long) CoInitializeWOW
 28 stub CoIsHandlerConnected       # stdcall (ptr) return 0,ERR_NOTIMPLEMENTED
 29 stdcall CoIsOle1Class (ptr) CoIsOle1Class
 30 stdcall CoLoadLibrary(wstr long) CoLoadLibrary
 31 stdcall CoLockObjectExternal(ptr long long) CoLockObjectExternal
 32 stub CoMarshalHresult           # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
 33 stdcall CoMarshalInterThreadInterfaceInStream(ptr ptr ptr) CoMarshalInterThreadInterfaceInStream
 34 stdcall CoMarshalInterface(ptr ptr ptr long ptr long) CoMarshalInterface
 35 stub CoQueryReleaseObject
 36 stdcall CoRegisterClassObject(ptr ptr long long ptr) CoRegisterClassObject
 37 stub CoRegisterMallocSpy        # stdcall (ptr) return 0,ERR_NOTIMPLEMENTED
 38 stdcall CoRegisterMessageFilter(ptr ptr) CoRegisterMessageFilter
 39 stub CoReleaseMarshalData       # stdcall (ptr) return 0,ERR_NOTIMPLEMENTED
 40 stdcall CoRevokeClassObject(long) CoRevokeClassObject
 41 stub CoRevokeMallocSpy          # stdcall () return 0,ERR_NOTIMPLEMENTED
 42 stdcall CoSetState(ptr) CoSetState
 43 stdcall CoTaskMemAlloc(long) CoTaskMemAlloc
 44 stdcall CoTaskMemFree(ptr) CoTaskMemFree
 45 stdcall CoTaskMemRealloc(ptr long) CoTaskMemRealloc
 46 stdcall CoTreatAsClass(ptr ptr) CoTreatAsClass
 47 stdcall CoUninitialize() CoUninitialize
 48 stub CoUnloadingWOW
 49 stub CoUnmarshalHresult         # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
 50 stdcall CoUnmarshalInterface(ptr ptr ptr) CoUnmarshalInterface
 51 stdcall CreateAntiMoniker(ptr)  CreateAntiMoniker
 52 stdcall CreateBindCtx(long ptr) CreateBindCtx
 53 stdcall CreateDataAdviseHolder(ptr) CreateDataAdviseHolder
 54 stdcall CreateDataCache(ptr ptr ptr ptr) CreateDataCache
 55 stdcall CreateFileMoniker(wstr ptr) CreateFileMoniker
 56 stdcall CreateGenericComposite(ptr ptr ptr) CreateGenericComposite
 57 stdcall CreateILockBytesOnHGlobal(ptr long ptr) CreateILockBytesOnHGlobal
 58 stdcall CreateItemMoniker(wstr wstr ptr) CreateItemMoniker
 59 stdcall CreateOleAdviseHolder(ptr) CreateOleAdviseHolder
 60 stub CreatePointerMoniker       # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
 61 stdcall CreateStreamOnHGlobal(ptr long ptr) CreateStreamOnHGlobal
 62 stdcall DllDebugObjectRPCHook(long ptr) DllDebugObjectRPCHook
 63 stdcall DllGetClassObject (ptr ptr ptr) OLE32_DllGetClassObject
 64 stub DllGetClassObjectWOW
 65 stdcall DoDragDrop(ptr ptr long ptr) DoDragDrop
 66 stub EnableHookObject
 67 stdcall GetClassFile(ptr ptr) GetClassFile
 68 stdcall GetConvertStg(ptr) GetConvertStg
 69 stub GetDocumentBitStg
 70 stdcall GetHGlobalFromILockBytes(ptr ptr) GetHGlobalFromILockBytes
 71 stdcall GetHGlobalFromStream(ptr ptr) GetHGlobalFromStream
 72 stub GetHookInterface
 73 stdcall GetRunningObjectTable(long ptr) GetRunningObjectTable
 74 stdcall IIDFromString(wstr ptr) CLSIDFromString 
 75 stdcall IsAccelerator(long long ptr long) IsAccelerator
 76 stdcall IsEqualGUID(ptr ptr) IsEqualGUID
 77 stub IsValidIid
 78 stdcall IsValidInterface(ptr) IsValidInterface
 79 stub IsValidPtrIn
 80 stub IsValidPtrOut
 81 stdcall MkParseDisplayName(ptr ptr ptr ptr) MkParseDisplayName
 82 stdcall MonikerCommonPrefixWith(ptr ptr ptr) MonikerCommonPrefixWith
 83 stub MonikerRelativePathTo
 84 stdcall OleBuildVersion() OleBuildVersion
 85 stdcall OleConvertIStorageToOLESTREAM(ptr ptr) OleConvertIStorageToOLESTREAM
 86 stub OleConvertIStorageToOLESTREAMEx
 87 stdcall OleConvertOLESTREAMToIStorage(ptr ptr ptr) OleConvertOLESTREAMToIStorage
 88 stub OleConvertOLESTREAMToIStorageEx
 89 stdcall OleCreate(ptr ptr long ptr ptr ptr ptr) OleCreate
 90 stdcall OleCreateDefaultHandler(ptr ptr ptr ptr) OleCreateDefaultHandler
 91 stub OleCreateEmbeddingHelper
 92 stdcall OleCreateFromData(ptr ptr long ptr ptr ptr ptr) OleCreateFromData
 93 stdcall OleCreateFromFile(ptr ptr ptr long ptr ptr ptr ptr) OleCreateFromFile
 94 stdcall OleCreateLink(ptr ptr long ptr ptr ptr ptr) OleCreateLink
 95 stdcall OleCreateLinkFromData(ptr ptr long ptr ptr ptr ptr) OleCreateLinkFromData
 96 stdcall OleCreateLinkToFile(ptr ptr long ptr ptr ptr ptr) OleCreateLinkToFile
 97 stdcall OleCreateMenuDescriptor(long ptr) OleCreateMenuDescriptor
 98 stdcall OleCreateStaticFromData(ptr ptr long ptr ptr ptr ptr) OleCreateStaticFromData
 99 stdcall OleDestroyMenuDescriptor(long) OleDestroyMenuDescriptor
100 stub OleDoAutoConvert
101 stub OleDraw
102 stdcall OleDuplicateData(long long long) OleDuplicateData
103 stdcall OleFlushClipboard() OleFlushClipboard
104 stdcall OleGetAutoConvert(ptr ptr) OleGetAutoConvert
105 stdcall OleGetClipboard(ptr) OleGetClipboard
106 stdcall OleGetIconOfClass(ptr ptr long) OleGetIconOfClass
107 stub OleGetIconOfFile
108 stdcall OleInitialize(ptr) OleInitialize
109 stdcall OleInitializeWOW(long) OleInitializeWOW
110 stdcall OleIsCurrentClipboard(ptr) OleIsCurrentClipboard
111 stdcall OleIsRunning(ptr) OleIsRunning
112 stdcall OleLoad(ptr ptr ptr ptr) OleLoad
113 stdcall OleLoadFromStream(ptr ptr ptr) OleLoadFromStream
114 stdcall OleLockRunning(ptr long long) OleLockRunning
115 stub OleMetafilePictFromIconAndLabel
116 stub OleNoteObjectVisible
117 stdcall OleQueryCreateFromData(ptr) OleQueryCreateFromData
118 stdcall OleQueryLinkFromData(ptr) OleQueryLinkFromData
119 stdcall OleRegEnumFormatEtc(ptr long ptr) OleRegEnumFormatEtc
120 stdcall OleRegEnumVerbs(long ptr) OleRegEnumVerbs
121 stdcall OleRegGetMiscStatus(ptr long ptr) OleRegGetMiscStatus
122 stdcall OleRegGetUserType(long long ptr) OleRegGetUserType
123 stdcall OleRun(ptr) OleRun
124 stdcall OleSave(ptr ptr long) OleSave
125 stdcall OleSaveToStream(ptr ptr) OleSaveToStream
126 stdcall OleSetAutoConvert(ptr ptr) OleSetAutoConvert
127 stdcall OleSetClipboard(ptr) OleSetClipboard
128 stdcall OleSetContainedObject(ptr long) OleSetContainedObject
129 stdcall OleSetMenuDescriptor(long long long ptr ptr) OleSetMenuDescriptor
130 stdcall OleTranslateAccelerator(ptr ptr ptr) OleTranslateAccelerator
131 stdcall OleUninitialize() OleUninitialize
132 stub OpenOrCreateStream
133 stdcall ProgIDFromCLSID(ptr ptr) ProgIDFromCLSID
134 stdcall ReadClassStg(ptr ptr) ReadClassStg
135 stdcall ReadClassStm(ptr ptr) ReadClassStm
136 stdcall ReadFmtUserTypeStg(ptr ptr ptr) ReadFmtUserTypeStg
137 stub ReadOleStg
138 stub ReadStringStream
139 stdcall RegisterDragDrop(long ptr) RegisterDragDrop
140 stdcall ReleaseStgMedium(ptr) ReleaseStgMedium
141 stdcall RevokeDragDrop(long) RevokeDragDrop
142 stdcall SetConvertStg(ptr long) SetConvertStg
143 stub SetDocumentBitStg
144 stdcall StgCreateDocfile(wstr long long ptr) StgCreateDocfile
145 stdcall StgCreateDocfileOnILockBytes(ptr long long ptr) StgCreateDocfileOnILockBytes
146 stdcall StgIsStorageFile(wstr) StgIsStorageFile
147 stdcall StgIsStorageILockBytes(ptr) StgIsStorageILockBytes
148 stdcall StgOpenStorage(wstr ptr long ptr long ptr) StgOpenStorage
149 stdcall StgOpenStorageOnILockBytes(ptr ptr long long long ptr) StgOpenStorageOnILockBytes
150 stdcall StgSetTimes(wstr ptr ptr ptr ) StgSetTimes
151 stdcall StringFromCLSID(ptr ptr) StringFromCLSID
152 stdcall StringFromGUID2(ptr ptr long) StringFromGUID2
153 stdcall StringFromIID(ptr ptr) StringFromCLSID
154 stub UtConvertDvtd16toDvtd32
155 stub UtConvertDvtd32toDvtd16
156 stub UtGetDvtd16Info
157 stub UtGetDvtd32Info
158 stdcall WriteClassStg(ptr ptr) WriteClassStg
159 stdcall WriteClassStm(ptr ptr) WriteClassStm
160 stdcall WriteFmtUserTypeStg(ptr long ptr) WriteFmtUserTypeStg
161 stub WriteOleStg
162 stub WriteStringStream
163 stdcall CoInitializeEx(ptr long) CoInitializeEx
164 stub CoInitializeSecurity       # stdcall (ptr long ptr ptr long long ptr long ptr) return 0,ERR_NOTIMPLEMENTED
165 stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr) CoCreateInstanceEx
166 stdcall PropVariantClear(ptr) PropVariantClear
167 stub CoCopyProxy                # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
168 stub CoGetCallContext           # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
169 stub CoGetInstanceFromFile      # stdcall (ptr ptr ptr long wstr long ptr) return 0,ERR_NOTIMPLEMENTED
170 stub CoGetInstanceFromIStorage  # stdcall (ptr ptr ptr long ptr long ptr) return 0,ERR_NOTIMPLEMENTED
171 stub CoRegisterPSClsid          # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
172 stub CoReleaseServerProcess     # stdcall () return 0,ERR_NOTIMPLEMENTED
173 stdcall CoResumeClassObjects() CoResumeClassObjects
174 stub CoRevertToSelf             # stdcall () return 0,ERR_NOTIMPLEMENTED
175 stub CoSetProxyBlanket          # stdcall (ptr long long wstr long long ptr long) return 0,ERR_NOTIMPLEMENTED
176 stub CoSuspendClassObjects      # stdcall () return 0,ERR_NOTIMPLEMENTED
177 stub CreateClassMoniker         # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
178 stub CLIPFORMAT_UserFree
179 stub CLIPFORMAT_UserMarshal
180 stub CLIPFORMAT_UserSize
181 stub CLIPFORMAT_UserUnmarshal
182 stub CoAddRefServerProcess
183 stub CoGetObject
184 stub CoGetTIDFromIPID
185 stub CoImpersonateClient
186 stub CoQueryAuthenticationServices
187 stub CoQueryClientBlanket
188 stub CoQueryProxyBlanket
189 stub CoRegisterChannelHook
190 stub CoRegisterSurrogate
191 stub CoSwitchCallContext
192 stdcall CreateErrorInfo(ptr) CreateErrorInfo
193 stub CreateObjrefMoniker
194 stdcall DllRegisterServer() OLE32_DllRegisterServer
195 stdcall FreePropVariantArray(long ptr) FreePropVariantArray
196 stdcall GetErrorInfo(long ptr) GetErrorInfo
197 stub HACCEL_UserFree
198 stub HACCEL_UserMarshal
199 stub HACCEL_UserSize
200 stub HACCEL_UserUnmarshal
201 stub HBITMAP_UserFree
202 stub HBITMAP_UserMarshal
203 stub HBITMAP_UserSize
204 stub HBITMAP_UserUnmarshal
205 stub HBRUSH_UserFree
206 stub HBRUSH_UserMarshal
207 stub HBRUSH_UserSize
208 stub HBRUSH_UserUnmarshal
209 stub HENHMETAFILE_UserFree
210 stub HENHMETAFILE_UserMarshal
211 stub HENHMETAFILE_UserSize
212 stub HENHMETAFILE_UserUnmarshal
213 stub HGLOBAL_UserFree
214 stub HGLOBAL_UserMarshal
215 stub HGLOBAL_UserSize
216 stub HGLOBAL_UserUnmarshal
217 stub HMENU_UserFree
218 stub HMENU_UserMarshal
219 stub HMENU_UserSize
220 stub HMENU_UserUnmarshal
221 stub HMETAFILEPICT_UserFree
222 stub HMETAFILEPICT_UserMarshal
223 stub HMETAFILEPICT_UserSize
224 stub HMETAFILEPICT_UserUnmarshal
225 stub HMETAFILE_UserFree
226 stub HMETAFILE_UserMarshal
227 stub HMETAFILE_UserSize
228 stub HMETAFILE_UserUnmarshal
229 stub HPALETTE_UserFree
230 stub HPALETTE_UserMarshal
231 stub HPALETTE_UserSize
232 stub HPALETTE_UserUnmarshal
233 stub HWND_UserFree
234 stub HWND_UserMarshal
235 stub HWND_UserSize
236 stub HWND_UserUnmarshal
237 stub I_RemoteMain
238 stub OleCreateEx
239 stub OleCreateFromDataEx
240 stub OleCreateFromFileEx
241 stub OleCreateLinkEx
242 stub OleCreateLinkFromDataEx
243 stub OleCreateLinkToFileEx
244 stub PropSysAllocString
245 stub PropSysFreeString
246 stdcall PropVariantCopy(ptr ptr) PropVariantCopy
247 stub SNB_UserFree
248 stub SNB_UserMarshal
249 stub SNB_UserSize
250 stub SNB_UserUnmarshal
251 stub STGMEDIUM_UserFree
252 stub STGMEDIUM_UserMarshal
253 stub STGMEDIUM_UserSize
254 stub STGMEDIUM_UserUnmarshal
255 stdcall SetErrorInfo(long ptr) SetErrorInfo
256 stub StgCreateStorageEx
257 stub StgGetIFillLockBytesOnFile
258 stub StgGetIFillLockBytesOnILockBytes
259 stub StgOpenAsyncDocfileOnIFillLockBytes
260 stub StgOpenStorageEx
261 stub UpdateDCOMSettings
262 stub WdtpInterfacePointer_UserFree
263 stub WdtpInterfacePointer_UserMarshal
264 stub WdtpInterfacePointer_UserSize
265 stub WdtpInterfacePointer_UserUnmarshal
