Compartilhar via


Função WSCInstallNameSpaceEx32 (ws2spi.h)

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

**Observação** Essa chamada é uma versão estritamente de 32 bits do WSCInstallNameSpaceEx32 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 WSCInstallNameSpaceEx32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId,
  [in] LPBLOB lpProviderSpecific
);

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.

[in] lpProviderSpecific

Um blob de dados específico do provedor associado à entrada de namespace.

Retornar valor

Se nenhum erro ocorrer, a função WSCInstallNameSpaceEx32 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 recuperável. Esse erro é retornado sob 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
Falha em uma chamada do sistema que nunca deve falhar.
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

WSCInstallNameSpaceEx32 é uma versão estritamente de 32 bits do WSCInstallNameSpaceEx. Em um computador de 64 bits, todas as chamadas não sã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 de função específicas 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 suas contrapartes nativas.

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

O blob de dados específico do provedor associado à entrada de namespace passada no parâmetro lpProviderInfo pode ser consultado usando a função WSCEnumNameSpaceProvidersEx32 .

Atualmente, o único provedor de namespace incluído no Windows que usa o parâmetro lpProviderInfo é o provedor de NS_EMAIL. O formato do buffer apontado pelo parâmetro lpProviderInfo para um provedor de namespace NS_EMAIL é uma estrutura NAPI_PROVIDER_INSTALLATION_BLOB .

A função WSCInstallNameSpaceEx32só pode ser chamada por um usuário conectado como membro do grupo Administradores. Se WSCInstallNameSpaceEx32 for chamado por um usuário que não seja 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 um 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 como requireAdministrator. 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 aprimorado como administrador interno (administrador RunAs) para que essa função tenha êxito.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [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

NAPI_PROVIDER_INSTALLATION_BLOB

WSCEnumNameSpaceProviders32

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpace32

WSCInstallNameSpaceEx

WSCUnInstallNameSpace32