IHostMemoryManager::VirtualQuery (Método)
Actúa como contenedor lógico para la función de Win32 correspondiente. La implementación de Win32 de VirtualQuery
recupera información acerca de un intervalo de páginas en el espacio de direcciones virtual del proceso que llama.
Sintaxis
HRESULT VirtualQuery (
[in] void* lpAddress,
[out] void* lpBuffer,
[in] SIZE_T dwLength,
[out] SIZE_T* pResult
);
Parámetros
lpAddress
[in] Puntero a la dirección en la memoria virtual que se va a consultar.
lpBuffer
[out] Puntero a una estructura que contiene información acerca de la región de memoria especificada.
dwLength
[in] Tamaño en bytes del búfer al que señala lpBuffer
.
pResult
[out] Puntero al número de bytes que devuelve el búfer de información.
Valor devuelto
HRESULT | Descripción |
---|---|
S_OK | VirtualQuery se devolvió correctamente. |
HOST_E_CLRNOTAVAILABLE | El Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado o procesar la llamada correctamente. |
HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
Comentarios
VirtualQuery
proporciona información acerca de un intervalo de páginas en el espacio de direcciones virtual del proceso que llama. Esta implementación establece el valor del parámetro pResult
en el número de bytes devueltos en el búfer de información y devuelve un valor HRESULT. En la función VirtualQuery
de Win32, el valor devuelto es el tamaño del búfer. Para obtener más información, vea la documentación de la Plataforma de Windows.
Importante
La implementación del sistema operativo de VirtualQuery
no incurre en interbloqueo y se puede ejecutar hasta completarse con subprocesos aleatorios suspendidos en el código de usuario. Tenga mucho cuidado al implementar una versión hospedada de este método.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0