StalkerSVR
Зарегистрирован: 03.05.2005 Сообщения: 1
|
Добавлено: Вт Май 03 2005 12:11 Заголовок сообщения: Программирование MAPI транспорта |
|
|
Пытаюсь написать свой MAPI транспорт для Оутлука. Поскольку базируюсь на примере из MSDN, то практически все получается, но споткнулся на том, что не могу вставить аттач в письмо. Аттач имеется в виде отдельного файла, имя которого есть в письме. Но несмотря на мои старания письмо получается без аттача. Вот кусок кода (без проверок, для краткости)
hr = lpMessage->lpVtbl->CreateAttach(lpMessage,NULL,0,&lpulAttachmentNum,&lpAttach);
sc = lpxpl->AllocateMore(lstrlen(attachname) + 1, lpAttachProps, &lpsz);
lstrcpy(lpsz,attachname);
lpMsgProps[cValues].ulPropTag = PR_HASATTACH;
lpMsgProps[cValues++].Value.b = TRUE;
lpAttachProps[caValues].ulPropTag = PR_ATTACH_METHOD;
lpAttachProps[caValues++].Value.ul = ATTACH_BY_REF_ONLY;
lpAttachProps[caValues].ulPropTag = PR_ATTACH_LONG_PATHNAME;
lpAttachProps[caValues++].Value.LPSZ = lpsz;
if (caValues)
hr = lpAttach->lpVtbl->SetProps(lpAttach, caValues, lpAttachProps, NULL);
Где я ошибаюсь? Пробовал делать метод аттача как ATTACH_BY_VALUE, и жестко приписывать имя аттача и его содержимое, но результата нет - результирующее письмо в базе имеет свойство PR_HASATTACH = FALSE и самого аттача тоже получается нет. |
|