reactos/dll/win32/advapi32/misc/efs.c

203 lines
3.8 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: dlls/win32/advapi32/misc/efs.c
* PURPOSE: Encrypted File System support
* PROGRAMMER: Christoph_vW
*/
#include <advapi32.h>
#include <winefs.h>
WINE_DEFAULT_DEBUG_CHANNEL(advapi);
/*
* @unimplemented
*/
DWORD WINAPI
AddUsersToEncryptedFile(LPCWSTR lpcwstr,
PENCRYPTION_CERTIFICATE_LIST pencryption_certificate_list)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @implemented
*/
BOOL WINAPI
DecryptFileA(LPCSTR lpFileName,
DWORD dwReserved)
{
UNICODE_STRING FileName;
BOOL ret;
if (!RtlCreateUnicodeStringFromAsciiz(&FileName, lpFileName))
{
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
return FALSE;
}
ret = DecryptFileW(FileName.Buffer, dwReserved);
if (FileName.Buffer != NULL)
RtlFreeUnicodeString(&FileName);
return ret;
}
/*
* @unimplemented
*/
BOOL WINAPI
DecryptFileW(LPCWSTR lpFileName,
DWORD dwReserved)
{
FIXME("%s(%S) not implemented!\n", __FUNCTION__, lpFileName);
return TRUE;
}
/*
* @implemented
*/
BOOL WINAPI
EncryptFileA(LPCSTR lpFileName)
{
UNICODE_STRING FileName;
BOOL ret;
if (!RtlCreateUnicodeStringFromAsciiz(&FileName, lpFileName))
{
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
return FALSE;
}
ret = EncryptFileW(FileName.Buffer);
if (FileName.Buffer != NULL)
RtlFreeUnicodeString(&FileName);
return ret;
}
/*
* @unimplemented
*/
BOOL WINAPI
EncryptFileW(LPCWSTR lpFileName)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
return TRUE;
}
/*
* @unimplemented
*/
BOOL WINAPI
EncryptionDisable(LPCWSTR DirPath,
BOOL Disable)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/*
* @implemented
*/
BOOL WINAPI
FileEncryptionStatusA(LPCSTR lpFileName,
LPDWORD lpStatus)
{
UNICODE_STRING FileName;
BOOL ret = FALSE;
TRACE("(%s, %p)\n", lpFileName, lpStatus);
FileName.Buffer = NULL;
if (!RtlCreateUnicodeStringFromAsciiz(&FileName, lpFileName))
{
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
goto cleanup;
}
ret = FileEncryptionStatusW(FileName.Buffer, lpStatus);
cleanup:
if (FileName.Buffer != NULL)
RtlFreeUnicodeString(&FileName);
return ret;
}
/*
* @unimplemented
*/
BOOL WINAPI
FileEncryptionStatusW(LPCWSTR lpFileName,
LPDWORD lpStatus)
{
FIXME("%s(%S) not implemented!\n", __FUNCTION__, lpFileName);
if (!lpStatus)
return FALSE;
*lpStatus = FILE_SYSTEM_NOT_SUPPORT;
return TRUE;
}
/*
* @unimplemented
*/
VOID WINAPI
FreeEncryptionCertificateHashList(PENCRYPTION_CERTIFICATE_HASH_LIST pencryption_certificate_hash_list)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
return;
}
/*
* @unimplemented
*/
DWORD WINAPI
QueryRecoveryAgentsOnEncryptedFile(LPCWSTR lpctstr,
PENCRYPTION_CERTIFICATE_HASH_LIST* pencryption_certificate_hash_list)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
DWORD WINAPI
QueryUsersOnEncryptedFile(LPCWSTR lpctstr,
PENCRYPTION_CERTIFICATE_HASH_LIST* pencryption_certificate_hash_list)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
DWORD WINAPI
RemoveUsersFromEncryptedFile(LPCWSTR lpcwstr,
PENCRYPTION_CERTIFICATE_HASH_LIST pencryption_certificate_hash_list)
{
FIXME("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */