CmAppendDeclarativeDefaultFilters
__int64 __fastcall CmAppendDeclarativeDefaultFilters(
__int64 a1,
char *a2,
const wchar_t *a3,
__int64 a4,
NTSTRSAFE_PWSTR pszDest,
int a6,
__int64 a7){
wchar_t *v7;
unsigned int v8;
int v9;
__int64 v13;
int v14;
char v15;
unsigned int appended;
unsigned int v17;
int v19;
v7 = pszDest;
v8 = 0;
v9 = a6;
v19 = 0;
v13 = -1i64;
do
++v13;
while( a3[v13] );
v14 = 2 * v13 + 2;
if( pszDest )
{
v19 = a6;
v15 = PnpMultiSzAppend(pszDest, (unsigned int *)&v19, a3, &pszDest);
v7 = (wchar_t *)((unsigned __int64)pszDest & -(__int64)(v15 != 0));
v9 -= v14;
}
appended = CmAppendDeclarativeFilterLevel(a1, a2, a3, v7, v9, &v19);
v17 = appended;
if( appended == -1073741772 )
{
v17 = 0;
LABEL_10:
*(_DWORD *)a7 = v8 + v14;
return v17;
}
if( (int)(appended + 0x80000000) < 0 || appended == -1073741789 )
{
v8 = v19;
goto LABEL_10;
}
return v17;
}Referenced by:
CmGetDeclarativeFilterList