次の方法で共有


GetUnicastIpAddressEntry 関数

GetUnicastIpAddressEntry 関数は、ローカル コンピューター上の既存のユニキャスト IP アドレス エントリの情報を取得します。

構文

NETIOAPI_API GetUnicastIpAddressEntry(
  _Inout_ PMIB_UNICASTIPADDRESS_ROW Row
);

パラメーター

  • Row [in, out]
    ユニキャスト IP アドレス エントリの MIB_UNICASTIPADDRESS_ROW 構造体エントリへのポインター。 正常に返されると、この構造体は既存のユニキャスト IP アドレスのプロパティで更新されます。

戻り値

関数が成功した場合、GetUnicastIpAddressEntrySTATUS_SUCCESS を返します。

関数が失敗した場合、GetUnicastIpAddressEntry は次のいずれかのエラー コードを返します:

リターン コード 説明
STATUS_INVALID_PARAMETER

その関数に渡された無効なパラメーター。 このエラーは、Row パラメーターに NULL ポインターが渡された場合、Row パラメーターが指す MIB_UNICASTIPADDRESS_ROW 構造体の Address メンバーに有効なユニキャスト IPv4 または IPv6 アドレスが設定されなかった場合、または、MIB_UNICASTIPADDRESS_ROW 構造体の InterfaceLuid メンバーと InterfaceIndex メンバーの両方が指定されていない場合に返されます。

STATUS_NOT_FOUND

指定されたインターフェイスが見つかりませんでした。 このエラーは、Row パラメーターが指す MIB_UNICASTIPADDRESS_ROW 構造体の InterfaceLuid メンバーまたは InterfaceIndex メンバーで指定されるネットワーク インターフェイスを関数が見つけられない場合に返されます。

STATUS_NOT_SUPPORTED

要求はサポートされていません。 このエラーは、ローカル コンピューターに IPv4 スタックが存在せず、Row パラメーターが指す MIB_UNICASTIPADDRESS_ROW 構造体の Address メンバーに IPv4 アドレスが指定されていた場合、またはローカル コンピューターに IPv6 スタックが存在せず、Address メンバーに IPv6 アドレスが指定されていた場合に返されます。

その他

FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。

解説

GetUnicastIpAddressEntry 関数は、通常、変更する既存の MIB_UNICASTIPADDRESS_ROW 構造体エントリを取得するために使用されます。 その後、ドライバーは、変更する MIB_UNICASTIPADDRESS_ROW エントリのメンバーを変更してから、SetUnicastIpAddressEntry 関数を呼び出すことができます。

入力時に、ドライバーは Row パラメーターが指す MIB_UNICASTIPADDRESS_ROW 構造体の次のメンバーを初期化する必要があります。

  • 住所
    有効なユニキャスト IPv4 アドレスまたはユニキャスト IPv6 アドレスとファミリを設定します。

  • InterfaceLuid または InterfaceIndex
    これらのメンバーは、前に示した順序で使用されます。 したがって、InterfaceLuid が指定されている場合は、このメンバーを使用してインターフェイスが決定されます。 InterfaceLuid メンバーに値が設定されていない (このメンバーの値がゼロに設定されている) 場合は、次に InterfaceIndex メンバーがインターフェイスを決定するために使用されます。

出力時に、呼び出しが成功すると、GetUnicastIpAddressEntry はユニキャスト IP アドレスの他のプロパティを取得し、Row パラメーターが指す MIB_UNICASTIPADDRESS_ROW 構造体を入力します。

ドライバーは、GetUnicastIpAddressTable 関数を呼び出して、ローカル コンピューター上のユニキャスト IP アドレス エントリを列挙できます。

要件

対象プラットフォーム

ユニバーサル

バージョン

Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。

ヘッダー

Netioapi.h (Netioapi.h を含む)

ライブラリ

Netio.lib

IRQL

< DISPATCH_LEVEL

関連項目

CreateUnicastIpAddressEntry

DeleteUnicastIpAddressEntry

GetUnicastIpAddressTable

InitializeUnicastIpAddressEntry

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyUnicastIpAddressChange

SetUnicastIpAddressEntry