2010-09-28 26 views
5

Từ MSDN: Hệ thốngLoadLibrary Reference Counting

duy trì một số tài liệu tham khảo cho mỗi quá trình trên tất cả các module được nạp. Gọi LoadLibrary tăng số lượng tham chiếu.

Số tham chiếu đó được lưu trữ ở đâu?

Trả lời

6

Trình tải cửa sổ thực tế được tìm thấy trong hàm LdrLoadDll của NTDLL.dll. Chức năng này không có giấy tờ và chức năng nội bộ của nó có thể thay đổi trong các phiên bản sau của cửa sổ; chỉ những người có quyền truy cập vào mã nguồn cửa sổ mới có thể nêu rõ điều gì xảy ra đằng sau hậu trường.

Tuy nhiên, nguồn của wine khả dụng và bạn có thể thấy where it increments the reference count; nó được lưu trữ trong thành viên LoadCount của cấu trúc heap LDR_MODULE. Vì đây không phải là cấu trúc nội bộ của rượu, có khả năng cấu trúc này dựa trên cấu trúc cửa sổ được thiết kế ngược thực, và do đó các cửa sổ có thể lưu trữ nó theo cùng một cách. Tuy nhiên, vì điều này là không có giấy tờ, nó có thể thay đổi trong bất kỳ phiên bản tương lai của cửa sổ, hoặc thậm chí với các bản vá lỗi cửa sổ nhỏ.

+0

Hoàn hảo, chính xác những gì tôi đang tìm kiếm. Cảm ơn! – mrduclaw

0

Đây chỉ là một phỏng đoán, nhưng nó có thể là một biến toàn cầu bên trong kernel32.dll (đó là DLL bổ sung LoadLibrary).

Các vấn đề liên quan