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 エンドポイントの順序を指定するときに、次の値が一覧表示されている値と比較されます。

  1. ローカル IP アドレス
  2. ローカル スコープ ID ( ulAf パラメーターが AF_INET6 に設定されている場合に適用されます)
  3. ローカル UDP ポート

[in] ulAf

UDP エンドポイントで使用される IP のバージョン。

説明
AF_INET
IPv4 が使用されます。
AF_INET6
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 値が返されます。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
ERROR_INSUFFICIENT_BUFFER
テーブルに十分な領域が割り当てられなかった。 テーブルのサイズは pdwSize パラメーターで返されます。テーブルを正常に取得するには、この関数の後続の呼び出しで使用する必要があります。

pUdpTable パラメーターが NULL の場合も、このエラーが返されます。

ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 このエラーは、 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 に設定し、TableClassUDP_TABLE_BASICに設定して呼び出した場合の GetExtendedUdpTable 関数は、Windows Vista 以降でのみサポートされます。

Windows Server 2003 Service Pack 1 (SP1) および Windows XP with Service Pack 2 (SP2) では、ulAf パラメーターを AF_INET6 に設定し、TableClassUDP_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

関連項目

MIB_UDP6TABLE

MIB_UDP6TABLE_OWNER_MODULE

MIB_UDP6TABLE_OWNER_PID

MIB_UDPTABLE

MIB_UDPTABLE_OWNER_MODULE

MIB_UDPTABLE_OWNER_PID

UDP_TABLE_CLASS