SdbTagRefToTagID
NTSTATUS __stdcall SdbTagRefToTagID(VOID *hSDB, UINT64 trWhich, _DB **ppdb, UINT64 *ptiWhich){
_DB *v6;
NTSTATUS v7;
int v8;
char *v9;
int v11;
__int128 v13;
_DB *pPDB;
__int128 pDatabaseID;
v6 = 0i64;
v7 = 1;
pPDB = 0i64;
v8 = trWhich & 0xFFFFFFF;
v9 = (char *)hSDB + 32 * ((unsigned int)trWhich >> 28) + 32;
v11 = *((_DWORD *)v9 + 6);
if( (v11 & 2) != 0 )
{
v6 = (_DB *)*((_QWORD *)v9 + 2);
*(_OWORD *)(v6 + 7) = *(_OWORD *)v9;
goto LABEL_3;
}
if( (v11 & 1) != 0 )
{
v13 = *(_OWORD *)v9;
*((_DWORD *)v9 + 6) = 0;
pDatabaseID = v13;
v7 = SdbpOpenLocalDatabaseEx(hSDB, &pDatabaseID, (_DB **)v9, (UINT64 *)&pPDB);
v6 = pPDB;
LABEL_3:
if( v6 )
goto LABEL_4;
}
v7 = 0;
LABEL_4:
if( !v7 )
{
v6 = 0i64;
v8 = 0;
}
if( ppdb )
*ppdb = v6;
if( ptiWhich )
*(_DWORD *)ptiWhich = v8;
return v7;
}Referenced by:
KsepDbCacheReadDeviceInternal
KsepDbGetDriverShimsInternal
KsepDbGetShimInfo
PiIsDriverBlocked
SdbReadEntryInformation