Fungsi CryptCATAdminCalcHashFromFileHandle2 (mscat.h)

Fungsi CryptCATAdminCalcHashFromFileHandle2 menghitung hash untuk file dengan menggunakan algoritma yang ditentukan.

Fungsi ini tidak memiliki pustaka impor terkait. Anda harus menggunakan fungsi LoadLibrary dan GetProcAddress untuk menautkan secara dinamis ke Wintrust.dll.

Sintaks

BOOL CryptCATAdminCalcHashFromFileHandle2(
  [in]      HCATADMIN hCatAdmin,
  [in]      HANDLE    hFile,
  [in, out] DWORD     *pcbHash,
            BYTE      *pbHash,
            DWORD     dwFlags
);

Parameter

[in] hCatAdmin

Menangani konteks administrator katalog terbuka. Untuk informasi selengkapnya, lihat CryptCATAdminAcquireContext2.

[in] hFile

Handel ke file yang hash-nya sedang dihitung. Parameter ini tidak boleh NULL dan harus merupakan handel file yang valid.

[in, out] pcbHash

Penunjuk ke variabel DWORD yang berisi jumlah byte dalam parameter pbHash . Setelah input, atur pcbHash ke jumlah byte yang dialokasikan untuk pbHash. Setelah kembali, pcbHash berisi jumlah byte yang dikembalikan dalam pbHash. Jika pbHash diatur ke NULL, maka pcbHash berisi jumlah byte yang akan dialokasikan untuk pbHash.

pbHash

Penunjuk ke buffer BYTE yang menerima hash. Jika Anda mengatur parameter ini ke NULL, maka pcbHash akan berisi jumlah byte yang akan dialokasikan untuk pbHash, dan panggilan berikutnya dapat dilakukan untuk mengambil hash.

dwFlags

Dicadangkan. Nilai ini harus berupa nol.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).

Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Tabel berikut mencantumkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Parameter hFile tidak boleh NULL.

Parameter hFile harus berupa handel file yang valid.

Parameter pcbHash tidak boleh NULL.

Parameter dwFlags harus nol (0).

ERROR_INSUFFICIENT_BUFFER
Buffer yang ditujukkan oleh parameter pbHash tidak NULL tetapi tidak cukup besar untuk ditulis. Ukuran buffer yang diperlukan yang benar terkandung dalam nilai yang ditunjukkan oleh parameter pcbHash .
NTE_BAD_ALGID
Algoritma hash yang ditentukan oleh parameter pwszHashAlgorithm tidak dapat ditemukan.

Keterangan

Jumlah waktu yang diperlukan fungsi ini untuk dijalankan tergantung pada panjang file yang di-hash, algoritma yang digunakan, dan lokasi file. Misalnya, dibutuhkan beberapa detik untuk menghitung hash file lokal yang sangat besar (beberapa ratus megabyte).

Persyaratan

   
Klien minimum yang didukung Windows 8 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 [hanya aplikasi desktop]
Target Platform Windows
Header mscat.h
Pustaka Wintrust.lib
DLL Wintrust.dll

Lihat juga

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2