Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
adilov1
Сообщений: n/a
#1

MAPI32.dll проблема - C++

16.02.2011, 09:19. Просмотров 1150. Ответов 3
Метки нет (Все метки)

Здравствуйте! Интересный факт, приведенный ниже код работает нормально если установлен пакет Office 2000 и отказывает работать если установлен Office XP.
Сбой происходит в виде ошибки *Не удается найти указанную функцию*
при выполнении
//Параметры процедуры регистрации
cmcStatus = (*lpfncmc_query_configuration) (....)

Помогите плиз, заранее спасибо!

кусок кода целиком:
BOOL SendMail()
{
.
.
.
// Загрузка DLL библиотеки
hMAPILib=LoadLibrary('MAPI32.DLL');
//
lpfncmc_logon=(LPFNCMCLOGON)GetProcAddress(hMAPILib,'cmc_logon');

lpfncmc_query_configuration=(LPFNCNCQUERYCONF) GetProcAddress(hMAPILib,'cmc_query_configuration');

lpfncmc_send_dokum=(LPFNCMCSENDDOC) GetProcAddress(hMAPILib,'cmc_send_documents');
//Параметры процедуры регистрации
cmcStatus = (*lpfncmc_query_configuration) (
0, //Параметры запроса
CMC_CONFIG_DEFAULT_SERVICE |
CMC_CONFIG_DEFAULT_USER, //Наличия пользовательского интерфейса
&bUiAvail, // Буфер выходных данных
NULL);
if (cmcStatus != CMC_SUCCESS)
{
//Обработка ошибки
AfxMessageBox('Ошибка при регистрации !!!!!');
return false;
}
.
.
.

.
return true;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 09:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MAPI32.dll проблема (C++):

Использование BassNet.dll. Проблема с инициализацией и воспроизведением файла mp3 - C++
Пожалуйста, помогите с библиотекой BassNet.dll (знаю уже были темы, связанные с использованием этой библиотеки, но так как в них не нашел...

Добавление своей dll в список dll подгружаемых процессом чужого процесса - C++
Вообще вопрос такой,как можно внедрить свою dll в список Import чужого не запущенного процесса?Не изменяя структуры файла.

Точка входа в процедуру InterlockedCompareExchange64 не найдена в библиотеке DLL KERNEL32.DLL - C++
День добрый! При запуске моей программы (много моего кода + много разных сторонних dll) на WinXP SP2, получаем соответствующую ошибку...

Dll файл в exe файле. Вшить dll libcurl - C++
Проблема такая что приходится таскать всегда libcurl.dll с собой. Надо все носить в одном exe. Enigma Virtual Box использовать нельзя,...

Запись из внедренной dll в другую dll этого процесса - C++
main.cpp #include <Windows.h> extern int writeprocess(); DWORD WINAPI MainThread(LPVOID lpParam) { ...

Как узнать путь к загруженной DLL из самой DLL? - C++
Создаю небольшую программку в папке c:/test/app/, есть DLL в папке c:/test/dll/. В коде самой dll, после её подгрузки в программу, можно...

3
nero_wolfe
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 109
16.02.2011, 19:11 #2
Посмотрите, есть ли в библиотеке вызываемые вами функции. Если их нет, значит - нет.
0
adilov1
Сообщений: n/a
17.02.2011, 08:13 #3
Вероятно вы меня неправильно поняли.
Когда на компьютере установлен Office 2000, функция выполняется без ошибок, а когда Office XP функция выполняется с ошибками.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
22.02.2011, 18:23 #4
налицо зависимость от версии Microsoft Office, означающая отсутствие той или иной функции в новой библиотеке mapi32.dll идущей с MS Office XP, на что вам справедливо указал nero_wolfe

А почему вы не хотите воспользоваться стандартным интерфейсом MAPI и используете вместо этого вызов методов по их имени напрямую из библиотеки? Интерфейс библиотеки обычно не гарантируется, а вот API меняется гораздо реже.

С уважением, Владимир
0
22.02.2011, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2011, 18:23
Привет! Вот еще темы с ответами:

Как узнать зависимость DLL-ки от других DLL-ек? - C++
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд. Есть какая...

Вызов Dll-фий в другой Dll - C++
не получается дернуть dll в другой dll. Подскажите, как должен происходить вызов dll1 в dll2 ? (псевдокод) dll1.cpp { int...

Обращение к ресурсам DLL из самой DLL - C++
Коллеги, добрый день. Получил следующее задание - Создать библиотеку, DLL назначение которой, выполнить экспорт некоторой функции, в...

Как подключить dll на C# к проекту (dll) на С++ - C++
Подскажите, пожалуйста, как подключить dll на C# к проекту (dll) на С++. В интернете много примеров, где показаны примеры по подключению...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru