ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/winefs.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 2638 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6 #ifndef __WINEFS_H__
7 #define __WINEFS_H__
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 #ifndef ALGIDDEF
14 #define ALGIDDEF
15 typedef unsigned int ALG_ID;
16 #endif
17
18 typedef struct _CERTIFICATE_BLOB {
19 DWORD dwCertEncodingType;
20 DWORD cbData;
21 PBYTE pbData;
22 } EFS_CERTIFICATE_BLOB,*PEFS_CERTIFICATE_BLOB;
23
24 typedef struct _EFS_HASH_BLOB {
25 DWORD cbData;
26 PBYTE pbData;
27 } EFS_HASH_BLOB,*PEFS_HASH_BLOB;
28
29 typedef struct _EFS_RPC_BLOB {
30 DWORD cbData;
31 PBYTE pbData;
32 } EFS_RPC_BLOB,*PEFS_RPC_BLOB;
33
34 typedef struct _EFS_KEY_INFO {
35 DWORD dwVersion;
36 ULONG Entropy;
37 ALG_ID Algorithm;
38 ULONG KeyLength;
39 } EFS_KEY_INFO,*PEFS_KEY_INFO;
40
41 typedef struct _ENCRYPTION_CERTIFICATE {
42 DWORD cbTotalLength;
43 SID *pUserSid;
44 PEFS_CERTIFICATE_BLOB pCertBlob;
45 } ENCRYPTION_CERTIFICATE,*PENCRYPTION_CERTIFICATE;
46
47 #define MAX_SID_SIZE 256
48
49 typedef struct _ENCRYPTION_CERTIFICATE_HASH {
50 DWORD cbTotalLength;
51 SID *pUserSid;
52 PEFS_HASH_BLOB pHash;
53 LPWSTR lpDisplayInformation;
54 } ENCRYPTION_CERTIFICATE_HASH,*PENCRYPTION_CERTIFICATE_HASH;
55
56 typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST {
57 DWORD nCert_Hash;
58 PENCRYPTION_CERTIFICATE_HASH *pUsers;
59 } ENCRYPTION_CERTIFICATE_HASH_LIST,*PENCRYPTION_CERTIFICATE_HASH_LIST;
60
61 typedef struct _ENCRYPTION_CERTIFICATE_LIST {
62 DWORD nUsers;
63 PENCRYPTION_CERTIFICATE *pUsers;
64 } ENCRYPTION_CERTIFICATE_LIST,*PENCRYPTION_CERTIFICATE_LIST;
65
66 WINADVAPI DWORD WINAPI QueryUsersOnEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST *pUsers);
67 WINADVAPI DWORD WINAPI QueryRecoveryAgentsOnEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST *pRecoveryAgents);
68 WINADVAPI DWORD WINAPI RemoveUsersFromEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST pHashes);
69 WINADVAPI DWORD WINAPI AddUsersToEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_LIST pUsers);
70 WINADVAPI DWORD WINAPI SetUserFileEncryptionKey(PENCRYPTION_CERTIFICATE pEncryptionCertificate);
71 WINADVAPI VOID WINAPI FreeEncryptionCertificateHashList(PENCRYPTION_CERTIFICATE_HASH_LIST pHashes);
72 WINADVAPI WINBOOL WINAPI EncryptionDisable(LPCWSTR DirPath,WINBOOL Disable);
73 WINADVAPI DWORD WINAPI DuplicateEncryptionInfoFile(LPCWSTR SrcFileName,LPCWSTR DstFileName,DWORD dwCreationDistribution,DWORD dwAttributes,CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes);
74
75 #ifdef __cplusplus
76 }
77 #endif
78 #endif