home *** CD-ROM | disk | FTP | other *** search
- //+---------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1992-1999.
- //
- // File: winefs.h
- //
- // Contents: EFS Data and prototypes.
- //
- //----------------------------------------------------------------------------
-
- #ifndef __WINEFS_H__
- #pragma option push -b -a8 -pc -A- /*P_O_Push*/
- #define __WINEFS_H__
-
- #if _MSC_VER > 1000
- #pragma once
- #endif
-
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- //+---------------------------------------------------------------------------------/
- // /
- // /
- // Data Structures /
- // /
- // /
- //----------------------------------------------------------------------------------/
-
-
- //
- // Encoded Certificate
- //
-
-
- typedef struct _CERTIFICATE_BLOB {
-
- DWORD dwCertEncodingType;
-
- DWORD cbData;
-
- #ifdef MIDL_PASS
- [size_is(cbData)]
- #endif // MIDL_PASS
- PBYTE pbData;
-
- } EFS_CERTIFICATE_BLOB, *PEFS_CERTIFICATE_BLOB;
-
-
- //
- // Certificate Hash
- //
-
- typedef struct _EFS_HASH_BLOB {
-
- DWORD cbData;
-
- #ifdef MIDL_PASS
- [size_is(cbData)]
- #endif // MIDL_PASS
- PBYTE pbData;
-
- } EFS_HASH_BLOB, *PEFS_HASH_BLOB;
-
-
-
- //
- // Input to add a user to an encrypted file
- //
-
-
- typedef struct _ENCRYPTION_CERTIFICATE {
- DWORD cbTotalLength;
- SID * pUserSid;
- PEFS_CERTIFICATE_BLOB pCertBlob;
- } ENCRYPTION_CERTIFICATE, *PENCRYPTION_CERTIFICATE;
-
- #define MAX_SID_SIZE 256
-
-
- typedef struct _ENCRYPTION_CERTIFICATE_HASH {
- DWORD cbTotalLength;
- SID * pUserSid;
- PEFS_HASH_BLOB pHash;
-
- #ifdef MIDL_PASS
- [string]
- #endif // MIDL_PASS
- LPWSTR lpDisplayInformation;
-
- } ENCRYPTION_CERTIFICATE_HASH, *PENCRYPTION_CERTIFICATE_HASH;
-
-
-
-
-
-
-
- typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST {
- DWORD nCert_Hash;
- #ifdef MIDL_PASS
- [size_is(nCert_Hash)]
- #endif // MIDL_PASS
- PENCRYPTION_CERTIFICATE_HASH * pUsers;
- } ENCRYPTION_CERTIFICATE_HASH_LIST, *PENCRYPTION_CERTIFICATE_HASH_LIST;
-
-
-
- typedef struct _ENCRYPTION_CERTIFICATE_LIST {
- DWORD nUsers;
- #ifdef MIDL_PASS
- [size_is(nUsers)]
- #endif // MIDL_PASS
- PENCRYPTION_CERTIFICATE * pUsers;
- } ENCRYPTION_CERTIFICATE_LIST, *PENCRYPTION_CERTIFICATE_LIST;
-
-
-
-
- //+---------------------------------------------------------------------------------/
- // /
- // /
- // Prototypes /
- // /
- // /
- //----------------------------------------------------------------------------------/
-
-
- WINADVAPI
- DWORD
- WINAPI
- QueryUsersOnEncryptedFile(
- IN LPCWSTR lpFileName,
- OUT PENCRYPTION_CERTIFICATE_HASH_LIST * pUsers
- );
-
-
- WINADVAPI
- DWORD
- WINAPI
- QueryRecoveryAgentsOnEncryptedFile(
- IN LPCWSTR lpFileName,
- OUT PENCRYPTION_CERTIFICATE_HASH_LIST * pRecoveryAgents
- );
-
-
- WINADVAPI
- DWORD
- WINAPI
- RemoveUsersFromEncryptedFile(
- IN LPCWSTR lpFileName,
- IN PENCRYPTION_CERTIFICATE_HASH_LIST pHashes
- );
-
- WINADVAPI
- DWORD
- WINAPI
- AddUsersToEncryptedFile(
- IN LPCWSTR lpFileName,
- IN PENCRYPTION_CERTIFICATE_LIST pUsers
- );
-
- WINADVAPI
- DWORD
- WINAPI
- SetUserFileEncryptionKey(
- IN PENCRYPTION_CERTIFICATE pEncryptionCertificate
- );
-
-
- WINADVAPI
- VOID
- WINAPI
- FreeEncryptionCertificateHashList(
- IN PENCRYPTION_CERTIFICATE_HASH_LIST pHashes
- );
-
- WINADVAPI
- BOOL
- WINAPI
- EncryptionDisable(
- IN LPCWSTR DirPath,
- IN BOOL Disable
- );
-
-
- #ifdef __cplusplus
- } // Balance extern "C" above
- #endif
-
- #pragma option pop /*P_O_Pop*/
- #endif // __WINEFS_H__
-