Partager via


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
WSAEFAULT
Le paramètre lpnspBuffer était un pointeur NULL ou la longueur de la mémoire tampon, lpdwBufferLength, était trop petit pour recevoir toutes les structures 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 des 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 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 d’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.

Quand 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 les structures WSANAMESPACE_INFOEXA 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.

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

Voir aussi

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx32