LoadLibrary Подсчет ссылок - PullRequest
       16

LoadLibrary Подсчет ссылок

5 голосов
/ 28 сентября 2010

С MSDN :

Система ведет подсчет ссылок для каждого загруженного модуля.Вызов LoadLibrary увеличивает счетчик ссылок.

Где хранится этот счетчик ссылок?

Ответы [ 2 ]

6 голосов
/ 28 сентября 2010

Фактический загрузчик Windows находится в функции NTDLL.dll LdrLoadDll .Эта функция недокументирована, и ее внутренняя функциональность может быть изменена в будущих версиях окон;только те, кто имеет доступ к исходному коду Windows, могут точно определить, что происходит за кулисами.

Однако, источник wine доступен, и вы можете видеть , где он увеличиваетсясчетчик ссылок ;он хранится в элементе LoadCount структуры кучи LDR_MODULE .Поскольку это не похоже на внутреннюю структуру вина, вполне вероятно, что эта структура основана на реальных, реконструированных оконных структурах, и, следовательно, окна, вероятно, хранят ее таким же образом.Однако, поскольку это недокументировано, оно может быть изменено в любой будущей версии Windows или даже с незначительными исправлениями Windows.

0 голосов
/ 28 сентября 2010

Это всего лишь предположение, но, вероятно, это глобальная переменная внутри kernel32.dll (это DLL, которая реализует LoadLibrary).

...