MPR_INTERFACE_2 構造体 (mprapi.h)

MPR_INTERFACE_2構造には、ルーターの需要ダイヤル インターフェイスのデータが含まれています。

構文

typedef struct _MPR_INTERFACE_2 {
  WCHAR                   wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
  HANDLE                  hInterface;
  BOOL                    fEnabled;
  ROUTER_INTERFACE_TYPE   dwIfType;
  ROUTER_CONNECTION_STATE dwConnectionState;
  DWORD                   fUnReachabilityReasons;
  DWORD                   dwLastError;
  DWORD                   dwfOptions;
  WCHAR                   szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  PWCHAR                  szAlternates;
  DWORD                   ipaddr;
  DWORD                   ipaddrDns;
  DWORD                   ipaddrDnsAlt;
  DWORD                   ipaddrWins;
  DWORD                   ipaddrWinsAlt;
  DWORD                   dwfNetProtocols;
  WCHAR                   szDeviceType[MPR_MaxDeviceType + 1];
  WCHAR                   szDeviceName[MPR_MaxDeviceName + 1];
  WCHAR                   szX25PadType[MPR_MaxPadType + 1];
  WCHAR                   szX25Address[MPR_MaxX25Address + 1];
  WCHAR                   szX25Facilities[MPR_MaxFacilities + 1];
  WCHAR                   szX25UserData[MPR_MaxUserData + 1];
  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;
} MPR_INTERFACE_2, *PMPR_INTERFACE_2;

メンバー

wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1]

インターフェイスの名前を含む Unicode 文字列へのポインター。

hInterface

インターフェイスへのハンドル。

fEnabled

インターフェイスが有効かどうかを示す 値。 インターフェイスが有効になっている場合、この値は TRUE 、インターフェイスが管理上無効になっている場合は FALSE です。

dwIfType

インターフェイスの種類を識別する値。

dwConnectionState

インターフェイスの現在の状態を表す 値 (接続済み、切断済み、到達不能など)。 詳細と考えられる状態の一覧については、「 ROUTER_CONNECTION_STATE」を参照してください。

fUnReachabilityReasons

インターフェイスに到達できない理由を示す 値。 使用可能な値の詳細と一覧については、「 到達不能の理由」を参照してください。

dwLastError

インターフェイスの接続に失敗した場合に 0 以外の値を含む値。

dwfOptions

接続オプションの設定に使用されるビット フラグを示す 値。 次の表に示すフラグのいずれかを設定できます。

フラグ 説明
MPRIO_SpecificIpAddr
このフラグが設定されている場合、RRAS は ipaddr で指定された IP アドレスをダイヤルアップ接続の IP アドレスとして使用しようとします。 このフラグが設定されていない場合、 ipaddr メンバーの値は無視されます。

MPRIO_SpecificIpAddr フラグの設定は、[TCP/IP 設定] ダイアログ ボックスで [IP アドレスの指定] 設定を選択することに対応します。 MPRIO_SpecificIpAddr フラグのクリアは、[TCP/IP 設定] ダイアログ ボックスで [サーバー割り当て IP アドレス] 設定を選択することに対応します。

現在、電話帳のエントリ プロパティで設定された IP アドレス、またはサーバーから取得された IP アドレスは、ネットワーク コントロール パネルで設定された IP アドレスをオーバーライドします。

MPRIO_SpecificNameServers
このフラグが設定されている場合、RRAS は ipaddrDnsipaddrDnsAltipaddrWins、および ipaddrWinsAlt メンバーを使用して、ダイヤルアップ接続のネーム サーバー アドレスを指定します。 このフラグが設定されていない場合、RRAS はこれらのメンバーを無視します。

MPRIO_SpecificNameServers フラグの設定は、[TCP/IP 設定] ダイアログ ボックスで [ ネーム サーバー アドレスの指定 ] 設定を選択することに対応します。 MPRIO_SpecificNameServers フラグのクリアは、[TCP/IP 設定] ダイアログ ボックスの [サーバー割り当てネーム サーバー アドレス] 設定を選択することに対応します。

MPRIO_IpHeaderCompression
このフラグが設定されている場合、RRAS は PPP 接続で IP ヘッダー圧縮を使用するようにネゴシエートします。 IP ヘッダーの圧縮により、パフォーマンスが大幅に向上します。

