ViDevObjAdd
UINT8 __stdcall ViDevObjAdd(DEVICE_OBJECT *DeviceObject){
UINT8 v1;
CHAR *v2;
UINT64 *v3;
__int128 v5;
v1 = 1;
v5 = 0i64;
if( ViDevObjInitialized )
{
v2 = VfAvlReserveNode((INT64)&ViDevObjAvl, (INT64)DeviceObject, 336i64);
if( v2 )
{
*((_DWORD *)v2 + 4) = 0;
VfAvlInitializeLockContext((INT64)&v5, 0i64);
VfAvlInsertReservedTreeNode((INT64)&ViDevObjAvl, (INT64)&v5, v3);
VfAvlCleanupLockContext((INT64)&v5);
return v1;
}
_InterlockedExchange(&ViDevObjAllocationFailures, 1);
}
return 0;
}Referenced by:
VerifierIoCreateDevice