Ошибка при вызове loadlibrary не найдена указанная процедура

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

1

05.04.2014, 16:39. Показов 13170. Ответов 16


Студворк — интернет-сервис помощи студентам

Добрый день.

Хочу зарегистрировать в системе библиотеку wiaaut.dll. Беда в том, что на одном ПК с вин ХП она регается нормально, а другом ПК с вин ХП регается с ошибкой Ошибка при вызове LoadLibrary(«wiaaut.dll») — Не найдена указанная процедура.

Использую команду regsvr32 wiaaut.dll.

Кто что может подсказать по данному вопросу?



0



Модератор

Эксперт HardwareЭксперт Windows

15771 / 7813 / 734

Регистрация: 03.01.2012

Сообщений: 32,233

05.04.2014, 17:27

2

Pasych, А если так:

regsvr32 Полный_путь_к_файлу_wiaaut.dll



0



0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 17:31

 [ТС]

3

Цитата
Сообщение от gecata
Посмотреть сообщение

А если так:
regsvr32 Полный_путь_к_файлу_wiaaut.dll

все равно ошибка. Файл лежал в корне диска (хоть на каком диске) и все равно ошибка. Не пойму, что еще надо установить, чтоб все ок было т.к на другом компе с ХП все нормально. Из 3 компов с ХП на одном установилась без проблем, 2 — данная ошибка, на 1 компе с вин 7 тоже установилась без проблем



0



Модератор

Эксперт HardwareЭксперт Windows

15771 / 7813 / 734

Регистрация: 03.01.2012

Сообщений: 32,233

05.04.2014, 17:40

4

А файл regsvr32.exe на проблемном компе на месте лежит и свойства его не отличаются от компа, где проблемы нет?



0



0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 17:43

 [ТС]

5

Цитата
Сообщение от gecata
Посмотреть сообщение

А файл regsvr32.exe на проблемном компе на месте лежит и свойства его не отличаются от компа, где проблемы нет?

лежит на своем месте windowssystem32, права вроде такие.

Дело в том, что даже на проблемном компе регистрация длл происходит, но вот именно на данной вылетает ошибка



0



Модератор

Эксперт Windows

8716 / 3341 / 244

Регистрация: 25.10.2010

Сообщений: 13,601

05.04.2014, 18:10

6

Учетки на компах какие?
Да и версии windows ХР какие?



0



0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 18:11

 [ТС]

7

Цитата
Сообщение от Persk
Посмотреть сообщение

Учетки на компах какие?
Да и версии windows ХР какие?

Админские, SP3



0



Модератор

Эксперт Windows

8716 / 3341 / 244

Регистрация: 25.10.2010

Сообщений: 13,601

05.04.2014, 18:17

8

Pasych, скинте файлик wiaaut.dll, проверим



0



0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 18:19

 [ТС]

9

Цитата
Сообщение от Persk
Посмотреть сообщение

Pasych, скинте файлик wiaaut.dll, проверим

wiaaut.rar



0



Модератор

Эксперт Windows

8716 / 3341 / 244

Регистрация: 25.10.2010

Сообщений: 13,601

05.04.2014, 18:29

10

На ХР так же с ошибкой, а вот в вин 7 успешно, может потому что версия файла
6.1.7600.16385 (win7_rtm.090713-1255)

Добавлено через 4 минуты
Откуда файл брали? Посмотрите есть ли там под вин ХР



0



0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 18:45

 [ТС]

11

Цитата
Сообщение от Persk
Посмотреть сообщение

Откуда файл брали? Посмотрите есть ли там под вин ХР

на работе у меня сработал данный вариант http://www.dllme.com/dll/files/wiaaut_dll.html
дома он не пошел. Сейчас еще пробывал установить данную версию wiaautsdk.zip, но результат тот же
Для регистрации данной компоненты необходима как минимум вин хп sp1



0



Модератор

Эксперт Windows

8716 / 3341 / 244

Регистрация: 25.10.2010

Сообщений: 13,601

05.04.2014, 19:26

12

Пришлось повозиться, но:
1. Установил всё от Microsoft Visual C++ Redistributable Package отсюда, ЗЫ разрядность соблюдаем
2. Оттуда же Microsoft .NET Framework 4 (автономный установщик)
3. Настройка http://msdn.microsoft.com/en-u… s.85).aspx
4. Регистрация

