Función WSCEnableNSProvider32 (ws2spi.h)

La función WSCEnableNSProvider32 habilita o deshabilita un proveedor de espacio de nombres de 32 bits especificado. Está pensado para dar al usuario final la capacidad de cambiar el estado de los proveedores de espacios de nombres.

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

 

Sintaxis

INT WSCEnableNSProvider32(
  [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 de espacios de nombres se establece en el estado activo. Si es FALSE, el proveedor de espacios de nombres 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 WSCEnableNSProvider32 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.

Observaciones

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

WSCEnableNSProvider32 es una versión estricta de 32 bits de WSCEnableNSProvider. 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 están en ejecución. 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 WSCEnableNSProvider32 verán los cambios.

Un usuario que inició sesión como miembro del grupo Administradores solo puede llamar a la función WSCEnableNSProvider32 . Si un usuario que no es miembro del grupo Administradores llama a WSCEnableNSProvider32 , 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

   
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

WSCEnableNSProvider

WSCEnumProtocols32

WSCInstallNameSpace32

WSCUnInstallNameSpace32

WSCWriteNameSpaceOrder32