Compartilhar via


NSPSetService

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função registra ou deregisters uma instância serviço em um espaço Nome.

Syntax

int NSPSetService(
  LPGUID lpProviderId,
  LPWSASERVICECLASSINFOW lpServiceClassInfo,
  LPWSAQUERYSETW lpqsRegInfo,
  WSAESETSERVICEOP essOperation,
  DWORD dwControlFlags 
);

Parameters

  • lpProviderId
    [no] Ponteiro para o GUID do nome específico-provedor espaço no qual o serviço está sendo registrado.
  • lpServiceClassInfo
    [no] Contém informações esquema classe serviço.
  • lpqsRegInfo
    [no] Especifica informações propriedade ser atualizado no registro.
  • essOperation
    [no] Enumeração. A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    RNRSERVICE_REGISTER

    Registre o serviço. Para SAP, isso significa enviando um transmitir periódico. Este é um NOP para o espaço nome DNS. Armazena dados persistentes significa atualizar informações de endereço.

    RNRSERVICE_DEREGISTER

    Cancelar o registro de serviço. Para SAP, isso significa parar envio sem a transmitir periódico. Este é um NOP para o espaço nome DNS. Armazena dados persistentes significa excluindo informações endereço.

    RNRSERVICE_DELETE

    Exclui o serviço dinâmico nome e espaços persistentes. Para serviços representados por múltiplo CSADDR_INFO Estruturas (usando o sinalizador SERVICE_MULTIPLE), somente o endereço fornecido será excluído, e este deve corresponder exatamente o correspondente CSADD_INFO estrutura que foi fornecida quando o serviço foi registrado.

  • dwControlFlags
    [no] Conjunto de sinalizadores controle. A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    SERVICE_MULTIPLE

    Controles escopo da operação. Um registrar ou cancelar invalida todos endereços existentes antes de adicionar o conjunto endereço determinado. Quando definida, a ação é executada somente no conjunto de endereço determinado. Um registrar não invalida endereços existentes e um deregister somente invalida o conjunto especificado de endereços.

O disponível valores para essOperation e dwControlFlags combinados para fornecer significados específicos. A seguinte tabela mostra esses significados.

A operação Sinalizadores O serviço já existe O serviço não existe

Registro RNRSERVICE_

Nenhum

Substitui o objeto. Usa somente endereços especificados. Objeto é REGISTERED.

Cria um novo objeto. Usa somente endereços especificados. Objeto é REGISTERED.

Registro RNRSERVICE_

_MULTIPLE de serviço

Objeto atualizações. Adiciona novos endereços ao conjunto existente. Objeto é REGISTERED.

Cria um novo objeto. Usa todos os endereços especificados. Objeto é REGISTERED.

RNRSERVICE_ DEREGISTER

Nenhum

Remove todos os endereços, mas remover objeto Não do Nome espaço. Objeto é DEREGISTERED.

NOT_FOUND WSASERVICE_.

RNRSERVICE_ DEREGISTER

_MULTIPLE de serviço

Objeto atualizações. Remove somente endereços que são especificados. Somente objeto marca como DEREGISTERED se há endereços estiverem presentes. Não remover do espaço de nome.

NOT_FOUND WSASERVICE_.

RNRSERVICE_ DELETE

Nenhum

Remove o objeto do espaço de nome.

NOT_FOUND WSASERVICE_.

RNRSERVICE_ DELETE

_MULTIPLE de serviço

Remove somente endereços que são especificados. Somente remove objeto do espaço de nome se há endereços permanecem.

NOT_FOUND WSASERVICE_.

Return Value

Se não houver erro, NSPSetService Retorna NO_ERROR (zero). Caso contrário, a função retorna SOCKET_ERROR (– 1) e ele deve definido o apropriado código de erro usando o SetLastError função.

Observação

O usar como padrão Name Service Provider (para sistema de nome de domínio (DNS)/WINS) em Windows Embedded CE não suporte essa função e irá sempre retornam SOCKET_ERROR e definir o código de erro para WSAEOPNOTSUPP.

Remarks

O parâmetro SERVICE_MULTIPLE permite que um aplicativo gerenciar seus endereços de forma independente. Isso é útil quando o aplicativo deseja gerenciar seus protocolos individualmente ou quando o serviço reside em More than uma máquina. PARA instância, quando um serviço usa mais de um protocolo, ele pode localizar anula que um Soquete de escuta, mas as outras permanecem operacionais. Neste maiúsculas e minúsculas, o serviço pode cancelar o endereço anulado sem afetar os outros endereços.

Ao usar SERVICE_MULTIPLE, um aplicativo não deve permitir que obsoleto endereços permanecem no objeto. Isso pode acontecer se o aplicativo anula sem emitir uma solicitação DEREGISTER. Quando um serviço registra, ele deve armazenar seus endereços. Em seu próximo chamada, o serviço deve explicitamente cancelar esses endereços obsoleto antigo antes de registrar novos endereços.

Propriedades de Serviço

A seguinte tabela descreve como os dados propriedade serviço são representados em um WSAQUERYSET estrutura. Membros rotulado como (Opcional) Pode ser fornecido com um NULL ponteiro.

Nome membro WSAQUERYSET Propriedade descrição do serviço

dwSize

Deve ser definido como sizeof (WSAQUERYSET). Este é um mecanismo versionamento.

DwOuputFlags

Não aplicável e ignoradas.

LpszServiceInstanceName

Seqüência de caracteres de referência contém o nome instância serviço.

LpServiceClassId

GUID correspondente a essa classe serviço.

LpVersion

(Opcional) Fornece serviço instância versão número.

LpszComment

(Opcional) Um opcional seqüência de caracteres comentar.

DwNameSpace

Ignorado para esta operação.

LpNSProviderId

Ignoradas para esta operação, identificador provedor está contido na lpProviderId parâmetro.

LpszContext

(Opcional) Especifica a raiz da consulta em um hierárquico Nome espaço.

DwNumberOfProtocols

Ignorado.

LpafpProtocols

Ignorado.

LpszQueryString

Ignorado.

DwNumberOfCsAddrs

Número de elementos de matriz de CSADDRO_INFO Estruturas relacionado por lpcsaBuffer.

LpcsaBuffer

Ponteiro para uma matriz de CSADDRO_INFO estruturas que contêm o endereço ou endereços que o serviço está escutando.

LpBlob

(Opcional) Ponteiro para uma entidade Provider-specific.

Observação

Ele é aceitável para o iProtocol membro das CSADDR_INFO estrutura para conter o manifesto constante IPROTOCOL_ANY, indicando um valor curinga.O nome-espaço provedor deve substituir um valor que é razoável para o tipo dado família de endereços e Soquete.

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)
CSADDR_INFO