Função de retorno de chamada LPNSPGETSERVICECLASSINFO (ws2spi.h)

A função NSPGetServiceClassInfo recupera todas as informações de classe pertinentes (esquema) relativas ao provedor de namespace. Essa chamada recupera todas as informações específicas do namespace que são comuns a todas as instâncias do serviço, incluindo informações de conexão para SAP ou informações de porta para SAP ou TCP.

Sintaxe

LPNSPGETSERVICECLASSINFO Lpnspgetserviceclassinfo;

INT Lpnspgetserviceclassinfo(
  [in]      LPGUID lpProviderId,
  [in, out] LPDWORD lpdwBufSize,
  [in, out] LPWSASERVICECLASSINFOW lpServiceClassInfo
)
{...}

Parâmetros

[in] lpProviderId

Um ponteiro para o GUID do provedor de namespace específico do qual o esquema de classe de serviço deve ser recuperado.

[in, out] lpdwBufSize

Na entrada, o tamanho, em bytes, do 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 o parâmetro lpServiceClassInfo necessário para recuperar o registro.

[in, out] lpServiceClassInfo

Retorna um ponteiro para a estrutura WSASERVICECLASSINFOW que contém a classe de serviço para informações de mapeamento específicas do namespace. O parâmetro lpServiceClassId deve ser preenchido para indicar qual registro WSASERVICECLASSINFOW deve ser retornado.

Valor retornado

Se nenhum erro ocorrer, a função NSPGetServiceClassInfo retornará NO_ERROR (zero). Caso contrário, SOCKET_ERROR (–1) será retornado e o provedor de namespace deverá definir o código de erro apropriado usando WSASetLastError.

Código do erro Significado
WSA_NOT_ENOUGH_MEMORY
Não há memória suficiente disponível para executar essa operação.
WSAEACCES
A rotina de chamada não tem privilégios suficientes para acessar as informações.
WSAEFAULT
O buffer apontado pelo parâmetro lpServiceClass era muito pequeno para conter uma estrutura WSASERVICECLASSINFOW . O aplicativo precisa passar um buffer maior.
WSAEINVAL
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**.
WSAEOPNOTSUPP
A operação não tem suporte. Esse erro será retornado se o provedor de namespace não implementar essa função.
WSANO_DATA
O nome solicitado é válido, mas nenhum dado do tipo solicitado foi encontrado.
WSATYPE_NOT_FOUND
A classe especificada não foi encontrada.

Comentários

O W2_32.dll usa essa função para implementar a função WSAGetServiceClassNameByClassId , bem como para recuperar as informações específicas do namespace passadas para as funções NSPLookupServiceBegin e NSPSetService .

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

Confira também

NSPInstallServiceClass

Nsplookupservicebegin

NSPRemoveServiceClass

NSPSetService

WSAGetServiceClassInfo

WSAGetServiceClassNameByClassId

WSASERVICECLASSINFOW

WSASetLastError