<div class="content" name="MPRI_INTERFACE_3" uuid="c73d2b22-5861-4d89-8878-1cec7e71ca37"><p>The <b>MPRI_INTERFACE_3</b> structure<a id="Appendix_A_Target_72"></a><a aria-label="Product behavior note 72" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_72" data-linktype="relative-path">&lt;72&gt;</a> is used to contain data for a
router <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_a5f114fd-0784-48a8-96b1-c07447033a0d" data-linktype="relative-path">demand-dial</a>
interface. This structure is used in the following methods: </p><ul><li><p><span><span> 
</span></span><a href="72bead5c-821f-4e98-bacd-0de279552379" data-linktype="relative-path"><b>RRouterInterfaceCreate (section 3.1.4.13)</b></a><span> </span></p>
</li><li><p><span><span> 
</span></span><a href="2fbcf316-2082-4f98-878b-eab5d0c2da1d" data-linktype="relative-path"><b>RRouterInterfaceGetInfo (section 3.1.4.14)</b></a> 
</p>
</li><li><p><span><span> 
</span></span><a href="615c1081-5d03-415a-b57c-76876bb2cf23" data-linktype="relative-path"><b>RRouterInterfaceSetInfo (section 3.1.4.15)</b></a><span> </span></p>
<div><pre> typedef struct _MPR_INTERFACE_3 {
   WCHAR wszInterfaceName[257];
   DWORD dwInterface;
   BOOL fEnabled;
   ROUTER_INTERFACE_TYPE dwIfType;
   ROUTER_CONNECTION_STATE dwConnectionState;
   DWORD fUnReachabilityReasons;
   DWORD dwLastError;
   DWORD dwfOptions;
   WCHAR szLocalPhoneNumber[129];
   PWCHAR szAlternates;
   DWORD ipaddr;
   DWORD ipaddrDns;
   DWORD ipaddrDnsAlt;
   DWORD ipaddrWins;
   DWORD ipaddrWinsAlt;
   DWORD dwfNetProtocols;
   WCHAR szDeviceType[17];
   WCHAR szDeviceName[129];
   WCHAR szX25PadType[33];
   WCHAR szX25Address[201];
   WCHAR szX25Facilities[201];
   WCHAR szX25UserData[201];
   DWORD dwChannels;
   DWORD dwSubEntries;
   DWORD dwDialMode;
   DWORD dwDialExtraPercent;
   DWORD dwDialExtraSampleSeconds;
   DWORD dwHangUpExtraPercent;
   DWORD dwHangUpExtraSampleSeconds;
   DWORD dwIdleDisconnectSeconds;
   DWORD dwType;
   DWORD dwEncryptionType;
   DWORD dwCustomAuthKey;
   DWORD dwCustomAuthDataSize;
   LPBYTE lpbCustomAuthData;
   GUID guidId;
   DWORD dwVpnStrategy;
   ULONG AddressCount;
   IN6_ADDR ipv6addrDns;
   IN6_ADDR ipv6addrDnsAlt;
   IN6_ADDR* ipv6addr;
 } MPRI_INTERFACE_3,
  *PMPRI_INTERFACE_3;
</pre></div>
</li></ul><p><b>wszInterfaceName: </b>A pointer to a <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_c305d0ab-8b94-461a-bd76-13b40cb8c4d8" data-linktype="relative-path">Unicode</a> string that
contains the name of the interface. This value MUST be specified during the
call to the <b>RRouterInterfaceCreate</b><a id="Appendix_A_Target_73"></a><a aria-label="Product behavior note 73" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_73" data-linktype="relative-path">&lt;73&gt;</a> method
and cannot be modified after the interface is created.<a id="Appendix_A_Target_74"></a><a aria-label="Product behavior note 74" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_74" data-linktype="relative-path">&lt;74&gt;</a></p><p><b>dwInterface: </b>Specifies a unique identifier of
the interface. This is a read-only field and cannot be set or modified.</p><p><b>fEnabled: </b>Specifies whether the interface is
enabled. The value TRUE is greater than zero (0) if the interface is enabled,
or FALSE is zero (0) if the interface is disabled by an administrator.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>TRUE &gt;0</td>
  <td>The interface is enabled.</td>
 </tr><tr>
  <td>FALSE 0</td>
  <td>The interface is disabled.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwIfType: </b>A <a href="849c1f9e-9d6f-4408-840e-ee9ae253ae01" data-linktype="relative-path"><b>ROUTER_INTERFACE_TYPE (section 2.2.1.1.1)</b></a>