このフラグが設定されていない場合、IP ヘッダーの圧縮はネゴシエートされません。

このフラグは、[TCP/IP 設定] ダイアログ ボックスの [IP ヘッダー圧縮チェックを使用する] ボックスに対応します。 フラグは、IP ヘッダー圧縮を正しくネゴシエートしないサーバーに接続する場合にのみクリアする必要があります。

MPRIO_RemoteDefaultGateway
このフラグが設定されている場合、IP パケットの既定のルートは、接続がアクティブなときにダイヤルアップ アダプターを経由します。 このフラグをクリアすると、既定のルートは変更されません。

このフラグは、[TCP/IP 設定] ダイアログ ボックスの [リモート ネットワークで既定のゲートウェイを使用する] チェック ボックスに対応します。

MPRIO_DisableLcpExtensions
このフラグが設定されている場合、RRAS は RFC 1570 で定義されている PPP LCP 拡張機能を無効にします。 PPP LCP 拡張機能を無効にすることは、特定の古い PPP 実装に接続するために必要な場合がありますが、サーバー コールバックなどの機能に干渉します。 このフラグは、特に必須でない限り設定しないでください。
MPRIO_SwCompression
このフラグを設定すると、リンク上でソフトウェア圧縮がネゴシエートされます。 このフラグを設定すると、PPP ドライバーは圧縮制御プロトコル (CCP) をサーバーとネゴシエートしようとします。 このフラグは既定で設定する必要がありますが、サーバーが互換性のある圧縮プロトコルをサポートしていない場合、このフラグをクリアするとネゴシエーション期間が短縮される可能性があります。
MPRIO_RequireEncryptedPw
このフラグが設定されている場合は、セキュリティで保護されたパスワード スキームのみを使用して、サーバーでクライアントを認証できます。 これにより、PPP ドライバーが PAP プレーンテキスト認証プロトコルを使用してクライアントを認証できなくなります。 ただし、MS-CHAP、MD5-CHAP、SPAP 認証プロトコルはサポートされています。 セキュリティを強化するために、このフラグを設定します。 相互運用性を高める場合は、このフラグをクリアします。

このフラグは、[セキュリティ] ダイアログ ボックスの [暗号化されたパスワードのチェックが必要] ボックスに対応しています。 詳細については、「 MPRIO_RequireMsEncryptedPw」を参照してください。

MPRIO_RequireMsEncryptedPw
このフラグが設定されている場合は、Microsoft のセキュリティで保護されたパスワード スキームのみを使用して、サーバーでクライアントを認証できます。 これにより、PPP ドライバーが PAP プレーンテキスト認証プロトコル、MD5-CHAP、または SPAP を使用できなくなります。 セキュリティを強化するために、このフラグを設定します。 相互運用性を高める場合は、このフラグをクリアします。 このフラグは 、MPRIO_RequireEncryptedPwよりも優先されます。

このフラグは、[セキュリティ] ダイアログ ボックスの [Microsoft Encrypted Password チェックを要求する] ボックスに対応しています。 詳細については、「 MPRIO_RequireDataEncryption」を参照してください。

MPRIO_RequireDataEncryption
このフラグが設定されている場合は、データ暗号化を正常にネゴシエートするか、接続を削除する必要があります。 MPRIO_RequireMsEncryptedPwも設定されていない限り、このフラグは無視されます。

このフラグは、[セキュリティ] ダイアログ ボックスの [データ暗号化のチェックを要求する] ボックスに対応します。

MPRIO_NetworkLogon
このフラグは将来利用するために予約されています。
MPRIO_UseLogonCredentials
このフラグが設定されている場合、RRAS は、このエントリをダイヤルするときに、現在ログオンしているユーザーのユーザー名、パスワード、およびドメインを使用します。 MPRIO_RequireMsEncryptedPwも設定されていない限り、このフラグは無視されます。

この設定は 、RASDIALPARAMS 構造体の szUserName メンバーと szPassword メンバーに空の文字列を指定すると同じ結果を提供する RasDial 関数では無視されます。

このフラグは、[セキュリティ] ダイアログ ボックスの [現在のユーザー名とパスワードのチェックを使用する] ボックスに対応します。

