Prototype |
E_RTN | EMemory::SpaceSwap( | ulonglong | ullOffsetDest, |
ulonglong | ullOffsetSource, | ||
ulonglong | ullOffsetDestSourceSize ); |
Cette fonction intervertit le bloc d'octets d'une taille de ullOffsetDestSourceSize situé à l'offset ullOffsetDest avec le bloc d'octets d'une taille de ullOffsetDestSourceSize situé à l'offset ullOffsetSource.
Cette fonction considère que le bloc d'octets source et destination ont la même taille.
Attention, les blocs d'octets à intervertir ne peuvent se chevaucher. Par exemple pour les données "ABCDEFG", si l'on effectue une inversion de l'offset 1 et de l'offset 3 sur une taille de 3 octets, l'erreur erMemAreaRide sera retournée car les deux blocs partagent l'offset 3. En effet le premier bloc concerne les données "BCD" et le deuxième bloc concerne les données "DEF", les deux blocs ont en commun la donnée "D".
Argument |
ulonglong ullOffsetDest offset du bloc d'octets destination à intervertir. |
ulonglong ullOffsetSource offset du bloc d'octets source à intervertir. |
ulonglong ullOffsetDestSourceSize taille du bloc d'octets source et destination à intervertir. |
Retour |
E_RTN voir la section retour de la librairie Eclat. |
Exemple |
Description : Interversion du bloc d'octets à l'offset 2 sur un étendue de 3 octets et du bloc d'octets à l'offset 7 sur une étendue de 3 octets d'un objet EMemory alloué de 6 octets d'espace de travail contenant les données 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B et 0x4C ("ABCDEFGHIJKL" en ASCII). |
Code :
|
Sortie :
|
Vue :
|
Voir aussi |
Minimum |
Version | 1.0.0 |