/****************************************************************************** * BackupEventLogW [ADVAPI32.@] * * PARAMS * hEventLog [] * lpBackupFileName [] */ BOOL WINAPI BackupEventLogW(IN HANDLE hEventLog, IN LPCWSTR lpBackupFileName) { UNICODE_STRING BackupFileNameW; NTSTATUS Status; TRACE("%p, %s\n", hEventLog, debugstr_w(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)&BackupFileNameW); } RpcExcept(EXCEPTION_EXECUTE_HANDLER) { Status = I_RpcMapWin32Status(RpcExceptionCode()); } RpcEndExcept; RtlFreeHeap(RtlGetProcessHeap(), 0, BackupFileNameW.Buffer); if (!NT_SUCCESS(Status)) { SetLastError(RtlNtStatusToDosError(Status)); return FALSE; } return TRUE; }
/* Function 13 */ NTSTATUS ElfrBackupELFA( IELF_HANDLE LogHandle, PRPC_STRING BackupFileName) { NTSTATUS Status; UNICODE_STRING BackupFileNameW; Status = RtlAnsiStringToUnicodeString(&BackupFileNameW, (PANSI_STRING)BackupFileName, TRUE); if (!NT_SUCCESS(Status)) return Status; Status = ElfrBackupELFW(LogHandle, (PRPC_UNICODE_STRING)&BackupFileNameW); RtlFreeUnicodeString(&BackupFileNameW); return Status; }