Función WSCDeinstallProvider32 (ws2spi.h)

La función WSCDeinstallProvider32 quita el proveedor de transporte de 32 bits especificado de la base de datos de configuración del sistema.

Nota Esta llamada permite que un proceso de 64 bits manipule el catálogo winsock de 32 bits porque WSCDeinstallProvider, en equipos de 64 bits, solo manipula el catálogo nativo de Windows Sockets de 64 bits.

 

Sintaxis

int WSCDeinstallProvider32(
  [in]  LPGUID lpProviderId,
  [out] LPINT  lpErrno
);

Parámetros

[in] lpProviderId

Puntero a un identificador único global (GUID) para el proveedor. Este valor se almacena dentro de cada estructura de WSAProtocol_Info .

[out] lpErrno

Puntero al código de error si se produce un error en la función.

Valor devuelto

Si no se produce ningún error, WSCDeinstallProvider32 devuelve cero. De lo contrario, devuelve SOCKET_ERROR y un código de error específico está disponible en lpErrno.

Código de error Significado
WSAEINVAL
El parámetro lpProviderId no especifica un proveedor válido.
WSAEFAULT
El parámetro lpErrno no está en una parte válida del espacio de direcciones del usuario.
WSANO_RECOVERY
Error irrecuperable. Este error se devuelve en varias condiciones, incluido lo siguiente: el usuario carece de los privilegios administrativos necesarios para escribir en el registro de Windows Sockets o se produjo un error al abrir una entrada de catálogo.
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

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

La función WSCDeinstallProvider32 quita la información de configuración común de Windows Sockets 2 para el proveedor de 32 bits especificado. Una vez completada correctamente esta rutina, se cambiará la información de configuración almacenada en el Registro. Sin embargo, las instancias de Ws2_32.dll actualmente en memoria no podrán reconocer este cambio.

Si se ejecuta correctamente, WSCDeinstallProvider32 intentará alertar a todas las aplicaciones interesadas que se hayan registrado para recibir notificaciones del cambio llamando a WSAProviderConfigChange.

Un usuario que inició sesión como miembro del grupo Administradores solo puede llamar a la función WSCDeinstallProvider32 . Si un usuario que no es miembro del grupo Administradores llama a WSCDeinstallProvider32 , se producirá un error en la llamada de función y se devolverá WSANO_RECOVERY en el parámetro lpErrno .

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.

El autor de la llamada de esta función debe quitar los archivos adicionales o la información de configuración específica del proveedor de servicios necesaria para desinstalar completamente el proveedor de servicios.

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

WSAProviderConfigChange

WSCDeinstallProvider

WSCEnumProtocols32

WSCInstallProvider64_32