[PSDK] Update msi.h. CORE-13762
[reactos.git] / sdk / include / psdk / winefs.h
1 typedef struct _CERTIFICATE_BLOB {
2 DWORD dwCertEncodingType;
3 DWORD cbData;
4 PBYTE pbData;
5 } EFS_CERTIFICATE_BLOB, *PEFS_CERTIFICATE_BLOB;
6
7 typedef struct _EFS_HASH_BLOB {
8 DWORD cbData;
9 PBYTE pbData;
10 } EFS_HASH_BLOB, *PEFS_HASH_BLOB;
11
12 typedef struct _ENCRYPTION_CERTIFICATE {
13 DWORD cbTotalLength;
14 SID* pUserSid;
15 PEFS_CERTIFICATE_BLOB pCertBlob;
16 } ENCRYPTION_CERTIFICATE, *PENCRYPTION_CERTIFICATE;
17
18 typedef struct _ENCRYPTION_CERTIFICATE_HASH {
19 DWORD cbTotalLength;
20 SID* pUserSid;
21 PEFS_HASH_BLOB pHash;
22 LPWSTR lpDisplayInformation;
23 } ENCRYPTION_CERTIFICATE_HASH, *PENCRYPTION_CERTIFICATE_HASH;
24
25 typedef struct _ENCRYPTION_CERTIFICATE_LIST {
26 DWORD nUsers;
27 PENCRYPTION_CERTIFICATE* pUsers;
28 } ENCRYPTION_CERTIFICATE_LIST, *PENCRYPTION_CERTIFICATE_LIST;
29
30 typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST {
31 DWORD nCert_Hash;
32 PENCRYPTION_CERTIFICATE_HASH* pUsers;
33 } ENCRYPTION_CERTIFICATE_HASH_LIST, *PENCRYPTION_CERTIFICATE_HASH_LIST;
34
35 DWORD WINAPI AddUsersToEncryptedFile (
36 LPCWSTR,
37 PENCRYPTION_CERTIFICATE_LIST
38 );
39
40 DWORD WINAPI RemoveUsersFromEncryptedFile (
41 LPCWSTR,
42 PENCRYPTION_CERTIFICATE_HASH_LIST
43 );
44
45 BOOL WINAPI EncryptionDisable (
46 LPCWSTR,
47 BOOL
48 );
49
50 BOOL WINAPI FileEncryptionStatus (
51 _In_ LPCTSTR,
52 _Out_ LPDWORD
53 );
54
55 DWORD WINAPI QueryUsersOnEncryptedFile (
56 LPCWSTR,
57 PENCRYPTION_CERTIFICATE_HASH_LIST*
58 );
59
60 void WINAPI FreeEncryptionCertificateHashList (
61 PENCRYPTION_CERTIFICATE_HASH_LIST
62 );
63
64 DWORD WINAPI QueryRecoveryAgentsOnEncryptedFile (
65 LPCWSTR,
66 PENCRYPTION_CERTIFICATE_HASH_LIST*
67 );