Как использовать WBEM в dll, запущенной другой DLL из другого компилятора?

#dll #com #wbem

#dll #com #wbem

Вопрос:

У меня есть рабочая DLL (A), скомпилированная VC6, которая использует WBEM. И я хочу вызвать функцию в DLL (A) из другой DLL (B: скомпилированный VC2013). сбой при IWbemLocator :: ConnectServer().

 And I have done some testing followed:
EXE compiled by VC6 - > DLL(A)  OK
EXE compiled by VC2013 - > DLL(A)  OK
EXE compiled by VC2013 - > DLL(B) - > DLL(A)  crash
I don't why, any one can give me some advise? Thank you very much!
  

Комментарии:

1. если вы работаете в режиме отладки, получаете ли вы какую-либо трассировку стека, когда происходит сбой?

2. ntdll.dll !_ZwRaiseException@12() Неизвестно ntdll.dll ! _RtlReportException@12() Неизвестно ntdll.dll ! _RtlInvalidHandlerDetected@12() Неизвестно ntdll.dll ! _RtlIsValidHandler@8() Неизвестно ntdll.dll ! _RtlDispatchException@8() Неизвестно ntdll.dll !_KiUserExceptionDispatcher@8() Неизвестен rpcrt4.dll !NdrpConformantStringBufferSize(struct _MIDL_STUB_MESSAGE *,unsigned char *,unsigned char const *) Неизвестно

3. rpcrt4.dll ! _NdrConformantStringBufferSize@12() Неизвестно rpcrt4.dll !NdrpPointerBufferSize(struct _MIDL_STUB_MESSAGE *,unsigned char *,unsigned char const *) Неизвестно rpcrt4.dll ! _NdrPointerBufferSize@12() Неизвестно rpcrt4.dll ! @NdrpSizing@8() Неизвестно rpcrt4.dll ! _NdrClientCall2() Неизвестно ole32.dll !ObjectStublessClient(void * ParamAddress, длинный метод) Строка 474 C

4. ole32.dll !_ObjectStubless@0() Строка 154 Неизвестна wbemprox.dll ! CDCOMTrans::DoActualConnection(unsigned short *,unsigned short *,unsigned short *,unsigned short *,long,unsigned short *,struct IWbemContext *,struct IWbemServices * *) Неизвестно wbemprox.dll ! CDCOMTrans::DoConnection(unsigned short *,unsigned short *,unsigned short *,unsigned short *,long,unsigned short *,struct IWbemContext *,struct IWbemServices * *) Неизвестно

5. wbemprox.dll ! CLocator::ConnectServer(unsigned short * const,unsigned short * const,unsigned short * const,unsigned short * const,long,unsigned short * const,struct IWbemContext *,struct IWbemServices * *) Неизвестно 10029f1b() Неизвестно