SdbpCheckMatchingDevice
NTSTATUS __stdcall SdbpCheckMatchingDevice(
INT64 *bMatchedOut,
VOID *hSDB,
VOID *pdb,
UINT64 tiParent,
UINT64 tiMatchingDevice,
VOID *Context,
VOID *MatcherContext){
__int64(__fastcall *v7)(WCHAR *);
NTSTATUS v8;
INT8 *v11;
UINT64 v12;
unsigned int FirstTag;
WCHAR *StringTagPtr;
v7 = (__int64(__fastcall *)(WCHAR *))*((_QWORD *)hSDB + 121);
v8 = 0;
*(_DWORD *)bMatchedOut = 0;
if( !v7 )
{
v11 = (INT8 *)"No device query callback specified";
v12 = 2030i64;
LABEL_3:
AslLogCallPrintf(1ui64, (INT8 *)"SdbpCheckMatchingDevice", v12, v11);
return v8;
}
FirstTag = SdbFindFirstTag((_DB *)pdb, (unsigned int)tiMatchingDevice, 0x6001u);
if( !FirstTag )
{
v11 = "Failed to read HWID attribute";
v12 = 2036i64;
goto LABEL_3;
}
StringTagPtr = SdbGetStringTagPtr(pdb, FirstTag);
if( !StringTagPtr )
{
v11 = "Failed to get HWID";
v12 = 2042i64;
goto LABEL_3;
}
v8 = 1;
*(_DWORD *)bMatchedOut = v7(StringTagPtr);
if( Context )
*((_DWORD *)Context + 20) = 1;
return v8;
}Referenced by:
No references.