Prototype |
E_RTN | EMemory::BlockInsertEach( | ulonglong | *pullBlockCountInserted, |
void | *pBlockToInsert, | ||
ulonglong | ullBlockToInsertSize, | ||
ulonglong | ullStepEach, | ||
BOOL | bStartAtFirst, | ||
ulonglong | ullOffset = 0, | ||
ulonglong | ullOffsetSize = EMemory::SizeUpToEnd ); |
Cette fonction insère dans l'intervalle de travail le bloc d'octets pBlockToInsert à intervalle régulier d'une taillle de ullStepEach octet(s).
Si l'intervalle de travail est inférieur à l'intervalle régulier, cette fonction ne fait rien car elle insère un bloc d'octets TOUS LES INTERVALLES REGULIERS (voir l'exemple pour l'objet eMem2).
Argument |
ulonglong *pullBlockCountInserted adresse d'une variable de type ulonglong où y sera stocké le nombre de bloc d'octets insérés (à ne pas confondre avec octet(s) inséré(s)). Si cette information ne vous intéresse pas cet argument peut être NULL (la fonction ne retournera pas d'erreur à ce propos). |
void *pBlockToInsert adresse du bloc d'octets à insérer. |
ulonglong ullBlockToInsertSize taille du bloc d'octets à insérer. |
ulonglong ullStepEach taille de l'intervalle régulier d'insertion. |
BOOL bStartAtFirst commencer l'insertion à partir de l'offset de départ. Dans ce cas, spécifiez la valeur TRUE. |
ulonglong ullOffset = 0 offset de départ de l'intervalle de travail d'insertion. |
ulonglong ullOffsetSize = EMemory::SizeUpToEnd étendue de l'intervalle de travail d'insertion. |
Retour |
E_RTN voir la section retour de la librairie Eclat. |
Exemple |
Description : Insertion du bloc d'octets 0x58, 0x59 et 0x5A ("XYZ" en ASCII) à intervalle régulier d'un octet sur l'ensemble de l'espace de travail d'un objet EMemory (eMem0) alloué d'une taille 3 octets contenant les données 0x41, 0x42 et 0x43 ("ABC" en ASCII). Insertion du bloc d'octets 0x58, 0x59 et 0x5A ("XYZ" en ASCII) à intervalle régulier de deux octets dans l'intervalle de travail de l'offset 1 sur une étendue de 3 octets d'un objet EMemory (eMem1) alloué d'une taille 5 octets contenant les données 0x44, 0x45, 0x46, 0x47 et 0x48 ("DEFGH" en ASCII). Enfin, insertion du bloc d'octets 0x58, 0x59 et 0x5A ("XYZ" en ASCII) à intervalle régulier de quatre octets sur l'ensemble de l'espace de travail d'un objet EMemory (eMem2) alloué d'une taille 3 octets contenant les données 0x49, 0x4A et 0x4B ("IJK" en ASCII). L'objet n'a pas assez d'espace de travail pour que cette dernière insertion soit effective. |
Code :
|
Sortie :
|
Vue : Vue de l'objet eMem0 avant et après l'insertion :
Vue de l'objet eMem1 avant et après l'insertion :
Vue de l'objet eMem2 avant et après l'insertion :
|
Voir aussi |
Minimum |
Version | 1.0.0 |