关机时,OLE32异常我服务

我有一个通过服务关闭时,只有一台PC(Windows XP)中的崩溃服务应用程序。

我得到的WinDbg以下错误:

(1038.728): Access violation - code c0000005 (!!! second chance !!!) eax=00000000 ebx=00000000 ecx=0018b7a4 edx=77606e00 esi=0016b7f8 edi=0018b7a4 eip=7750cdbd esp=0012fe78 ebp=0012fe84 iopl=0 nv up ei pl nz na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 ... ole32!StringFromCLSID+0x325 ole32!StringFromCLSID+0x2e7 ole32!StringFromCLSID+0x2c9 ole32!StringFromCLSID+0x215 ole32!StringFromCLSID+0x38f RPCRT4!IUnknown_Release_Proxy+0x11 mfc100+0x20a229 MSVCR100!exit+0x11

我的代码使用某种形式的COM /奥莱数据库的控制和访问它是这样的:

CoInitializeEx( 0, COINIT_MULTITHREADED ); IClientTable testCDS; testCDS.CreateDispatch("ClientTableServer.ClientTable"); testCDS.ReleaseDispatch(); <Windows message loop> CoUninitialize();

如果我注释掉使用testCDS的,没有崩溃。 我曾尝试ReleaseDispatch和DetachDispatch的组合,但我仍然得到了同样的问题。

帮助将不胜感激。 谢谢

--------------解决方案-------------

嗯。 这不是那么复杂,因为我以为 - 有埋图书馆和ReleaseDispatch()内IClientTable的另一个用法是不会被调用。 问题解决了。

分类:视窗 时间:2015-03-15 人气:0
本文关键词: 窗户,COM,OLE
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.446 (s). 10 q(s)