/****************************************************************************** * BackupEventLogA [ADVAPI32.@] */ BOOL WINAPI BackupEventLogA(IN HANDLE hEventLog, IN LPCSTR lpBackupFileName) { ANSI_STRING BackupFileNameA; UNICODE_STRING BackupFileNameW; NTSTATUS Status; BOOL Result; TRACE("%p, %s\n", hEventLog, lpBackupFileName); if (lpBackupFileName == NULL) { SetLastError(ERROR_INVALID_PARAMETER); return FALSE; } RtlInitAnsiString(&BackupFileNameA, lpBackupFileName); Status = RtlAnsiStringToUnicodeString(&BackupFileNameW, &BackupFileNameA, TRUE); if (!NT_SUCCESS(Status)) { SetLastError(RtlNtStatusToDosError(Status)); return FALSE; } Result = BackupEventLogW(hEventLog, BackupFileNameW.Buffer); RtlFreeUnicodeString(&BackupFileNameW); return(Result); }
VOID SaveProtocol(VOID) { HANDLE hEventLog; WCHAR szFileName[MAX_PATH]; ZeroMemory(szFileName, sizeof(szFileName)); sfn.lpstrFile = szFileName; sfn.nMaxFile = MAX_PATH; if (!GetSaveFileNameW(&sfn)) { return; } hEventLog = OpenEventLogW(lpComputerName, lpSourceLogName); if (!hEventLog) { ShowLastWin32Error(); return; } if (!BackupEventLogW(hEventLog, szFileName)) { ShowLastWin32Error(); } CloseEventLog(hEventLog); }
/****************************************************************************** * BackupEventLogA [ADVAPI32.@] * * Saves the event log to a backup file. * * PARAMS * hEventLog [I] Handle to event log to backup. * lpBackupFileName [I] Name of the backup file. * * RETURNS * Success: nonzero. File lpBackupFileName will contain the contents of * hEvenLog. * Failure: zero. */ BOOL WINAPI BackupEventLogA( HANDLE hEventLog, LPCSTR lpBackupFileName ) { LPWSTR backupW; BOOL ret; backupW = SERV_dup(lpBackupFileName); ret = BackupEventLogW(hEventLog, backupW); heap_free(backupW); return ret; }
/****************************************************************************** * BackupEventLogA [ADVAPI32.@] * * Saves the event log to a backup file. * * PARAMS * hEventLog [I] Handle to event log to backup. * lpBackupFileName [I] Name of the backup file. * * RETURNS * Success: nonzero. File lpBackupFileName will contain the contents of * hEvenLog. * Failure: zero. */ BOOL WINAPI BackupEventLogA( HANDLE hEventLog, LPCSTR lpBackupFileName ) { LPWSTR backupW; BOOL ret; backupW = SERV_dup(lpBackupFileName); ret = BackupEventLogW(hEventLog, backupW); HeapFree(GetProcessHeap(), 0, backupW); return ret; }