Función WSCInstallNameSpaceEx32 (ws2spi.h)
La función WSCInstallNameSpaceEx32 instala un proveedor de espacio de nombres de 32 bits especificado. Para los proveedores que pueden admitir varios espacios de nombres, se debe llamar a esta función para cada espacio de nombres admitido y se debe proporcionar un identificador de proveedor único cada vez.
Sintaxis
INT WSCInstallNameSpaceEx32(
[in] LPWSTR lpszIdentifier,
[in] LPWSTR lpszPathName,
[in] DWORD dwNameSpace,
[in] DWORD dwVersion,
[in] LPGUID lpProviderId,
[in] LPBLOB lpProviderSpecific
);
Parámetros
[in] lpszIdentifier
Puntero a una cadena que identifica el proveedor asociado al identificador único global (GUID) pasado en el parámetro lpProviderId .
[in] lpszPathName
Puntero a una cadena Unicode que contiene la ruta de acceso de carga al archivo DLL del proveedor. Esta cadena observa las reglas habituales para la resolución de rutas de acceso y puede contener cadenas de entorno incrustadas (como %SystemRoot%). Estas cadenas de entorno se expanden cuando el Ws2_32.dll posteriormente debe cargar el archivo DLL del proveedor en nombre de una aplicación. Una vez expandidas las cadenas de entorno incrustadas, el Ws2_32.dll pasa la cadena resultante a la función LoadLibrary que carga el proveedor en memoria. Para obtener más información, consulte LoadLibrary.
[in] dwNameSpace
Espacio de nombres admitido por este proveedor.
[in] dwVersion
Número de versión del proveedor.
[in] lpProviderId
Puntero a un GUID para el proveedor. Este GUID se debe generar mediante Uuidgen.exe.
[in] lpProviderSpecific
Un blob de datos específico del proveedor asociado a la entrada del espacio de nombres.
Valor devuelto
Si no se produce ningún error, la función WSCInstallNameSpaceEx32 devuelve NO_ERROR (cero). De lo contrario, devuelve SOCKET_ERROR si se produce un error en la función y debe recuperar el código de error adecuado mediante la función WSAGetLastError .
Código de error | Significado |
---|---|
La rutina de llamada no tiene privilegios suficientes para instalar un espacio de nombres. | |
Uno o varios argumentos no son válidos. | |
Error irrecuperable. Este error se devuelve en varias condiciones, incluido lo siguiente: el proveedor ya está instalado, el usuario carece de los privilegios administrativos necesarios para escribir en el registro winsock o se produjo un error al crear o instalar una entrada de catálogo. | |
No se pudo realizar una llamada del sistema que nunca debería producir un error. | |
No había suficiente memoria disponible. Este error se devuelve cuando no hay memoria suficiente para asignar una nueva entrada de catálogo. |
Comentarios
WSCInstallNameSpaceEx32 es una versión estricta de 32 bits de WSCInstallNameSpaceEx. En un equipo de 64 bits, todas las llamadas no son 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 específicas de 32 bits son las mismas que sus equivalentes nativos.
Las funciones de configuración del espacio de nombres no afectan a las aplicaciones que ya se están ejecutando. Los proveedores de espacio de nombres recién instalados no serán visibles para las aplicaciones ni los cambios en el estado de activación de un proveedor de espacio de nombres. Las aplicaciones iniciadas después de la llamada a WSCInstallNameSpaceEx32 verán los cambios.
El blob de datos específico del proveedor asociado a la entrada de espacio de nombres pasada en el parámetro lpProviderInfo se puede consultar mediante la función WSCEnumNameSpaceProvidersEx32 .
Actualmente, el único proveedor de espacio de nombres incluido con Windows que usa el parámetro lpProviderInfo es el proveedor de NS_EMAIL. El formato del búfer al que apunta el parámetro lpProviderInfo para un proveedor de espacio de nombres NS_EMAIL es una estructura NAPI_PROVIDER_INSTALLATION_BLOB .
Solo un usuario que haya iniciado sesión como miembro del grupo Administradores puede llamar a la función WSCInstallNameSpaceEx32. Si un usuario llama a WSCInstallNameSpaceEx32 que no es miembro del grupo Administradores, se producirá un error en la llamada a la función. En el caso de los equipos que se ejecutan en Windows Vista o Windows Server 2008, esta función también puede producir un error debido al control de cuentas de usuario (UAC). Si un usuario inicia sesión como miembro del grupo Administradores que no sea el administrador integrado, esta llamada producirá un error a menos que la aplicación se haya marcado en el archivo de manifiesto con un valor requestedExecutionLevel establecido en requireAdministrator. Si la aplicación en Windows Vista o Windows Server 2008 carece de este archivo de manifiesto, un usuario que ha iniciado sesión como miembro del grupo Administradores que no sea el administrador integrado debe ejecutar la aplicación en un shell mejorado como administrador integrado (administrador de RunAs) para que esta función se realice correctamente.
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 |