UDF > WinAPIEx > System > Buffer >


_WinAPI_ComputeCrc32

Calcule la somme de contrôle CRC32 d'un bloc de mémoire

#include <WinAPISys.au3>
_WinAPI_ComputeCrc32 ( $pMemory, $iLength )

Paramètres

$pMemory Le pointeur sur le bloc de mémoire dont vous voulez la somme de contrôle.
$iLength Le nombre d'octets concerné par le calcul.

Valeur de retour

Succès: Retourne la somme de contrôle CRC32 (DWORD).
Échec: Retourne 0 et définit @error <> 0.

Remarque

La fonction n'est pas documentée dans MSDN

Exemple

#include <WinAPIMem.au3>
#include <WinAPISys.au3>

Local $tData = DllStructCreate('byte[4096]')
Local $pData = DllStructGetPtr($tData)

ConsoleWrite(Hex(_WinAPI_ComputeCrc32($pData, 4096)) & @CRLF)

_WinAPI_FillMemory($pData, 4096, Random(0, 255, 1))

ConsoleWrite(Hex(_WinAPI_ComputeCrc32($pData, 4096)) & @CRLF)

_WinAPI_ZeroMemory($pData, 4096)

ConsoleWrite(Hex(_WinAPI_ComputeCrc32($pData, 4096)) & @CRLF & @CRLF)

ConsoleWrite('Invalid pointer -> '& _WinAPI_ComputeCrc32(0, 4) & '@error = '& @error & '@extended = 0x'& Hex(@extended) & @CRLF)