Microsoft Windows CE 3.0  

VirtualQuery

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This function provides information about a range of pages in the virtual address space of the calling process.

DWORD
VirtualQuery(
LPCVOID
lpAddress
,
PMEMORY_BASIC_INFORMATION
lpBuffer
,
DWORD
dwLength
);

Parameters

lpAddress
Pointer to the base address of the region of pages to be queried. This value is rounded down to the next page boundary. To determine the size of a page on the host computer, use the GetSystemInfofunction.
lpBuffer
Pointer to a MEMORY_BASIC_INFORMATIONstructure in which information about the specified page range is returned.
dwLength
Specifies the size, in bytes, of the buffer pointed to by the lpBufferparameter.

Return Values

The actual number of bytes returned in the information buffer indicates success.

Remarks

VirtualQueryprovides information about a region of consecutive pages beginning at a specified address that share the following attributes:

  • The state of all pages is the same with the MEM_COMMIT, MEM_RESERVE, MEM_FREE, MEM_PRIVATE, MEM_MAPPED, or MEM_IMAGE flag.
  • If the initial page is not free, all pages in the region are part of the same initial allocation of pages reserved by a call to the VirtualAllocfunction.
  • The access of all pages is the same with the PAGE_READONLY, PAGE_READWRITE, PAGE_NOACCESS, PAGE_WRITECOPY, PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE, PAGE_EXECUTE_WRITECOPY, PAGE_GUARD, or PAGE_NOCACHE flag.

    The VirtualQueryfunction determines the attributes of the first page in the region and then scans subsequent pages until it scans the entire range of pages or until it encounters a page with a nonmatching set of attributes. The function returns the attributes and the size, in bytes, of the region of pages with matching attributes. For example, if there is a 20 MB region of free memory and VirtualQueryis called on a page that is 10 MB into the region, the function will obtain a state of MEM_FREE and a size of 10 MB.

    Requirements

    Runs on Versions Defined in Include Link to
    Windows CE OS 1.0 and later Winbase.h   Coredll.lib
    Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

    See Also

    GetSystemInfo, VirtualAlloc, MEMORY_BASIC_INFORMATION