Funzione GetExtendedUdpTable (iphlpapi.h)
La funzione GetExtendedUdpTable recupera una tabella contenente un elenco di endpoint UDP disponibili per l'applicazione.
Sintassi
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
);
Parametri
[out] pUdpTable
Puntatore alla struttura di tabella contenente gli endpoint UDP filtrati disponibili per l'applicazione. Per informazioni su come determinare il tipo di tabella restituito in base a combinazioni di parametri di input specifiche, vedere la sezione Osservazioni più avanti in questo documento.
[in, out] pdwSize
Dimensioni stimate della struttura restituite in pUdpTable, in byte. Se questo valore è impostato troppo piccolo, ERROR_INSUFFICIENT_BUFFER viene restituito da questa funzione e questo campo conterrà le dimensioni corrette della struttura.
[in] bOrder
Valore che specifica se la tabella dell'endpoint UDP deve essere ordinata. Se questo parametro è impostato su TRUE, gli endpoint UDP della tabella vengono ordinati in ordine crescente, a partire dall'indirizzo IP locale più basso. Se questo parametro è impostato su FALSE, gli endpoint UDP nella tabella vengono visualizzati nell'ordine in cui sono stati recuperati.
I valori seguenti vengono confrontati come elencati quando si ordinano gli endpoint UDP:
- Indirizzo IP locale
- ID ambito locale (applicabile quando il parametro ulAf è impostato su AF_INET6)
- Porta UDP locale
[in] ulAf
Versione di IP utilizzata dall'endpoint UDP.
Valore | Significato |
---|---|
|
Viene usato IPv4. |
|
Viene usato IPv6. |
[in] TableClass
Tipo della struttura di tabella UDP da recuperare. Questo parametro può essere uno dei valori dell'enumerazione UDP_TABLE_CLASS .
In Windows SDK rilasciato per Windows Vista e versioni successive l'organizzazione dei file di intestazione è stata modificata e l'enumerazione UDP_TABLE_CLASS viene definita nel file di intestazione Iprtrmib.h , non nel file di intestazione Iphlpapi.h .
Il valore di enumerazione UDP_TABLE_CLASS viene combinato con il valore del parametro ulAf per determinare le informazioni UDP estese da recuperare.
[in] Reserved
Riservato. Il valore deve essere zero.
Valore restituito
Se la chiamata ha esito positivo, viene restituito il valore NO_ERROR .
Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
Una quantità insufficiente di spazio è stata allocata per la tabella. Le dimensioni della tabella vengono restituite nel parametro pdwSize e devono essere usate in una chiamata successiva a questa funzione per recuperare correttamente la tabella.
Questo errore viene restituito anche se il parametro pUdpTable è NULL. |
|
Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se il parametro TableClass contiene un valore non definito nell'enumerazione UDP_TABLE_CLASS . |
Commenti
Il tipo di tabella restituito da questa funzione dipende dalla combinazione specifica del parametro ulAf e del parametro TableClass .
Quando il parametro ulAf è impostato su AF_INET, la tabella seguente indica il tipo di tabella UDP da recuperare nella struttura a cui punta il parametro pUdpTable per ogni valore TableClass possibile.
Valore TableClass | Struttura pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDPTABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDPTABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDPTABLE_OWNER_PID |
Quando il parametro ulAf è impostato su AF_INET6, la tabella seguente indica il tipo di tabella TCP da recuperare nella struttura a cui punta il parametro pUdpTable per ogni valore TableClass possibile.
Valore TableClass | Struttura pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDP6TABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDP6TABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDP6TABLE_OWNER_PID |
La funzione GetExtendedUdpTable quando viene chiamato con il parametro ulAf impostato su AF_INET6 e TableClass impostato su UDP_TABLE_BASIC è supportato solo in Windows Vista e versioni successive.
In Windows Server 2003 con Service Pack 1 (SP1) e Windows XP con Service Pack 2 (SP2), la funzione GetExtendedUdpTable denominata con il parametro ulAf impostato su AF_INET6 e TableClass impostato su UDP_TABLE_BASIC ha esito negativo e restituisce ERROR_NOT_SUPPORTED.
In Windows SDK rilasciato per Windows Vista e versioni successive l'organizzazione dei file di intestazione è stata modificata. Le varie strutture MIB_UDPTABLE sono definite nel file di intestazione Udpmib.h , non nel file di intestazione Iprtrmib.h . Si noti che il file di intestazione Udpmib.h viene automaticamente incluso in Iprtrmib.h, incluso automaticamente nel file di intestazione Iphlpapi.h . I file di intestazione Udpmib.h e Iprtrmib.h non devono mai essere usati direttamente.
Requisiti
Client minimo supportato | Windows Vista, Windows XP con SP2 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008, Windows Server 2003 con SP1 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | iphlpapi.h |
Libreria | Iphlpapi.lib |
DLL | Iphlpapi.dll |