Проблемы с KERNEL32.DLL
От: -NiTR0-  
Дата: 16.08.05 08:28
Оценка:
Моё приложение загружает мою же DLL, которая, в свою очередь, использует c:\windows\system32\KERNEL32.DLL
Скажите пожалуйста, по какой причине, часть функций в KERNEL32.DLL может не загружаться/не работать (проверял на Dependency Walker). В связи с этим, не работает моя DLL.
Спасибо.

16.08.05 18:22: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: Проблемы с KERNEL32.DLL
От: assad Россия  
Дата: 16.08.05 08:34
Оценка:
Здравствуйте, -NiTR0-, Вы писали:

NTR>Моё приложение загружает мою же DLL, которая, в свою очередь, использует c:\windows\system32\KERNEL32.DLL

NTR>Скажите пожалуйста, по какой причине, часть функций в KERNEL32.DLL может не загружаться/не работать (проверял на Dependency Walker). В связи с этим, не работает моя DLL.
NTR>Спасибо.
В связи с другой версиеё windows, в которой нет используемых тобой функций.
Вообще вопрос в ветку winapi
Re: Проблемы с KERNEL32.DLL
От: Gleb Alexeev  
Дата: 16.08.05 08:35
Оценка:
Здравствуйте, -NiTR0-, Вы писали:

NTR>Моё приложение загружает мою же DLL, которая, в свою очередь, использует c:\windows\system32\KERNEL32.DLL

NTR>Скажите пожалуйста, по какой причине, часть функций в KERNEL32.DLL может не загружаться/не работать (проверял на Dependency Walker). В связи с этим, не работает моя DLL.
NTR>Спасибо.
Например, если попробовать использовать функции, появившиеся в Win2000 или XP под 98-й.
Re[2]: Проблемы с KERNEL32.DLL
От: -NiTR0-  
Дата: 16.08.05 08:47
Оценка:
Здравствуйте, Gleb Alexeev

Все в ХР происходит.
Re[3]: Проблемы с KERNEL32.DLL
От: Gleb Alexeev  
Дата: 16.08.05 08:53
Оценка:
Здравствуйте, -NiTR0-, Вы писали:

NTR>Все в ХР происходит.


Как загружается DLL (load-time, runtime, delay-load)? Какую ошибку выдает приложение? Или если пользуетесь LoadLibrary/GetProcAddress, что говорит GetLastError?
Re[3]: Проблемы с KERNEL32.DLL
От: assad Россия  
Дата: 16.08.05 08:55
Оценка:
NTR>Все в ХР происходит.
Может сервис паки разные?
Re: Проблемы с KERNEL32.DLL
От: dad  
Дата: 16.08.05 09:16
Оценка: +1
Здравствуйте, -NiTR0-, Вы писали:

NTR>Моё приложение загружает мою же DLL, которая, в свою очередь, использует c:\windows\system32\KERNEL32.DLL

NTR>Скажите пожалуйста, по какой причине, часть функций в KERNEL32.DLL может не загружаться/не работать (проверял на Dependency Walker). В связи с этим, не работает моя DLL.
NTR>Спасибо.

поясни точнее как "не загружается", и в каком месте "не работает"
какой способ компоновки используешь?
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re: Проблемы с KERNEL32.DLL
От: -NiTR0-  
Дата: 16.08.05 10:16
Оценка:
Народ, вообщем ситуёвина такая:
Моя DLL, непонятно почему, вызывает 4 ф.-ции из c:\windows\system32\KERNEL32.DLL (я их не вызываю):

FlsAlloc,
FlsGetValue,
FlsSetValue,
FlsFree,

...но про них написанно следующее:

Client — Requires Windows "Longhorn".
Server — Requires Windows Server "Longhorn" or Windows Server 2003.
Header — Declared in Winbase.h; include Windows.h.
Library — Link to Kernel32.lib.
DLL — Requires Kernel32.dll.

у меня ХР.
После неудачной загрузки моей DLL FormatMessage показывает: "Неверная попытка доступа к адресу памяти"
После того как эти мне нахрен ненужные ф.-ции не находятся в KERNEL32.DLL, потому что их там нет, ничё не работает.

Скажите, КАК БЫТЬ???
Re[2]: Проблемы с KERNEL32.DLL
От: Gleb Alexeev  
Дата: 16.08.05 10:22
Оценка: 1 (1)
Здравствуйте, -NiTR0-, Вы писали:

NTR>Народ, вообщем ситуёвина такая:

NTR>Моя DLL, непонятно почему, вызывает 4 ф.-ции из c:\windows\system32\KERNEL32.DLL (я их не вызываю):

NTR>FlsAlloc,

NTR>FlsGetValue,
NTR>FlsSetValue,
NTR>FlsFree,

NTR>...но про них написанно следующее:


NTR>Client — Requires Windows "Longhorn".

NTR>Server — Requires Windows Server "Longhorn" or Windows Server 2003.
NTR>Header — Declared in Winbase.h; include Windows.h.
NTR>Library — Link to Kernel32.lib.
NTR>DLL — Requires Kernel32.dll.

NTR>у меня ХР.

NTR>После неудачной загрузки моей DLL FormatMessage показывает: "Неверная попытка доступа к адресу памяти"
NTR>После того как эти мне нахрен ненужные ф.-ции не находятся в KERNEL32.DLL, потому что их там нет, ничё не работает.
NTR>
NTR>Скажите, КАК БЫТЬ???

#define _WIN32_WINNT=0x0400
#include <windows.h>
Re[3]: Проблемы с KERNEL32.DLL
От: Gleb Alexeev  
Дата: 16.08.05 10:25
Оценка:
GA>
GA>#define _WIN32_WINNT=0x0400
GA>#include <windows.h>
GA>

Тьфу ты, без знака '=', #define _WIN32_WINNT 0x0400
Re: Проблемы с KERNEL32.DLL
От: -NiTR0-  
Дата: 16.08.05 11:29
Оценка:
Ребят.Проблема решена!
Каюсь, ошика была глупая, кое-где путь указал не правильный, случайно наткнулся.
Простите, если сможете.

Спасибо вам заподдержку.
Хотя вопрос про вызов этих неиспользуемых ф.-ций остался открытым, но без них всё пашет.
Еще раз извиняюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.