value specifying the type of interface. </p><p><b>dwConnectionState: </b>A <a href="3286822c-7051-40a9-b448-8f5cc5236b97" data-linktype="relative-path"><b>ROUTER_CONNECTION_STATE (section 2.2.1.1.2)</b></a>
value specifying the current state of the interface (for example: connected,
disconnected, or unreachable). This is a read-only field and cannot be set or
modified. </p><p><b>fUnReachabilityReasons: </b>A value that describes
the reason why the interface is unreachable. This is a read-only field and
cannot be set or modified. The following table has the list of possible values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPR_INTERFACE_ADMIN_DISABLED 0x00000002</td>
  <td>The administrator has disabled the interface.</td>
 </tr><tr>
  <td>MPR_INTERFACE_CONNECTION_FAILURE 0x00000004</td>
  <td>The previous connection attempt failed.</td>
 </tr><tr>
  <td>MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010</td>
  <td>Dial-out is not allowed at the current time.</td>
 </tr><tr>
  <td>MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001</td>
  <td>No ports or devices are available for use.</td>
 </tr><tr>
  <td>MPR_INTERFACE_SERVICE_PAUSED 0x00000008</td>
  <td>The service is paused.</td>
 </tr><tr>
  <td>MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020</td>
  <td>The network cable is disconnected from the network card.</td>
 </tr><tr>
  <td>MPR_INTERFACE_NO_DEVICE 0x00000040</td>
  <td>The network card has been removed from the machine.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwLastError: </b>A value that contains a nonzero
