IHostMemoryManager::VirtualProtect-Methode
Dient als logischer Wrapper für die entsprechende Win32-Funktion. Die Win32-Implementierung von VirtualProtect
ändert den Schutz für eine Region von committeten Seiten im virtuellen Adressraum des aufrufenden Prozesses.
Syntax
HRESULT VirtualProtect (
[in] void* lpAddress,
[in] SIZE_T dwSize,
[in] DWORD flNewProtect,
[out] DWORD* pflOldProtect
);
Parameter
lpAddress
[in] Ein Zeiger auf die Basisadresse des virtuellen Arbeitsspeichers, dessen Schutzattribute geändert werden sollen.
dwSize
[in] Die Größe des Bereichs der zu ändernden Arbeitsspeicherseiten in Bytes.
flNewProtect
[in] Der Typ des anzuwendenden Speicherschutzes.
pflOldProtect
[out] Ein Zeiger auf den vorherigen Speicherschutzwert.
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | VirtualProtect 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
Diese Implementierung von VirtualProtect
gibt einen HRESULT-Wert zurück, während die Win32-Implementierung einen Wert ungleich null zurückgibt, um einen Erfolg anzuzeigen, und einen Nullwert, um einen Fehler anzuzeigen. Weitere Informationen finden Sie in der Dokumentation zur Windows-Plattform.
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.