Função WSCInstallNameSpace (ws2spi.h)
A função WSCInstallNameSpace instala um provedor de namespace. 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.
Sintaxe
INT WSCInstallNameSpace(
[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 Unicode que contém o caminho de carga para a DLL do provedor. Essa cadeia de caracteres observa as regras usuais para resolução de caminho e pode conter cadeias de caracteres de ambiente inseridas (como %SystemRoot%). Essas cadeias de caracteres de ambiente são expandidas quando o Ws2_32.dll deve carregar posteriormente a DLL do provedor em nome de um aplicativo. Depois que as cadeias de caracteres de ambiente inseridas são expandidas, o Ws2_32.dll passa a cadeia de caracteres resultante para a função LoadLibrary que carrega o provedor na memória. Para obter mais informações, consulte LoadLibrary.
[in] dwNameSpace
O namespace compatível com esse provedor.
[in] dwVersion
O número de versão do provedor.
[in] lpProviderId
Um ponteiro para um GUID para o provedor. Esse GUID deve ser gerado por Uuidgen.exe.
Valor retornado
Se nenhum erro ocorrer, a função WSCInstallNameSpace 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 |
---|---|
A rotina de chamada não tem privilégios suficientes para instalar um namespace. | |
Um ou mais argumentos são inválidos. | |
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. | |
Uma chamada do sistema que nunca deve falhar falhou. | |
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
As funções namespace–configuration 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 WSCInstallNameSpace verão as alterações.
A função WSCInstallNameSpace só pode ser chamada por um usuário conectado como membro do grupo Administradores. Se WSCInstallNameSpace 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 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ws2spi.h |
Biblioteca | Ws2_32.lib |
DLL | Ws2_32.dll |