31#define CRYPTCAT_OPEN_CREATENEW 0x00000001
32#define CRYPTCAT_OPEN_ALWAYS 0x00000002
33#define CRYPTCAT_OPEN_EXISTING 0x00000004
34#define CRYPTCAT_OPEN_EXCLUDE_PAGE_HASHES 0x00010000
35#define CRYPTCAT_OPEN_INCLUDE_PAGE_HASHES 0x00020000
36#define CRYPTCAT_OPEN_VERIFYSIGHASH 0x10000000
37#define CRYPTCAT_OPEN_NO_CONTENT_HCRYPTMSG 0x20000000
38#define CRYPTCAT_OPEN_SORTED 0x40000000
39#define CRYPTCAT_OPEN_FLAGS_MASK 0xffff0000
41#define CRYPTCAT_E_AREA_HEADER 0x00000000
42#define CRYPTCAT_E_AREA_MEMBER 0x00010000
43#define CRYPTCAT_E_AREA_ATTRIBUTE 0x00020000
45#define CRYPTCAT_E_CDF_UNSUPPORTED 0x00000001
46#define CRYPTCAT_E_CDF_DUPLICATE 0x00000002
47#define CRYPTCAT_E_CDF_TAGNOTFOUND 0x00000004
49#define CRYPTCAT_E_CDF_MEMBER_FILE_PATH 0x00010001
50#define CRYPTCAT_E_CDF_MEMBER_INDIRECTDATA 0x00010002
51#define CRYPTCAT_E_CDF_MEMBER_FILENOTFOUND 0x00010004
53#define CRYPTCAT_E_CDF_BAD_GUID_CONV 0x00020001
54#define CRYPTCAT_E_CDF_ATTR_TOOFEWVALUES 0x00020002
55#define CRYPTCAT_E_CDF_ATTR_TYPECOMBO 0x00020004
struct CATALOG_INFO_ CATALOG_INFO
BOOL WINAPI CryptCATCDFClose(CRYPTCATCDF *)
CRYPTCATMEMBER *WINAPI CryptCATGetMemberInfo(HANDLE, LPWSTR)
CRYPTCATCDF *WINAPI CryptCATCDFOpen(LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK)
HANDLE WINAPI CryptCATOpen(LPWSTR, DWORD, HCRYPTPROV, DWORD, DWORD)
struct CRYPTCATATTRIBUTE_ CRYPTCATATTRIBUTE
BOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO, CATALOG_INFO *, DWORD)
BOOL WINAPI CryptCATAdminReleaseCatalogContext(HCATADMIN, HCATINFO, DWORD)
HCATINFO WINAPI CryptCATAdminAddCatalog(HCATADMIN, PWSTR, PWSTR, DWORD)
BOOL WINAPI CryptCATAdminRemoveCatalog(HCATADMIN, LPCWSTR, DWORD)
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE, DWORD *, BYTE *, DWORD)
CRYPTCATATTRIBUTE *WINAPI CryptCATGetAttrInfo(HANDLE, CRYPTCATMEMBER *, LPWSTR)
BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN, DWORD)
BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN *, const GUID *, DWORD)
CRYPTCATATTRIBUTE *WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *, CRYPTCATATTRIBUTE *, PFN_CDF_PARSE_ERROR_CALLBACK)
struct CRYPTCATMEMBER_ CRYPTCATMEMBER
BOOL WINAPI CryptCATClose(HANDLE)
void(WINAPI * PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *)
CRYPTCATATTRIBUTE *WINAPI CryptCATEnumerateAttr(HANDLE, CRYPTCATMEMBER *, CRYPTCATATTRIBUTE *)
struct CRYPTCATCDF_ CRYPTCATCDF
HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN, BYTE *, DWORD, DWORD, HCATINFO *)
CRYPTCATATTRIBUTE *WINAPI CryptCATGetCatAttrInfo(HANDLE, LPWSTR)
BOOL WINAPI CryptCATAdminResolveCatalogPath(HCATADMIN, WCHAR *, CATALOG_INFO *, DWORD)
CRYPTCATATTRIBUTE *WINAPI CryptCATEnumerateCatAttr(HANDLE, CRYPTCATATTRIBUTE *)
LPWSTR WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *, LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK, CRYPTCATMEMBER **, BOOL, LPVOID)
CRYPTCATMEMBER *WINAPI CryptCATEnumerateMember(HANDLE, CRYPTCATMEMBER *)
WCHAR wszCatalogFile[MAX_PATH]
DWORD dwAttrTypeAndAction
CRYPT_ATTR_BLOB sEncodedIndirectData
struct SIP_INDIRECT_DATA_ * pIndirectData
CRYPT_ATTR_BLOB sEncodedMemberInfo