Función GetExtendedUdpTable (iphlpapi.h)
La función GetExtendedUdpTable recupera una tabla que contiene una lista de puntos de conexión UDP disponibles para la aplicación.
Sintaxis
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
);
Parámetros
[out] pUdpTable
Puntero a la estructura de tabla que contiene los puntos de conexión UDP filtrados disponibles para la aplicación. Para obtener información sobre cómo determinar el tipo de tabla devuelta en función de combinaciones de parámetros de entrada específicas, vea la sección Comentarios más adelante en este documento.
[in, out] pdwSize
Tamaño estimado de la estructura devuelta en pUdpTable, en bytes. Si este valor se establece demasiado pequeño, esta función devuelve ERROR_INSUFFICIENT_BUFFER y este campo contendrá el tamaño correcto de la estructura.
[in] bOrder
Valor que especifica si se debe ordenar la tabla de puntos de conexión UDP. Si este parámetro se establece en TRUE, los puntos de conexión UDP de la tabla se ordenan en orden ascendente, empezando por la dirección IP local más baja. Si este parámetro se establece en FALSE, los puntos de conexión UDP de la tabla aparecen en el orden en que se recuperaron.
Los valores siguientes se comparan como se enumeran al ordenar los puntos de conexión UDP:
- Dirección IP local
- Identificador de ámbito local (aplicable cuando el parámetro ulAf se establece en AF_INET6)
- Puerto UDP local
[in] ulAf
La versión de IP usada por el punto de conexión UDP.
Valor | Significado |
---|---|
|
Se usa IPv4. |
|
Se usa IPv6. |
[in] TableClass
Tipo de la estructura de tabla UDP que se va a recuperar. Este parámetro puede ser uno de los valores de la enumeración UDP_TABLE_CLASS .
En windows SDK publicado para Windows Vista y versiones posteriores, la organización de archivos de encabezado ha cambiado y la enumeración UDP_TABLE_CLASS se define en el archivo de encabezado Iprtrmib.h , no en el archivo de encabezado Iphlpapi.h .
El valor de enumeración UDP_TABLE_CLASS se combina con el valor del parámetro ulAf para determinar la información de UDP extendida que se va a recuperar.
[in] Reserved
Reservado. Este valor debe ser cero.
Valor devuelto
Si la llamada se realiza correctamente, se devuelve el valor NO_ERROR .
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
Se asignó una cantidad insuficiente de espacio para la tabla. El tamaño de la tabla se devuelve en el parámetro pdwSize y se debe usar en una llamada posterior a esta función para recuperar correctamente la tabla.
Este error también se devuelve si el parámetro pUdpTable es NULL. |
|
Se pasó un parámetro no válido a la función. Este error se devuelve si el parámetro TableClass contiene un valor que no está definido en la enumeración UDP_TABLE_CLASS . |
Comentarios
El tipo de tabla devuelto por esta función depende de la combinación específica del parámetro ulAf y del parámetro TableClass .
Cuando el parámetro ulAf se establece en AF_INET, la tabla siguiente indica el tipo de tabla UDP que se va a recuperar en la estructura a la que apunta el parámetro pUdpTable para cada valor TableClass posible.
Valor tableClass | Estructura pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDPTABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDPTABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDPTABLE_OWNER_PID |
Cuando el parámetro ulAf se establece en AF_INET6, la tabla siguiente indica el tipo de tabla TCP que se va a recuperar en la estructura a la que apunta el parámetro pUdpTable para cada valor TableClass posible.
Valor tableClass | Estructura pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDP6TABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDP6TABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDP6TABLE_OWNER_PID |
La función GetExtendedUdpTable cuando se llama con el parámetro ulAf establecido en AF_INET6 y TableClass establecido en UDP_TABLE_BASIC solo se admite en Windows Vista y versiones posteriores.
En Windows Server 2003 con Service Pack 1 (SP1) y Windows XP con Service Pack 2 (SP2), la función GetExtendedUdpTable llamada con el parámetro ulAf establecido en AF_INET6 y TableClass establecido en UDP_TABLE_BASIC produce un error y devuelve ERROR_NOT_SUPPORTED.
En windows SDK publicado para Windows Vista y versiones posteriores, la organización de archivos de encabezado ha cambiado. Las distintas estructuras de MIB_UDPTABLE se definen en el archivo de encabezado Udpmib.h , no en el archivo de encabezado Iprtrmib.h . Tenga en cuenta que el archivo de encabezado Udpmib.h se incluye automáticamente en Iprtrmib.h, que se incluye automáticamente en el archivo de encabezado Iphlpapi.h . Los archivos de encabezado Udpmib.h e Iprtrmib.h nunca deben usarse directamente.
Requisitos
Cliente mínimo compatible | Windows Vista, Windows XP con SP2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008, Windows Server 2003 con SP1 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | iphlpapi.h |
Library | Iphlpapi.lib |
Archivo DLL | Iphlpapi.dll |