Цитата
Сообщение от Pasych
Посмотреть сообщение

Сейчас еще пробывал установить данную версию wiaautsdk.zip, но результат тот же

Итог

Регистрация библиотеки wiaaut.dll



1



Модератор

Эксперт Windows

8716 / 3341 / 244

Регистрация: 25.10.2010

Сообщений: 13,601

05.04.2014, 19:33

13

Да в шаге № 3 на вкладке Безопасность, оставил «По умолчанию»



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

05.04.2014, 20:31

14

а посмотреть, к примеру, сборкой тотала

Миниатюры

Регистрация библиотеки wiaaut.dll
 



0



duk337

05.04.2014, 20:36

Не по теме:

Persk, супер! Мне такое не по карману.



0



Persk

05.04.2014, 20:40

Не по теме:

duk337, самое сложное шаг №3, но если после каждого шага делать ребут и пытаться регить данный файл (5.1.2600.1106), возможно некоторые шаги могут и не понадобиться, хотя не уверен на все 100%, т.к. путь уже пройден



0



0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

06.04.2014, 01:49

 [ТС]

17

Цитата
Сообщение от Persk
Посмотреть сообщение

1. Установил всё от Microsoft Visual C++ Redistributable Package отсюда, ЗЫ разрядность соблюдаем
2. Оттуда же Microsoft .NET Framework 4 (автономный установщик)
3. Настройка http://msdn.microsoft.com/en-u… s.85).aspx
4. Регистрация

сделал, все что написано, но ошибка осталась. Только поправка, на компоненте, что вы писали что она для вин 7 там ошибка, что я писал еще в 1м сообщение в теме, а для последней длл,что я скидывал ошибка «длл не является исполняемым файлом и ни одного модуля поддержки для этого типа файлов не зарегистрированы»



0



Перейти к контенту

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

1

05.04.2014, 16:39. Показов 12763. Ответов 16


Добрый день.

Хочу зарегистрировать в системе библиотеку wiaaut.dll. Беда в том, что на одном ПК с вин ХП она регается нормально, а другом ПК с вин ХП регается с ошибкой Ошибка при вызове LoadLibrary(«wiaaut.dll») — Не найдена указанная процедура.

Использую команду regsvr32 wiaaut.dll.

Кто что может подсказать по данному вопросу?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Модератор

Эксперт HardwareЭксперт Windows

15123 / 7716 / 721

Регистрация: 03.01.2012

Сообщений: 31,760

05.04.2014, 17:27

2

Pasych, А если так:

regsvr32 Полный_путь_к_файлу_wiaaut.dll

0

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 17:31

 [ТС]

3

Цитата
Сообщение от gecata
Посмотреть сообщение

А если так:
regsvr32 Полный_путь_к_файлу_wiaaut.dll

все равно ошибка. Файл лежал в корне диска (хоть на каком диске) и все равно ошибка. Не пойму, что еще надо установить, чтоб все ок было т.к на другом компе с ХП все нормально. Из 3 компов с ХП на одном установилась без проблем, 2 — данная ошибка, на 1 компе с вин 7 тоже установилась без проблем

0

Модератор

Эксперт HardwareЭксперт Windows

15123 / 7716 / 721

Регистрация: 03.01.2012

Сообщений: 31,760

05.04.2014, 17:40

4

А файл regsvr32.exe на проблемном компе на месте лежит и свойства его не отличаются от компа, где проблемы нет?

0

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 17:43

 [ТС]

5

Цитата
Сообщение от gecata
Посмотреть сообщение

А файл regsvr32.exe на проблемном компе на месте лежит и свойства его не отличаются от компа, где проблемы нет?

лежит на своем месте windowssystem32, права вроде такие.

Дело в том, что даже на проблемном компе регистрация длл происходит, но вот именно на данной вылетает ошибка

0

Модератор

Эксперт Windows

8364 / 3329 / 241

Регистрация: 25.10.2010

Сообщений: 13,523

05.04.2014, 18:10

6

Учетки на компах какие?
Да и версии windows ХР какие?

0

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 18:11

 [ТС]

7

Цитата
Сообщение от Persk
Посмотреть сообщение