MPRIO_PromoteAlternates
このフラグは、代替電話番号が szAlternates メンバーによって定義されている場合に有効です。 このフラグが設定されている場合、接続に成功した代替電話番号がプライマリ電話番号になり、現在のプライマリ電話番号が代替リストに移動されます。

このフラグは、[代替番号] ダイアログ ボックスの [チェック] ボックスに対応します。

MPRIO_SecureLocalFiles
このフラグが設定されている場合、RRAS は、この項目との接続を確立する前に、既存のリモート・ファイル・システムおよびリモート・プリンター・バインディングを検査します。 通常、パブリック ネットワークの電話帳エントリにこのフラグを設定して、パブリック ネットワークに接続する前にプライベート ネットワークへの接続を切断するようにユーザーに通知します。
MPRIO_RequireEAP
このフラグが設定されている場合は、認証で拡張認証プロトコル (EAP) がサポートされている必要があります。
MPRIO_RequirePAP
このフラグが設定されている場合は、認証でパスワード認証プロトコルがサポートされている必要があります。
MPRIO_RequireSPAP
このフラグが設定されている場合、Shiva のパスワード認証プロトコル (SPAP) が認証でサポートされている必要があります。
MPRIO_SharedPhoneNumbers
このフラグが設定されている場合、電話番号は共有されます。
MPRIO_RequireCHAP
このフラグが設定されている場合は、認証でチャレンジ ハンドシェイク認証プロトコルがサポートされている必要があります。
MPRIO_RequireMsCHAP
このフラグが設定されている場合は、認証で Microsoft チャレンジ ハンドシェイク認証プロトコルがサポートされている必要があります。
MPRIO_RequireMsCHAP2
このフラグが設定されている場合は、Microsoft チャレンジ ハンドシェイク認証プロトコルのバージョン 2 が認証でサポートされている必要があります。
MPRIO_IpSecPreSharedKey
このフラグがMPR_INTERFACE_2構造の dwOptions に設定され、MprAdminInterfaceSetInfo で使用される場合は、事前共有キーを使用するように要求ダイヤル インターフェイスを構成します。
MPRIO_RequireMachineCertificates
Windows 8 以降: このフラグが設定されている場合、マシン証明書は IKEv2 認証に使用されます。
MPRIO_UsePreSharedKeyForIkev2Initiator
Windows 8 以降: このフラグが設定されている場合、認証のために IKEv2 接続のイニシエーターによって事前共有キーが使用されます。
MPRIO_UsePreSharedKeyForIkev2Responder
Windows 8 以降: このフラグが設定されている場合、認証のために IKEv2 接続のレスポンダーによって事前共有キーが使用されます。

szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]

電話番号を含む null で終わる文字列を指定する値。

szAlternates

連続する null で終わる Unicode 文字列のリストへのポインター。 最後の文字列は、連続する 2 つの null 文字で終了します。 これらの文字列は、プライマリ番号の接続に失敗した場合に、ルーターがダイヤルする代替電話番号です。 詳細については、「 szLocalPhoneNumber」を参照してください。

ipaddr

この接続がアクティブな間に使用される IP アドレスを示す 値。 このメンバーは、MPRIO_SpecificIpAddr フラグが指定されていない限り無視されます。

ipaddrDns

この接続がアクティブな間に使用される DNS サーバーの IP アドレスを示す 値。 このメンバーは、MPRIO_SpecificNameServers フラグが指定されていない限り無視されます。

ipaddrDnsAlt

この接続がアクティブな間に使用されるセカンダリまたはバックアップ DNS サーバーの IP アドレスを指定する 値。 このメンバーは、MPRIO_SpecificNameServers フラグが指定されていない限り無視されます。

ipaddrWins

この接続がアクティブな間に使用される WINS サーバーの IP アドレスを示す 値。 このメンバーは、MPRIO_SpecificNameServers フラグが指定されていない限り無視されます。

ipaddrWinsAlt

この接続がアクティブな間に使用されるセカンダリ WINS サーバーの IP アドレスを示す 値。 このメンバーは、MPRIO_SpecificNameServers フラグが指定されていない限り無視されます。

dwfNetProtocols

ネゴシエートするネットワーク プロトコルを示す 値。 このメンバーは、次のフラグの組み合わせにすることができます。

フラグ 説明
MPRNP_Ipx
IPX プロトコルをネゴシエートします。
MPRNP_Ip
TCP/IP プロトコルをネゴシエートします。
 