value if the interface fails to connect. This value is a Win32 error code as
defined in <a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a>.
This is a read-only field and cannot be set or modified.</p><p><b>dwfOptions: </b>A value that specifies bit flags
used to set connection options. It SHOULD<a id="Appendix_A_Target_75"></a><a aria-label="Product behavior note 75" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_75" data-linktype="relative-path">&lt;75&gt;</a> be a
combination of the flags listed in the following table.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPRIO_SpecificIpAddr 0x00000002</td>
  <td>If this flag is set, the RRAS server attempts to use the IP address specified by the ipaddr field as the IP address for the dial-up connection. If this flag is not set, the value of the ipaddr member is ignored.</td>
 </tr><tr>
  <td>MPRIO_SpecificNameServers 0x00000004</td>
  <td>If this flag is set, the RRAS server uses the ipaddrDns, ipaddrDnsAlt, ipaddrWins, and ipaddrWinsAlt members to specify the name server addresses for the dial-up connection. If this flag is not set, the RRAS server ignores these members.</td>
 </tr><tr>
  <td>MPRIO_IpHeaderCompression 0x00000008</td>
  <td>If this flag is set, the RRAS server negotiates to use the IP header compression on the PPP connections. The IP header compression can significantly improve performance. If this flag is not set, the IP header compression is not negotiated.</td>
 </tr><tr>
  <td>MPRIO_RemoteDefaultGateway 0x00000010</td>
  <td>If this flag is set, the default route for the IP packets is through the dial-up adapter when the connection is active. If this flag is cleared, the default route is not modified.</td>
 </tr><tr>
  <td>MPRIO_DisableLcpExtensions 0x00000020</td>
  <td>If this flag is set, the RRAS server disables the PPP LCP extensions defined in [RFC1570]. Disabling the PPP LCP extensions is sometimes necessary to connect to certain older PPP implementations, but it interferes with features such as server callback. This flag MUST NOT be set unless it is specifically required.</td>
 </tr><tr>
  <td>MPRIO_SwCompression 0x00000200</td>
  <td>If this flag is set, software compression is negotiated on the link. Setting this flag causes the PPP to attempt to negotiate the CCP with the server. This flag SHOULD be set by default but clearing it can reduce the negotiation period if the server does not support a compatible compression protocol.</td>
 </tr><tr>
  <td>MPRIO_RequireEncryptedPw 0x00000400</td>
  <td>If this flag is set, only secure password schemes can be used to authenticate the client with the server. This prevents the PPP from using the PAP plaintext authentication protocol to authenticate the client. However, the [MS-CHAP], MD5-CHAP, and SPAP authentication protocols are supported. For increased security, set this flag. For increased interoperability, clear this flag.</td>
 </tr><tr>
  <td>MPRIO_RequireMsEncryptedPw 0x00000800</td>
  <td>If this flag is set, only the Microsoft secure password schemes can be used to authenticate the client with the server. This prevents the PPP from using the PAP plaintext authentication protocol, MD5-CHAP, or SPAP. For increased security, set this flag. For increased interoperability, clear this flag. This flag takes precedence over MPRIO_RequireEncryptedPw.</td>
 </tr><tr>
  <td>MPRIO_RequireDataEncryption 0x00001000</td>
  <td>If this flag is set, data encryption MUST be negotiated successfully or the connection is dropped. This flag is ignored unless MPRIO_RequireMsEncryptedPw is also set.</td>
 </tr><tr>
  <td>MPRIO_UseLogonCredentials 0x00004000</td>
  <td>If this flag is set, the RRAS server uses the username, password, and domain of the currently logged-on user when dialing this entry. This flag is ignored unless MPRIO_RequireMsEncryptedPw is also set.</td>
 </tr><tr>
  <td>MPRIO_PromoteAlternates 0x00008000</td>
  <td>This flag has an effect when alternate phone numbers are defined by the szAlternates member. If this flag is set, an alternate phone number that connects successfully becomes the primary phone number, and the current primary phone number is moved to the alternate list.</td>
 </tr><tr>
  <td>MPRIO_SecureLocalFiles 0x00010000</td>
  <td>If this flag is set, the RRAS server checks for an existing remote file system and remote printer bindings before making a connection with this entry. Typically, this flag is set on phone book entries for public networks to remind users to break connections to their private network before connecting to a public network.</td>
 </tr><tr>
  <td>MPRIO_RequireEAP 0x00020000</td>
  <td>If this flag is set, Extensible Authentication Protocol (EAP) MUST be supported for authentication.</td>
 </tr><tr>
  <td>MPRIO_RequirePAP 0x00040000</td>
  <td>If this flag is set, Password Authentication Protocol (PAP) MUST be supported for authentication.</td>
 </tr><tr>
  <td>MPRIO_RequireSPAP 0x00080000</td>
  <td>If this flag is set, Shiva&#39;s Password Authentication Protocol (SPAP) MUST be supported for authentication.</td>
 </tr><tr>
  <td>MPRIO_SharedPhoneNumbers 0x00800000</td>
  <td>If this flag is set, phone numbers are shared.</td>
 </tr><tr>
  <td>MPRIO_RequireCHAP 0x08000000</td>
  <td>If this flag is set, the Challenge Handshake Authentication Protocol (CHAP) MUST be supported for authentication.</td>
 </tr><tr>
  <td>MPRIO_RequireMsCHAP 0x10000000</td>
  <td>If this flag is set, the Microsoft Challenge Handshake Authentication Protocol [MS-CHAP] MUST be supported for authentication.</td>
 </tr><tr>
  <td>MPRIO_RequireMsCHAP2 0x20000000</td>
  <td>If this flag is set, version 2 of the [MS-CHAP] MUST be supported for authentication.</td>
 </tr><tr>
  <td>MPRIO_IpSecPreSharedKey 0x80000000</td>
  <td>Configured the demand-dial interface to use preshared key.</td>
 </tr><tr>
  <td>MPRIO_RequireMachineCertificates 0x01000000</td>
  <td>If this flag is set, a machine certificate is to be used for IKEv2 authentication.</td>
 </tr><tr>
  <td>MPRIO_UsePreSharedKeyForIkev2Initiator 0x02000000</td>
  <td>If this flag is set, a preshared key is to be used by the initiator of the IKEv2 connection for authentication.</td>
 </tr><tr>
  <td>MPRIO_UsePreSharedKeyForIkev2Responder 0x04000000</td>
  <td>If this flag is set, a preshared key is to be used by the responder of the IKEv2 connection for authentication.</td>
 </tr></tbody></table>