Учетки на компах какие?
Да и версии windows ХР какие?

Админские, SP3

0

Модератор

Эксперт Windows

8364 / 3329 / 241

Регистрация: 25.10.2010

Сообщений: 13,523

05.04.2014, 18:17

8

Pasych, скинте файлик wiaaut.dll, проверим

0

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 18:19

 [ТС]

9

Цитата
Сообщение от Persk
Посмотреть сообщение

Pasych, скинте файлик wiaaut.dll, проверим

wiaaut.rar

0

Модератор

Эксперт Windows

8364 / 3329 / 241

Регистрация: 25.10.2010

Сообщений: 13,523

05.04.2014, 18:29

10

На ХР так же с ошибкой, а вот в вин 7 успешно, может потому что версия файла
6.1.7600.16385 (win7_rtm.090713-1255)

Добавлено через 4 минуты
Откуда файл брали? Посмотрите есть ли там под вин ХР

0

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

05.04.2014, 18:45

 [ТС]

11

Цитата
Сообщение от Persk
Посмотреть сообщение

Откуда файл брали? Посмотрите есть ли там под вин ХР

на работе у меня сработал данный вариант http://www.dllme.com/dll/files/wiaaut_dll.html
дома он не пошел. Сейчас еще пробывал установить данную версию wiaautsdk.zip, но результат тот же
Для регистрации данной компоненты необходима как минимум вин хп sp1

0

Модератор

Эксперт Windows

8364 / 3329 / 241

Регистрация: 25.10.2010

Сообщений: 13,523

05.04.2014, 19:26

12

Пришлось повозиться, но:
1. Установил всё от Microsoft Visual C++ Redistributable Package отсюда, ЗЫ разрядность соблюдаем
2. Оттуда же Microsoft .NET Framework 4 (автономный установщик)
3. Настройка http://msdn.microsoft.com/en-u… s.85).aspx
4. Регистрация

Цитата
Сообщение от Pasych
Посмотреть сообщение

Сейчас еще пробывал установить данную версию wiaautsdk.zip, но результат тот же

Итог

Регистрация библиотеки wiaaut.dll

1

Модератор

Эксперт Windows

8364 / 3329 / 241

Регистрация: 25.10.2010

Сообщений: 13,523

05.04.2014, 19:33

13

Да в шаге № 3 на вкладке Безопасность, оставил «По умолчанию»

0

2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

05.04.2014, 20:31

14

а посмотреть, к примеру, сборкой тотала

Миниатюры

Регистрация библиотеки wiaaut.dll
 

0

duk337

05.04.2014, 20:36

Не по теме:

Persk, супер! Мне такое не по карману.

0

Persk

05.04.2014, 20:40

Не по теме:

duk337, самое сложное шаг №3, но если после каждого шага делать ребут и пытаться регить данный файл (5.1.2600.1106), возможно некоторые шаги могут и не понадобиться, хотя не уверен на все 100%, т.к. путь уже пройден

0

0 / 0 / 0

Регистрация: 15.10.2013

Сообщений: 85

06.04.2014, 01:49

 [ТС]

17

Цитата
Сообщение от Persk
Посмотреть сообщение

1. Установил всё от Microsoft Visual C++ Redistributable Package отсюда, ЗЫ разрядность соблюдаем
2. Оттуда же Microsoft .NET Framework 4 (автономный установщик)
3. Настройка http://msdn.microsoft.com/en-u… s.85).aspx
4. Регистрация

сделал, все что написано, но ошибка осталась. Только поправка, на компоненте, что вы писали что она для вин 7 там ошибка, что я писал еще в 1м сообщение в теме, а для последней длл,что я скидывал ошибка «длл не является исполняемым файлом и ни одного модуля поддержки для этого типа файлов не зарегистрированы»

0

The Microsoft gflags tool will always tell you exactly what dependency is failing to load and why.

Run gflags -i your_application.exe +sls. After that execute the application under the debugger to capture the loader traces.

gflags is part of Debugging Tools — you might check in C:Program Files (x86)Windows Kits10Debuggersx64 to see if you already have it. You can add that directory to your path, or just execute gflags from that directory in cmd.exe.

For example, after running gflags, put a break point on the ::LoadLibrary(_T("foo")) call and step over it while looking for loader errors in your Visual Studio output window, e.g.

