diff --git a/reactos/lib/ole32/CoXxx.c b/reactos/lib/ole32/CoXxx.c index d684212fc38..3f65238414b 100644 --- a/reactos/lib/ole32/CoXxx.c +++ b/reactos/lib/ole32/CoXxx.c @@ -261,12 +261,14 @@ WINOLEAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, VOID* pvReserved return E_FAIL; // fix: CoGetClassObject should call CoLoadLibrary as stated in the win32 api docs - hComDll = LoadLibrary("C:\\MsCom.dll"); + hComDll = LoadLibrary("C:\\Com.dll"); fpDllGetClassObject = (PF) GetProcAddress(hComDll, "DllGetClassObject"); // get the class object fpDllGetClassObject(rclsid, riid, (VOID**) ppv); + if(*ppv == NULL) + return E_FAIL; /* //HKEY hCLSID; diff --git a/reactos/lib/ole32/ole32.def b/reactos/lib/ole32/ole32.def new file mode 100644 index 00000000000..702ff9e1cba --- /dev/null +++ b/reactos/lib/ole32/ole32.def @@ -0,0 +1,194 @@ +LIBRARY ole32.dll +EXPORTS +;BindMoniker @9 +;CLSIDFromProgID @14 +;CLSIDFromProgIDEx @15 +;CLSIDFromString @16 +;CoAddRefServerProcess @17 +;CoAllowSetForegroundWindow @18 + CoBuildVersion@0 +;CoCancelCall @20 +;CoCopyProxy @21 +;CoCreateFreeThreadedMarshaler @22 +;CoCreateGuid @23 + CoCreateInstance@20 +;CoCreateInstanceEx @25 +;CoDisableCallCancellation @28 +;CoDisconnectObject @29 +;CoDosDateTimeToFileTime @30 +;CoEnableCallCancellation @31 +;CoFileTimeNow @32 +;CoFileTimeToDosDateTime @33 + CoFreeAllLibraries@0 +;CoFreeLibrary @35 +;CoFreeUnusedLibraries @36 +;CoGetCallContext @38 +;CoGetCancelObject @40 + CoGetClassObject@20 +;CoGetCurrentProcess @44 +;CoGetInstanceFromFile @45 +;CoGetInstanceFromIStorage @46 +;CoGetInterfaceAndReleaseStream @47 +;CoGetMalloc @48 +;CoGetMarshalSizeMax @49 +;CoGetObject @50 +;CoGetObjectContext @51 +;CoGetPSClsid @52 +;CoGetStandardMarshal @53 +;CoGetStdMarshalEx @55 +;CoGetTreatAsClass @56 +;CoImpersonateClient @57 + CoInitialize@4 + CoInitializeEx@8 +;CoInitializeSecurity @60 +;CoInstall @62 +;CoIsHandlerConnected @63 +;CoIsOle1Class @64 +;CoLoadLibrary @65 +;CoLockObjectExternal @66 +;CoMarshalHresult @67 +;CoMarshalInterThreadInterfaceInStream @68 +;CoMarshalInterface @69 +;CoQueryAuthenticationServices @70 +;CoQueryClientBlanket @71 +;CoQueryProxyBlanket @72 +;CoRegisterChannelHook @75 +;CoRegisterClassObject @76 +;CoRegisterMallocSpy @77 +;CoRegisterMessageFilter @78 +;CoRegisterPSClsid @79 +;CoRegisterSurrogate @80 +;CoReleaseMarshalData @82 +;CoReleaseServerProcess @83 +;CoResumeClassObjects @84 +;CoRevertToSelf @85 +;CoRevokeClassObject @86 +;CoRevokeMallocSpy @87 +;CoSetCancelObject @88 +;CoSetProxyBlanket @89 +;CoSuspendClassObjects @91 +;CoSwitchCallContext @92 +;CoTaskMemAlloc @93 +;CoTaskMemFree @94 +;CoTaskMemRealloc @95 +;CoTestCancel @96 +;CoTreatAsClass @97 + CoUninitialize@0 +;CoUnmarshalHresult @100 +;CoUnmarshalInterface @101 +;CoWaitForMultipleHandles @102 +;CreateAntiMoniker @103 +;CreateBindCtx @104 +;CreateClassMoniker @105 +;CreateDataAdviseHolder @106 +;CreateDataCache @107 +;CreateErrorInfo @108 +;CreateFileMoniker @109 +;CreateGenericComposite @110 +;CreateILockBytesOnHGlobal @111 +;CreateItemMoniker @112 +;CreateObjrefMoniker @113 +;CreateOleAdviseHolder @114 +;CreatePointerMoniker @115 +;CreateStreamOnHGlobal @117 +;DllGetClassObject @120 PRIVATE +;DllRegisterServer @122 PRIVATE +;DoDragDrop @123 +;FmtIdToPropStgName @125 +;FreePropVariantArray @126 +;GetClassFile @127 +;GetConvertStg @128 +;GetErrorInfo @130 +;GetHGlobalFromILockBytes @131 +;GetHGlobalFromStream @132 +;GetRunningObjectTable @134 +;IIDFromString @184 +;IsAccelerator @185 +;MkParseDisplayName @191 +;MonikerCommonPrefixWith @192 +;MonikerRelativePathTo @193 +;OleBuildVersion @194 +;OleConvertIStorageToOLESTREAM @195 +;OleConvertIStorageToOLESTREAMEx @196 +;OleConvertOLESTREAMToIStorage @197 +;OleConvertOLESTREAMToIStorageEx @198 +;OleCreate @199 +;OleCreateDefaultHandler @200 +;OleCreateEmbeddingHelper @201 +;OleCreateEx @202 +;OleCreateFromData @203 +;OleCreateFromDataEx @204 +;OleCreateFromFile @205 +;OleCreateFromFileEx @206 +;OleCreateLink @207 +;OleCreateLinkEx @208 +;OleCreateLinkFromData @209 +;OleCreateLinkFromDataEx @210 +;OleCreateLinkToFile @211 +;OleCreateLinkToFileEx @212 +;OleCreateMenuDescriptor @213 +;OleCreateStaticFromData @214 +;OleDestroyMenuDescriptor @215 +;OleDoAutoConvert @216 +;OleDraw @217 +;OleDuplicateData @218 +;OleFlushClipboard @219 +;OleGetAutoConvert @220 +;OleGetClipboard @221 +;OleGetIconOfClass @222 +;OleGetIconOfFile @223 +;OleInitialize @224 +;OleIsCurrentClipboard @226 +;OleIsRunning @227 +;OleLoad @228 +;OleLoadFromStream @229 +;OleLockRunning @230 +;OleMetafilePictFromIconAndLabel @231 +;OleNoteObjectVisible @232 +;OleQueryCreateFromData @233 +;OleQueryLinkFromData @234 +;OleRegEnumFormatEtc @235 +;OleRegEnumVerbs @236 +;OleRegGetMiscStatus @237 +;OleRegGetUserType @238 +;OleRun @239 +;OleSave @240 +;OleSaveToStream @241 +;OleSetAutoConvert @242 +;OleSetClipboard @243 +;OleSetContainedObject @244 +;OleSetMenuDescriptor @245 +;OleTranslateAccelerator @246 +;OleUninitialize @247 +;ProgIDFromCLSID @249 +;PropStgNameToFmtId @250 +;PropVariantClear @253 +;PropVariantCopy @254 +;ReadClassStg @255 +;ReadClassStm @256 +;ReadFmtUserTypeStg @257 +;RegisterDragDrop @260 +;ReleaseStgMedium @261 +;RevokeDragDrop @262 +;SetConvertStg @271 +;StgCreateDocfile @274 +;StgCreateDocfileOnILockBytes @275 +;StgCreatePropSetStg @276 +;StgCreatePropStg @277 +;StgCreateStorageEx @278 +;StgGetIFillLockBytesOnFile @279 +;StgGetIFillLockBytesOnILockBytes @280 +;StgIsStorageFile @281 +;StgIsStorageILockBytes @282 +;StgOpenAsyncDocfileOnIFillLockBytes @283 +;StgOpenPropStg @284 +;StgOpenStorage @285 +;StgOpenStorageEx @286 +;StgOpenStorageOnILockBytes @288 +;StgSetTimes @289 +;StringFromCLSID @290 +;StringFromGUID2 @291 +;StringFromIID @292 +;WriteClassStg @298 +;WriteClassStm @299 +;WriteFmtUserTypeStg @300 diff --git a/reactos/lib/ole32/ole32.edf b/reactos/lib/ole32/ole32.edf new file mode 100644 index 00000000000..95beb9d918f --- /dev/null +++ b/reactos/lib/ole32/ole32.edf @@ -0,0 +1,194 @@ +LIBRARY ole32.dll +EXPORTS +;BindMoniker @9 +;CLSIDFromProgID @14 +;CLSIDFromProgIDEx @15 +;CLSIDFromString @16 +;CoAddRefServerProcess @17 +;CoAllowSetForegroundWindow @18 + CoBuildVersion=CoBuildVersion@0 +;CoCancelCall @20 +;CoCopyProxy @21 +;CoCreateFreeThreadedMarshaler @22 +;CoCreateGuid @23 + CoCreateInstance=CoCreateInstance@20 +;CoCreateInstanceEx @25 +;CoDisableCallCancellation @28 +;CoDisconnectObject @29 +;CoDosDateTimeToFileTime @30 +;CoEnableCallCancellation @31 +;CoFileTimeNow @32 +;CoFileTimeToDosDateTime @33 + CoFreeAllLibraries=CoFreeAllLibraries@0 +;CoFreeLibrary @35 +;CoFreeUnusedLibraries @36 +;CoGetCallContext @38 +;CoGetCancelObject @40 + CoGetClassObject=CoGetClassObject@20 +;CoGetCurrentProcess @44 +;CoGetInstanceFromFile @45 +;CoGetInstanceFromIStorage @46 +;CoGetInterfaceAndReleaseStream @47 +;CoGetMalloc @48 +;CoGetMarshalSizeMax @49 +;CoGetObject @50 +;CoGetObjectContext @51 +;CoGetPSClsid @52 +;CoGetStandardMarshal @53 +;CoGetStdMarshalEx @55 +;CoGetTreatAsClass @56 +;CoImpersonateClient @57 + CoInitialize=CoInitialize@4 + CoInitializeEx=CoInitializeEx@8 +;CoInitializeSecurity @60 +;CoInstall @62 +;CoIsHandlerConnected @63 +;CoIsOle1Class @64 +;CoLoadLibrary @65 +;CoLockObjectExternal @66 +;CoMarshalHresult @67 +;CoMarshalInterThreadInterfaceInStream @68 +;CoMarshalInterface @69 +;CoQueryAuthenticationServices @70 +;CoQueryClientBlanket @71 +;CoQueryProxyBlanket @72 +;CoRegisterChannelHook @75 +;CoRegisterClassObject @76 +;CoRegisterMallocSpy @77 +;CoRegisterMessageFilter @78 +;CoRegisterPSClsid @79 +;CoRegisterSurrogate @80 +;CoReleaseMarshalData @82 +;CoReleaseServerProcess @83 +;CoResumeClassObjects @84 +;CoRevertToSelf @85 +;CoRevokeClassObject @86 +;CoRevokeMallocSpy @87 +;CoSetCancelObject @88 +;CoSetProxyBlanket @89 +;CoSuspendClassObjects @91 +;CoSwitchCallContext @92 +;CoTaskMemAlloc @93 +;CoTaskMemFree @94 +;CoTaskMemRealloc @95 +;CoTestCancel @96 +;CoTreatAsClass @97 + CoUninitialize=CoUninitialize@0 +;CoUnmarshalHresult @100 +;CoUnmarshalInterface @101 +;CoWaitForMultipleHandles @102 +;CreateAntiMoniker @103 +;CreateBindCtx @104 +;CreateClassMoniker @105 +;CreateDataAdviseHolder @106 +;CreateDataCache @107 +;CreateErrorInfo @108 +;CreateFileMoniker @109 +;CreateGenericComposite @110 +;CreateILockBytesOnHGlobal @111 +;CreateItemMoniker @112 +;CreateObjrefMoniker @113 +;CreateOleAdviseHolder @114 +;CreatePointerMoniker @115 +;CreateStreamOnHGlobal @117 +;DllGetClassObject @120 PRIVATE +;DllRegisterServer @122 PRIVATE +;DoDragDrop @123 +;FmtIdToPropStgName @125 +;FreePropVariantArray @126 +;GetClassFile @127 +;GetConvertStg @128 +;GetErrorInfo @130 +;GetHGlobalFromILockBytes @131 +;GetHGlobalFromStream @132 +;GetRunningObjectTable @134 +;IIDFromString @184 +;IsAccelerator @185 +;MkParseDisplayName @191 +;MonikerCommonPrefixWith @192 +;MonikerRelativePathTo @193 +;OleBuildVersion @194 +;OleConvertIStorageToOLESTREAM @195 +;OleConvertIStorageToOLESTREAMEx @196 +;OleConvertOLESTREAMToIStorage @197 +;OleConvertOLESTREAMToIStorageEx @198 +;OleCreate @199 +;OleCreateDefaultHandler @200 +;OleCreateEmbeddingHelper @201 +;OleCreateEx @202 +;OleCreateFromData @203 +;OleCreateFromDataEx @204 +;OleCreateFromFile @205 +;OleCreateFromFileEx @206 +;OleCreateLink @207 +;OleCreateLinkEx @208 +;OleCreateLinkFromData @209 +;OleCreateLinkFromDataEx @210 +;OleCreateLinkToFile @211 +;OleCreateLinkToFileEx @212 +;OleCreateMenuDescriptor @213 +;OleCreateStaticFromData @214 +;OleDestroyMenuDescriptor @215 +;OleDoAutoConvert @216 +;OleDraw @217 +;OleDuplicateData @218 +;OleFlushClipboard @219 +;OleGetAutoConvert @220 +;OleGetClipboard @221 +;OleGetIconOfClass @222 +;OleGetIconOfFile @223 +;OleInitialize @224 +;OleIsCurrentClipboard @226 +;OleIsRunning @227 +;OleLoad @228 +;OleLoadFromStream @229 +;OleLockRunning @230 +;OleMetafilePictFromIconAndLabel @231 +;OleNoteObjectVisible @232 +;OleQueryCreateFromData @233 +;OleQueryLinkFromData @234 +;OleRegEnumFormatEtc @235 +;OleRegEnumVerbs @236 +;OleRegGetMiscStatus @237 +;OleRegGetUserType @238 +;OleRun @239 +;OleSave @240 +;OleSaveToStream @241 +;OleSetAutoConvert @242 +;OleSetClipboard @243 +;OleSetContainedObject @244 +;OleSetMenuDescriptor @245 +;OleTranslateAccelerator @246 +;OleUninitialize @247 +;ProgIDFromCLSID @249 +;PropStgNameToFmtId @250 +;PropVariantClear @253 +;PropVariantCopy @254 +;ReadClassStg @255 +;ReadClassStm @256 +;ReadFmtUserTypeStg @257 +;RegisterDragDrop @260 +;ReleaseStgMedium @261 +;RevokeDragDrop @262 +;SetConvertStg @271 +;StgCreateDocfile @274 +;StgCreateDocfileOnILockBytes @275 +;StgCreatePropSetStg @276 +;StgCreatePropStg @277 +;StgCreateStorageEx @278 +;StgGetIFillLockBytesOnFile @279 +;StgGetIFillLockBytesOnILockBytes @280 +;StgIsStorageFile @281 +;StgIsStorageILockBytes @282 +;StgOpenAsyncDocfileOnIFillLockBytes @283 +;StgOpenPropStg @284 +;StgOpenStorage @285 +;StgOpenStorageEx @286 +;StgOpenStorageOnILockBytes @288 +;StgSetTimes @289 +;StringFromCLSID @290 +;StringFromGUID2 @291 +;StringFromIID @292 +;WriteClassStg @298 +;WriteClassStm @299 +;WriteFmtUserTypeStg @300 \ No newline at end of file