Rémi Bernon (@rbernon) commented about dlls/cfgmgr32/main.c:
- {
const DEVPROP_FILTER_EXPRESSION *filter = &filters[i];
const DEVPROPERTY *prop = &filter->Property;
DEVPROP_OPERATOR op = filter->Operator;
DWORD compare = op & DEVPROP_OPERATOR_MASK_EVAL;
DWORD list = op & DEVPROP_OPERATOR_MASK_LIST;
DWORD modifier = op & DEVPROP_OPERATOR_MASK_MODIFIER;
DWORD logical = op & DEVPROP_OPERATOR_MASK_LOGICAL;
DWORD array = op & DEVPROP_OPERATOR_MASK_ARRAY;
if ((compare && compare > DEVPROP_OPERATOR_CONTAINS)
|| (logical && (op & DEVPROP_OPERATOR_MASK_NOT_LOGICAL))
|| (array && (op != DEVPROP_OPERATOR_ARRAY_CONTAINS))
|| !!prop->Buffer != !!prop->BufferSize)
{
hr = E_INVALIDARG;
Should we add a FIXME in case they add new operator bits?