2.2.107 FW_RULE2_27

This structure represents a firewall rule that is used by binary policy version 2.27 servers and clients (section 2.2.42). Definitions for the following FW_RULE2_27 structure fields are specified in section 2.2.37.

 typedef struct _tag_FW_RULE2_27 
 {
    struct _tag_FW_RULE2_27 *pNext;  unsigned short wSchemaVersion; 
    [string, range(1, 512), ref] wchar_t* wszRuleId; 
    [string, range(1, 10001)] wchar_t* wszName;    
    [string, range(1, 10001)] wchar_t* wszDescription;  unsigned long dwProfiles; 
    [range(FW_DIR_INVALID, FW_DIR_OUT)]  
    FW_DIRECTION Direction; 
    [range(0, 256)] unsigned short wIpProtocol; 
    [switch_type(unsigned short), switch_is(wIpProtocol)]
      union {  [case(6,17)] struct { 
        FW_PORTS LocalPorts; 
        FW_PORTS RemotePorts;    
        }; 
        [case(1)]  
        FW_ICMP_TYPE_CODE_LIST V4TypeCodeList; 
        [case(58)]  
        FW_ICMP_TYPE_CODE_LIST V6TypeCodeList; 
        [default]; 
      }; 
    FW_ADDRESSES LocalAddresses; 
    FW_ADDRESSES RemoteAddresses;  
    FW_INTERFACE_LUIDS LocalInterfaceIds;  
      unsigned long dwLocalInterfaceTypes; 
      [string, range(1, 10001)] wchar_t* wszLocalApplication;  
      [string, range(1, 10001)] wchar_t* wszLocalService; 
      [range(FW_RULE_ACTION_INVALID, FW_RULE_ACTION_MAX)]  
    FW_RULE_ACTION Action;    
      unsigned short wFlags; 
      [string, range(1, 10001)] wchar_t* wszRemoteMachineAuthorizationList; 
      [string, range(1, 10001)] wchar_t* wszRemoteUserAuthorizationList; 
      [string, range(1, 10001)] wchar_t* wszEmbeddedContext; 
    FW_OS_PLATFORM_LIST PlatformValidityList;  
    FW_RULE_STATUS Status; 
    [range(FW_RULE_ORIGIN_INVALID, FW_RULE_ORIGIN_MAX)]  
    FW_RULE_ORIGIN_TYPE Origin; 
      [string, range(1, 10001)] wchar_t* wszGPOName;  unsigned long Reserved; 
      [size_is((Reserved & FW_OBJECT_CTRL_FLAG_INCLUDE_METADATA) ? 1 : 0)]  
    PFW_OBJECT_METADATA pMetaData; 
      [string, range(1, 10001)] WCHAR* wszLocalUserAuthorizationList; 
      [string, range(1, 10001)] WCHAR* wszPackageId;  
      [string, range(1, 10001)] WCHAR*  wszLocalUserOwner; 
      unsigned long dwTrustTupleKeywords; 
    FW_NETWORK_NAMES OnNetworkNames; 
      [string, range(1, 10001)] WCHAR* wszSecurityRealmId; 
      unsigned short wFlags2;   
    FW_NETWORK_NAMES RemoteOutServerNames;  
      [string, range(1,10001)] WCHAR* wszFqbn;  
      unsigned long compartmentId; 
 }FW_RULE2_27, 
 *PFW_RULE2_27;