 ALIAS: CryptAcquireContext CryptAcquireContextW
 
 ! : CryptContextAddRef ;
-! : CryptCreateHash ;
+FUNCTION: BOOL CryptCreateHash ( HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *pHash ) ;
 ! : CryptDecrypt ;
 ! : CryptDeriveKey ;
 ! : CryptDestroyHash ;


CONSTANT: MS_STRONG_PROV
    "Microsoft Strong Cryptographic Provider"

CONSTANT: CRYPT_VERIFYCONTEXT  HEX: F0000000
CONSTANT: CRYPT_NEWKEYSET      HEX: 8
CONSTANT: CRYPT_DELETEKEYSET   HEX: 10
CONSTANT: CRYPT_MACHINE_KEYSET HEX: 20
CONSTANT: CRYPT_SILENT         HEX: 40

STRUCT: ACL
    { AclRevision BYTE }

CONSTANT: TOKEN_QUERY                  HEX: 0008
CONSTANT: TOKEN_QUERY_SOURCE           HEX: 0010
CONSTANT: TOKEN_ADJUST_DEFAULT         HEX: 0080
CONSTANT: TOKEN_READ flags{ STANDARD_RIGHTS_READ TOKEN_QUERY }

CONSTANT: TOKEN_WRITE
    flags{
        STANDARD_RIGHTS_WRITE
        TOKEN_ADJUST_PRIVILEGES
        TOKEN_ADJUST_GROUPS
        TOKEN_ADJUST_DEFAULT
    }

CONSTANT: TOKEN_ALL_ACCESS
    flags{
        STANDARD_RIGHTS_REQUIRED
        TOKEN_ASSIGN_PRIMARY
        TOKEN_DUPLICATE
