Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Hỏi về ExAllocatePool

  1. #1
    Ngày gia nhập
    04 2007
    Bài viết
    15

    Mặc định Hỏi về ExAllocatePool

    Chào anh em. Chả là mình đang xem về cái hàm này. Trong MSDN nó diễn giải nhiều nghĩa lạ quá mình chưa hiểu được. Có ai đã xem về cái hàm này rồi thì chỉ cho mình hiểu với. Cứ đọc NonPagedPool, NonPaged lằng nhằng. Chưa thực sự hiểu nó muốn nói cái gì . Xin cảm ơn và hậu tạ. Đây là nó: ExAllocatePool
    Code:
    http://msdn2.microsoft.com/en-us/library/ms796846.aspx
    Còn đây là PoolType.
    Code:
    http://msdn2.microsoft.com/en-us/library/aa492492.aspx
    P/S:Mình mới chỉ hiểu là Pool Memory cho phép cấp phát bộ nhớ động có thể so sánh với malloc hoặc toán tử new. Không biết có đúng không nữa.
    "too much technology, in too little time. And little by little ... we went insane " (http://www.awarenetwork.org>).

  2. #2
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Hàm này là của DDK, dành cho viết driver, chạy ở Ring 0. Cậu đang viết driver à.

  3. #3
    Ngày gia nhập
    04 2007
    Bài viết
    15

    A, cảm ơn bạn. Đúng là hàm của DDK và chạy ở Ring 0(kernel mode). Đúng là mình đang viết một driver cho windows. Hiện tại mới tới đây mình có thể hiểu được.
    Setting Up Major Functions
    An Application communicates with a driver with the driver's Major Functions. These are set in the drivers array of function pointers MajorFunction.
    User Visible Name for the driver
    In order to create a user-visible name for the device just created, IoCreateSymbolicLink is called.
    Còn tới đây thì bối rối.
    Allocating Pool Memory
    The driver allocates some Pool Memory with ExAllocatePool.
    By the way, Paged and Non-Paged Pool Memory sized can be adjusted with the registry keys HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\(Non)PagedPoolSize. The Value specified is the size in bytes.
    Mình chỉ chưa mường tượng ra được ý nghĩa của Paged Pool và Non-Paged Pool là gì. Chắc bạn đã cũng từng làm qua nó rồi phải không? Bạn có thể diễn giải dùm mình ý nghĩa của 2 giá trị đó được chứ? Mình xin cảm ơn và hậu tạ.
    "too much technology, in too little time. And little by little ... we went insane " (http://www.awarenetwork.org>).

  4. #4
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Viết DDK mà không biết memory pool là gì thì kẹt lắm đấy. Đọc lại từ đầu của DDK help đi, phần Memory Management Functions.

  5. #5
    Ngày gia nhập
    04 2007
    Bài viết
    15

    Ok, cảm ơn bạn, mình đã đọc xong. Từ khóa bạn đưa cho mình rất hữu ích. Vậy mà cứ lên MSDN gõ NonPaged nó ra cả nhúm, không biết đường nào mà lần. Hehe. Giờ thì có thể giải quyết được phần nào thắc mắc của mình rồi. Đêm nay rất vui vì đã giải quyết được phần 1 build driver. Chừ đang đọc phần giao tiếp với driver. À, mà cảm ơn rồi còn thiếu phần hậu tạ, có gì cho mình hậu tạ sau nhen. ! hehe.( mà hậu tạ cái gì đây).
    Đã được chỉnh sửa lần cuối bởi noobvc : 29-05-2007 lúc 05:24 AM.
    "too much technology, in too little time. And little by little ... we went insane " (http://www.awarenetwork.org>).

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn