Я пытаюсь использовать предопределенную функцию, но получаю исключение AccessViolationException. Я также использую com-объекты. Я вызываю функцию put_ClassName (BSTR obj), но продолжаю получать исключение.
Возможно, это глупая ошибка, но вот пример:
IUIAutomationProxyFactory* factory;
IUIAutomationProxyFactoryEntry* entry;
IUIAutomationProxyFactoryMapping* pMap;
LPCWSTR className = L"CustomUIAutomationCPP";
BSTR name;
CoInitialize(NULL);
HRESULT hr = CoCreateInstance(CLSID_CUIAutomation, NULL, CLSCTX_ALL, IID_IUIAutomation, (void**)&pAutomation);
(*pAutomation).get_ProxyFactoryMapping(&pMap);
factory = new CustomProxyFactory();
(*pAutomation).CreateProxyFactoryEntry(factory, &entry);
name = SysAllocString(className);
(*entry).put_ClassName(className);
Понятия не имею, почему я получаю эту ошибку. Любая помощь очень ценится.
РЕДАКТИРОВАТЬ 1
Кажется, я не получаю сопоставление с таблицей прокси с помощью приведенного выше вызова:
(*pAutomation).get_ProxyFactoryMapping(&pMap);
Может кто-нибудь сказать мне, если есть другой способ получить отображение таблицы ??