2010-07-21 3 views
1

Привет всем, дайте мне сначала фон: Я работаю над проектом, который построен с vs2005 на winxp sp3 с помощью windows sdk 7.0 и самым важным исправлением, которое предназначено для работы с win xp (sp 0) -> windows 7.Почему я получаю «Точка входа в процедуру CreateVssBackupComponentsInternal не может быть расположена в динамической библиотеке ссылок VSSAPI.DLL».

часть проекта запрашивает моментальные снимки и проигрывает бит. В моей среде разработки все в порядке, на окнах 7 все в порядке (Kinda ok, но это не главное).

На чистых хр машинах (sp3 & 2) Я получаю: «Точка входа в процедуру CreateVssBackupComponentsInternal не может находиться в динамической библиотеки VSSAPI.DLL», когда я начинаю приложение - Еще до того, добраться до части в код, связанный с VSSAPI ...

1) как он может поднять сообщение до того, как я доберусь до вызова? 2) Есть ли у кого-нибудь идеи, почему это не работает?

благодаря

ответ

2

1) Поскольку DLL загружается при запуске вашего приложения, а не когда это первый необходимо. Просмотрите задержку загрузки или системный вызов LoadLibrary, если вы хотите загрузить его позже или даже условно.

2) Я не знаю, но кто-то задал тот же вопрос перед: Why does my Volume Shadow Copy Service requester fail: cannot find CreateVssBackupComponentsInternal

+0

Спасибо за ваш ответ, я видел этот пост, и я подумал, что, потому что мой вызов функции не был назван, что мой вопрос другой. Надеюсь, мой следующий вопрос не будет слишком большим, чтобы динамически вызвать CreateBackupVssComponent легко, но остальные функции (которые являются членами функций классов, которые являются членами семейства vss) будут немного сложнее. Является ли это вызовом функции CreateBackupVssComponent, которая заставляет приложение проверять, существует ли он в DLL? Другими словами, если я вообще не вызову функцию, она будет искать ее в DLL? – ManicQin

+0

Если есть вызов функции в вашем приложении, DLL будет загружаться при запуске, и функция должна быть в нем. Вы не можете сделать это условно, не используя LoadLibrary и GetProcAddress. – torhu

+0

ммм ... Спасибо. Я попробую загрузить их динамически. Я обнаружил, что некоторые из библиотек моего проекта вызывают сообщение «WINVER не определено. По умолчанию 0x0502 (Windows Server 2003)», вероятно, это проблема. спасибо! – ManicQin

Смежные вопросы

 Смежные вопросы