Prototype
E_RTN EMemory::SizeSet( ulonglong ullNewSize );

Cette fonction redimensionne l'espace de travail à une taille de ullNewSize.

Les octets ajoutés (en cas de redimensionnement à la hausse) ou supprimés (en cas de redimensionnement à la baisse) ne sont pas nettoyés.

 

Argument

ulonglong ullNewSize

nouvelle taille de l'espace de travail.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Redimensionnement à la hausse 3 octets puis à la baisse de 7 octets d'un objet EMemory alloué de 4 octets contenant les données 0x41, 0x42, 0x43 et 0x44 ("ABCD" en ASCII).

Code :

EMemory eMem( "ABCD", 4 ); // objet alloué de 4 octets

eMem.TraceEx( _T("eMem") );
eMem.SizeSet( 7 ); // ou eMem.SizeSet( eMem.SizeGet() + 3 );
eMem.TraceEx( _T("eMem") );
eMem.SizeSet( 0 ); // ou eMem.SizeSet( eMem.SizeGet() - 7 );
eMem.TraceEx( _T("eMem") );

Sortie :

### Object EMemory 'eMem' Trace #
# Object address='0x0012F3C8', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='4' byte(s).
# Array data from offset '0x00000000' to offset '0x00000003', length=4 byte(s).
# Offset start 0x00000000 41 42 43 44 .. .. .. .. .. .. .. .. .. .. .. .. [ABCD]
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F3C8', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='7' byte(s).
# Array data from offset '0x00000000' to offset '0x00000006', length=7 byte(s).
# Offset start 0x00000000 41 42 43 44 CD CD CD .. .. .. .. .. .. .. .. .. [ABCD...]
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F3C8', status='EMemory::ObjectStatus_Empty' (code '2').
# Buffer address='0x00000004', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

Vue :

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

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

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

 

Voir aussi
E_RTN EMemory::Empty( void );
void EMemory::Free( void );
ulonglong EMemory::SizeGet( void );
E_RTN EMemory::SizeGet( ulonglong *pullSize, ulonglong ullOffset );
E_RTN EMemory::SizeSet( ulonglong ullNewSize, uchar ucByteToFill );
E_RTN EMemory::SizeSet( ulonglong ullNewSize, void *pBlockToFill, ulonglong ullBlockToFillSize );

 

Minimum
Version 1.0.0