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.
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 |
---|---|
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
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 |