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