4b00:396c @ 479194074 - LdrpSnapThunk - ERROR: Procedure "?SetObject@vis_DollarMap@@QEAAXHPEAX@Z" could not be located in DLL "bar.dll"
First-chance exception at 0x0000000077307EF8 (ntdll.dll) in your_application.exe: 0xC0000139: Entry Point Not Found.
4b00:396c @ 479194074 - LdrpGenericExceptionFilter - ERROR: Function LdrpSnapIAT raised exception 0xc0000139
    Exception record: .exr 0000000000129070
    Context record: .cxr 0000000000128B80
4b00:396c @ 479194074 - LdrpHandleOneOldFormatImportDescriptor - ERROR: Snapping the imports from DLL "C:test64Debugfoo.DLL" to DLL "C:test64Debugbar.dll" failed with status 0xc0000139

This means that during the load of foo.dll, the dependency bar.dll was imported, and the bar.dll import failed.

The dependency import failed because the procedure ?SetObject@vis_DollarMap@@QEAAXHPEAX@Z was missing — you can demangle that to public: void __cdecl vis_DollarMap::SetObject(int,void * __ptr64) __ptr64.

You probably have the wrong version of a dependency — maybe you need to rebuild the dependency to get it up to date.


Run gflags -i your_application.exe -sls afterwards to disable the loader traces.

The Microsoft gflags tool will always tell you exactly what dependency is failing to load and why.

Run gflags -i your_application.exe +sls. After that execute the application under the debugger to capture the loader traces.

gflags is part of Debugging Tools — you might check in C:Program Files (x86)Windows Kits10Debuggersx64 to see if you already have it. You can add that directory to your path, or just execute gflags from that directory in cmd.exe.

For example, after running gflags, put a break point on the ::LoadLibrary(_T("foo")) call and step over it while looking for loader errors in your Visual Studio output window, e.g.

4b00:396c @ 479194074 - LdrpSnapThunk - ERROR: Procedure "?SetObject@vis_DollarMap@@QEAAXHPEAX@Z" could not be located in DLL "bar.dll"
First-chance exception at 0x0000000077307EF8 (ntdll.dll) in your_application.exe: 0xC0000139: Entry Point Not Found.
4b00:396c @ 479194074 - LdrpGenericExceptionFilter - ERROR: Function LdrpSnapIAT raised exception 0xc0000139
    Exception record: .exr 0000000000129070
    Context record: .cxr 0000000000128B80
4b00:396c @ 479194074 - LdrpHandleOneOldFormatImportDescriptor - ERROR: Snapping the imports from DLL "C:test64Debugfoo.DLL" to DLL "C:test64Debugbar.dll" failed with status 0xc0000139

This means that during the load of foo.dll, the dependency bar.dll was imported, and the bar.dll import failed.

The dependency import failed because the procedure ?SetObject@vis_DollarMap@@QEAAXHPEAX@Z was missing — you can demangle that to public: void __cdecl vis_DollarMap::SetObject(int,void * __ptr64) __ptr64.

You probably have the wrong version of a dependency — maybe you need to rebuild the dependency to get it up to date.


Run gflags -i your_application.exe -sls afterwards to disable the loader traces.

  • Remove From My Forums
  • Общие обсуждения

  • Доброго всем времени суток!
    Столкнулись с проблемой, неможем зарегать Dll через стандартный regsvr32 в Win vista HomeBasiс.
    Мои действия:Пуск-Выполнить…- regsvr32 c:1cScaner.dll — OK. /dll лежит там.
    Ответ системы:Не удалось загрузить модуль «c:1cScaner.dll» Проверьте что двоичный файл хранится на указаном пути или запустите отладку… Не найден указаный модуль.
    Этиже самые dll раньше регистрировались и сейчас регистрируются на другом компе.
    Очень прошу помочь.
    Заранее благодарю.

    • Изменен тип

      18 октября 2010 г. 20:02
      давность и отсутствие активности в теме

  • Печать

Страницы: [1]   Вниз

Тема: Ошибка при вызове LoadLibrary. Не найдена указанная процедура.  (Прочитано 8496 раз)

