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