해당 Win32 함수의 논리 래퍼로 사용됩니다. VirtualQuery의 Win32 구현은 호출 프로세스의 가상 주소 공간에서 페이지 범위에 대한 정보를 검색합니다.
HRESULT VirtualQuery (
[in] void* lpAddress,
[out] void* lpBuffer,
[in] SIZE_T dwLength,
[out] SIZE_T* pResult
);
매개 변수
lpAddress
[in] 쿼리할 가상 메모리의 주소에 대한 포인터입니다.lpBuffer
[out] 지정한 메모리 영역의 정보가 포함된 구조체에 대한 포인터입니다.dwLength
[in] lpBuffer가 가리키는 버퍼의 크기(바이트)입니다.pResult
[out] 정보 버퍼에서 반환된 바이트 수에 대한 포인터입니다.
반환 값
HRESULT |
설명 |
|---|---|
S_OK |
VirtualQuery에서 성공적으로 반환되었습니다. |
HOST_E_CLRNOTAVAILABLE |
CLR(공용 언어 런타임)이 프로세스에 로드되지 않았거나 관리 코드를 실행할 수 없는 상태 또는 호출을 처리할 수 없는 상태입니다. |
HOST_E_TIMEOUT |
호출 시간이 초과되었습니다. |
HOST_E_NOT_OWNER |
호출자가 잠금을 소유하고 있지 않습니다. |
HOST_E_ABANDONED |
차단된 스레드나 파이버가 기다리던 이벤트가 취소되었습니다. |
E_FAIL |
알 수 없는 치명적인 오류가 발생했습니다. 메서드가 E_FAIL을 반환하면 프로세스에서 CLR을 더 이상 사용할 수 없습니다. 이후에 호스팅 메서드를 호출하면 HOST_E_CLRNOTAVAILABLE이 반환됩니다. |
설명
VirtualQuery는 호출 프로세스의 가상 주소 공간에서 페이지 범위에 대한 정보를 제공합니다. 이 구현을 통해 pResult 매개 변수의 값은 정보 버퍼에서 반환되는 바이트 수로 설정되고 HRESULT 값이 반환됩니다. Win32 VirtualQuery 함수에서 반환 값은 버퍼 크기입니다. 자세한 내용은 Windows 플랫폼 설명서를 참조하십시오.
중요 |
|---|
운영 체제에서 VirtualQuery를 구현하면 교착 상태가 발생하지 않으며 사용자 코드에서 임의의 스레드가 일시 중단된 상태로 실행이 완료될 수 있습니다.이 메서드의 호스팅된 버전을 구현할 경우에는 주의를 기울여야 합니다. |
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: MSCorEE.h
라이브러리: MSCorEE.dll에 리소스로 포함됨
.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
중요