2.2.92 FW_QUERY_CONDITIONS

This structure is used to contain a number of FW_QUERY_CONDITION elements. This structure can evaluate to either TRUE or FALSE. It evaluates to TRUE if all query condition elements evaluate to TRUE; otherwise, it evaluates to FALSE.

 typedef struct_tag_FW_QUERY_CONDITIONS
    {
     DWORD dwNumEntries;
  
     [size_is(dwNumEntries)]
     FW_QUERY_CONDITION *AndedConditions;
 }FW_QUERY_CONDITIONS, *PFW_QUERY_CONDITIONS;

dwNumEntries: Specifies the number of query conditions that the structure contains.

AndedConditions: A pointer to an array of FW_QUERY_CONDITIONS elements, which are to be logically AND'd together by the server.

A query condition structure MUST pass the following semantic checks:

  • If the dwNumEntries field is zero, the AndedConditions field MUST be NULL; and if the dwNumEntries field is not zero, the AndedConditions field MUST NOT be NULL.

  • If the AndedConditions field array has a FW_QUERY_CONDITION element with the matchKey field equal to FW_MATCH_KEY_LOCAL_PORT or FW_MATCH_KEY_REMOTE_PORT at position N of the array, the array MUST have another element whose matchKey field is equal to FW_MATCH_KEY_PROTOCOL at position M, where M < N.

  • All elements of the AndedConditions array MUST have valid FW_QUERY_CONDITION structures.