64 ビット Windows: MPRNP_Ipx フラグはサポートされていません

szDeviceType[MPR_MaxDeviceType + 1]

szDeviceName によって参照される RRAS デバイスの種類を示す null で終わる文字列を指定する 値。 このメンバーには、次のいずれかの文字列定数を指定できます。

String 説明
MPRDT_Modem
COM ポートを介してアクセスされるモデム。
MPRDT_Isdn
対応する NDISWAN ドライバーがインストールされている ISDN アダプター。
MPRDT_X25
対応する NDISWAN ドライバーがインストールされている X.25 アダプター。
MPRDT_Vpn
仮想プライベート ネットワーク (VPN) 接続。
MPRDT_Pad
パケット アセンブラー/逆アセンブラー。
MPRDT_Generic
ジェネリック。
MPRDT_Serial
シリアル ポートを介した直接シリアル接続。
MPRDT_FrameRelay
フレーム リレー。
MPRDT_Atm
非同期転送モード。
MPRDT_Sonet
Sonet。
MPRDT_SW56
56K アクセスを切り替えました。
MPRDT_Irda
赤外線データ関連付け (IrDA) 準拠のデバイス。
MPRDT_Parallel
並列ポートを介した直接並列接続。

szDeviceName[MPR_MaxDeviceName + 1]

"Fabrikam Inc 28800 External" など、この電話帳エントリで使用する TAPI デバイスの名前を含む null で終わる文字列が含まれます。 使用可能なすべての RAS 対応デバイスを列挙するには、 RasEnumDevices 関数を 使用します。

szX25PadType[MPR_MaxPadType + 1]

X.25 PAD 型を識別する null で終わる文字列を含むデータ型。 エントリが X.25 PAD を使用してダイヤルする必要がない限り、このメンバーを空の文字列 ("") に設定します。

Windows 2000 と Windows NT: szX25PadType 文字列は、PAD.INF のセクション名にマップされます。

szX25Address[MPR_MaxX25Address + 1]

接続する X.25 アドレスを識別する null で終わる文字列が含まれます。 エントリが X.25 PAD またはネイティブ X.25 デバイスを使用してダイヤルする必要がない限り、このメンバーを空の文字列 ("") に設定します。

szX25Facilities[MPR_MaxFacilities + 1]

接続時に X.25 ホストから要求する機能を指定する null で終わる文字列を含みます。 szX25Address が空の文字列 ("") の場合、このメンバーは無視されます。

szX25UserData[MPR_MaxUserData + 1]

接続時に X.25 ホストに提供される追加の接続データを指定する null で終わる文字列を含みます。 szX25Address が空の文字列 ("") の場合、このメンバーは無視されます。

dwChannels

将来利用するために予約されています。

dwSubEntries

このエントリに関連付けられているマルチリンク サブエントリの数を示す 値。 RasSetEntryProperties を呼び出すときに、このメンバーを 0 に設定します。 電話帳エントリにサブエントリを追加するには、 RasSetSubEntryProperties 関数を使用します。

dwDialMode

エントリが最初に接続されたときに、RRAS がこのエントリのすべてのマルチリンク サブエントリをダイヤルする必要があるかどうかを示します。 このメンバーには、次のいずれかの値を指定できます。

説明
MPRDM_DialAll
最初にすべてのサブエントリをダイヤルします。
MPRDM_DialAsNeeded
帯域幅が必要な場合は、サブエントリの数を調整します。 RRAS では、 dwDialExtraPercentdwDialExtraSampleSecondsdwDialHangUpExtraPercentdwHangUpExtraSampleSeconds メンバーを使用して、サブエントリをダイヤルまたは切断するタイミングを決定します。

dwDialExtraPercent

現在接続されているサブエントリから使用可能な合計帯域幅の割合を示す 値です。 使用される帯域幅の合計が使用可能な帯域幅の dwDialExtraPercent パーセントを少なくとも dwDialExtraSampleSeconds 秒 で超えると、RRAS は追加のサブエントリをダイヤルします。

dwDialMode メンバーがMPRDM_DialAsNeeded フラグを指定しない限り、このメンバーは無視されます。

dwDialExtraSampleSeconds

RRAS が追加のサブエントリをダイヤルする前に、現在の帯域幅の使用量が dwDialExtraPercent によって指定されたしきい値を超える必要がある時間を秒単位で指定する値。

