mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 05:26:58 +00:00
[ADVAPI32]
Pass nt paths to ElfrBackupELFW and ElfrClearELFW. svn path=/trunk/; revision=54846
This commit is contained in:
parent
61e7814932
commit
262ece40e1
|
@ -145,33 +145,39 @@ BOOL WINAPI
|
|||
BackupEventLogA(IN HANDLE hEventLog,
|
||||
IN LPCSTR lpBackupFileName)
|
||||
{
|
||||
ANSI_STRING BackupFileName;
|
||||
ANSI_STRING BackupFileNameA;
|
||||
UNICODE_STRING BackupFileNameW;
|
||||
NTSTATUS Status;
|
||||
BOOL Result;
|
||||
|
||||
TRACE("%p, %s\n", hEventLog, lpBackupFileName);
|
||||
|
||||
RtlInitAnsiString(&BackupFileName, lpBackupFileName);
|
||||
|
||||
RpcTryExcept
|
||||
if (lpBackupFileName == NULL)
|
||||
{
|
||||
Status = ElfrBackupELFA(hEventLog,
|
||||
(PRPC_STRING)&BackupFileName);
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
RtlInitAnsiString(&BackupFileNameA, lpBackupFileName);
|
||||
|
||||
Status = RtlAnsiStringToUnicodeString(&BackupFileNameW,
|
||||
&BackupFileNameA,
|
||||
TRUE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
Result = BackupEventLogW(hEventLog,
|
||||
BackupFileNameW.Buffer);
|
||||
|
||||
RtlFreeUnicodeString(&BackupFileNameW);
|
||||
|
||||
return(Result);
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* BackupEventLogW [ADVAPI32.@]
|
||||
*
|
||||
|
@ -183,17 +189,28 @@ BOOL WINAPI
|
|||
BackupEventLogW(IN HANDLE hEventLog,
|
||||
IN LPCWSTR lpBackupFileName)
|
||||
{
|
||||
UNICODE_STRING BackupFileName;
|
||||
UNICODE_STRING BackupFileNameW;
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("%p, %s\n", hEventLog, debugstr_w(lpBackupFileName));
|
||||
|
||||
RtlInitUnicodeString(&BackupFileName, lpBackupFileName);
|
||||
if (lpBackupFileName == NULL)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!RtlDosPathNameToNtPathName_U(lpBackupFileName, &BackupFileNameW,
|
||||
NULL, NULL))
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = ElfrBackupELFW(hEventLog,
|
||||
(PRPC_UNICODE_STRING)&BackupFileName);
|
||||
(PRPC_UNICODE_STRING)&BackupFileNameW);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
|
@ -201,6 +218,8 @@ BackupEventLogW(IN HANDLE hEventLog,
|
|||
}
|
||||
RpcEndExcept;
|
||||
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, BackupFileNameW.Buffer);
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
|
@ -218,31 +237,37 @@ BOOL WINAPI
|
|||
ClearEventLogA(IN HANDLE hEventLog,
|
||||
IN LPCSTR lpBackupFileName)
|
||||
{
|
||||
ANSI_STRING BackupFileName;
|
||||
ANSI_STRING BackupFileNameA;
|
||||
UNICODE_STRING BackupFileNameW;
|
||||
NTSTATUS Status;
|
||||
BOOL Result;
|
||||
|
||||
TRACE("%p, %s\n", hEventLog, lpBackupFileName);
|
||||
|
||||
RtlInitAnsiString(&BackupFileName, lpBackupFileName);
|
||||
|
||||
RpcTryExcept
|
||||
if (lpBackupFileName == NULL)
|
||||
{
|
||||
Status = ElfrClearELFA(hEventLog,
|
||||
(PRPC_STRING)&BackupFileName);
|
||||
RtlInitUnicodeString(&BackupFileNameW, NULL);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
else
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
RtlInitAnsiString(&BackupFileNameA, lpBackupFileName);
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
Status = RtlAnsiStringToUnicodeString(&BackupFileNameW,
|
||||
&BackupFileNameA,
|
||||
TRUE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
Result = ClearEventLogW(hEventLog,
|
||||
BackupFileNameW.Buffer);
|
||||
|
||||
RtlFreeUnicodeString(&BackupFileNameW);
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
|
||||
|
@ -253,17 +278,29 @@ BOOL WINAPI
|
|||
ClearEventLogW(IN HANDLE hEventLog,
|
||||
IN LPCWSTR lpBackupFileName)
|
||||
{
|
||||
UNICODE_STRING BackupFileName;
|
||||
UNICODE_STRING BackupFileNameW;
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("%p, %s\n", hEventLog, debugstr_w(lpBackupFileName));
|
||||
|
||||
RtlInitUnicodeString(&BackupFileName,lpBackupFileName);
|
||||
if (lpBackupFileName == NULL)
|
||||
{
|
||||
RtlInitUnicodeString(&BackupFileNameW, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!RtlDosPathNameToNtPathName_U(lpBackupFileName, &BackupFileNameW,
|
||||
NULL, NULL))
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = ElfrClearELFW(hEventLog,
|
||||
(PRPC_UNICODE_STRING)&BackupFileName);
|
||||
(PRPC_UNICODE_STRING)&BackupFileNameW);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
|
@ -271,6 +308,9 @@ ClearEventLogW(IN HANDLE hEventLog,
|
|||
}
|
||||
RpcEndExcept;
|
||||
|
||||
if (lpBackupFileName != NULL)
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, BackupFileNameW.Buffer);
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
|
|
Loading…
Reference in a new issue