Função WSCEnumNameSpaceProvidersEx32 (ws2spi.h)

A função WSCEnumNameSpaceProvidersEx32 recupera informações sobre provedores de namespace de 32 bits disponíveis.

Sintaxe

INT WSAAPI WSCEnumNameSpaceProvidersEx32(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXW lpnspBuffer
);

Parâmetros

[in, out] lpdwBufferLength

Na entrada, o número de bytes contidos no buffer apontado por lpnspBuffer. Na saída (se a função falhar e o erro for WSAEFAULT), o número mínimo de bytes a serem alocados para o buffer lpnspBuffer para permitir que ele recupere todas as informações solicitadas. O buffer passado para WSCEnumNameSpaceProvidersEx32 deve ser suficiente para manter todas as informações do namespace.

[out] lpnspBuffer

Um buffer preenchido com estruturas WSANAMESPACE_INFOEXW . As estruturas retornadas estão localizadas consecutivamente no cabeçalho do buffer. As informações de tamanho variável referenciadas por ponteiros nas estruturas apontam para locais dentro do buffer localizado entre o final das estruturas de tamanho fixo e o final do buffer. O número de estruturas preenchidas é o valor retornado de WSCEnumNameSpaceProvidersEx32.

Retornar valor

A função WSCEnumNameSpaceProvidersEx32 retorna o número de estruturas WSANAMESPACE_INFOEXW copiadas para lpnspBuffer. Caso contrário, o valor SOCKET_ERROR será retornado e um número de erro específico poderá ser recuperado chamando WSAGetLastError.

Código do erro Significado
WSAEFAULT
O comprimento do buffer era muito pequeno para receber todas as estruturas de WSANAMESPACE_INFOEXW relevantes e informações associadas ou o parâmetro lpnspBuffer era um ponteiro **NULL**. Quando esse erro é retornado, o comprimento do buffer necessário é retornado no parâmetro lpdwBufferLength .
WSANOTINITIALISED
O WS2_32.DLL não foi inicializado. O aplicativo deve primeiro chamar WSAStartup antes de chamar qualquer função do Windows Sockets.
WSA_NOT_ENOUGH_MEMORY
Não havia memória suficiente para executar a operação.

Comentários

WSCEnumNameSpaceProvidersEx32 é uma versão estritamente de 32 bits do WSAEnumNameSpaceProvidersEx. 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.

Atualmente, o único namespace incluído no Windows que usa informações no membro ProviderSpecific da estrutura WSANAMESPACE_INFOEXW são provedores de namespace para o namespace NS_EMAIL. O formato do membro ProviderSpecific para um provedor de namespace NS_EMAIL é uma estrutura NAPI_PROVIDER_INSTALLATION_BLOB .

A função SPI de 32 bits é equivalente à função de API nativa (WSAEnumNameSpaceProvidersEx) porque não há nenhum conceito de um provedor de namespace "oculto".

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

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

WSAEnumNameSpaceProvidersEx

WSANAMESPACE_INFOEXW

WSCEnumNameSpaceProviders32

WSCInstallNameSpaceEx32