Función WSCEnumNameSpaceProvidersEx32 (ws2spi.h)

La función WSCEnumNameSpaceProvidersEx32 recupera información sobre los proveedores de espacios de nombres de 32 bits disponibles.

Sintaxis

INT WSAAPI WSCEnumNameSpaceProvidersEx32(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXW 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 para el búfer lpnspBuffer para permitirle recuperar toda la información solicitada. El búfer pasado a WSCEnumNameSpaceProvidersEx32 debe ser suficiente para contener toda la información del espacio de nombres.

[out] lpnspBuffer

Búfer que se rellena con estructuras de WSANAMESPACE_INFOEXW . 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 WSCEnumNameSpaceProvidersEx32.

Valor devuelto

La función WSCEnumNameSpaceProvidersEx32 devuelve el número de estructuras de WSANAMESPACE_INFOEXW copiadas en lpnspBuffer. De lo contrario, se devuelve el valor SOCKET_ERROR y se puede recuperar un número de error específico llamando a WSAGetLastError.

Código de error Significado
WSAEFAULT
La longitud del búfer era demasiado pequeña para recibir todas las estructuras de WSANAMESPACE_INFOEXW pertinentes y la información asociada o el parámetro lpnspBuffer era un puntero **NULL**. Cuando se devuelve este error, se devuelve la longitud del búfer necesaria en el parámetro lpdwBufferLength .
WSANOTINITIALISED
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.
WSA_NOT_ENOUGH_MEMORY
No había memoria suficiente para realizar la operación.

Comentarios

WSCEnumNameSpaceProvidersEx32 es una versión estricta de 32 bits de WSAEnumNameSpaceProvidersEx. En un equipo de 64 bits, todas las llamadas no funcionan específicamente de 32 bits (por ejemplo, todas las funciones que no terminan en "32") funcionan en el catálogo nativo de 64 bits. Los procesos que se ejecutan en un equipo de 64 bits deben usar las llamadas de función específicas de 32 bits para funcionar en un catálogo estrictamente de 32 bits y conservar la compatibilidad. Las definiciones y la semántica de las llamadas de 32 bits específicas son las mismas que sus equivalentes nativos.

Actualmente, el único espacio de nombres incluido con Windows que usa información en el miembro ProviderSpecific de la estructura WSANAMESPACE_INFOEXW son proveedores de espacios de nombres para el espacio de nombres NS_EMAIL. El formato del miembro ProviderSpecific para un proveedor de espacio de nombres NS_EMAIL es una estructura NAPI_PROVIDER_INSTALLATION_BLOB .

La función SPI de 32 bits es equivalente a la función de API nativa (WSAEnumNameSpaceProvidersEx) porque no hay ningún concepto de proveedor de espacio de nombres "oculto".

El blob de datos específico del proveedor asociado con la entrada de espacio de nombres pasada en el parámetro lpProviderInfo a la función WSCInstallNameSpaceEx32 se puede consultar mediante la función WSCEnumNameSpaceProvidersEx32 .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ws2spi.h
Library Ws2_32.lib
Archivo DLL Ws2_32.dll

Consulte también

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProvidersEx

WSANAMESPACE_INFOEXW

WSCEnumNameSpaceProviders32

WSCInstallNameSpaceEx32