- Enable logging now that IoWriteErrorLogEntry works.
- Check for log event size before calling IoAllocateErrorLogEntry.
- Reduce code indentation in the logging function.

svn path=/trunk/; revision=73169
This commit is contained in:
Hermès Bélusca-Maïto 2016-11-07 15:48:34 +00:00
parent 323bd18771
commit 12e8ef0213

View file

@ -50,7 +50,6 @@ VOID TiWriteErrorLog(
* DumpData = Pointer to dump data for the log entry * DumpData = Pointer to dump data for the log entry
*/ */
{ {
#if 0
PIO_ERROR_LOG_PACKET LogEntry; PIO_ERROR_LOG_PACKET LogEntry;
UCHAR EntrySize; UCHAR EntrySize;
ULONG StringSize; ULONG StringSize;
@ -65,15 +64,19 @@ VOID TiWriteErrorLog(
EntrySize += (UCHAR)StringSize; EntrySize += (UCHAR)StringSize;
} }
LogEntry = (PIO_ERROR_LOG_PACKET)IoAllocateErrorLogEntry( /* Fail if the required error log entry is too large */
DriverContext, EntrySize); if (EntrySize > ERROR_LOG_MAXIMUM_SIZE)
return;
LogEntry = (PIO_ERROR_LOG_PACKET)IoAllocateErrorLogEntry(DriverContext, EntrySize);
if (!LogEntry)
return;
if (LogEntry) {
LogEntry->MajorFunctionCode = -1; LogEntry->MajorFunctionCode = -1;
LogEntry->RetryCount = -1; LogEntry->RetryCount = -1;
LogEntry->DumpDataSize = (USHORT)(DumpDataCount * sizeof(ULONG)); LogEntry->DumpDataSize = (USHORT)(DumpDataCount * sizeof(ULONG));
LogEntry->NumberOfStrings = (String == NULL) ? 1 : 2; LogEntry->NumberOfStrings = (String == NULL) ? 1 : 2;
LogEntry->StringOffset = sizeof(IO_ERROR_LOG_PACKET) + (DumpDataCount-1) * sizeof(ULONG); LogEntry->StringOffset = sizeof(IO_ERROR_LOG_PACKET) + (DumpDataCount * sizeof(ULONG));
LogEntry->EventCategory = 0; LogEntry->EventCategory = 0;
LogEntry->ErrorCode = ErrorCode; LogEntry->ErrorCode = ErrorCode;
LogEntry->UniqueErrorValue = UniqueErrorValue; LogEntry->UniqueErrorValue = UniqueErrorValue;
@ -93,8 +96,6 @@ VOID TiWriteErrorLog(
IoWriteErrorLogEntry(LogEntry); IoWriteErrorLogEntry(LogEntry);
} }
#endif
}
/* /*
* FUNCTION: Creates a file object * FUNCTION: Creates a file object