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

Đề tài: Hàm VirtualProtect có nhiệm vụ làm gì??

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Thumbs down Hàm VirtualProtect có nhiệm vụ làm gì??

    đọc thấy MSDN nó ghi chú thế này mà mình ko hiểu là nó làm gì cả
    VirtualProtect Function

    Changes the protection on a region of committed pages in the virtual address space of the calling process.

    To change the access protection of any process, use the VirtualProtectEx function.


    Syntax
    BOOL WINAPI VirtualProtect(
    __in LPVOID lpAddress,
    __in SIZE_T dwSize,
    __in DWORD flNewProtect,
    __out PDWORD lpflOldProtect
    );

    Parameters
    lpAddress
    A pointer to the base address of the region of pages whose access protection attributes are to be changed.

    All pages in the specified region must be within the same reserved region allocated when calling the VirtualAlloc or VirtualAllocEx function using MEM_RESERVE. The pages cannot span adjacent reserved regions that were allocated by separate calls to VirtualAlloc or VirtualAllocEx using MEM_RESERVE.

    dwSize
    The size of the region whose access protection attributes are to be changed, in bytes. The region of affected pages includes all pages containing one or more bytes in the range from the lpAddress parameter to (lpAddress+dwSize). This means that a 2-byte range straddling a page boundary causes the protection attributes of both pages to be changed.

    flNewProtect
    The memory protection option. This parameter can be one of the memory protection constants.

    For pages that are already valid, this setting is ignored if it conflicts with the page's current setting specified using VirtualAlloc or VirtualAllocEx.

    lpflOldProtect
    A pointer to a variable that receives the previous access protection value of the first page in the specified region of pages. If this parameter is NULL or does not point to a valid variable, the function fails.

    Return Value
    If the function succeeds, the return value is nonzero.

    If the function fails, the return value is zero. To get extended error information, call GetLastError.

    Remarks
    You can set the access protection value on committed pages only. If the state of any page in the specified region is not committed, the function fails and returns without modifying the access protection of any pages in the specified region.

    The PAGE_GUARD protection modifier establishes guard pages. Guard pages act as one-shot access alarms. For more information, see Creating Guard Pages.

    It is best to avoid using VirtualProtect to change page protections on memory blocks allocated by GlobalAlloc, HeapAlloc, or LocalAlloc, because multiple memory blocks can exist on a single page. The heap manager assumes that all pages in the heap grant at least read and write access.

    Requirements
    Client Requires Windows Vista, Windows XP, or Windows 2000 Professional.
    Server Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
    Header Declared in Winbase.h; include Windows.h.

    Library Use Kernel32.lib.

    DLL Requires Kernel32.dll.


    See Also
    Memory Management Functions
    Virtual Memory Functions
    VirtualAlloc
    VirtualProtectEx



    Send comments about this topic to Microsoft

    Build date: 4/24/2008

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Nó dùng để set lại thuộc tính cho vùng nhớ. Có các loại thuộc tình cơ bản sau : đọc (PAGE_READ), ghi ( PAGE_WRITE ), thực thi ( PAGE_EXECUTE ), bảo vệ ( PAGE_GUARD ).
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

Các đề tài tương tự

  1. Focus chuột vào nhiều cửa sổ ( dạng viết auto game nhiều cửa sổ cùng lúc )
    Gửi bởi hoanghiep9x trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 13-07-2012, 10:28 PM
  2. Thêm và Sửa Table có quan hệ nhiều nhiều trong mô hinh MVC như thế nào?
    Gửi bởi minhchi trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 26-05-2012, 04:32 PM
  3. Cách thay đổi 1 vùng nhớ bằng hàm VirtualProtect
    Gửi bởi ragnakrorn77 trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 1
    Bài viết cuối: 28-04-2010, 09:48 AM
  4. VirtualProtect ???
    Gửi bởi LVAC trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 06-09-2009, 07:36 PM
  5. Hàm VirtualProtect dùng để làm gì,khi nào cần dùng đến nó
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 29-05-2009, 12:03 AM

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