IHostMemoryManager::VirtualQuery-Methode
Dient als logischer Wrapper für die entsprechende Win32-Funktion Die Win32-Implementierung VirtualQuery
ruft Informationen zu einem Seitenbereich im virtuellen Adressbereich des aufrufenden Prozesses ab.
Syntax
HRESULT VirtualQuery (
[in] void* lpAddress,
[out] void* lpBuffer,
[in] SIZE_T dwLength,
[out] SIZE_T* pResult
);
Parameter
lpAddress
[in] Ein Zeiger auf die Adresse im virtuellen Speicher, die abgefragt werden soll
lpBuffer
[out] Ein Zeiger auf eine Struktur, die Informationen zum angegebenen Speicherbereich enthält
dwLength
[in] Die Größe des Puffers in Bytes, auf den lpBuffer
verweist
pResult
[out] Ein Zeiger auf die Anzahl von Bytes, die vom Informationspuffer zurückgegeben werden
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | VirtualQuery wurde erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE | Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT | Timeout des Aufrufs. |
HOST_E_NOT_OWNER | Der Aufrufer besitzt die Sperre nicht. |
HOST_E_ABANDONED | Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat. |
E_FAIL | Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Bemerkungen
VirtualQuery
stellt Informationen zu einem Seitenbereich in einem virtuellen Adressraum des aufrufenden Prozesses bereit. Diese Implementierung legt den Wert des pResult
-Parameters auf die Anzahl der im Informationspuffer zurückgegebenen Bytes fest und gibt einen HRESULT-Wert zurück. In der Win32-Funktion VirtualQuery
ist der Rückgabewert die Puffergröße. Weitere Informationen finden Sie in der Dokumentation zur Windows-Plattform.
Wichtig
Die Implementierung VirtualQuery
des Betriebssystems verursacht keinen Deadlock und kann mit zufälligen Threads vollständig ausgeführt werden, die im Benutzercode angehalten sind. Lassen Sie beim Implementieren einer gehosteten Version dieser Methode große Vorsicht walten.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: MSCorEE.h
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit 2.0 verfügbar.