// An entry in the in-memory log
struct LogRecord
{
- LONG RecordId;
+ ULONG RecordId;
DWORD Operation;
LPVOID CurrentThread;
LPVOID RequestedAddress;
};
// Maximum number of records in the in-memory log
- const LONG MaxRecords = 128;
+ const ULONG MaxRecords = 128;
// Buffer used to store the logged data
volatile LogRecord logRecords[MaxRecords];
// Current record number. Use (recordNumber % MaxRecords) to determine
// the current position in the circular buffer.
- volatile LONG recordNumber = 0;
+ volatile ULONG recordNumber = 0;
// Record an entry in the in-memory log
void LogVaOperation(
IN LPVOID returnedAddress,
IN BOOL result)
{
- LONG i = InterlockedIncrement(&recordNumber) - 1;
+ ULONG i = (ULONG)InterlockedIncrement((LONG *)&recordNumber) - 1;
LogRecord* curRec = (LogRecord*)&logRecords[i % MaxRecords];
curRec->RecordId = i;