Загрузить системную dll: LoadLibrary (user32.dll) не работает на Win7 (32/64), но с XP все в порядке?

У меня проблема с использованием loadlibray для загрузки системной dll: user32.dll на Win7. (Xp в порядке)

Демо построено на XP с VS2008 и успешно работает на XP. Но когда он работает на Win7, он вылетает. Я использовал отладчик, и найти loadlibrary не удается.

  • Результат LoadLibrary: 0x0000000
  • Результат GetLastError: 998 (0x3E6)

Любые советы о том, как найти значение: 998?


person brant    schedule 01.09.2011    source источник
comment
Вы ведь не копировали user32.dll на эту машину? Общее объяснение состоит в том, что ваш код запуска повреждает кучу.   -  person Hans Passant    schedule 02.09.2011


Ответы (1)


Чтобы понять значение кодов ошибок, перейдите сюда:

http://msdn.microsoft.com/en-us/library/ms681381%28v=vs.85%29.aspx

Ошибка:

ERROR_NOACCESS: неверный доступ к ячейке памяти.

Похоже, что-то пытается получить доступ к нераспределенной памяти под Win7, но не под WinXP. Странный.

person trojanfoe    schedule 02.09.2011
comment
Да, 998, как вы сказали. Подробнее об этом коде ошибки см. здесь: support.microsoft.com/kb/196069. - person brant; 02.09.2011