Función WSAEnumNameSpaceProvidersExA (winsock2.h)
La función WSAEnumNameSpaceProvidersEx recupera información sobre los proveedores de espacios de nombres disponibles.
Sintaxis
INT WSAAPI WSAEnumNameSpaceProvidersExA(
[in, out] LPDWORD lpdwBufferLength,
[out] LPWSANAMESPACE_INFOEXA lpnspBuffer
);
Parámetros
[in, out] lpdwBufferLength
En la entrada, el número de bytes contenidos en el búfer al que apunta lpnspBuffer. En la salida (si se produce un error en la función y el error es WSAEFAULT), el número mínimo de bytes que se asignarán al búfer lpnspBuffer para permitir que recupere toda la información solicitada. El búfer pasado a WSAEnumNameSpaceProvidersEx debe ser suficiente para contener toda la información del espacio de nombres.
[out] lpnspBuffer
Búfer que se rellena con estructuras WSANAMESPACE_INFOEX . Las estructuras devueltas se encuentran consecutivamente en el encabezado del búfer. Información de tamaño variable a la que hacen referencia los punteros de las estructuras apunta a ubicaciones dentro del búfer ubicado entre el final de las estructuras de tamaño fijo y el final del búfer. El número de estructuras rellenadas es el valor devuelto de WSAEnumNameSpaceProvidersEx.
Valor devuelto
La función WSAEnumNameSpaceProvidersEx devuelve el número de estructuras de WSANAMESPACE_INFOEX copiadas en lpnspBuffer. De lo contrario, se devuelve el valor SOCKET_ERROR y se puede recuperar un número de error específico mediante una llamada a WSAGetLastError.
Código de error | Significado |
---|---|
El parámetro lpnspBuffer era un puntero NULL o la longitud del búfer, lpdwBufferLength, era demasiado pequeña para recibir todas las estructuras WSANAMESPACE_INFOEX pertinentes e información asociada. Cuando se devuelve este error, se devuelve la longitud del búfer necesaria en el parámetro lpdwBufferLength . | |
No se ha inicializado el WS2_32.DLL. La aplicación debe llamar primero a WSAStartup antes de llamar a cualquier función de Windows Sockets. | |
No había memoria suficiente para realizar la operación. |
Comentarios
La función WSAEnumNameSpaceProvidersEx es una versión mejorada de la función WSAEnumNameSpaceProviders . El blob de datos específico del proveedor asociado a la entrada de espacio de nombres que se pasa en el parámetro lpProviderInfo a la función WSCInstallNameSpaceEx se puede consultar mediante la función WSAEnumNameSpaceProvidersEx .
Actualmente, el único proveedor de espacio de nombres incluido con Windows que establece información en el miembro ProviderSpecific de la estructura de WSANAMESPACE_INFOEX es el proveedor NS_EMAIL. El formato del miembro ProviderSpecific para un proveedor de espacio de nombres NS_EMAIL es una estructura NAPI_PROVIDER_INSTALLATION_BLOB .
Cuando se define UNICODE o _UNICODE, WSAEnumNameSpaceProvidersEx se define en WSAEnumNameSpaceProvidersExW, la versión Unicode de esta función. El parámetro lpnspBuffer se define en el tipo de datos LPSAWSANAMESPACE_INFOEXW y las estructuras de WSANAMESPACE_INFOEXW se devuelven correctamente.
Cuando no se define UNICODE o _UNICODE, WSAEnumNameSpaceProvidersEx se define en WSAEnumNameSpaceProvidersExA, la versión ANSI de esta función. El parámetro lpnspBuffer se define en el tipo de datos LPSAWSANAMESPACE_INFOEXA y las estructuras de WSANAMESPACE_INFOEXA se devuelven correctamente.
Windows 8.1 y Windows Server 2012 R2: la función WSAEnumNameSpaceProvidersExW es compatible con las aplicaciones de la Tienda Windows en Windows 8.1, Windows Server 2012 R2 y versiones posteriores.
Nota
El encabezado winsock2.h define WSAEnumNameSpaceProvidersEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8.1, Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winsock2.h |
Library | Ws2_32.lib |
Archivo DLL | Ws2_32.dll |