Partager via


IHostMemoryManager::VirtualProtect, méthode

Sert de wrapper logique pour la fonction Win32 correspondante. L’implémentation Win32 de VirtualProtect modifie la protection sur une région de pages commitées dans l’espace d’adressage virtuel du processus appelant.

Syntaxe

HRESULT VirtualProtect (  
    [in]  void*   lpAddress,  
    [in]  SIZE_T  dwSize,  
    [in]  DWORD   flNewProtect,  
    [out] DWORD*  pflOldProtect  
);  

Paramètres

lpAddress
[in] Pointeur vers l’adresse de base de la mémoire virtuelle dont les attributs de protection doivent être modifiés.

dwSize
[in] Taille, en octets, de la région des pages de la mémoire à modifier.

flNewProtect
[in] Type de protection de la mémoire à appliquer.

pflOldProtect
[out] Pointeur vers la valeur de protection de la mémoire précédente.

Valeur de retour

HRESULT Description
S_OK VirtualProtect retourné.
HOST_E_CLRNOTAVAILABLE Le Common Language Runtime (CLR) n’a pas été chargé dans un processus ou est dans un état dans lequel il ne peut ni exécuter le code managé ni traiter l’appel avec succès.
HOST_E_TIMEOUT L’appel a expiré.
HOST_E_NOT_OWNER L’appelant n’est pas propriétaire du verrou.
HOST_E_ABANDONED Un événement a été annulé alors qu’un thread ou une fibre bloqué l’attendait.
E_FAIL Une défaillance catastrophique inconnue s’est produite. Quand une méthode retourne E_FAIL, le CLR n’est plus utilisable au sein du processus. Les appels suivants aux méthodes d’hébergement renvoient HOST_E_CLRNOTAVAILABLE.

Notes

Cette implémentation de VirtualProtect retourne une valeur HRESULT, tandis que l’implémentation Win32 retourne une valeur différente de zéro pour indiquer une réussite et la valeur zéro pour indiquer un échec. Pour plus d’informations, consultez la documentation de la plateforme Windows.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : MSCorEE.h

Bibliothèque : incluse en tant que ressource dans MsCorEE.dll

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi