Получить MailItem после события Items.ItemAdd

Я пытаюсь получить размер и индекс разговора в электронном письме после его отправки в папку отправленной почты.

STDMETHODIMP CItemsEventListener::HandleItemAdd(DISPPARAMS* pDispParams, CString p_csDate, CString p_csTime)
{
HRESULT l_hResult;
CMailItem l_mailItem = NULL ;
IDispatch * m_disp = pDispParams->rgvarg[1].pdispVal;
l_hResult = m_disp->QueryInterface(IID_MailItemItems, (void**)&l_mailItem);
//Do stuff
}

Метод QueryInterface создает исключение. (нарушение доступа).
PS: Я использую тот же класс CMailItem с событиями приложения, и он работает хорошо.
Что я делаю неправильно?

Любая помощь будет оценена.

0

Решение

Во-первых, как вызывается этот метод?

Во-вторых, вы получаете доступ ко второму параметру (rgvarg [1] .PdispVal). Вам нужно использовать первый параметр (rgvarg [0] .PdispVal).

1

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

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

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