GetIpPathEntry 関数
GetIpPathEntry 関数は、ローカル コンピューター上の IP パス エントリの情報を取得します。
構文
NETIOAPI_API GetIpPathEntry(
_Inout_ PMIB_IPPATH_ROW Row
);
パラメーター
- Row [in, out]
IP パス エントリの MIB_IPPATH_ROW 構造体エントリへのポインター。 正常に返されると、この構造体は IP パス エントリのプロパティで更新されます。
戻り値
関数が成功した場合、GetIpPathEntry は STATUS_SUCCESS を返します。
関数が失敗した場合、GetIpPathEntry は次のいずれかのエラー コードを返します:
リターン コード | 説明 |
---|---|
STATUS_INVALID_PARAMETER | その関数に渡された無効なパラメーター。 このエラーは、Row パラメーターに NULL ポインターが渡された場合、Row パラメータが指す MIB_IPPATH_ROW 構造体の Destination メンバーの si_family メンバーが AF_INET または AF_INET6 に設定されていない場合、またはMIB_IPPATH_ROW 構造体の InterfaceLuid メンバーと InterfaceIndex メンバーの両方が指定されていない場合に返されます。 このエラーは、MIB_IPPATH_ROW 構造体の Source メンバーの si_family メンバーが宛先 IP アドレス ファミリと一致せず、送信元 IP アドレスの si_family が AF_UNSPEC として指定されていない場合にも返されます。 |
STATUS_NOT_FOUND | 指定されたインターフェイスが見つかりませんでした。 このエラーは、Row パラメーターが指す MIB_IPPATH_ROW 構造体の InterfaceLuid メンバーまたは InterfaceIndex メンバーで指定されるネットワーク インターフェイスを関数が見つけられない場合に返されます。 |
STATUS_NOT_SUPPORTED | 要求はサポートされていません。 このエラーは、ローカル コンピューター上に IPv4 スタックがなく、Row パラメーターが指す MIB_IPPATH_ROW 構造体の Source と Destination メンバーに IPv4 が指定されていた場合、またはローカル コンピューター上に IPv6 スタックがなく、IPv6 アドレスが Source と Destination メンバーで指定されている場合に返されます。 |
その他 | FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。 |
解説
GetIpPathEntry 関数は、MIB_IPPATH_ROW 構造体エントリを取得するために使用されます。
入力時に、ドライバーは Row パラメーターが指す MIB_IPPATH_ROW 構造体の次のメンバーを初期化する必要があります。
宛先
有効な IPv4 または IPv6 アドレスとファミリに設定します。ソース
Source メンバーで指定されたアドレス ファミリを Destination メンバーで指定された宛先 IP アドレス ファミリ、または AF_UNSPEC に設定します。InterfaceLuid または InterfaceIndex
これらのメンバーは、前に示した順序で使用されます。 したがって、InterfaceLuid が指定されている場合は、このメンバーを使用してインターフェイスが決定されます。 InterfaceLuid メンバーに値が設定されていない (このメンバーの値がゼロに設定されている) 場合は、次に InterfaceIndex メンバーがインターフェイスを決定するために使用されます。
出力時に、呼び出しが成功すると、GetIpPathEntry は IP パス エントリの他のプロパティを取得し、Row パラメーターが指す MIB_IPPATH_ROW 構造体を入力します。
ドライバーは、GetIpPathTable 関数を呼び出して、ローカル コンピューター上の IP パス エントリを列挙できます。
要件
対象プラットフォーム |
ユニバーサル |
バージョン |
Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダー |
Netioapi.h (Netioapi.h を含む) |
ライブラリ |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |