GetOwnerModuleFromUdpEntry, fonction (iphlpapi.h)
La fonction GetOwnerModuleFromUdpEntry récupère les données relatives au module qui a émis la liaison de contexte pour un point de terminaison UDP IPv4 spécifique dans une ligne de table MIB.
Syntaxe
IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromUdpEntry(
[in] PMIB_UDPROW_OWNER_MODULE pUdpEntry,
[in] TCPIP_OWNER_MODULE_INFO_CLASS Class,
[out] PVOID pBuffer,
[in, out] PDWORD pdwSize
);
Paramètres
[in] pUdpEntry
Pointeur vers une structure de MIB_UDPROW_OWNER_MODULE qui contient l’entrée de point de terminaison UDP IPv4 utilisée pour obtenir le module propriétaire.
[in] Class
Valeur d’énumération TCPIP_OWNER_MODULE_INFO_CLASS qui indique le type de données à obtenir concernant le module propriétaire.
[out] pBuffer
Mémoire tampon qui contient une structure TCPIP_OWNER_MODULE_BASIC_INFO avec les données du module propriétaire. Le type de données retournées dans cette mémoire tampon est indiqué par la valeur du paramètre Class .
Les structures suivantes sont utilisées pour les données dans Buffer lorsque Class est défini sur la valeur correspondante.
Valeur d’énumération de classe | Format des données de la mémoire tampon |
---|---|
TCPIP_OWNER_MODULE_BASIC_INFO | TCPIP_OWNER_MODULE_BASIC_INFO |
[in, out] pdwSize
Taille estimée, en octets, de la structure retournée dans Buffer. Si cette valeur est définie trop petite, ERROR_INSUFFICIENT_BUFFER est retournée par cette fonction et ce champ contient la taille de structure correcte.
Valeur retournée
Si l’appel réussit, la valeur NO_ERROR est retournée. Sinon, l’erreur suivante est retournée.
Code de retour | Description |
---|---|
|
Un espace insuffisant a été alloué pour la table. La taille de la table est retournée dans le paramètre pdwSize et doit être utilisée dans un appel ultérieur à cette fonction afin de récupérer la table. |
Remarques
Le paramètre Buffer contient non seulement une structure avec des pointeurs vers des données spécifiques, par exemple des pointeurs vers les chaînes à terminaison zéro qui contiennent le nom et le chemin du module propriétaire, mais également les données elles-mêmes ; il s’agit des chaînes de nom et de chemin d’accès. Par conséquent, lors du calcul de la taille de la mémoire tampon, vérifiez que vous disposez de suffisamment d’espace pour la structure ainsi que pour les données vers lesquelles pointent les membres de la structure.
La résolution des entrées de table UDP en modules propriétaires est une bonne pratique. Dans certains cas, le nom du module propriétaire retourné dans la structure TCPIP_OWNER_MODULE_BASIC_INFO peut être un nom de processus, tel que « svchost.exe », un nom de service, tel que « RPC », ou un nom de composant, tel que « timer.dll ».
Pour les ordinateurs s’exécutant sur Windows Vista ou version ultérieure, l’accès aux membres pModuleName et pModulePath de la structure TCPIP_OWNER_MODULE_BASIC_INFO est limité par le contrôle de compte d’utilisateur (UAC). Si une application qui appelle cette fonction est exécutée par un utilisateur connecté en tant que membre du groupe Administrateurs autre que l’administrateur intégré, cet appel réussit, mais l’accès à ces membres retourne une chaîne vide, sauf si l’application a été marquée dans le fichier manifeste avec un requestedExecutionLevel défini sur requireAdministrator. Si l’application sur Windows Vista ou une version ultérieure n’a pas ce fichier manifeste, un utilisateur connecté en tant que membre du groupe Administrateurs autre que l’administrateur intégré doit ensuite exécuter l’application dans un interpréteur de commandes amélioré en tant qu’administrateur intégré (administrateur RunAs) pour que l’accès aux membres pModuleName et pModulePath protégés soit autorisé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista, Windows XP avec SP2 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008, Windows Server 2003 avec SP1 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | iphlpapi.h |
Bibliothèque | Iphlpapi.lib |
DLL | Iphlpapi.dll |