Compartilhar via


Função WSCInstallNameSpace32 (ws2spi.h)

A função WSCInstallNameSpace32 instala um provedor de namespace de 32 bits especificado. Para provedores que são capazes de dar suporte a vários namespaces, essa função deve ser chamada para cada namespace com suporte e um identificador de provedor exclusivo deve ser fornecido sempre.

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

 

Sintaxe

INT WSCInstallNameSpace32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId
);

Parâmetros

[in] lpszIdentifier

Um ponteiro para uma cadeia de caracteres que identifica o provedor associado ao GUID (identificador global exclusivo) passado no parâmetro lpProviderId .

[in] lpszPathName

Um ponteiro para uma cadeia de caracteres que contém o caminho para a imagem DLL do provedor. A cadeia de caracteres observa as regras usuais para resolução de caminho: esse caminho pode conter cadeias de caracteres de ambiente inseridas (como %SystemRoot%). Essas cadeias de caracteres de ambiente são expandidas sempre que o WS2_32.DLL deve carregar posteriormente a DLL do provedor em nome de um aplicativo. Depois que todas as cadeias de caracteres de ambiente inseridas forem expandidas, o Ws2_32.dll passa a cadeia de caracteres resultante para a função LoadLibrary para carregar o provedor na memória. Para obter mais informações, consulte LoadLibrary.

[in] dwNameSpace

Um descritor que especifica o namespace compatível com esse provedor.

[in] dwVersion

Um descritor que especifica o número de versão do provedor.

[in] lpProviderId

Um identificador exclusivo para esse provedor. Esse GUID deve ser gerado por Uuidgen.exe.

Retornar valor

Se nenhum erro ocorrer, a função WSCInstallNameSpace32 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
WSAEACCES
A rotina de chamada não tem privilégios suficientes para instalar um namespace.
WSAEINVAL
Um ou mais argumentos são inválidos.
WSANO_RECOVERY
Ocorreu um erro não detectável. Esse erro é retornado em várias condições, incluindo o seguinte: o provedor já está instalado, o usuário não tem os privilégios administrativos necessários para gravar no registro winsock ou ocorreu uma falha ao criar ou instalar uma entrada de catálogo.
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

WSCInstallNameSpace32 é uma versão estritamente de 32 bits do WSCInstallNameSpace. 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 WSCInstallNameSpace32 reconhecerão as alterações.

A função WSCInstallNameSpace32 só pode ser chamada por um usuário conectado como membro do grupo Administradores. Se WSCInstallNameSpace32 for chamado por um usuário que não é membro do grupo Administradores, a chamada de função falhará. Para computadores que executam o Windows Vista ou o 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

Requisito Valor
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

WSCDeinstallProvider32

WSCEnumProtocols32

WSCInstallNameSpace

WSCInstallNameSpaceEx32

WSCUnInstallNameSpace32