[issue19790] ctypes can't load a c++ dll if the dll calls COM on Windows 8

2013-11-25 Thread yinkaisheng
New submission from yinkaisheng: I created a c++ dll project that calls COM. cyptes works well with the dll on Windows XP(SP3) and Windows 7. But it can't load the dll on windows 8. The function ctypes.cdll.LoadLibrary doesn't return when I call it to load the dll on Windows 8. The

[issue19790] ctypes can't load a c++ dll if the dll calls COM on Windows 8

2013-11-25 Thread yinkaisheng
yinkaisheng added the comment: The version of my Python is 2.7.5.6 -- ___ Python tracker <http://bugs.python.org/issue19790> ___ ___ Python-bugs-list mailin

[issue19790] ctypes can't load a c++ dll if the dll calls COM on Windows 8

2013-11-28 Thread yinkaisheng
yinkaisheng added the comment: After debugging, I found the reason. when ctypes loads the dll, CoCreateInstance blocks the flow. If I don't call CoCreateInstance in function DllMain. ctypes can load the dll. I should call function CoCreateInstance after DllMain was called. The proble

[issue19790] ctypes can't load a c++ dll if the dll calls COM on Windows 8

2013-11-29 Thread yinkaisheng
yinkaisheng added the comment: http://support.microsoft.com/kb/305723 COM application hangs when you call CoCreateInstance from DllMain SYMPTOMS When you call the CoCreateInstance function from the DllMain function, the Component Object Model (COM) application hangs. CAUSE CoCreateInstance