Partager via


WSAEnumNameSpaceProvidersExW, fonction (winsock2.h)

La fonction WSAEnumNameSpaceProvidersEx récupère des informations sur les fournisseurs d’espaces de noms disponibles.

Syntaxe

INT WSAAPI WSAEnumNameSpaceProvidersExW(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXW lpnspBuffer
);

Paramètres

[in, out] lpdwBufferLength

Lors de l’entrée, 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), nombre minimal d’octets à allouer à la mémoire tampon lpnspBuffer pour lui permettre de récupérer toutes les informations demandées. La mémoire tampon passée à 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 sont situées consécutivement en tête de la mémoire tampon. Les informations de taille variable référencées par des pointeurs dans les structures pointent vers des emplacements dans la mémoire tampon situés 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 retournée

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
WSAEFAULT
Le paramètre lpnspBuffer était un pointeur NULL ou la longueur de la mémoire tampon, lpdwBufferLength, était trop petite pour recevoir toutes les structures de WSANAMESPACE_INFOEX pertinentes et les informations associées. Lorsque cette erreur est retournée, la longueur de la mémoire tampon requise est retournée dans le paramètre lpdwBufferLength .
WSANOTINITIALISED
Le WS2_32.DLL n’a pas été initialisé. L’application doit d’abord appeler WSAStartup avant d’appeler les fonctions Windows Sockets.
WSA_NOT_ENOUGH_MEMORY
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 passé dans le paramètre lpProviderInfo à la fonction WSCInstallNameSpaceEx peut être interrogé à l’aide de la fonction WSAEnumNameSpaceProvidersEx .

Actuellement, le seul fournisseur d’espaces de noms inclus dans Windows qui définit des informations dans le membre ProviderSpecific de la structure WSANAMESPACE_INFOEX est le fournisseur NS_EMAIL. Le format du membre ProviderSpecific pour un fournisseur d’espaces de noms NS_EMAIL est une structure NAPI_PROVIDER_INSTALLATION_BLOB .

Lorsque unicode ou _UNICODE est défini, WSAEnumNameSpaceProvidersEx est défini sur WSAEnumNameSpaceProvidersExW, la version Unicode de cette fonction. Le paramètre lpnspBuffer est défini sur le type de données LPSAWSANAMESPACE_INFOEXW et les structures WSANAMESPACE_INFOEXW sont retournées en cas de réussite.

Lorsque UNICODE ou _UNICODE n’est pas défini, WSAEnumNameSpaceProvidersEx est défini sur WSAEnumNameSpaceProvidersExA, la version ANSI de cette fonction. Le paramètre lpnspBuffer est défini sur le type de données LPSAWSANAMESPACE_INFOEXA et WSANAMESPACE_INFOEXA structures sont retournées en cas de réussite.

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.

Notes

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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1, Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winsock2.h
Bibliothèque Ws2_32.lib
DLL Ws2_32.dll

Voir aussi

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx32