Prototype
long EMemory::OffsetStatusGet( ulonglong ullOffset );

Cette fonction retourne le statut d'un offset par rapport à l'espace de travail d'un objet EMemory (voir Base » Statut de l'offset) qui l'une des valeurs définie dans l'énumération de l'objet (voir Enum).

 

Argument

ulonglong ullOffset

offset de calcul.

 

Retour

long

statut de l'offset, soit EMemory::OffsetStatus_Unknown soit EMemory::OffsetStatus_In soit EMemory::OffsetStatus_Limit soit EMemory::OffsetStatus_Out.

 

Exemple

Description :

Récupération du statut des offsets 0, 1 et 2 de trois objets EMemory, l'un vièrge, l'autre vide et le dernier disponible ayant un espace de travail alloué de 2 octets.

Code :

EMemory eMem0; // objet EMemory vièrge
EMemory eMem1( 0 ); // objet EMemory vide
EMemory eMem2( 2 ); // objet EMemory disponible
EMemory *pteMem[]={ &eMem0, &eMem1, &eMem2 };
ulonglong ulltOffset[]={ 0, 1, 2 };
long lOffsetStatus;
TCHAR *psztStatus[]={
    _T("EMemory::OffsetStatus_Unknown"),
    _T("EMemory::OffsetStatus_In"),
    _T("EMemory::OffsetStatus_Limit"),
    _T("EMemory::OffsetStatus_Out")
    };

eMem0.Trace( _T("eMem0") );
eMem1.Trace( _T("eMem1") );
eMem2.Trace( _T("eMem2") );

for ( int i = 0; i<sizeof(pteMem)/sizeof(EMemory*); i++ )
  {
  for ( int j = 0; j<sizeof(ulltOffset)/sizeof(ulonglong); j++ )
    {
    lOffsetStatus = pteMem[i]->OffsetStatusGet( ulltOffset[j] );
    ETrace::DoEx( _T("Le statut de l'offset %I64u de l'objet eMem%d est : %s (code %d) !\n"), ulltOffset[j], i, psztStatus[lOffsetStatus], lOffsetStatus );
    }
  }

Sortie :

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Free' (code '1').
# Buffer address='0x00000000', workspace size='0' byte(s).
### End #

### Object EMemory 'eMem1' Trace #
# Object address='0x0012F450', status='EMemory::ObjectStatus_Empty' (code '2').
# Buffer address='0x00000004', workspace size='0' byte(s).
### End #

### Object EMemory 'eMem2' Trace #
# Object address='0x0012F438', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000006', workspace size='2' byte(s).
### End #

Le statut de l'offset 0 de l'objet eMem0 est : EMemory::OffsetStatus_Limit (code 2) !
Le statut de l'offset 1 de l'objet eMem0 est : EMemory::OffsetStatus_Out (code 3) !
Le statut de l'offset 2 de l'objet eMem0 est : EMemory::OffsetStatus_Out (code 3) !
Le statut de l'offset 0 de l'objet eMem1 est : EMemory::OffsetStatus_Limit (code 2) !
Le statut de l'offset 1 de l'objet eMem1 est : EMemory::OffsetStatus_Out (code 3) !
Le statut de l'offset 2 de l'objet eMem1 est : EMemory::OffsetStatus_Out (code 3) !
Le statut de l'offset 0 de l'objet eMem2 est : EMemory::OffsetStatus_In (code 1) !
Le statut de l'offset 1 de l'objet eMem2 est : EMemory::OffsetStatus_In (code 1) !
Le statut de l'offset 2 de l'objet eMem2 est : EMemory::OffsetStatus_Limit (code 2) !

Vue :

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

 

Voir aussi
long EMemory::OffsetStatusSizeGet( ulonglong ullOffset, ulonglong ullOffsetSize );

 

Minimum
Version 1.0.0