EtwpEnqueueOverflowBuffer
VOID __stdcall EtwpEnqueueOverflowBuffer(_WMI_LOGGER_CONTEXT *LoggerContext, _WMI_BUFFER_HEADER *Buffer){
_ETW_LOCK_HANDLE LockHandle;
LockHandle.OldIrql = 0;
_InterlockedCompareExchange((volatile signed __int32 *)Buffer + 11, 0, 1);
EtwpLockBufferList(LoggerContext, &LockHandle);
*((_QWORD *)Buffer + 4) = 0i64;
LoggerContext->OverflowQueue.QueueTail->Next = (_SINGLE_LIST_ENTRY *)((char *)Buffer + 32);
LoggerContext->OverflowQueue.QueueTail = (_SINGLE_LIST_ENTRY *)((char *)Buffer + 32);
EtwpUnlockBufferList(LoggerContext, &LockHandle);
_InterlockedIncrement(&LoggerContext->BuffersAvailable);
}Referenced by:
EtwpDequeueFreeBuffer
EtwpSwitchBuffer