SdbpCheckMatchingText
NTSTATUS __stdcall SdbpCheckMatchingText(
INT64 *bMatched,
VOID *hSDB,
VOID *pdb,
UINT64 tiParent,
UINT64 tiMatchingText,
VOID *Context,
VOID *MatcherContext){
NTSTATUS v7;
INT8 *v10;
UINT64 v11;
_DWORD *v12;
UINT64 dwTextToMatchLengthBytes;
UINT64 dwFileEncoding;
UINT64 dwMaxSize;
UINT64 v17;
INT64 bEntryMatched;
VOID *pContainsTextOut;
WCHAR *pwszFilePathOut;
UINT64 v21;
v7 = 0;
LODWORD(v21) = 0x2000;
*(_DWORD *)bMatched = 0;
bEntryMatched = 0i64;
pwszFilePathOut = 0i64;
pContainsTextOut = 0i64;
v17 = 0i64;
if( !SdbpGetMatchingTextAttributes(
pdb,
(unsigned int)tiMatchingText,
&pwszFilePathOut,
&pContainsTextOut,
(UINT64 *)((char *)&v17 + 4),
&v17,
&v21) )
{
v10 = (INT8 *)"Failed to read MATCHING_TEXT entry";
v11 = 1945i64;
LABEL_3:
AslLogCallPrintf(1ui64, (INT8 *)"SdbpCheckMatchingText", v11, v10);
goto LABEL_7;
}
v12 = Context;
LODWORD(dwMaxSize) = v21;
LODWORD(dwTextToMatchLengthBytes) = HIDWORD(v17);
LODWORD(dwFileEncoding) = v17;
if( !SdbpCheckMatchingTextEntry(
hSDB,
(tagSEARCHDBCONTEXT *)Context,
pwszFilePathOut,
pContainsTextOut,
dwTextToMatchLengthBytes,
dwFileEncoding,
dwMaxSize,
(INT64 *)((char *)&bEntryMatched + 4),
&bEntryMatched) )
{
v10 = "Failed to check MATCHING_TEXT entry";
v11 = 1962i64;
goto LABEL_3;
}
v7 = 1;
v12[20] |= bEntryMatched;
*(_DWORD *)bMatched = HIDWORD(bEntryMatched);
LABEL_7:
if( pContainsTextOut )
ExFreePoolWithTag(pContainsTextOut, 0x74705041u);
return v7;
}Referenced by:
No references.