Сбой Outlook MSO.dll после того, как IMapiTable :: QueryRow возвращает 0 строк в параметре LPSRowSet FAR * lppRows out - PullRequest
0 голосов
/ 17 мая 2019

Мы работаем над некоторым плагином Outlook MAPI, для которого мы реализуем интерфейс IMapiTable, в котором у нас также есть функция QueryRows.В нашем случае у нас нет выходной строки, поэтому мы возвращаем приведенный ниже набор строк, используя приведенный ниже код.QueryRows Вызов идет с входным параметром lRowCount = 60 и ulFlags = 0. После возврата из приведенного ниже кода элемент управления возвращается в Outlook и после этого происходит сбой MSO.dll.Может кто-нибудь, пожалуйста, помогите мне понять, почему происходит этот сбой.Любой указатель или ввод будут действительно полезны.

QueryRows(LONG lRowCount, ULONG ulFlags, LPSRowSet FAR *lppRows)
{
LPSRowSet pRowSet = NULL;
size_t nBytesRowset = CbNewSRowSet(cRows);
HRESULT hr = MAPIAllocateBuffer(static_cast<ULONG>(nBytesRowset), (LPVOID *)&pRowSet);
pRowSet->cRows = static_cast<ULONG>(cRows);
if (lppRows)
            *lppRows = pRowSet;
}
...