/// <summary>
 /// Add port.
 /// </summary>
 /// <param name="match_type">The match type for the condition.</param>
 /// <param name="remote">True to specify remote, false for local.</param>
 /// <param name="port">The port.</param>
 public void AddPort(FirewallMatchType match_type, bool remote, int port)
 {
     AddCondition(match_type, remote ? FirewallConditionGuids.FWPM_CONDITION_IP_REMOTE_PORT : FirewallConditionGuids.FWPM_CONDITION_IP_LOCAL_PORT,
                  FirewallValue.FromUInt16((ushort)port));
 }
 /// <summary>
 /// Add port range.
 /// </summary>
 /// <param name="remote">True to specify remote, false for local.</param>
 /// <param name="low_port">The low port.</param>
 /// <param name="high_port">The high port.</param>
 public void AddPortRange(bool remote, int low_port, int high_port)
 {
     AddConditionRange(remote ? FirewallConditionGuids.FWPM_CONDITION_IP_REMOTE_PORT : FirewallConditionGuids.FWPM_CONDITION_IP_LOCAL_PORT,
                       FirewallValue.FromUInt16((ushort)low_port), FirewallValue.FromUInt16((ushort)high_port));
 }