GetExtendedUdpTable 関数 (iphlpapi.h)
GetExtendedUdpTable 関数は、アプリケーションで使用できる UDP エンドポイントの一覧を含むテーブルを取得します。
構文
IPHLPAPI_DLL_LINKAGE DWORD GetExtendedUdpTable(
[out] PVOID pUdpTable,
[in, out] PDWORD pdwSize,
[in] BOOL bOrder,
[in] ULONG ulAf,
[in] UDP_TABLE_CLASS TableClass,
[in] ULONG Reserved
);
パラメーター
[out] pUdpTable
アプリケーションで使用できるフィルター処理された UDP エンドポイントを含むテーブル構造へのポインター。 特定の入力パラメーターの組み合わせに基づいて返されるテーブルの種類を決定する方法については、このドキュメントの後半の「解説」セクションを参照してください。
[in, out] pdwSize
pUdpTable で返される構造体の推定サイズ (バイト単位)。 この値が小さすぎると、この関数によって ERROR_INSUFFICIENT_BUFFER が返され、このフィールドには構造体の正しいサイズが含まれます。
[in] bOrder
UDP エンドポイント テーブルを並べ替える必要があるかどうかを示す 値です。 このパラメーターが TRUE に設定されている場合、テーブル内の UDP エンドポイントは、最も低いローカル IP アドレスから始まる昇順で並べ替えられます。 このパラメーターが FALSE に設定されている場合、テーブル内の UDP エンドポイントは取得された順序で表示されます。
UDP エンドポイントの順序を指定するときに、次の値が一覧表示されている値と比較されます。
- ローカル IP アドレス
- ローカル スコープ ID ( ulAf パラメーターが AF_INET6 に設定されている場合に適用されます)
- ローカル UDP ポート
[in] ulAf
UDP エンドポイントで使用される IP のバージョン。
値 | 説明 |
---|---|
|
IPv4 が使用されます。 |
|
IPv6 が使用されます。 |
[in] TableClass
取得する UDP テーブル構造の型。 このパラメーターには、 UDP_TABLE_CLASS 列挙の値のいずれかを指定できます。
Windows Vista 以降用にリリースされた Windows SDK では、ヘッダー ファイルのorganizationが変更され、UDP_TABLE_CLASS列挙は Iphlpapi.h ヘッダー ファイルではなく Iprtrmib.h ヘッダー ファイルで定義されています。
UDP_TABLE_CLASS列挙値を ulAf パラメーターの値と組み合わせて、取得する拡張 UDP 情報を決定します。
[in] Reserved
予約済み。 必ずゼロを指定します。
戻り値
呼び出しが成功した場合は、 NO_ERROR 値が返されます。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
テーブルに十分な領域が割り当てられなかった。 テーブルのサイズは pdwSize パラメーターで返されます。テーブルを正常に取得するには、この関数の後続の呼び出しで使用する必要があります。
pUdpTable パラメーターが NULL の場合も、このエラーが返されます。 |
|
無効なパラメーターが関数に渡されました。 このエラーは、 TableClass パラメーターに 、UDP_TABLE_CLASS 列挙で定義されていない値が含まれている場合に返されます。 |
解説
この関数によって返されるテーブル型は、 ulAf パラメーターと TableClass パラメーターの特定の組み合わせによって異なります。
ulAf パラメーターが AF_INET に設定されている場合、次の表は、使用可能な TableClass 値ごとに pUdpTable パラメーターが指す構造体で取得する UDP テーブルの種類を示します。
TableClass 値 | pUdpTable 構造体 |
---|---|
UDP_TABLE_BASIC | MIB_UDPTABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDPTABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDPTABLE_OWNER_PID |
ulAf パラメーターが AF_INET6 に設定されている場合、次の表は、使用可能な TableClass 値ごとに pUdpTable パラメーターが指す構造体で取得する TCP テーブルの種類を示します。
TableClass 値 | pUdpTable 構造体 |
---|---|
UDP_TABLE_BASIC | MIB_UDP6TABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDP6TABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDP6TABLE_OWNER_PID |
ulAf パラメーターを AF_INET6 に設定し、TableClass を UDP_TABLE_BASICに設定して呼び出した場合の GetExtendedUdpTable 関数は、Windows Vista 以降でのみサポートされます。
Windows Server 2003 Service Pack 1 (SP1) および Windows XP with Service Pack 2 (SP2) では、ulAf パラメーターを AF_INET6 に設定し、TableClass を UDP_TABLE_BASICに設定して呼び出された GetExtendedUdpTable 関数は失敗し、ERROR_NOT_SUPPORTEDを返します。
Windows Vista 以降用にリリースされた Windows SDK では、ヘッダー ファイルのorganizationが変更されました。 Iprtrmib.h ヘッダー ファイルではなく、Udpmib.h ヘッダー ファイルには、さまざまなMIB_UDPTABLE構造が定義されています。 Udpmib.h ヘッダー ファイルは、Iphlpapi.h ヘッダー ファイルに自動的に含まれる Iprtrmib.h に自動的に含まれることに注意してください。 Udpmib.h ヘッダー ファイルと Iprtrmib.h ヘッダー ファイルを直接使用しないでください。
要件
サポートされている最小のクライアント | Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008、Windows Server 2003 SP1 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | iphlpapi.h |
Library | Iphlpapi.lib |
[DLL] | Iphlpapi.dll |