Função WSCEnableNSProvider32 (ws2spi.h)

A função WSCEnableNSProvider32 habilita ou desabilita um provedor de namespace de 32 bits especificado. Ele destina-se a dar ao usuário final a capacidade de alterar o estado dos provedores de namespace.

Nota Essa chamada é uma versão estritamente de 32 bits do WSCEnableNSProvider para uso em computadores de 64 bits. Ele é fornecido para permitir que processos de 64 bits acessem os catálogos de 32 bits.

 

Sintaxe

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

Parâmetros

[in] lpProviderId

Um ponteiro para um GUID (identificador global exclusivo) para o provedor de namespace.

[in] fEnable

Um valor booliano que, se TRUE, o provedor de namespace é definido como o estado ativo. Se FALSE, o provedor de namespace será desabilitado e não estará disponível para operações de consulta ou registro de serviço.

Valor retornado

Se nenhum erro ocorrer, a função WSCEnableNSProvider32 retornará NO_ERROR (zero). Caso contrário, ele retornará SOCKET_ERROR se a função falhar e você deverá recuperar o código de erro apropriado usando a função WSAGetLastError .

Código do erro Significado
WSAEFAULT
O parâmetro lpProviderId aponta para a memória que não está em uma parte válida do espaço de endereço do usuário.
WSAEINVAL
O identificador do provedor de namespace especificado é inválido.
WSASYSCALLFAILURE
Uma chamada do sistema que nunca deve falhar falhou.
WSA_NOT_ENOUGH_MEMORY
Memória insuficiente disponível. Esse erro é retornado quando não há memória suficiente para alocar uma nova entrada de catálogo.

Comentários

A função WSCEnableNSProvider32 destina-se a ser usada para alterar o estado dos provedores de namespace. Um ISV (fornecedor de software independente) normalmente não deve desativar o provedor de namespace de outro ISV para ativar o próprio. A escolha deve ser deixada para o usuário.

WSCEnableNSProvider32 é uma versão estritamente de 32 bits do WSCEnableNSProvider. Em um computador de 64 bits, todas as chamadas não especificamente de 32 bits (por exemplo, todas as funções que não terminam em "32") operam no catálogo nativo de 64 bits. Os processos executados em um computador de 64 bits devem usar as chamadas específicas de função de 32 bits para operar em um catálogo estritamente de 32 bits e preservar a compatibilidade. As definições e a semântica das chamadas específicas de 32 bits são as mesmas que seus equivalentes nativos.

As funções de configuração de namespace não afetam os aplicativos que já estão em execução. Os provedores de namespace recém-instalados não ficarão visíveis para aplicativos nem as alterações no estado de ativação de um provedor de namespace. Os aplicativos iniciados após a chamada para WSCEnableNSProvider32 verão as alterações.

A função WSCEnableNSProvider32 só pode ser chamada por um usuário conectado como membro do grupo Administradores. Se WSCEnableNSProvider32 for chamado por um usuário que não é membro do grupo Administradores, a chamada de função falhará.

Para computadores em execução no Windows Vista ou no Windows Server 2008, essa função também pode falhar devido ao UAC (controle de conta de usuário). Se um aplicativo que contém essa função for executado por um usuário conectado como membro do grupo Administradores diferente do Administrador interno, essa chamada falhará, a menos que o aplicativo tenha sido marcado no arquivo de manifesto com um requestedExecutionLevel definido para exigirAdministrator. Se o aplicativo no Windows Vista ou no Windows Server 2008 não tiver esse arquivo de manifesto, um usuário conectado como membro do grupo Administradores que não seja o Administrador interno deverá executar o aplicativo em um shell avançado como administrador interno (administrador de RunAs) para que essa função tenha êxito.

Requisitos

   
Cliente mínimo com suporte Windows Vista, Windows XP Professional x64 Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008, Windows Server 2003 x64 Edition [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ws2spi.h
Biblioteca Ws2_32.lib
DLL Ws2_32.dll

Confira também

WSCEnableNSProvider

WSCEnumProtocols32

WSCInstallNameSpace32

WSCUnInstallNameSpace32

WSCWriteNameSpaceOrder32