WheapInitializeEventing
PSLIST_ENTRY __stdcall WheapInitializeEventing(){
struct _SLIST_ENTRY *v0;
__int64 v1;
PSLIST_ENTRY result;
LOWORD(WheapWaitingETWEventLock.Header.Lock) = 1;
qword_140C15DE8 = (__int64)&WheapWaitingETWEvents;
WheapWaitingETWEvents = (__int64)&WheapWaitingETWEvents;
WheapWaitingETWEventLock.Header.Size = 6;
qword_140C15DA8 = (__int64)&WheapDeferredInternalLogs;
WheapDeferredInternalLogs = (__int64)&WheapDeferredInternalLogs;
WheapWaitingETWEventLock.Header.SignalState = 1;
WheapWaitingETWEventLock.Header.WaitListHead.Blink = &WheapWaitingETWEventLock.Header.WaitListHead;
WheapWaitingETWEventLock.Header.WaitListHead.Flink = &WheapWaitingETWEventLock.Header.WaitListHead;
LOWORD(WheapDeferredInternalLogsEventLock.Header.Lock) = 1;
WheapDeferredInternalLogsEventLock.Header.WaitListHead.Blink = &WheapDeferredInternalLogsEventLock.Header.WaitListHead;
WheapDeferredInternalLogsEventLock.Header.WaitListHead.Flink = &WheapDeferredInternalLogsEventLock.Header.WaitListHead;
qword_140C13D90 = 0i64;
WheapDeferredInternalLogsEventLock.Header.Size = 6;
WheapDeferredInternalLogsEventLock.Header.SignalState = 1;
WheapHighIrqlLogSelHandler = 0i64;
if( EtwRegister(&WHEA_ETW_PROVIDER, (PETWENABLECALLBACK)WheapEtwEnableCallback, 0i64, &WheapEtwHandle) )
WheapEtwHandle = 0i64;
if( ((unsigned __int8)&WheapIpmiLogEntryList & 0xF) != 0 )
RtlRaiseStatus(-2147483646);
v0 = (struct _SLIST_ENTRY *)&WheapIpmiLogEntry;
WheapIpmiLogEntryList = 0i64;
v1 = 128i64;
do
{
memset((INT64)v0, 0i64);
result = RtlpInterlockedPushEntrySList((PSLIST_HEADER)&WheapIpmiLogEntryList, v0);
v0 += 7;
--v1;
}
while( v1 );
return result;
}Referenced by:
WheaInitialize