Prototype |
E_RTN | EMemory::ByteFind( | ulonglong | *pullOffsetFound, |
uchar | ucByteToFind, | ||
ulonglong | ullOffset = 0, | ||
ulonglong | ullOffsetSize = EMemory::SizeUpToEnd ); |
Cette fonction cherche dans l'intervalle de travail un octet ayant la valeur de ucByteToFind.
Argument |
ulonglong *pullOffsetFound adresse d'une variable de type ulonglong où sera stocké l'offset de l'octet trouvé. Si l'octet n'a pas été trouvé et si cet argument n'est pas NULL alors la valeur EMemory::DataNotFound y est copiée (*pullOffsetFound = EMemory::DataNotFound). Si cette information ne vous intéresse pas cet argument peut être NULL (la fonction ne retournera pas d'erreur à ce propos). |
uchar ucByteToFind octet à chercher. |
ulonglong ullOffset = 0 offset de départ de l'intervalle de travail de recherche. |
ulonglong ullOffsetSize = EMemory::SizeUpToEnd étendue de l'intervalle de travail de recherche. |
Retour |
E_RTN voir la section retour de la librairie Eclat. |
Exemple 1 |
Description : Recherche et affichage de l'adresse et de l'offset de tous les octets ayant pour valeur 0x41 ('A' en ASCII) dans un objet EMemory alloué de 10 octets d'espace de travail contenant les données 0x41, 0x42, 0x43, 0x41, 0x42, 0x43, 0x41, 0x42, 0x43 et 0x41 ("ABCABCABCA" en ASCII). |
Code :
|
Sortie :
|
Vue :
|
Exemple 2 |
Description : Cet exemple est un peu plus complexe que le précédente. Il fait la même chose mais avec un intervalle de travail qui s'étand de l'offset 1 sur une taille de 8 octets (un surcroît de code est nécessaire pour ajuster la taille de recherche). |
Code :
|
Sortie :
|
Vue :
|
Voir aussi |
Minimum |
Version | 1.0.0 |