Función WSCEnableNSProvider (ws2spi.h)

La función WSCEnableNSProvider cambia el estado de un proveedor de espacio de nombres determinado. Está pensado para dar al usuario final la capacidad de cambiar el estado de los proveedores de espacios de nombres.

Sintaxis

INT WSCEnableNSProvider(
  [in] LPGUID lpProviderId,
  [in] BOOL   fEnable
);

Parámetros

[in] lpProviderId

Puntero a un identificador único global (GUID) para el proveedor de espacios de nombres.

[in] fEnable

Valor booleano que, si es TRUE, el proveedor se establece en el estado activo. Si es FALSE, el proveedor está deshabilitado y no estará disponible para las operaciones de consulta o el registro del servicio.

Valor devuelto

Si no se produce ningún error, la función WSCEnableNSProvider 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
WSAEFAULT
El parámetro lpProviderId apunta a la memoria que no está en una parte válida del espacio de direcciones del usuario.
WSAEINVAL
El identificador del proveedor de espacio de nombres especificado no es válido.
WSASYSCALLFAILURE
No se pudo realizar una llamada del sistema que nunca debería producir un error.
WSA_NOT_ENOUGH_MEMORY
No había suficiente memoria disponible. Este error se devuelve cuando no hay memoria suficiente para asignar una nueva entrada de catálogo.

Comentarios

La función WSCEnableNSProvider está pensada para usarse para cambiar el estado de los proveedores de espacios de nombres. Un proveedor de software independiente (ISV) normalmente no debe anular la activación de otro proveedor de espacios de nombres de ISV para activar su propio. La opción debe dejarse al usuario.

La función WSCEnableNSProvider no afecta 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 estarán visibles. Las aplicaciones iniciadas después de la llamada a WSCEnableNSProvider verán los cambios.

Un usuario que ha iniciado sesión como miembro del grupo Administradores solo puede llamar a la función WSCEnableNSProvider . Si un usuario que no es miembro del grupo Administradores llama a WSCEnableNSProvider , se producirá un error en la llamada a la 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 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 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

WSCEnumProtocols

WSCInstallNameSpace

WSCUnInstallNameSpace

WSCWriteNameSpaceOrder