WdipSemMarkInstanceForDeletion
INT64 *__fastcall WdipSemMarkInstanceForDeletion(_QWORD *a1){
_ETHREAD *CurrentThread;
INT64 *v2;
__int64 *EnabledInstanceTable;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v2 = 0i64;
--*((_WORD *)CurrentThread + 242);
ExAcquirePushLockExclusiveEx((UINT64)&qword_140C1A3B8, 0i64);
if( a1 )
{
EnabledInstanceTable = WdipSemQueryEnabledInstanceTable(a1);
v2 = EnabledInstanceTable;
if( EnabledInstanceTable )
{
if( *((_DWORD *)EnabledInstanceTable + 11) )
v2 = 0i64;
else
*((_DWORD *)EnabledInstanceTable + 11) = 1;
}
}
ExReleasePushLockEx((UINT64)&qword_140C1A3B8, 0i64);
KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
return v2;
}Referenced by:
WdipSemDisableScenario