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 validées dans l'espace d'adresse virtuelle du processus appelant.

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 de pages mémoires à 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 a été retourné avec succès.

HOST_E_CLRNOTAVAILABLE

Le Common Language Runtime (CLR) n'a pas été chargé dans un processus ou le CLR présente un état dans lequel il ne peut pas exécuter de code managé ou traiter l'appel avec succès.

HOST_E_TIMEOUT

L'appel a expiré.

HOST_E_NOT_OWNER

L'appelant ne possède pas le verrou.

HOST_E_ABANDONED

Un événement a été annulé alors qu'un thread bloqué ou une fibre l'attendait.

E_FAIL

Une défaillance grave et inconnue s'est produite. Lorsqu'une méthode retourne E_FAIL, le CLR n'est plus utilisable dans le processus. Les appels suivants aux méthodes d'hébergement retournent HOST_E_CLRNOTAVAILABLE.

Notes

Cette implémentation de VirtualProtect retourne une valeur HRESULT, alors que l'implémentation Win32 retourne une valeur non nulle pour indiquer le succès et une valeur zéro pour indiquer l'échec. Pour plus d'informations, consultez la documentation de la plateforme Windows.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MSCorEE.h

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

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

IHostMemoryManager, interface