Здравствуйте!
При установке ПО CitySoftWarehouseDOS_v3_8_0_0.exe не регистрируются библиотеки
CitySoftWarehouseDos.dll
CPT_DOS.dll
Код ошибки 3.
При попытке зарегистрировать их вручную возникает ошибка
Другие библиотеки в том числе старая CPT.dll регистрируются нормально.
Информация о установленной системе в файле.
http://1sobmen.myjino.ru/comp.nfo
Как зарегистрировать указанные библиотеки?


Записан


Добрый день.

Пожалуйста, попробуйте зарегистрировать dll-компоненту вручную. Как это сделать, описано тут.


Записан


Я уже писал, что пытался зарегистрировать их вручную. Скриншот демонстрирует ошибку при ручной регистрации через regsvr32.exe.
В системе не хватает каких-то файлов, которые использует ваша программа. Для решения этой проблемы необходимо знать какие библиотеки вы используете?


Записан


Или в одной из используемых вами системных библиотек нет нужной функции?


Записан


Добрый день.

Дистрибутив CitySoftLite полностью готов к установке и работе. Скорее всего решение вопроса следует искать в Вашей операционной системе.

Попробуйте установить дистрибутив на чистый компьютер. Если возникнут затруднения, пожалуйста, дайте нам знать.


Записан


  • Печать

Страницы: [1]   Вверх

ОФФ: Ошибка при регистрации внешней компоненты.

Ø

Я
   kn

02.08.05 — 11:31

При регистрации ВК compound.dll Win XP выдает ошибку(«Ошибка при вызове
LoadLibrary(«compound.dll»)») Не найден указанный модуль»).ВК для 1C v7.7.
Что может быть?

   Денис2

1 — 02.08.05 — 11:33

Ну… Попробую телепатнуть… Наверное, компоненту запихнули в. А надо было в КаталогИБ() или в BIN от 1ски…

   kn

2 — 02.08.05 — 11:36

Компонента лежит в BIN.

   Денис2

3 — 02.08.05 — 11:37

а BIN где?

   kn

4 — 02.08.05 — 11:39

(3)локально,c:programm files1Cv7.7bin

   Денис2

5 — 02.08.05 — 11:40

(4) Попробуй указать путь полностью.
И права на реестр есть?

   lalex23

6 — 02.08.05 — 11:51

а ВК точно рабочая?

   kn

7 — 02.08.05 — 12:34

Под лок.админом тоже не регистрируется.ВК с proclub.

   kn

8 — 03.08.05 — 06:07

Хочу научиться регистрировать dll.Не получается regsvr32.exe compound.dll.

   orlik

9 — 03.08.05 — 08:22

Я не пойму… У тебя ошибка при вызове длллки или при регистрации?

   orlik

10 — 03.08.05 — 08:25

кстати. Спасибо за РОМ-МАИЛ.ДЛЛ
при регистрации этой длл ну но писать «regsvr32.exe сЖпуть к дллcompound.dll»

   orlik

11 — 03.08.05 — 08:29

пример регистрации
regsvr32.exe «c:program files1cv77bincompound.dll»

   kn

12 — 03.08.05 — 09:19

Спасибо orlik, но результат тотже.
Пробую зарегистрировать Rom Mail ошибка таже.Еще раз по шагам
1)Захожу в XP с правами лок Администратора
2)Помещаю compound.dll и compound.als в папку с 1С c:program files1cv77bin
3)Регистрирую regsvr32.exe «c:program files1cv77bincompound.dll»
Получаю системную ошибку «Ошибка при вызове
LoadLibrary(«compound.dll»).Не найден указанный модуль».
Что еще можно посмотреть?

   kn

13 — 03.08.05 — 09:22

(12)+ Ошибка, если точно, такая Ошибка при вызове
LoadLibrary(«c:programm files1cv7.7binROM-Mail.dll»).-Не найден указанный модуль».

  

orlik

14 — 03.08.05 — 11:05

c:programm files1cv7.7binROM-Mail.dll
помоему ты путь неправельный указал
надо вроде
c:program files1cv7.7binROM-Mail.dll
Там точно 1cv7.7?
 выходи в асю 288928318

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Microsoft gflags Инструмент всегда сообщит вам, какая зависимость не загружается и почему.

Run gflags -i your_application.exe +sls. После этого запустите приложение в отладчике, чтобы захватить следы погрузчика.

gflags является частью Инструменты отладки — вы можете зарегистрироваться C:Program Files (x86)Windows Kits10Debuggersx64 чтобы узнать, есть ли оно у вас. Вы можете добавить этот каталог в свой путь или просто выполнить gflags из этого каталога в cmd.exe.

Например, после запуска gflags установите точку останова на ::LoadLibrary(_T("foo")) вызовите и перешагните через него, ища ошибки загрузчика в окне вывода Visual Studio, например

4b00:396c @ 479194074 - LdrpSnapThunk - ERROR: Procedure "?SetObject@vis_DollarMap@@QEAAXHPEAX@Z" could not be located in DLL "bar.dll"
First-chance exception at 0x0000000077307EF8 (ntdll.dll) in your_application.exe: 0xC0000139: Entry Point Not Found.
4b00:396c @ 479194074 - LdrpGenericExceptionFilter - ERROR: Function LdrpSnapIAT raised exception 0xc0000139
    Exception record: .exr 0000000000129070
    Context record: .cxr 0000000000128B80
4b00:396c @ 479194074 - LdrpHandleOneOldFormatImportDescriptor - ERROR: Snapping the imports from DLL "C:test64Debugfoo.DLL" to DLL "C:test64Debugbar.dll" failed with status 0xc0000139

Это означает, что при загрузке foo.dll, зависимость bar.dll был импортирован, а bar.dll сбой импорта.

Импорт зависимости завершился неудачно, поскольку процедура ?SetObject@vis_DollarMap@@QEAAXHPEAX@Z пропал — вы можете разобрать что к public: void __cdecl vis_DollarMap::SetObject(int,void * __ptr64) __ptr64.

Вероятно, у вас неправильная версия зависимости — возможно, вам нужно перестроить зависимость, чтобы обновить ее.


Run gflags -i your_application.exe -sls потом отключить следы загрузчика.

The Microsoft gflags tool will always tell you exactly what dependency is failing to load and why.

Run gflags -i your_application.exe +sls. After that execute the application under the debugger to capture the loader traces.

gflags is part of Debugging Tools — you might check in C:Program Files (x86)Windows Kits10Debuggersx64 to see if you already have it. You can add that directory to your path, or just execute gflags from that directory in cmd.exe.

For example, after running gflags, put a break point on the ::LoadLibrary(_T("foo")) call and step over it while looking for loader errors in your Visual Studio output window, e.g.

4b00:396c @ 479194074 - LdrpSnapThunk - ERROR: Procedure "?SetObject@vis_DollarMap@@QEAAXHPEAX@Z" could not be located in DLL "bar.dll"
First-chance exception at 0x0000000077307EF8 (ntdll.dll) in your_application.exe: 0xC0000139: Entry Point Not Found.
4b00:396c @ 479194074 - LdrpGenericExceptionFilter - ERROR: Function LdrpSnapIAT raised exception 0xc0000139
    Exception record: .exr 0000000000129070
    Context record: .cxr 0000000000128B80
4b00:396c @ 479194074 - LdrpHandleOneOldFormatImportDescriptor - ERROR: Snapping the imports from DLL "C:test64Debugfoo.DLL" to DLL "C:test64Debugbar.dll" failed with status 0xc0000139

This means that during the load of foo.dll, the dependency bar.dll was imported, and the bar.dll import failed.

The dependency import failed because the procedure ?SetObject@vis_DollarMap@@QEAAXHPEAX@Z was missing — you can demangle that to public: void __cdecl vis_DollarMap::SetObject(int,void * __ptr64) __ptr64.

You probably have the wrong version of a dependency — maybe you need to rebuild the dependency to get it up to date.


Run gflags -i your_application.exe -sls afterwards to disable the loader traces.

Mindeo CS2290 BT. Обновление прошивки сканера

Mindeo CS2290BT. Подключение к ПК по Блютус

Mindeo CS2290 BT. Сопряжение с базой

Mindeo CS2290 RF. Сопряжение с базой

Mindeo CS2290. Настройка автоматического переключения режима сканирования при установке/снятии на подставку

Mindeo CS2290. Настройка работы в Пакетном (Batch) режиме

Mindeo. Cброс на заводские настройки