</dd></dl><p><b>szLocalPhoneNumber: </b>A value that specifies a
null-terminated Unicode string that contains a telephone number. </p><p><b>szAlternates: </b>The offset from the beginning of
this structure where the alternate phone numbers are stored. If no alternate
phone number is available, this value MUST be set to 0. Alternate phone numbers
are a list of consecutive null-terminated Unicode strings. The last string is
terminated by two consecutive null characters. The strings are alternate phone
numbers that the router dials, in the order listed, if the primary number fails
to connect. For more information, see <b>szLocalPhoneNumber</b>. The alternate
phone numbers MUST be stored after the custom data that is appended to this
structure.</p><p><b>ipaddr: </b>A value that specifies the IP address
to be used while this connection is active. This member is ignored unless <b>dwfOptions</b>
specifies the MPRIO_SpecificIpAddr flag.</p><p><b>ipaddrDns: </b>A value that specifies the IP
address of the DNS server to be used while this connection is active. This
member is ignored unless dwfOptions specifies the MPRIO_SpecificNameServers
flag.</p><p><b>ipaddrDnsAlt: </b>A value that specifies the IP
address of a secondary or backup DNS server to be used while this connection is
active. This member is ignored unless <b>dwfOptions</b> specifies the
MPRIO_SpecificNameServers flag.</p><p><b>ipaddrWins: </b>A value that specifies the IP
address of the WINS server to be used while this connection is active. This
member is ignored unless <b>dwfOptions</b> specifies the
MPRIO_SpecificNameServers flag.</p><p><b>ipaddrWinsAlt: </b>A value that specifies the IP
address of a secondary WINS server to be used while this connection is active.
This member is ignored unless <b>dwfOptions</b> specifies the
MPRIO_SpecificNameServers flag.</p><p><b>dwfNetProtocols: </b>A value that specifies the
network protocols to negotiate. This member can be a combination of the
following flags.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPRNP_Ipx 0x00000002</td>
  <td>Negotiate the IPX protocol.</td>
 </tr><tr>
  <td>MPRNP_Ip 0x00000004</td>
  <td>Negotiate the TCP/IPv4 protocol.</td>
 </tr><tr>
  <td>MPRNP_Ipv6 0x00000008</td>
  <td>Negotiate the TCP/IPv6 protocol.</td>
 </tr></tbody></table>
