Aracılığıyla paylaş


IDiaSourceFile::get_checksum

Sağlama toplamı baytlarını alır.

Sözdizimi

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

Parametreler

cbData

[in] Veri arabelleğinin bayt cinsinden boyutu.

pcbData

[out] Sağlama toplamı bayt sayısını döndürür. Bu parametre olamaz NULL.

data

[in, out] Sağlama toplamı baytlarıyla doldurulmuş bir arabellek. Bu parametre ise NULL, pcbData gereken bayt sayısını döndürür.

Dönüş Değeri

Başarılı olursa döndürür S_OK; aksi takdirde bir hata kodu döndürür.

Açıklamalar

Sağlama toplamı baytlarını oluşturmak için kullanılan sağlama toplamı algoritmasının türünü belirlemek için IDiaSourceFile::get_checksumType yöntemini çağırın.

Sağlama toplamı genellikle kaynak dosyanın görüntüsünden oluşturulur, bu nedenle kaynak dosyadaki değişiklikler sağlama toplamı baytlarındaki değişikliklere yansıtılır. Sağlama toplamı baytları, dosyanın yüklenen görüntüsünden oluşturulan sağlama toplamıyla eşleşmiyorsa, dosyanın bozuk veya üzerinde oynanmış olarak kabul edilmesi gerekir.

Tipik sağlama toplamlarının boyutu hiçbir zaman 32 bayttan fazla değildir, ancak sağlama toplamının en büyük boyutu olduğunu varsaymayın. Sağlama toplamını data almak için gereken bayt sayısını almak için parametresini NULL olarak ayarlayın. Ardından uygun boyutta bir arabellek ayırın ve yeni arabellekle bu yöntemi bir kez daha çağırın.

Ayrıca bkz.