Mindeo MD6600. Обновление прошивки сканера

Mindeo MD6600. Подключение в Эвотор Frontol6 Мой склад МТС / Атол91- 92Ф Litebox Контур МАРКЕТ

Mindeo MP719. Включение режима непрерывного сканирования

Mindeo MP725. Обновление прошивки сканера

Mindeo MP86008608. Обновление прошивки сканера

Mindeo. Базовая проверка сканера

Mindeo. Включение передачи скрытых символов

Mindeo. Запрос технической поддержки

Mindeo. Идентификации версии прошивки

Mindeo. Идентификация модели и серийного номера сканера

Mindeo. Переключение режимов работы USB-HID и USB-VCOM

Mindeo. Подключение сканера в платформе 1С в режиме Эмуляции COM порта

Mindeo. Подключение сканеров Mindeo в платформе 1С в режиме Эмуляции клавиатуры

У меня проблемы с LoadLibrary () и получаю ошибку, которая не имеет смысла для меня:

   ::SetLastError(0);

   m_hDll = ::LoadLibrary(szName);

   if (m_hDll == NULL) // Failure to load the DLL.
   {
      DWORD err = GetLastError();
   }

Ошибка 127 («Указанная процедура не найдена».) Это не имеет никакого смысла для меня при вызове LoadLibrary (). Я еще не вызывал GetProcaddress().

DLL (и приложение) скомпилированы с VS++ 2005 SP1.

Что может быть не так?

2009-06-27 16:52

8
ответов

Давайте сделаем это шаг за шагом:

  1. Сообщение об ошибке означает, что DLL была найдена, но отсутствует требуемая функция. (Джиттер прав.) Это означает, что у вас есть dll, что вам нужно, но не правильная версия. (Davefiddes прав, хотя проблема может быть в любой dll, а не только в библиотеке времени выполнения Microsoft. И, по крайней мере для крупных обновлений, Microsoft дает своим библиотекам времени выполнения разные имена, так что в этом случае это не будет проблемой.)

  2. Это не имеет смысла, потому что ни одна функция не была запрошена из загружаемой библиотеки. (Адам прав.)

  3. Поэтому ожидалось, что отсутствующая функция будет найдена не в dll, которая явно загружается командой LoadLibrary, а в зависимой dll, которая загружается в то же время неявно, потому что это требуется для первой dll. (Zebrabox был близко.)

  4. Зависимая dll — это dll, которая «статически» связана с библиотекой, загружаемой явным образом, через библиотеку импорта или файл.lib, включенный в шаг компоновщика явно загруженной dll. (Держу пари, вы не знали, что «библиотека динамических ссылок» может быть «статически связана». Что ж, теперь вы понимаете.)

  5. Если у вас есть несколько версий одной и той же библиотеки DLL в разных папках, то это также может быть проблемой пути поиска (как предлагает zebrabox). Порядок поиска путей к DLL является сложным предметом сам по себе: см. http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx. Это зависит от операционной системы, между прочим. Самым безопасным вариантом, если это практически осуществимо, является помещение всех потенциальных проблемных dll в ту же папку, что и ваш exe-файл.

  6. Зависимые библиотеки также могут иметь свои собственные зависимые библиотеки, что может очень затруднить решение этой проблемы. Зависит может помочь, но если нет, попробуйте filemon. Последняя dll, которая успешно прочитана перед вашим сообщением об ошибке, является той, которая является неправильной версией.

2010-04-08 20:52

Средство Microsoft gflags всегда сообщит вам, какую именно зависимость не удается загрузить и почему.

Бежать gflags -i your_application.exe +sls, После этого запустите приложение под отладчиком, чтобы захватить трассировку загрузчика.

gflags является частью средств отладки — вы можете проверить C:Program Files (x86)Windows Kits10Debuggersx64 чтобы увидеть, если у вас уже есть. Вы можете добавить этот каталог в свой путь или просто выполнить gflags из этого каталога в cmd.exe.

Например, после запуска gflags установите точку останова на ::LoadLibrary(_T("foo")) вызовите и перешагните через него, ища ошибки загрузчика в окне вывода Visual Studio, например

