ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

efs.c
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:       See COPYING in the top level directory
00003  * PROJECT:         ReactOS system libraries
00004  * FILE:            dlls/win32/advapi32/misc/efs.c
00005  * PURPOSE:         Encrypted File System support
00006  * PROGRAMMER:      Christoph_vW
00007  */
00008 
00009 #include <advapi32.h>
00010 WINE_DEFAULT_DEBUG_CHANNEL(advapi);
00011 
00012 
00013 /*
00014  * @unimplemented
00015  */
00016 DWORD WINAPI
00017 AddUsersToEncryptedFile(LPCWSTR lpcwstr,
00018                         PENCRYPTION_CERTIFICATE_LIST pencryption_certificate_list)
00019 {
00020     FIXME("%s() not implemented!\n", __FUNCTION__);
00021     return ERROR_CALL_NOT_IMPLEMENTED;
00022 }
00023 
00024 
00025 /*
00026  * @implemented
00027  */
00028 BOOL WINAPI
00029 DecryptFileA(LPCSTR lpFileName,
00030              DWORD dwReserved)
00031 {
00032     UNICODE_STRING FileName;
00033     NTSTATUS Status;
00034     BOOL ret;
00035 
00036     Status = RtlCreateUnicodeStringFromAsciiz(&FileName, lpFileName);
00037     if (!NT_SUCCESS(Status))
00038     {
00039         SetLastError(RtlNtStatusToDosError(Status));
00040         return FALSE;
00041     }
00042 
00043     ret = DecryptFileW(FileName.Buffer, dwReserved);
00044 
00045     if (FileName.Buffer != NULL)
00046         RtlFreeUnicodeString(&FileName);
00047     return ret;
00048 }
00049 
00050 
00051 /*
00052  * @unimplemented
00053  */
00054 BOOL WINAPI
00055 DecryptFileW(LPCWSTR lpFileName,
00056              DWORD dwReserved)
00057 {
00058     FIXME("%s(%S) not implemented!\n", __FUNCTION__, lpFileName);
00059     return TRUE;
00060 }
00061 
00062 
00063 /*
00064  * @implemented
00065  */
00066 BOOL WINAPI
00067 EncryptFileA(LPCSTR lpFileName)
00068 {
00069     UNICODE_STRING FileName;
00070     NTSTATUS Status;
00071     BOOL ret;
00072 
00073     Status = RtlCreateUnicodeStringFromAsciiz(&FileName, lpFileName);
00074     if (!NT_SUCCESS(Status))
00075     {
00076         SetLastError(RtlNtStatusToDosError(Status));
00077         return FALSE;
00078     }
00079 
00080     ret = EncryptFileW(FileName.Buffer);
00081 
00082     if (FileName.Buffer != NULL)
00083         RtlFreeUnicodeString(&FileName);
00084     return ret;
00085 }
00086 
00087 
00088 /*
00089  * @unimplemented
00090  */
00091 BOOL WINAPI
00092 EncryptFileW(LPCWSTR lpFileName)
00093 {
00094     FIXME("%s() not implemented!\n", __FUNCTION__);
00095     return TRUE;
00096 }
00097 
00098 
00099 /*
00100  * @unimplemented
00101  */
00102 BOOL WINAPI
00103 EncryptionDisable(LPCWSTR DirPath,
00104                   BOOL Disable)
00105 {
00106     FIXME("%s() not implemented!\n", __FUNCTION__);
00107     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00108     return FALSE;
00109 }
00110 
00111 
00112 /*
00113  * @implemented
00114  */
00115 BOOL WINAPI
00116 FileEncryptionStatusA(LPCSTR lpFileName,
00117                       LPDWORD lpStatus)
00118 {
00119     UNICODE_STRING FileName;
00120     NTSTATUS Status;
00121     BOOL ret = FALSE;
00122 
00123     TRACE("(%s, %p)\n", lpFileName, lpStatus);
00124 
00125     FileName.Buffer = NULL;
00126 
00127     Status = RtlCreateUnicodeStringFromAsciiz(&FileName, lpFileName);
00128     if (!NT_SUCCESS(Status))
00129     {
00130         SetLastError(RtlNtStatusToDosError(Status));
00131         goto cleanup;
00132     }
00133 
00134     ret = FileEncryptionStatusW(FileName.Buffer, lpStatus);
00135 
00136 cleanup:
00137     if (FileName.Buffer != NULL)
00138         RtlFreeUnicodeString(&FileName);
00139 
00140     return ret;
00141 }
00142 
00143 /*
00144  * @unimplemented
00145  */
00146 BOOL WINAPI
00147 FileEncryptionStatusW(LPCWSTR lpFileName,
00148                       LPDWORD lpStatus)
00149 {
00150     FIXME("%s(%S) not implemented!\n", __FUNCTION__, lpFileName);
00151 
00152     if (!lpStatus)
00153         return FALSE;
00154 
00155     *lpStatus = FILE_SYSTEM_NOT_SUPPORT;
00156 
00157     return TRUE;
00158 }
00159 
00160 
00161 /*
00162  * @unimplemented
00163  */
00164 VOID WINAPI
00165 FreeEncryptionCertificateHashList(PENCRYPTION_CERTIFICATE_HASH_LIST pencryption_certificate_hash_list)
00166 {
00167     FIXME("%s() not implemented!\n", __FUNCTION__);
00168     return;
00169 }
00170 
00171 
00172 /*
00173  * @unimplemented
00174  */
00175 DWORD WINAPI
00176 QueryRecoveryAgentsOnEncryptedFile(LPCWSTR lpctstr,
00177                                    PENCRYPTION_CERTIFICATE_HASH_LIST* pencryption_certificate_hash_list)
00178 {
00179     FIXME("%s() not implemented!\n", __FUNCTION__);
00180     return ERROR_CALL_NOT_IMPLEMENTED;
00181 }
00182 
00183 
00184 /*
00185  * @unimplemented
00186  */
00187 DWORD WINAPI
00188 QueryUsersOnEncryptedFile(LPCWSTR lpctstr,
00189                           PENCRYPTION_CERTIFICATE_HASH_LIST* pencryption_certificate_hash_list)
00190 {
00191     FIXME("%s() not implemented!\n", __FUNCTION__);
00192     return ERROR_CALL_NOT_IMPLEMENTED;
00193 }
00194 
00195 
00196 /*
00197  * @unimplemented
00198  */
00199 DWORD WINAPI
00200 RemoveUsersFromEncryptedFile(LPCWSTR lpcwstr,
00201                              PENCRYPTION_CERTIFICATE_HASH_LIST pencryption_certificate_hash_list)
00202 {
00203     FIXME("%s() not implemented!\n", __FUNCTION__);
00204     return ERROR_CALL_NOT_IMPLEMENTED;
00205 }
00206 
00207 /* EOF */

Generated on Sun May 27 2012 04:22:40 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.