Prototype
E_RTN EMemory::BlockFill( void *pBlockToFill,
ulonglong ullBlockToFillSize,
ulonglong ullOffset = 0,
ulonglong ullOffsetSize = EMemory::SizeUpToEnd );

Cette fonction remplit chaque octet de l'intervalle de travail des valeurs du bloc d'octets pBlockToFill.

C'est l'une des fonctions à utiliser si l'on désire nettoyer une partie de l'espace de travail.

 

Argument

void *pBlockToFill

adresse du bloc d'octets à utiliser pour le remplissage des données de l'intervalle de travail.

ulonglong ullBlockToFillSize

taille du bloc à utiliser pour le remplissage des données de l'intervalle de travail.

ulonglong ullOffset = 0

offset de départ de l'intervalle de travail de remplissage.

ulonglong ullOffsetSize = EMemory::SizeUpToEnd

étendue de l'intervalle de travail de remplissage.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Remplissage de l'espace de travail d'un bloc d'octets de 4 octets (0x41, 0x42, 0x43, 0x44 soit "ABCD" en ASCII), puis de l'intervalle de travail de l'offset 1 sur une taille de 8 octets d'un bloc d'octets de 3 octets (0x45, 0x46, 0x47 soit "EFG" en ASCII), d'un objet EMemory alloué de 10 octets d'espace de travail.

Code :

EMemory eMem( 10 ); // objet EMemory alloué de 10 octets

eMem.TraceEx( _T("eMem") );
eMem.BlockFill( "ABCD", 4 ); // remplissage en utilisant tout l'espace de travail
eMem.TraceEx( _T("eMem") );
eMem.BlockFill( "EFG", 3, 1, 8 ); // remplissage en utilisant un intervalle de travail
eMem.TraceEx( _T("eMem") );

Sortie :

### Object EMemory 'eMem' Trace #
# Object address='0x0012F458', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='10' byte(s).
# Array data from offset '0x00000000' to offset '0x00000009', length=10 byte(s).
# Offset start 0x00000000 CD CD CD CD CD CD CD CD CD CD .. .. .. .. .. .. ÍÍÍÍÍÍÍÍÍÍ
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F458', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='10' byte(s).
# Array data from offset '0x00000000' to offset '0x00000009', length=10 byte(s).
# Offset start 0x00000000 41 42 43 44 41 42 43 44 41 42 .. .. .. .. .. .. ABCDABCDAB
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F458', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='10' byte(s).
# Array data from offset '0x00000000' to offset '0x00000009', length=10 byte(s).
# Offset start 0x00000000 41 45 46 47 45 46 47 45 46 42 .. .. .. .. .. .. AEFGEFGEFB
### End #

Vue :

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03 04 05 06 07 08 09
  ? ? ? ? ? ? ? ? ? ?

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03 04 05 06 07 08 09
  41
A
42
B
43
C
44
D
41
A
42
B
43
C
44
D
41
A
42
B

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03 04 05 06 07 08 09
  41
A
45
E
46
F
47
G
45
E
46
F
47
G
45
E
46
F
42
B

 

Voir aussi
E_RTN EMemory::ZeroFill( void );
E_RTN EMemory::ByteFill( uchar ucByteToFill, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd );

 

Minimum
Version 1.0.0