Função WSAGetServiceClassInfoA (winsock2.h)
A função WSAGetServiceClassInfo recupera as informações de classe (esquema) relativas a uma classe de serviço especificada de um provedor de namespace especificado.
Sintaxe
INT WSAAPI WSAGetServiceClassInfoA(
[in] LPGUID lpProviderId,
[in] LPGUID lpServiceClassId,
[in, out] LPDWORD lpdwBufSize,
[out] LPWSASERVICECLASSINFOA lpServiceClassInfo
);
Parâmetros
[in] lpProviderId
Um ponteiro para um GUID que identifica um provedor de namespace específico.
[in] lpServiceClassId
Um ponteiro para um GUID que identifica a classe de serviço.
[in, out] lpdwBufSize
Na entrada, o número de bytes contidos no buffer apontado pelo parâmetro lpServiceClassInfo .
Na saída, se a função falhar e o erro for WSAEFAULT, esse parâmetro especificará o tamanho mínimo, em bytes, do buffer apontado para lpServiceClassInfo necessário para recuperar o registro.
[out] lpServiceClassInfo
Um ponteiro para uma estrutura WSASERVICECLASSINFO que contém as informações de classe de serviço do provedor de namespace indicado para a classe de serviço especificada.
Valor retornado
O valor retornado será zero se o WSAGetServiceClassInfo tiver sido bem-sucedido. 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 |
---|---|
Não havia memória suficiente para executar a operação. | |
A rotina de chamada não tem privilégios suficientes para acessar as informações. | |
O buffer apontado pelo parâmetro lpServiceClassInfo é muito pequeno para conter um WSASERVICECLASSINFOW. O aplicativo precisa passar um buffer maior. | |
O identificador de classe de serviço ou identificador de provedor de namespace especificado não é válido. Esse erro será retornado se os parâmetros lpProviderId, lpServiceClassId, lpdwBufSize ou lpServiceClassInfo forem NULL. | |
Não há suporte para a operação para o tipo de objeto referenciado. Esse erro é retornado por alguns provedores de namespace que não dão suporte à obtenção de informações de classe de serviço. | |
O nome solicitado é válido, mas nenhum dado do tipo solicitado foi encontrado. | |
O WS2_32.DLL não foi inicializado. O aplicativo deve primeiro chamar WSAStartup antes de chamar qualquer função do Windows Sockets. | |
A classe especificada não foi encontrada. |
Comentários
A função WSAGetServiceClassInfo recupera informações de classe de serviço de um provedor de namespace. As informações de classe de serviço recuperadas de um provedor de namespace específico podem não ser o conjunto completo de informações de classe especificadas quando a classe de serviço foi instalada. Provedores de namespace individuais só são necessários para reter informações de classe de serviço aplicáveis aos namespaces aos quais dão suporte. Consulte a seção Estruturas de Dados da Classe de Serviço para obter mais informações.
Observação
O cabeçalho winsock2.h define WSAGetServiceClassInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winsock2.h |
Biblioteca | Ws2_32.lib |
DLL | Ws2_32.dll |