/* * 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 #include 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 */