Как получить данные JavaScript Window.PostMessage из ATL BHO Переполнение стека

Я могу получить прослушиватель JavaScript для window.postMessage, работающего внутри ATL BHO, следуя этой статье. Javascript-обработчик сообщений сообщений в ATL C ++ BHO

Но как мне извлечь из него данные сообщения?

Код JavaScript:

window.postMessage({
type: 'data_received',
Cross : {
data: data_Id
}
}, '*');

Слушатель событий:

STDMETHODIMP CListener::InvokeEx(DISPID dispidMember, LCID, WORD, DISPPARAMS* params, VARIANT*, EXCEPINFO*, IServiceProvider*)
{
HRESULT hr;

::MessageBox(NULL, L"Hello", L"World", MB_OK);

if (dispidMember != DISPID_VALUE)
{
return DISP_E_MEMBERNOTFOUND;
}

CComDispatchDriver dispDomEvent(params->rgvarg[1].pdispVal);
if (!dispDomEvent)
{
Logger::LogInfo(L"Could not get the DOM event");
return E_INVALIDARG;
}

CComVariant eventTarget;
hr = dispDomEvent.GetPropertyByName(L"target", &eventTarget);
if (FAILED(hr))
{
Logger::LogInfo(L"Could not get the target for the DOM event: 0x%x", hr);
return hr;
}
}

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]