Función WSCDeinstallProvider (ws2spi.h)

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

Sintaxis

int WSCDeinstallProvider(
  [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, WSCDeinstallProvider 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

La función WSCDeinstallProvider quita la información de configuración común de Windows Sockets 2 para el proveedor 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, WSCDeinstallProvider intentará alertar a todas las aplicaciones interesadas que se hayan registrado para notificar el cambio mediante una llamada a WSAProviderConfigChange.

Un usuario que inició sesión como miembro del grupo Administradores solo puede llamar a la función WSCDeinstallProvider . Si un usuario llama a WSCDeinstallProvider que no es miembro del grupo Administradores, 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 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ws2spi.h
Library Ws2_32.lib
Archivo DLL Ws2_32.dll

Consulte también

WSAProviderConfigChange

WSCEnumProtocols

WSCInstallProvider