4b00:396c @ 479194074 - LdrpSnapThunk - ERROR: Procedure "[email protected]_DollarMap@@[email protected]" could not be located in DLL "bar.dll"
First-chance exception at 0x0000000077307EF8 (ntdll.dll) in your_application.exe: 0xC0000139: Entry Point Not Found.
4b00:396c @ 479194074 - LdrpGenericExceptionFilter - ERROR: Function LdrpSnapIAT raised exception 0xc0000139
    Exception record: .exr 0000000000129070
    Context record: .cxr 0000000000128B80
4b00:396c @ 479194074 - LdrpHandleOneOldFormatImportDescriptor - ERROR: Snapping the imports from DLL "C:test64Debugfoo.DLL" to DLL "C:test64Debugbar.dll" failed with status 0xc0000139

Это означает, что во время загрузки foo.dll зависимость bar.dll был импортирован, и bar.dll Не удалось импортировать.

Не удалось импортировать зависимость, поскольку процедура [email protected]_DollarMap@@[email protected] пропал без вести — вы можете разобраться, что public: void __cdecl vis_DollarMap::SetObject(int,void * __ptr64) __ptr64,

Возможно, у вас неправильная версия зависимости — возможно, вам нужно перестроить зависимость, чтобы обновить ее.


Бежать gflags -i your_application.exe -sls впоследствии отключить следы загрузчика.

2016-05-11 16:59

Сообщение об ошибке означает, что найдена соответствующая DLL, но отсутствует требуемый экспорт процедуры. У вас есть правильная версия DLL?

Ты можешь использовать dumpbin.exe чтобы проверить, какие функции экспортирует ваша DLL и проверить правильность написания.

2009-06-27 17:04

Установите средства отладки и запустите gflags -i your_application.exe +sls, После этого выполните приложение под отладчиком, чтобы захватить следы загрузчика.


user69319

19 авг ’11 в 08:41
2011-08-19 08:41

2011-08-19 08:41

Две догадки от меня
1. LoadLibrary вызывает DllMain указанной DLL (при первой попытке подключиться к вашему процессу). Длинный выстрел, но это там?
2. LoadLibrary загрузит указанную DLL и все ее зависимости. Таким образом, если зависимый модуль DLL не может быть найден в пути поиска, что приведет к сбою загрузки — вы можете использовать для проверки зависящий от него файл — доступно здесь

2009-06-27 18:08

У вас есть несоответствие между средами выполнения, используемыми для вашего приложения и DLL?

Проблема, которая укусила меня в VS 2005 в прошлом, состоит в том, что одна часть построена как сборка Release, а другая — как сборка Debug. Они загружают разные версии DLL-библиотек времени выполнения Microsoft, которые несовместимы, поскольку вы можете загрузить только одну из них в данный процесс.

Я думаю, что причина, по которой вы видите ошибку 127, в том, что ваша DLL ищет функцию в загруженной DLL времени выполнения, которой нет, потому что это неверное время выполнения.


user6353

27 июн ’09 в 17:50
2009-06-27 17:50

2009-06-27 17:50

Я получил тот же код ошибки после вызова LoadLibrary(). Наконец, через обходчик зависимостей выяснилось, что некоторые зависимости модуля (szName) отсутствуют.

2011-03-18 12:14

Хорошо, вот мое решение: у нас была сложная система зависимостей, и среди них были две библиотеки DLL с тем же именем (т.е.server.dll), но расположены на разных дорожках.

когда client.dll был загружен LOAD_WITH_ALTERED_SEARCH_PATHпохоже, что окна не могли определить, какой из server.dll следует использовать в разрешении символов (оба server.dll были успешно загружены, конечно).

Решение было довольно простым: пусть загружаемые библиотеки имеют уникальные имена, т.е. server-1.dll а также server-2.dll.

2019-09-10 17:37

Я бы предложил использовать Dependency Walker, чтобы узнать, какой метод отсутствует или какие библиотеки необходимы или отсутствуют.

2012-10-13 08:00

  • Ошибка при вызове loadlibrary не найден указанный модуль regsvr32
  • Ошибка при вызове конструктора comобъект установлен безопасный режим выполнение запрещено 1с
  • Ошибка при вызове loadlibrary msxml3 dll
  • Ошибка при вызове конструктора comобъект не удается найти указанный файл
  • Ошибка при вызове ifcplugin signhashsimple ошибка не определена