DrvDbUnregisterDatabase
INT64 __fastcall DrvDbUnregisterDatabase(INT64 a1, const WCHAR *a2){
INT64 v2;
INT64 result;
VOID ***v4;
VOID ***v5;
v2 = PiDrvDbCtx;
v5 = 0i64;
result = DrvDbFindDatabaseNode(PiDrvDbCtx, a2, (const UNICODE_STRING **)&v5);
if( (int)result >= 0 )
{
v4 = v5;
if( ((_DWORD)v5[7] & 1) != 0 )
{
return 3221225485i64;
}
else
{
if( *(VOID ****)(v2 + 40) == v5 )
*(_QWORD *)(v2 + 40) = 0i64;
return DrvDbDestroyDatabaseNode(v2, v4);
}
}
return result;
}Referenced by:
PiDrvDbRegisterNode