Compartilhar via


NSPLookupServiceNext

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função é chamado depois de obter um identificador de um chamar anterior para NSPLookupServiceBegin em ordem para recuperar informações de serviço solicitado.

O provedor vai transmitir voltar um WSAQUERYSET estrutura in a lpqsResults reserva. O cliente deve continuar a chamar essa função até que ele retorne WSA_E_NOMORE, indicando que todos os WSAQUERYSET tenham sido retornados.

Syntax

int NSPAPI WSALookupServiceNext(
  HANDLE hLookup,
  DWORD dwControlFlags,
  LPDWORD lpdwBufferLength,
  LPWSAQUERYSET lpqsResults 
);

Parameters

  • dwControlFlags
    [no] Sinalizadores para o próximo controle operação. No momento, apenas LUP_FLUSHPREVIOUS é definido como um meio para lidar com um conjunto de resultados que é muito grande. Se um aplicativo não fornecer uma reserva grande o suficiente, configuração LUP_FLUSHPREVIOUS instrui o provedor para descartar a última conjunto de resultados, que era muito grande e mover para o próximo definidas para este chamar.
  • lpdwBufferLength
    [in, Out] Na entrada, o número de bytes contidos na reserva apontado pelo lpqsResults. Na saída, se a função falhar e o erro é WSAEFAULT, ele contém o número mínimo de bytes para transmitir para o lpqsResults Para recuperar o registro.
  • lpqsResults
    [out] Ponteiro para uma bloco de memória que conterá um conjunto de resultados em um WSAQUERYSET estrutura no retorno.

Return Value

A função deve retornar NO_ERROR (zero) se a rotina é bem-sucedida. Ela deve retornar SOCKET_ERROR (– 1) se a rotina falha e ele deve definir o apropriado código de erro usando SetLastError.

A seguinte tabela mostra os códigos de erro possível.

Valor de erro Descrição

WSA_E_NO_MORE

Não há nenhum dados mais disponível.

Em sockets do Windows (Winsock), conflitantes códigos de erro são definidos para WSAENOMORE (10102) e WSA_E_NO_MORE (10110). O código de erro que WSAENOMORE será removido em uma versão futura e apenas WSA_E_NO_MORE permanecerá. Nome espaço provedores devem alternar a usar o código de erro WSA_E_NO_MORE as soon as Possible para manter compatibilidade com o maior intervalo possível de aplicativos.

WSA_E_CANCELLED

Chamada para NSPLookupServiceEnd Foi feita enquanto este chamar era ainda processamento. A chamada foi cancelada. Os dados na lpqsResults reserva é indefinido.

Em sockets do Windows (Winsock), conflitantes códigos de erro são definidos para WSAECANCELLED (10103) e WSA_E_CANCELLED (10111) .o código de erro que WSAECANCELLED será removido em uma versão futura e apenas WSA_E_CANCELLED será mantido. Nome espaço provedores devem alternar a usar o código de erro WSA_E_CANCELLED as soon as Possible para manter compatibilidade com o maior intervalo possível de aplicativos.

WSAEFAULT

O lpqsResults reserva era muito pequena para conter um WSAQUERYSET Defina.

WSAEINVAL

Um ou mais parâmetros foram inválido ou ausente para este provedor.

WSA_INVALID_HANDLE

Especificado pesquisa identificador é inválido.

WSANO_DATA

O nome foi encontrado no banco de dados, mas não compatível dados as restrições determinadas foi localizado.

WSASERVICE_NOT_FOUND

Este serviço não é conhecido. O serviço não pode ser encontrado no espaço para nome especificado.

WSA_NOT_ENOUGH_MEMORY

Não há livre memória disponível para executar esta operação.

Remarks

O dwControlFlags especificado nessa função e as especificadas no tempo de NSPLookupServiceBegin são tratados como "Restrições" o objetivo de combinação. As restrições são combinadas entre aqueles no NSPLookupServiceBegin tempo e aqueles em NSPLookupServiceNext tempo. Portanto, os sinalizadores no NSPLookupServiceNext nunca pode aumentar a quantidade de dados retornados além que foi solicitado no NSPLookupServiceBegin, embora ele seja Não Erro ao especificar mais ou menos sinalizadores. Os sinalizadores especificados em um determinado NSPLookupServiceNext aplicar somente a esse chamar.

O dwControlFlags LUP_FLUSHPREVIOUS e LUP_RES_SERVICE são exceções à regra restrições combinadas, porque são sinalizadores comportamento em vez de sinalizadores de restrição. Se um desses sinalizadores é usado no NSPLookupServiceNext, tenham sua efeito definido regardless of a configuração dos mesmos sinalizadores no NSPLookupServiceBegin.

De exemplo, se LUP_RETURN_VERSION for especificada no NSPLookupServiceBegin, o provedor serviço recupera registros incluindo a versão. Se estiver LUP_RETURN_VERSION Não especificado no NSPLookupServiceNext, as informações retornadas não inclui a versão, mesmo que estava disponível. Nenhum erro será gerado.

Também de exemplo, se estiver LUP_RETURN_BLOB Não especificado no NSPLookupServiceBegin Mas é especificado no NSPLookupServiceNext, as informações retornadas não inclui o dados particulares. Nenhum erro será gerado.

A seguinte tabela descreve como os resultados da consulta são representados na WSAQUERYSET estrutura.

Nome membro WSAQUERYSET A interpretação de resultados

dwSize

Será definido como sizeof (WSAQUERYSET). Isso é usado como um mecanismo versionamento.

dwOuputFlags

Sinalizador RESULT_IS_ALIAS indica que este é um resultado alias.

lpszServiceInstanceName

Faz referência a seqüência de caracteres que contém o nome serviço.

lpServiceClassId

GUID correspondente para a classe serviço.

lpVersion

Número versão referências de instância de serviço específico.

lpszComment

Seqüência de caracteres comentar opcional fornecido pelo serviço instância.

dwNameSpace

Espaço nome em que a instância serviço foi encontrada.

lpNSProviderId

Identifica o nome específico-provedor espaço que forneceu este resultado consulta.

lpszContext

Especifica o apontar contexto em um hierárquico Nome espaço no qual o serviço está localizado.

dwNumberOfProtocols

Indefinido para resultados.

lpafpProtocols

Indefinidos para os resultados, todas as informações necessárias protocolo está na CSADDR_INFO estruturas.

lpszQueryString

Quando dwControlFlags Inclui LUP_RETURN_QUERY_STRING, esse membro retorna o não analisado restante a lpszServiceInstanceName especificado no original consulta. De exemplo, em um nome que identifica os serviços por hierárquico espaço nomes que especificar um nome do host e um caminho do arquivo dentro desse hospedar, o endereço retornado pode ser o endereço hospedar e o não analisado restante pode ser a caminho do arquivo. Se a pasta lpszServiceInstanceName é totalmente analisado e LUP_RETURN_QUERY_STRING é usado, esse membro é NULL ou aponta para um zero-length string.

dwNumberOfCsAddrs

Indica o número de elementos de matriz de CSADDR_INFO estruturas.

lpcsaBuffer

Ponteiro para uma matriz de CSADDR_INFO estruturas, com um completo endereço transporte contido em cada elemento.

lpBlob

(Opcional) Ponteiro para uma entidade Provider-specific.

Requirements

Header ws2spi.h
Library Ws2.lib
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

WSAQUERYSET (Windows Sockets)
NSPLookupServiceBegin