127 lines
2.6 KiB
Plaintext
127 lines
2.6 KiB
Plaintext
|
//
|
||
|
// efsrpc.idl
|
||
|
//
|
||
|
|
||
|
|
||
|
|
||
|
[
|
||
|
uuid(c681d488-d850-11d0-8c52-00c04fd90f7e),
|
||
|
version(1.0),
|
||
|
]
|
||
|
interface efsrpc
|
||
|
{
|
||
|
|
||
|
import "efsimp.idl" ;
|
||
|
|
||
|
#define MAX_SID_SIZE 256
|
||
|
|
||
|
typedef [context_handle] void * PEXIMPORT_CONTEXT_HANDLE;
|
||
|
typedef [ref] PEXIMPORT_CONTEXT_HANDLE * PPEXIMPORT_CONTEXT_HANDLE;
|
||
|
|
||
|
typedef pipe unsigned char EFS_EXIM_PIPE;
|
||
|
|
||
|
//
|
||
|
// Explicit binding for OpenFileRaw
|
||
|
//
|
||
|
|
||
|
long EfsRpcOpenFileRaw(
|
||
|
[in] handle_t binding_h,
|
||
|
[out] PPEXIMPORT_CONTEXT_HANDLE pphContext,
|
||
|
[in, string] wchar_t *FileName,
|
||
|
[in] long Flags
|
||
|
);
|
||
|
|
||
|
long EfsRpcReadFileRaw(
|
||
|
[in] PEXIMPORT_CONTEXT_HANDLE phContext,
|
||
|
[out] EFS_EXIM_PIPE *EfsOutPipe
|
||
|
);
|
||
|
|
||
|
long EfsRpcWriteFileRaw(
|
||
|
[in] PEXIMPORT_CONTEXT_HANDLE phContext,
|
||
|
[in] EFS_EXIM_PIPE *EfsInPipe
|
||
|
);
|
||
|
|
||
|
void EfsRpcCloseRaw(
|
||
|
[in, out] PPEXIMPORT_CONTEXT_HANDLE pphContext
|
||
|
);
|
||
|
|
||
|
long EfsRpcEncryptFileSrv(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] wchar_t *FileName
|
||
|
);
|
||
|
|
||
|
long EfsRpcDecryptFileSrv(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] wchar_t *FileName,
|
||
|
[in] unsigned long OpenFlag
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Beta 2 API
|
||
|
//
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcQueryUsersOnFile(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpFileName,
|
||
|
[out] PENCRYPTION_CERTIFICATE_HASH_LIST * pUsers
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcQueryRecoveryAgents(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpFileName,
|
||
|
[out] PENCRYPTION_CERTIFICATE_HASH_LIST * pRecoveryAgents
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcRemoveUsersFromFile(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpFileName,
|
||
|
[in] PENCRYPTION_CERTIFICATE_HASH_LIST pUsers
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcAddUsersToFile(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpFileName,
|
||
|
[in] PENCRYPTION_CERTIFICATE_LIST pEncryptionCertificates
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcSetFileEncryptionKey(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, unique] PENCRYPTION_CERTIFICATE pEncryptionCertificate
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcNotSupported(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpSrcFileName,
|
||
|
[in, string] LPCWSTR lpDestFileName,
|
||
|
[in] DWORD dwCreationDistribution,
|
||
|
[in] DWORD dwAttributes,
|
||
|
[in, unique] PEFS_RPC_BLOB pRelativeSD,
|
||
|
[in] BOOL bInheritHandle
|
||
|
);
|
||
|
|
||
|
DWORD EfsRpcFileKeyInfo(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpFileName,
|
||
|
[in] DWORD InfoClass,
|
||
|
[out] PEFS_RPC_BLOB *KeyInfo
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
EfsRpcDuplicateEncryptionInfoFile(
|
||
|
[in] handle_t binding_h,
|
||
|
[in, string] LPCWSTR lpSrcFileName,
|
||
|
[in, string] LPCWSTR lpDestFileName,
|
||
|
[in] DWORD dwCreationDistribution,
|
||
|
[in] DWORD dwAttributes,
|
||
|
[in, unique] PEFS_RPC_BLOB pRelativeSD,
|
||
|
[in] BOOL bInheritHandle
|
||
|
);
|
||
|
}
|
||
|
|