14{
17
20
22 {
24 return bSuccess;
25 }
26
28 {
30
32 {
35
37 {
38 if (cbRead == 0)
39 break;
40
42 {
45 break;
46 }
47 }
48
49 if (bSuccess)
50 {
53
55 {
57 for (
n = 0;
n < cbHash; ++
n)
58 {
60 }
62 }
63 else
64 {
67 }
68 }
69
71 }
72 else
73 {
75 }
76
78 }
79 else
80 {
82 }
83
85 return bSuccess;
86}
void ConPuts(FILE *fp, LPCWSTR psz)
void ConPrintf(FILE *fp, LPCWSTR psz,...)
BOOL WINAPI CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *phHash)
BOOL WINAPI CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
BOOL WINAPI CryptDestroyHash(HCRYPTHASH hHash)
BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags)
BOOL WINAPI CryptHashData(HCRYPTHASH hHash, const BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR pszContainer, LPCWSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
IN PVCB IN PBCB OUT PDIRENT IN USHORT IN POEM_STRING Filename
#define FILE_FLAG_SEQUENTIAL_SCAN
DWORD WINAPI GetLastError(void)
#define CRYPT_VERIFYCONTEXT