dwDialMode メンバーがMPRDM_DialAsNeeded フラグを指定しない限り、このメンバーは無視されます。

dwHangUpExtraPercent

現在接続されているサブエントリから使用可能な合計帯域幅の割合を示す 値です。 使用される帯域幅の合計が、少なくとも dwHangUpExtraSampleSeconds 秒で使用可能な帯域幅の dwHangUpExtraPercent% 未満の場合、RRAS は既存のサブエントリ接続を終了 (ハングアップ) します。

dwDialMode メンバーがMPRDM_DialAsNeeded フラグを指定しない限り、このメンバーは無視されます。

dwHangUpExtraSampleSeconds

RRAS が既存のサブエントリ接続を終了する前に、現在の帯域幅の使用量が dwHangUpExtraPercent によって指定されたしきい値より小さい必要がある時間を秒単位で指定する値。

dwDialMode メンバーがMPRDM_DialAsNeeded フラグを指定しない限り、このメンバーは無視されます。

dwIdleDisconnectSeconds

非アクティブな接続が終了する時間を秒単位で指定する 値。 アイドルタイムアウトが無効でない限り、指定した間隔で接続がアイドル状態の場合、接続全体が終了します。 このメンバーは、タイムアウト値または次のいずれかの値を指定できます。

説明
MPRIDS_Disabled
この接続のアイドル タイムアウトはありません。
MPRIDS_UseGlobalValue
ユーザー設定の値を既定値として使用します。

dwType

電話帳エントリの種類を示す 値です。 このメンバーには、次のいずれかの型を指定できます。

Type 説明
MPRET_Phone
モデム、ISDN、X.25 などの電話回線。
MPRET_Vpn
仮想プライベート ネットワーク。
MPRET_Direct
直接シリアル接続または並列接続。

dwEncryptionType

接続で Microsoft Point-to-Point Encryption (MPPE) に使用する暗号化の種類を指定する 値です。 このメンバーには、次のいずれかの値を指定できます。

説明
MPR_ET_None
暗号化は使用しないでください。
MPR_ET_Require
暗号化を使用する。
MPR_ET_RequireMax
最大強度の暗号化を使用します。
MPR_ET_Optional
可能であれば、暗号化を使用します。
 

dwEncryptionType の値は、パスワードの暗号化方法には影響しません。 パスワードが暗号化されているかどうかとパスワードの暗号化方法は、認証プロトコル (PAP、MS-CHAP、EAP など) によって決まります。

dwCustomAuthKey

拡張認証プロトコル (EAP) ベンダーに提供される認証キーを指定する 値。

dwCustomAuthDataSize

lpbCustomAuthData メンバーが指すデータのサイズを示す 値です。

lpbCustomAuthData

EAP で使用する認証データへのポインター。

guidId

この電話帳エントリを表すグローバル一意識別子 (GUID)。 このメンバーは読み取り専用です。

dwVpnStrategy

VPN 接続をダイヤルするときに使用する VPN 戦略。 このメンバーには、次のいずれかの値を指定できます。

説明
MPR_VS_Default
RRAS は PPTP を最初にダイヤルします。 PPTP が失敗した場合、L2TP が試行されます。 成功するプロトコルは、このエントリの後続のダイヤルで最初に試行されます。
MPR_VS_PptpOnly
RAS は PPTP のみをダイヤルします。
MPR_VS_PptpFirst
RAS は常に PPTP を最初にダイヤルし、L2TP 秒をダイヤルします。
MPR_VS_L2tpOnly
RAS は L2TP のみをダイヤルします。
MPR_VS_L2tpFirst
RAS は L2TP を最初にダイヤルし、PPTP 秒をダイヤルします。

解説

MPR_INTERFACE_2構造体には、RASENTRY 構造体のメンバーに似た多数のメンバーがあります。

RASENTRY 構造体の次のメンバーは、MPR_INTERFACE_2に対応するものがありません。

  • dwCountryID
  • dwCountryCode
  • szAreaCode
  • dwFramingProtocol
64 ビット Windows: IPX プロトコルはサポートされていません。

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header mprapi.h

関連項目

MPR_INTERFACE_0

MPR_INTERFACE_1

MprAdminInterfaceGetInfo

MprAdminInterfaceSetInfo