Question

Est-ce que le bloc de mémoire retournée par VirtualAlloc toujours être aligné avec la taille de la page? En d'autres termes, le module sera toujours égale à zéro de la valeur de retour de VirtualAlloc et la taille de la page?

Était-ce utile?

La solution

Eh bien, oui.

Après tout, vous appelez VirtualAlloc d'allouer des pages de mémoire. Vous ne pouvez pas affecter seulement 1 octet sans recevoir une page entière, donc il est logique que vous recevrez un tampon aligné avec la taille de la page.

Autres conseils

De la documentation MSDN pour VirtualAlloc:

  

Si la mémoire est déjà réservé et   est commise, l'adresse est   arrondi à la page suivante   limite.

Donc, la réponse est oui, si vous commettez la mémoire et non pas seulement le réserver.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top