Поделиться через


Метод IHostMemoryManager::VirtualQuery

Служит логической программой-оболочкой для соответствующей функции 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. В функции VirtualQuery для Win32, возвращенное значение равно размеру буфера. Дополнительные сведения см. в документации по платформе Windows.

Важное примечаниеВажно

Реализация метода VirtualQuery в операционной системе не приводит к взаимоблокировке и может выполняться вплоть до завершения случайной приостановки потоков в пользовательском коде.Реализацию версии данного метода в основном приложении следует использовать с особой осторожностью.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: MSCorEE.h

Библиотека: включена как ресурс в MSCorEE.dll

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс IHostMemoryManager