GetIfEntry2 関数
GetIfEntry2 関数は、ローカル コンピューター上の指定されたインターフェイスの情報を取得します。
重要
ドライバー開発者の場合は、NDIS OID を処理するときにデッドロックを回避するために、可能な場合は、MibIfEntryNormalWithoutStatistics で GetIfEntry2Ex を使用することをお勧めします。
構文
NETIOAPI_API GetIfEntry2(
_Inout_ PMIB_IF_ROW2 Row
);
パラメーター
- Row [in, out]
正常に戻った場合、ローカル コンピューター上のインターフェイスの情報を受け取る MIB_IF_ROW2 構造体へのポインター。 入力時に、ドライバーは MIB_IF_ROW2 構造体 の InterfaceLuid メンバーまたは InterfaceIndex メンバーに情報を取得するインターフェイスを設定する必要があります。
戻り値
関数が成功した場合、GetIfEntry2 は STATUS_SUCCESS を返します。
関数が失敗した場合、 GetIfEntry2 は次のいずれかのエラー コードを返します:
リターン コード | 説明 |
---|---|
STATUS_INVALID_PARAMETER | その関数に渡された無効なパラメーター。 このエラーは、 Row パラメーターに NULL ポインターが渡された場合に返されます。 |
STATUS_NOT_FOUND | 指定されたインターフェイスが見つかりませんでした。 このエラーは、 Row パラメーターが指す MIB_IF_ROW2 構造体の InterfaceLuid メンバーまたは InterfaceIndex メンバーで指定されるネットワーク インターフェイスを関数が見つけられない場合に返されます。 |
その他 | FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。 |
解説
入力時に、ドライバーは、 Row パラメーターで渡される MIB_IF_ROW2 構造体で、少なくとも InterfaceLuid メンバーまたは InterfaceIndex メンバーを初期化する必要があります。 そのメンバーは、前に示した順序で使用されます。 したがって、 InterfaceLuid が指定されている場合は、このメンバーを使用してインターフェイスが決定されます。 InterfaceLuid メンバーに値が設定されていない (このメンバーの値がゼロに設定されている) 場合は、次に InterfaceIndex メンバーがインターフェイスを決定するために使用されます。
出力時に、 Row パラメーターが指す MIB_IF_ROW2 構造体の残りのフィールドが入力されます。
要件
対象プラットフォーム |
ユニバーサル |
バージョン |
Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダー |
Netioapi.h (Netioapi.h を含む) |
ライブラリ |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |