PopThermalProcessUsermodeEvent
NTSTATUS __stdcall PopThermalProcessUsermodeEvent(PACKED_THERMAL_EVENT *Event){
PopDiagTraceUsermodeThermalEvent((__int64)Event);
if( *Event )
{
if( *Event == 1 )
{
PopDiagTraceUsermodeTripPointExceeded(*((_WORD *)Event + 6), (WCHAR *)Event + 7, (unsigned int)Event[2], 0);
PopSqmThermalUsermodeEvent(
*((_WORD *)Event + 6),
(WCHAR *)Event + 7,
(unsigned int)Event[2],
(unsigned int)Event[1],
0);
PopAcquirePolicyLock();
PopThermalHibernateInitiated = 1;
PopReleasePolicyLock();
}
}
else
{
PopDiagTraceUsermodeTripPointExceeded(*((_WORD *)Event + 6), (WCHAR *)Event + 7, (unsigned int)Event[2], 1u);
PopSqmThermalUsermodeEvent(
*((_WORD *)Event + 6),
(WCHAR *)Event + 7,
(unsigned int)Event[2],
(unsigned int)Event[1],
1u);
PopThermalWriteShutdownToRegistry();
}
return 0;
}Referenced by:
NtPowerInformation