Freigeben über


IDiaSourceFile::get_checksum

Ruft die Prüfsummenbytes ab.

Syntax

HRESULT get_checksum ( 
   DWORD  cbData,
   DWORD* pcbData,
   BYTE   data[]
);

Parameter

cbData

[in] Größe des Datenpuffers in Bytes.

pcbData

[out] Gibt die Anzahl der Prüfsummenbytes zurück. Dieser Parameter darf nicht NULL sein.

data

[in, out] Ein Puffer, der mit den Prüfsummenbytes gefüllt ist. Wenn dieser Parameter NULL ist, gibt pcbData die Anzahl der erforderlichen Bytes zurück.

Rückgabewert

Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben.

Bemerkungen

Um den Typ des Prüfsummenalgorithmus zu bestimmen, der zum Generieren der Prüfsummenbytes verwendet wurde, rufen Sie die IDiaSourceFile::get_checksumType-Methode auf.

Die Prüfsumme wird in der Regel aus dem Image der Quelldatei generiert, sodass sich Änderungen in der Quelldatei in Änderungen in den Prüfsummenbytes widerspiegeln. Wenn die Prüfsummenbytes nicht mit einer Prüfsumme übereinstimmen, die aus dem geladenen Image der Datei generiert wird, sollte die Datei als beschädigt oder manipuliert betrachtet werden.

Typische Prüfsummen sind nie größer als 32 Bytes, aber gehen Sie nicht davon aus, dass dies die maximale Größe einer Prüfsumme ist. Legen Sie den data-Parameter auf NULL fest, um die Anzahl der Bytes abzurufen, die zum Abrufen der Prüfsumme erforderlich sind. Ordnen Sie dann einen Puffer der geeigneten Größe zu, und rufen Sie diese Methode ein weiteres Mal mit dem neuen Puffer auf.

Siehe auch