MPR_INTERFACE_3 構造体 (mprapi.h)

MPR_INTERFACE_3構造体には、ルーターのデマンド ダイヤル インターフェイスのデータが含まれています。

構文

typedef struct _MPR_INTERFACE_3 {
  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;
  ULONG                   AddressCount;
  IN6_ADDR                ipv6addrDns;
  IN6_ADDR                ipv6addrDnsAlt;
  IN6_ADDR                *ipv6addr;
} MPR_INTERFACE_3, *PMPR_INTERFACE_3;

メンバー

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も設定されていない限り、このフラグは無視されます。

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

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

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 が認証でサポートされている必要があります。

szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]

電話番号または IPv6 アドレスを含む null で終わる文字列を指定する 値。

szAlternates

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

ipaddr

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

ipaddrDns

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

ipaddrDnsAlt

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

ipaddrWins

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

ipaddrWinsAlt

この接続がアクティブな間に使用するセカンダリ WINS サーバーの IP アドレスを示す 値です。 このメンバーは、 dwfOptionsMPRIO_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

現在接続されているサブエントリから使用可能な合計帯域幅の割合を示す 値。 使用される帯域幅の合計が、少なくとも dwDialExtraSampleSeconds 秒の使用可能な帯域幅の dwDialExtraPercent% を超えると、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 秒をダイヤルします。

AddressCount

使用されていません。

ipv6addrDns

この接続がアクティブな間に使用される DNS サーバーの IP アドレスを示す 値です。

ipv6addrDnsAlt

この接続がアクティブな間に使用されるセカンダリまたはバックアップの DNS サーバーの IP アドレスを指定する 値です。

ipv6addr

使用しません。

解説

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

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

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

要件

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

関連項目

MPR_INTERFACE_0

MPR_INTERFACE_1

MPR_INTERFACE_2

MprAdminInterfaceGetInfo

MprAdminInterfaceSetInfo