KseResetDeviceCache
INT64 __fastcall KseResetDeviceCache(){
_ETHREAD *CurrentThread;
UINT64 v1;
volatile INT64 *v2;
if( dword_140C50324 == 2 )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v1 = qword_140C50368;
--*((_WORD *)CurrentThread + 242);
ExAcquirePushLockExclusiveEx(v1, 0i64);
KsepCacheReset(qword_140C50368);
v2 = (volatile INT64 *)qword_140C50368;
if( (_InterlockedExchangeAdd64((volatile signed __int64 *)qword_140C50368, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(v2);
KeAbPostRelease((PVOID)v2);
KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
}
return 0i64;
}Referenced by:
KseQueryDeviceData
KseQueryDeviceDataList