Compartir a través de


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

Consulte también