Udostępnij za pośrednictwem


IDiaSourceFile::get_checksum

Pobiera bajty sumy kontrolnej.

Składnia

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

Parametry

cbData

[in] Rozmiar buforu danych w bajtach.

pcbData

[out] Zwraca liczbę bajtów sumy kontrolnej. Ten parametr nie może mieć wartości NULL.

data

[in, out] Bufor wypełniony bajtami sumy kontrolnej. Jeśli ten parametr ma NULLwartość , pcbData zwraca wymaganą liczbę bajtów.

Wartość zwracana

Jeśli operacja powiedzie się, zwraca wartość S_OK; w przeciwnym razie zwraca kod błędu.

Uwagi

Aby określić typ algorytmu sumy kontrolnej, który został użyty do wygenerowania bajtów sumy kontrolnej, wywołaj metodę IDiaSourceFile::get_checksumType .

Suma kontrolna jest zwykle generowana na podstawie obrazu pliku źródłowego, więc zmiany w pliku źródłowym są odzwierciedlane w zmianach w bajtach sumy kontrolnej. Jeśli bajty sumy kontrolnej nie są zgodne z sumą kontrolną wygenerowaną na podstawie załadowanego obrazu pliku, plik powinien zostać uznany za uszkodzony lub naruszony.

Typowe sumy kontrolne nigdy nie są większe niż 32 bajty, ale nie zakładają, że jest to maksymalny rozmiar sumy kontrolnej. Ustaw parametr , data aby NULL uzyskać liczbę bajtów wymaganych do pobrania sumy kontrolnej. Następnie przydziel bufor o odpowiednim rozmiarze i wywołaj tę metodę jeszcze raz za pomocą nowego buforu.

Zobacz też