<div class="content"><p> </p><p>This structure is used to represent a main mode rule.</p><dl>
<dd>
<div><pre> typedef struct _tag_FW_MM_RULE {
   struct _tag_FW_MM_RULE* 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;
   FW_ADDRESSES Endpoint1;
   FW_ADDRESSES Endpoint2;
   [string, range(1,255)] wchar_t* wszPhase1AuthSet;
   [string, range(1,255)] wchar_t* wszPhase1CryptoSet;
   unsigned SHORT wFlags;
   [string, range(1,10001)] wchar_t wszEmbeddedContext;
   FW_OS_PLATFORM_LIST PlatformValidityList;
   [range(FW_RULE_ORIGIN_INVALID, FW_RULE_ORIGIN_MAX-1)] 
     FW_RULE_ORIGIN_TYPE Origin;
   [string, range(1,10001)] wchar_t wszGPOName;
   FW_RULE_STATUS Status;
   signed LONG Reserved;
   [size_is((Reserved &amp; FW_OBJECT_CTRL_FLAG_INCLUDE_METADATA) ? 1 : 0)] 
     FW_OBJECT_METADATA pMetaData;
 } FW_MM_RULE,
  *PFW_MM_RULE;
</pre></div>
</dd></dl><p><b>pNext:</b>  A pointer to the next
FW_MM_RULE in the list.</p><p><b>wSchemaVersion:</b>  Specifies the
version of the rule.</p><p><b>wszRuleId:</b>  A pointer to a <span><a href="d891304d-92d8-4f9f-9e60-a1f02b28ae30#gt_c305d0ab-8b94-461a-bd76-13b40cb8c4d8" data-linktype="relative-path">Unicode</a></span>
string that uniquely identifies the rule.</p><p><b>wszName:</b>  A pointer to a Unicode
string that provides a friendly name for the rule.</p><p><b>wszDescription:</b>  A pointer to a
Unicode string that provides a friendly description for the rule.</p><p><b>dwProfiles:</b>  A bitmask of the <span><a href="7704e238-174d-4a5e-b809-5f3787dd8acc" data-linktype="relative-path">FW_PROFILE_TYPE</a></span>
flags. It is a condition that matches traffic on the specified profiles.</p><p><b>Endpoint1:</b>  A condition that
specifies the addresses of the first host of the traffic that the rule matches.
An empty EndPoint1 structure means this condition is not applied (no match).</p><p><b>Endpoint2:</b>  A condition that
specifies the addresses of the second host of the traffic that the rule
matches. An empty EndPoint2 structure means this condition is not applied (no
match).</p><p><b>wszPhase1AuthSet:</b>  A Unicode string
that represents the set identifier of a Phase1 authentication sets policy
objects.</p><p><b>wFlags:</b>  Bit flags from <span><a href="567fdc53-7b1c-418b-8b11-dd7267f75bad" data-linktype="relative-path">FW_CS_RULE_FLAGS</a></span>.</p><p><b>wszEmbeddedContext:</b>  A pointer to a
Unicode string that specifies a group name for this rule. Other components in
the system use this string to enable or disable a group of rules by verifying
that all rules have the same group name.</p><p><b>PlatformValidityList:</b>  A condition
in a rule that determines whether or not the rule is enforced by the local
computer based on the local computer&#39;s platform information. The rule is
enforced only if the local computer&#39;s operating system platform is an element
of the set described by <b>PlatformValidityList</b>.<a id="Appendix_A_Target_22"></a><a aria-label="Product behavior note 22" href="1da2ee70-a6ae-4f76-b08f-fdc25c77d8a0#Appendix_A_22" data-linktype="relative-path">&lt;22&gt;</a></p><p><b>Origin:</b>  This field is the rule
origin, as specified in the <span><a href="9d295321-d75c-41c0-ab0d-7a78df40f77c" data-linktype="relative-path">FW_RULE_ORIGIN_TYPE</a></span>
enumeration. It MUST be filled on enumerated rules and ignored on input.</p><p><b>wszGPOName:</b>  A pointer to a Unicode
string containing the displayName of the <span><a href="d891304d-92d8-4f9f-9e60-a1f02b28ae30#gt_dec32233-8776-4151-91a0-8624a2b9abb0" data-linktype="relative-path">GPO</a></span> containing this
object. When adding a new object, this field is not used. The client SHOULD set
the value to NULL, and the server MUST ignore the value. When enumerating an
existing object, if the client does not set the
FW_ENUM_RULES_FLAG_RESOLVE_GPO_NAME flag, the server MUST set the value to
NULL. Otherwise, the server MUST set the value to the displayName of the GPO
containing the object or NULL if the object is not contained within a GPO. For
details about how the server initializes an object from a GPO, see section <span><a href="e8924ac5-aa4a-41d1-bf65-4f46b3d399aa" data-linktype="relative-path">3.1.3</a></span>.
For details about how the displayName of a GPO is stored, see <span><a href="../ms-gpol/62d12924-6252-4052-996f-161d2b9019f4" data-linktype="relative-path">[MS-GPOL]</a></span>
section <span><a href="../ms-gpol/a0b3f9f6-da35-4c8a-8b8d-1318d4673e9d" data-linktype="relative-path">2.3</a></span>.</p><p><b>Status:</b>  The status code of the
rule, as specified by the <span><a href="c4fd81e6-38dd-47c5-8a0f-a98a11cf190e" data-linktype="relative-path">FW_RULE_STATUS</a></span>
enumeration. This field is filled out when the structure is returned as output.
On input, this field MUST be set to FW_RULE_STATUS_OK.</p><p><b>Reserved:</b>  This member is not used,
other than to instruct <span><a href="d891304d-92d8-4f9f-9e60-a1f02b28ae30#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span>, by using the
FW_OBJECT_CTRL_FLAG_INCLUDE_METADATA flag, that a pointer to an <span><a href="cecfb58e-2c79-4b7d-b92c-7666fa06d559" data-linktype="relative-path">FW_OBJECT_METADATA</a></span>
structure is present. It has no semantic meaning to the object itself.</p><p><b>pMetaData:</b>  A pointer to an
FW_OBJECT_METADATA structure that contains specific metadata about the current
state of the connection security rule.</p></div>