PiLookupInDDB
VOID __fastcall PiLookupInDDB(_UNICODE_STRING *FullPath, VOID *ImageBase, UINT64 ImageSize, _GUID *EntryGuid){
VOID *v4;
VOID *v6;
unsigned int v7;
int v9;
INT64 v10[2];
__int128 v11;
INT64 v12[2];
__int128 v13;
v4 = PpDDBPatchHandle;
v6 = PpDDBHandle;
v7 = ImageSize;
*(_OWORD *)v10 = 0i64;
v11 = 0i64;
*(_OWORD *)v12 = 0i64;
v13 = 0i64;
if( !PpDDBHandle )
{
if( PiInitializeDDB(L"\\SystemRoot\\AppPatch\\drvmain.sdb") < 0 )
goto LABEL_6;
v6 = (VOID *)v10[0];
}
PiIsDriverBlocked(v6, FullPath, ImageBase, v7);
if( v9 < 0 )
goto LABEL_6;
if( !PpDDBHandle )
{
if( PiInitializeDDB(L"\\SystemRoot\\AppPatch\\drvpatch.sdb") < 0 )
goto LABEL_6;
v4 = (VOID *)v12[0];
}
if( v4 )
PiIsDriverBlocked(v4, FullPath, ImageBase, v7);
LABEL_6:
if( v10[0] )
PiReleaseDDB((INT64)v10);
if( v12[0] )
PiReleaseDDB((INT64)v12);
}Referenced by:
PpCheckInDriverDatabase