WSAEnumNameSpaceProvidersExA, fonction (winsock2.h)
La fonction WSAEnumNameSpaceProvidersEx récupère des informations sur les fournisseurs d’espaces de noms disponibles.
Syntaxe
INT WSAAPI WSAEnumNameSpaceProvidersExA(
[in, out] LPDWORD lpdwBufferLength,
[out] LPWSANAMESPACE_INFOEXA lpnspBuffer
);
Paramètres
[in, out] lpdwBufferLength
Lors de l’entrée, le nombre d’octets contenus dans la mémoire tampon pointée par lpnspBuffer. En sortie (si la fonction échoue et que l’erreur est WSAEFAULT), le nombre minimal d’octets à allouer pour le tampon lpnspBuffer pour lui permettre de récupérer toutes les informations demandées. La mémoire tampon transmise à WSAEnumNameSpaceProvidersEx doit être suffisante pour contenir toutes les informations d’espace de noms.
[out] lpnspBuffer
Mémoire tampon remplie de structures WSANAMESPACE_INFOEX. Les structures retournées se trouvent consécutivement à la tête de la mémoire tampon. Informations de taille variable référencées par des pointeurs dans les structures pointent vers des emplacements dans la mémoire tampon situées entre la fin des structures de taille fixe et la fin de la mémoire tampon. Le nombre de structures renseignées est la valeur de retour de WSAEnumNameSpaceProvidersEx.
Valeur de retour
La fonction WSAEnumNameSpaceProvidersEx retourne le nombre de structures WSANAMESPACE_INFOEX copiées dans lpnspBuffer. Sinon, la valeur SOCKET_ERROR est retournée et un numéro d’erreur spécifique peut être récupéré en appelant WSAGetLastError.
Code d’erreur | Signification |
---|---|
Le paramètre lpnspBuffer |
|
Le WS2_32.DLL n’a pas été initialisé. L’application doit d’abord appeler WSAStartup avant d’appeler des fonctions Windows Sockets. | |
La mémoire était insuffisante pour effectuer l’opération. |
Remarques
La fonction WSAEnumNameSpaceProvidersEx est une version améliorée de la fonction WSAEnumNameSpaceProviders. L’objet blob de données spécifique au fournisseur associé à l’entrée d’espace de noms transmise dans le paramètre lpProviderInfo à la fonction WSCInstallNameSpaceEx peut être interrogé à l’aide de fonction WSAEnumNameSpaceProvidersEx.
Actuellement, le seul fournisseur d’espaces de noms inclus avec Windows qui définit des informations dans le ProviderSpecific membre de la structure WSANAMESPACE_INFOEX est le fournisseur NS_EMAIL. Le format du membre ProviderSpecific
Lorsque unicode ou _UNICODE est défini, WSAEnumNameSpaceProvidersEx est défini sur WSAEnumNameSpaceProvidersExW, la version Unicode de cette fonction. Le paramètre
Quand UNICODE ou _UNICODE n’est pas défini, WSAEnumNameSpaceProvidersEx est défini sur WSAEnumNameSpaceProvidersExA, la version ANSI de cette fonction. Le paramètre
windows 8.1 et Windows Server 2012 R2: la fonction WSAEnumNameSpaceProvidersExW est prise en charge pour les applications du Windows Store sur Windows 8.1, Windows Server 2012 R2 et versions ultérieures.
Note
L’en-tête winsock2.h définit WSAEnumNameSpaceProvidersEx comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 8.1, Windows Vista [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | winsock2.h |
bibliothèque | Ws2_32.lib |
DLL | Ws2_32.dll |