Status = LogfCreate(&lpLogHandle->LogFile,
NULL,
FileName,
+ 0,
+ 0,
FALSE,
TRUE);
if (!NT_SUCCESS(Status))
PLOGHANDLE ElfGetLogHandleEntryByHandle(IELF_HANDLE EventLogHandle)
{
+ PLIST_ENTRY CurrentEntry;
PLOGHANDLE lpLogHandle;
- if (IsListEmpty(&LogHandleListHead))
+ CurrentEntry = LogHandleListHead.Flink;
+ while (CurrentEntry != &LogHandleListHead)
{
- return NULL;
- }
+ lpLogHandle = CONTAINING_RECORD(CurrentEntry,
+ LOGHANDLE,
+ LogHandleListEntry);
+ CurrentEntry = CurrentEntry->Flink;
- lpLogHandle = CONTAINING_RECORD((PLOGHANDLE)EventLogHandle, LOGHANDLE, LogHandleListEntry);
+ if (lpLogHandle == EventLogHandle)
+ return lpLogHandle;
+ }
- return lpLogHandle;
+ return NULL;
}
static NTSTATUS
-ElfDeleteEventLogHandle(IELF_HANDLE EventLogHandle)
+ElfDeleteEventLogHandle(IELF_HANDLE LogHandle)
{
- PLOGHANDLE lpLogHandle = (PLOGHANDLE)EventLogHandle;
+ PLOGHANDLE lpLogHandle;
- if (!ElfGetLogHandleEntryByHandle(lpLogHandle))
+ lpLogHandle = ElfGetLogHandleEntryByHandle(LogHandle);
+ if (!lpLogHandle)
+ {
return STATUS_INVALID_HANDLE;
+ }
+ RemoveEntryList(&lpLogHandle->LogHandleListEntry);
LogfClose(lpLogHandle->LogFile, FALSE);
- RemoveEntryList(&lpLogHandle->LogHandleListEntry);
- HeapFree(GetProcessHeap(),0,lpLogHandle);
+ HeapFree(GetProcessHeap(), 0, lpLogHandle);
return STATUS_SUCCESS;
}
PLOGHANDLE lpLogHandle;
PLOGFILE lpLogFile;
- DPRINT("ElfrNumberOfRecords()");
+ DPRINT("ElfrNumberOfRecords()\n");
lpLogHandle = ElfGetLogHandleEntryByHandle(LogHandle);
if (!lpLogHandle)
}
Done:
- for (i = 0; i < NumStrings; i++)
+ if (StringsArrayW != NULL)
{
- if (StringsArrayW[i] != NULL)
+ for (i = 0; i < NumStrings; i++)
{
- if (StringsArrayW[i]->Buffer)
+ if (StringsArrayW[i] != NULL)
{
- RtlFreeUnicodeString(StringsArrayW[i]);
- HeapFree(MyHeap, 0, StringsArrayW[i]);
+ if (StringsArrayW[i]->Buffer)
+ {
+ RtlFreeUnicodeString(StringsArrayW[i]);
+ HeapFree(MyHeap, 0, StringsArrayW[i]);
+ }
}
}
- }
- if (StringsArrayW != NULL)
HeapFree(MyHeap, 0, StringsArrayW);
+ }
RtlFreeUnicodeString(&ComputerNameW);