IHostMemoryManager::VirtualProtect-Methode
Aktualisiert: November 2007
Dient als logischer Wrapper für die entsprechende Win32-Funktion. Die Win32-Implementíerung von VirtualProtect ändert den Schutz für einen Bereich von Seiten, für die ein Commit ausgeführt wurde, im virtuellen Adressraum des aufrufenden Prozesses.
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 Speichers, dessen Schutzattribute geändert werden sollen.dwSize
[in] Die Größe des Bereichs von Speicherseiten (in Bytes), der geändert werden soll.flNewProtect
[in] Der Typ des zu übernehmenden Speicherschutzes.pflOldProtect
[out] Ein Zeiger auf den vorherigen Speicherschutzwert.
Rückgabewert
HRESULT |
Beschreibung |
---|---|
S_OK |
VirtualProtect kehrte erfolgreich zurück. |
HOST_E_CLRNOTAVAILABLE |
Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT |
Der Aufruf hat das Zeitlimit überschritten. |
HOST_E_NOT_OWNER |
Der Aufrufer ist nicht Besitzer der Sperre. |
HOST_E_ABANDONED |
Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat. |
E_FAIL |
Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Hinweise
Diese Implementierung von VirtualProtect gibt einen HRESULT-Wert zurück, während die Win32-Implementierung bei Erfolg einen Wert ungleich 0 (null) und bei einem Fehler 0 (null) zurückgibt. Weitere Informationen finden Sie in der Dokumentation zur Windows-Plattform.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.idl
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0