public FWPM_FILTER_CONDITION0 CreateConditionProtocol(IPPROTO protocol) { var condition = new FWPM_FILTER_CONDITION0(); condition.matchType = FWP_MATCH.EQUAL; condition.fieldKey = ConditionKeys.FWPM_CONDITION_IP_PROTOCOL; condition.conditionValue.type = FWP_DATA_TYPE.UINT8; condition.conditionValue.value.uint8 = (byte)protocol; return condition; }
public FWPM_FILTER_CONDITION0 CreateConditionPort(bool remote, ushort port) { var condition = new FWPM_FILTER_CONDITION0(); condition.matchType = FWP_MATCH.EQUAL; condition.fieldKey = remote ? ConditionKeys.FWPM_CONDITION_IP_REMOTE_PORT : ConditionKeys.FWPM_CONDITION_IP_LOCAL_PORT; condition.conditionValue.type = FWP_DATA_TYPE.UINT16; condition.conditionValue.value.uint16 = (ushort)port; return condition; }