</dd></dl><p><b>szDeviceType: </b>A value that specifies a
null-terminated Unicode string that indicates the RRAS server device type that
is referenced by <b>szDeviceName</b>. This is a read-only field that is
computed based on the value of the <b>szDeviceName</b> member. The possible
values for this member are the same as the wszDeviceName defined in <b>RASI_PORT_0</b>.</p><p><b>szDeviceName: </b>Contains a null-terminated
Unicode string that contains the name of a TAPI device to use with this phone
book entry (for example, &#34;Fabrikam Inc 28800 External&#34;). To enumerate
all available RAS-capable devices, use the <a href="0553ccf0-5b52-4131-b277-4f2644eb41e7" data-linktype="relative-path"><b>RRouterDeviceEnum</b></a>
(section 3.1.4.37) method.</p><p><b>szX25PadType: </b>Contains a null-terminated
Unicode string that identifies the X.25 PAD type. This value SHOULD be set to
an empty string (&#34;&#34;) unless the entry dials using an X.25 PAD.<a id="Appendix_A_Target_76"></a><a aria-label="Product behavior note 76" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_76" data-linktype="relative-path">&lt;76&gt;</a></p><p><b>szX25Address:</b> Contains a null-terminated
Unicode string that identifies the X.25 address to connect to. This value SHOULD
be set to an empty string (&#34;&#34;) unless the entry dials using an X.25
PAD or native X.25 device.<a id="Appendix_A_Target_77"></a><a aria-label="Product behavior note 77" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_77" data-linktype="relative-path">&lt;77&gt;</a></p><p><b>szX25Facilities: </b>Contains a null-terminated
Unicode string that specifies the facilities to request from the X.25 host at
connection time. This member is ignored if szX25Address is an empty string
(&#34;&#34;).</p><p><b>szX25UserData: </b>Contains a null-terminated
Unicode string that specifies the additional connection data supplied to the
X.25 host at connection time. This member is ignored if szX25Address is an
empty string (&#34;&#34;).</p><p><b>dwChannels: </b>Reserved for future use.</p><p><b>dwSubEntries: </b>A value that specifies the
number of multilink subentries associated with this entry. This is a read-only
field and cannot be set or modified. Multilink entries SHOULD be specified by
updating the Media section of the <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_7653fbde-27ea-4593-bf47-46064b0a1c29" data-linktype="relative-path">phonebook file</a> as specified
in <a href="3e9d99a7-249e-4e0e-a940-cedf4170ae0f" data-linktype="relative-path">2.2.2.2.96</a>. </p><p><b>dwDialMode: </b>Indicates whether the RRAS server
needs to dial all of this entry&#39;s multilink subentries when the entry is first
connected. This member can be one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000</td>
  <td>Dial the first available device only.</td>
 </tr><tr>
  <td>MPRDM_DialAll 0x00000001</td>
  <td>Dial all subentries initially.</td>
 </tr><tr>
  <td>MPRDM_DialAsNeeded 0x00000002</td>
  <td>Adjust the number of subentries as bandwidth is required. The RRAS server uses the dwDialExtraPercent, dwDialExtraSampleSeconds, dwDialHangUpExtraPercent, and dwHangUpExtraSampleSeconds members to determine when to dial or disconnect a subentry. This value SHOULD&lt;78&gt; be ignored and treated identically to MPRDM_DialAll.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwDialExtraPercent: </b>A value that specifies the
percentage of the total bandwidth that is available from the currently
connected subentries. The RRAS server dials an additional subentry when the
total bandwidth that is used exceeds <b>dwDialExtraPercent</b> percent of the
available bandwidth for at least <b>dwDialExtraSampleSeconds</b> seconds. </p><dl>
<dd>
<p>This member is ignored unless the <b>dwDialMode</b>
member specifies the MPRDM_DialAsNeeded flag.</p>
</dd></dl><p><b>dwDialExtraSampleSeconds: </b>A value that
specifies the time, in seconds, for which current bandwidth usage MUST exceed
the threshold that is specified by <b>dwDialExtraPercent</b> before the RRAS
server dials an additional subentry. </p><dl>
<dd>
<p>This member is ignored unless the <b>dwDialMode</b>
member specifies the MPRDM_DialAsNeeded.</p>
</dd></dl><p><b>dwHangUpExtraPercent: </b>A value that specifies
the percentage of the total bandwidth that is available from the currently
connected subentries. The RRAS server terminates (hangs up) an existing
subentry connection when the total bandwidth used is less than <b>dwHangUpExtraPercent</b>
percent of the available bandwidth for at least <b>dwHangUpExtraSampleSeconds</b>
seconds. </p><dl>
<dd>
<p>This member is ignored unless the <b>dwDialMode</b>
member specifies the MPRDM_DialAsNeeded flag.</p>
</dd></dl><p><b>dwHangUpExtraSampleSeconds: </b>A value that
specifies the time, in seconds, for which current bandwidth usage MUST be less
than the threshold that is specified by <b>dwHangUpExtraPercent</b> before the
RRAS server terminates an existing subentry connection. </p><dl>
<dd>
<p>This member is ignored unless the <b>dwDialMode</b>
member specifies the MPRDM_DialAsNeeded flag.</p>
</dd></dl><p><b>dwIdleDisconnectSeconds: </b>A value that specifies
the time, in seconds, after which an inactive connection is terminated. Unless
the idle time-out is disabled, the entire connection is terminated if the
connection is idle for the specified interval. This member can specify either a
time-out value or one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPRIDS_UseGlobalValue 0x00000000</td>
  <td>Use the user preference value as the default.</td>
 </tr><tr>
  <td>MPRIDS_Disabled 0xFFFFFFFF</td>
  <td>There is no idle time-out for this connection.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwType: </b>A value that specifies the type of
phone book entry. This is a read-only field that is calculated based on the
value of the <b>szDeviceType</b> member. This member can be one of the
following types.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPRET_Phone 0x00000001</td>
  <td>Phone line (for example: modem, ISDN, or X.25).</td>
 </tr><tr>
  <td>MPRET_Vpn 0x00000002</td>
  <td>Virtual private network (VPN).</td>
 </tr><tr>
  <td>MPRET_Direct 0x00000003</td>
  <td>Direct serial or parallel connection.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwEncryptionType: </b>A value that specifies the
type of encryption to use for Microsoft Point-to-Point Encryption (MPPE) with
the connection. This member can be one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPR_ET_None 0x00000000</td>
  <td>Do not use encryption.</td>
 </tr><tr>
  <td>MPR_ET_Require 0x00000001</td>
  <td>Use encryption.</td>
 </tr><tr>
  <td>MPR_ET_RequireMax 0x00000002</td>
  <td>Use maximum-strength encryption.</td>
 </tr><tr>
  <td>MPR_ET_Optional 0x00000003</td>
  <td>If possible, use encryption.</td>
 </tr></tbody></table>
</dd>
<dd>
<p>The value of <b>dwEncryptionType</b>
does not affect how passwords are encrypted. Whether passwords are encrypted
and how passwords are encrypted is determined by the authentication protocol,
for example: PAP, MS-CHAP, or EAP.</p>
</dd></dl><p><b>dwCustomAuthKey: </b>A value that specifies the
authentication key to be provided to an EAP (<a href="../ms-peap/5308642b-90c9-4cc4-beec-fb367325c0f9" data-linktype="relative-path">[MS-PEAP]</a>)
vendor.</p><p><b>dwCustomAuthDataSize: </b>A value that specifies
the size of the data pointed to by the <b>lpbCustomAuthData</b> member.</p><p><b>lpbCustomAuthData: </b>The offset from the
beginning of this structure where the CustomAuthData is stored. If
CustomAuthData are not specified, this member MUST be set to 0. CustomAuthData
is the authentication data to use with EAP [MS-PEAP]. CustomAuthData MUST be
appended to the end of this structure.</p><p><b>guidId: </b>The <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_f49694cc-c350-462d-ab8e-816f0103c6c1" data-linktype="relative-path">GUID</a> that represents this
phone book entry. This member is read-only.</p><p><b>dwVpnStrategy: </b>The VPN strategy to use when
dialing a VPN connection. This member SHOULD have one of the following values.<a id="Appendix_A_Target_79"></a><a aria-label="Product behavior note 79" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_79" data-linktype="relative-path">&lt;79&gt;</a> </p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MPR_VS_Default 0x00000000</td>
  <td>The RRAS server dials the PPTP first. If the PPTP fails, the L2TP is attempted. If the L2TP fails, the IKEv2 is attempted. The protocol that succeeds is tried first in subsequent dialing for this entry.</td>
 </tr><tr>
  <td>MPR_VS_PptpOnly 0x00000001</td>
  <td>The RRAS server dials only the PPTP.</td>
 </tr><tr>
  <td>MPR_VS_PptpFirst 0x00000002</td>
  <td>The RRAS server always dials the PPTP first, the L2TP second, and the IKEv2 third.</td>
 </tr><tr>
  <td>MPR_VS_L2tpOnly 0x00000003</td>
  <td>The RRAS server dials only the L2TP.</td>
 </tr><tr>
  <td>MPR_VS_L2tpFirst 0x00000004</td>
  <td>The RRAS server dials the L2TP first, the PPTP second, and the IKEv2 third.</td>
 </tr><tr>
  <td>MPR_VS_Ikev2Only 0x00000007</td>
  <td>The RRAS server dials only the IKEv2.</td>
 </tr><tr>
  <td>MPR_VS_Ikev2First 0x00000008</td>
  <td>The RRAS server dials the IKEv2 first, the PPTP second, and the L2TP third.</td>
 </tr></tbody></table>
</dd></dl><p><b>AddressCount: </b>Not used.</p><p><b>ipv6addrDns: </b>A value that specifies the IP
address of the DNS server to be used while this connection is active.</p><p><b>ipv6addrDnsAlt: </b>A value that specifies the IP
address of a secondary or backup DNS server to be used while this connection is
active.</p><p><b>ipv6addr: </b>Not used.</p></div>