mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 05:52:56 +00:00
[EVENTLOG]
- Implement ElfrClearELFA and ElfrClearELFW. - Fix the module name conversion in ElfrOpenELA and ElfrRegisterEventSourceA. svn path=/trunk/; revision=54656
This commit is contained in:
parent
ca6eeb6640
commit
ab618427e0
1 changed files with 48 additions and 11 deletions
|
@ -160,8 +160,25 @@ NTSTATUS ElfrClearELFW(
|
||||||
IELF_HANDLE LogHandle,
|
IELF_HANDLE LogHandle,
|
||||||
PRPC_UNICODE_STRING BackupFileName)
|
PRPC_UNICODE_STRING BackupFileName)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
PLOGHANDLE lpLogHandle;
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
PLOGFILE lpLogFile;
|
||||||
|
|
||||||
|
lpLogHandle = ElfGetLogHandleEntryByHandle(LogHandle);
|
||||||
|
if (!lpLogHandle)
|
||||||
|
{
|
||||||
|
return STATUS_INVALID_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
lpLogFile = lpLogHandle->LogFile;
|
||||||
|
|
||||||
|
if (BackupFileName->Length > 0)
|
||||||
|
{
|
||||||
|
/* FIXME: Write a backup file */
|
||||||
|
}
|
||||||
|
|
||||||
|
LogfInitializeNew(lpLogFile);
|
||||||
|
|
||||||
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -301,7 +318,7 @@ NTSTATUS ElfrRegisterEventSourceW(
|
||||||
DWORD MinorVersion,
|
DWORD MinorVersion,
|
||||||
IELF_HANDLE *LogHandle)
|
IELF_HANDLE *LogHandle)
|
||||||
{
|
{
|
||||||
DPRINT1("ElfrRegisterEventSourceW()\n");
|
DPRINT("ElfrRegisterEventSourceW()\n");
|
||||||
|
|
||||||
if ((MajorVersion != 1) || (MinorVersion != 1))
|
if ((MajorVersion != 1) || (MinorVersion != 1))
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
@ -310,7 +327,7 @@ NTSTATUS ElfrRegisterEventSourceW(
|
||||||
if (RegModuleName->Length > 0)
|
if (RegModuleName->Length > 0)
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
|
||||||
DPRINT1("ModuleName: %S\n", ModuleName->Buffer);
|
DPRINT("ModuleName: %S\n", ModuleName->Buffer);
|
||||||
|
|
||||||
/*FIXME: UNCServerName must specify the server or empty for local */
|
/*FIXME: UNCServerName must specify the server or empty for local */
|
||||||
|
|
||||||
|
@ -500,8 +517,21 @@ NTSTATUS ElfrClearELFA(
|
||||||
IELF_HANDLE LogHandle,
|
IELF_HANDLE LogHandle,
|
||||||
PRPC_STRING BackupFileName)
|
PRPC_STRING BackupFileName)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNICODE_STRING BackupFileNameW;
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
Status = RtlAnsiStringToUnicodeString(&BackupFileNameW,
|
||||||
|
(PANSI_STRING)BackupFileName,
|
||||||
|
TRUE);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
return Status;
|
||||||
|
|
||||||
|
Status = ElfrClearELFW(LogHandle,
|
||||||
|
(PRPC_UNICODE_STRING)&BackupFileNameW);
|
||||||
|
|
||||||
|
RtlFreeUnicodeString(&BackupFileNameW);
|
||||||
|
|
||||||
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -525,6 +555,7 @@ NTSTATUS ElfrOpenELA(
|
||||||
IELF_HANDLE *LogHandle)
|
IELF_HANDLE *LogHandle)
|
||||||
{
|
{
|
||||||
UNICODE_STRING ModuleNameW;
|
UNICODE_STRING ModuleNameW;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
if ((MajorVersion != 1) || (MinorVersion != 1))
|
if ((MajorVersion != 1) || (MinorVersion != 1))
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
@ -533,7 +564,9 @@ NTSTATUS ElfrOpenELA(
|
||||||
if (RegModuleName->Length > 0)
|
if (RegModuleName->Length > 0)
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
|
||||||
RtlAnsiStringToUnicodeString(&ModuleNameW, (PANSI_STRING)ModuleName, TRUE);
|
Status = RtlAnsiStringToUnicodeString(&ModuleNameW, (PANSI_STRING)ModuleName, TRUE);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
return Status;
|
||||||
|
|
||||||
/* FIXME: Must verify that caller has read access */
|
/* FIXME: Must verify that caller has read access */
|
||||||
|
|
||||||
|
@ -559,12 +592,16 @@ NTSTATUS ElfrRegisterEventSourceA(
|
||||||
DWORD MinorVersion,
|
DWORD MinorVersion,
|
||||||
IELF_HANDLE *LogHandle)
|
IELF_HANDLE *LogHandle)
|
||||||
{
|
{
|
||||||
UNICODE_STRING ModuleNameW = { 0, 0, NULL };
|
UNICODE_STRING ModuleNameW;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
if (ModuleName &&
|
Status = RtlAnsiStringToUnicodeString(&ModuleNameW,
|
||||||
!RtlAnsiStringToUnicodeString(&ModuleNameW, (PANSI_STRING)ModuleName, TRUE))
|
(PANSI_STRING)ModuleName,
|
||||||
|
TRUE);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
return STATUS_NO_MEMORY;
|
DPRINT1("RtlAnsiStringToUnicodeString failed (Status 0x%08lx)\n", Status);
|
||||||
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* RegModuleName must be an empty string */
|
/* RegModuleName must be an empty string */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue