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.