NSPSetService
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 |