Compartir a través de


Función WSCInstallNameSpace32 (ws2spi.h)

La función WSCInstallNameSpace32 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.

Nota Esta llamada es una versión estricta de 32 bits de WSCInstallNameSpace para su uso en plataformas de 64 bits. Se proporciona para permitir que los procesos de 64 bits accedan a los catálogos de 32 bits.

 

Sintaxis

INT WSCInstallNameSpace32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId
);

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 que contiene la ruta de acceso a la imagen DLL del proveedor. La cadena observa las reglas habituales para la resolución de rutas de acceso: esta ruta de acceso puede contener cadenas de entorno insertadas (como %SystemRoot%). Estas cadenas de entorno se expanden siempre que el WS2_32.DLL debe cargar posteriormente 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 para cargar el proveedor en memoria. Para obtener más información, consulte LoadLibrary.

[in] dwNameSpace

Descriptor que especifica el espacio de nombres admitido por este proveedor.

[in] dwVersion

Descriptor que especifica el número de versión del proveedor.

[in] lpProviderId

Identificador único para este proveedor. Este GUID debe generarse mediante Uuidgen.exe.

Valor devuelto

Si no se produce ningún error, la función WSCInstallNameSpace32 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
WSAEACCES
La rutina de llamada no tiene privilegios suficientes para instalar un espacio de nombres.
WSAEINVAL
Uno o varios argumentos no son válidos.
WSANO_RECOVERY
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.
WSASYSCALLFAILURE
Se ha producido un error en una llamada del sistema que nunca debería producir un error.
WSA_NOT_ENOUGH_MEMORY
Memoria insuficiente disponible. Este error se devuelve cuando no hay memoria suficiente para asignar una nueva entrada de catálogo.

Comentarios

WSCInstallNameSpace32 es una versión estricta de 32 bits de WSCInstallNameSpace. 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.

Las funciones de configuración del espacio de nombres no afectan a las aplicaciones que ya se están ejecutando. Los proveedores de espacios 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 espacios de nombres. Las aplicaciones iniciadas después de la llamada a WSCInstallNameSpace32 reconocerán los cambios.

Un usuario que inició sesión como miembro del grupo Administradores solo puede llamar a la función WSCInstallNameSpace32 . Si un usuario que no es miembro del grupo Administradores llama a WSCInstallNameSpace32 , se producirá un error en la llamada de función. En el caso de los equipos que ejecutan 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 que ha iniciado sesión como miembro del grupo Administradores que no sea el administrador integrado ejecuta esta función, se producirá un error en esta llamada 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 inició sesión como miembro del grupo Administradores distinto del 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, Windows XP Professional x64 Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008, Windows Server 2003 x64 Edition [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ws2spi.h
Library Ws2_32.lib
Archivo DLL Ws2_32.dll

Consulte también

WSCDeinstallProvider32

WSCEnumProtocols32

WSCInstallNameSpace

WSCInstallNameSpaceEx32

WSCUnInstallNameSpace32