Compartilhar via


Função DsClientMakeSpnForTargetServerA (ntdsapi.h)

A função DsClientMakeSpnForTargetServer constrói um SPN (nome da entidade de serviço) que identifica um servidor específico a ser usado para autenticação.

Sintaxe

NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
  [in]      LPCSTR ServiceClass,
  [in]      LPCSTR ServiceName,
  [in, out] DWORD  *pcSpnLength,
  [out]     LPSTR  pszSpn
);

Parâmetros

[in] ServiceClass

Ponteiro para uma cadeia de caracteres terminada em nulo que contém a classe do serviço, conforme definido pelo serviço. Isso pode ser qualquer cadeia de caracteres exclusiva para o serviço.

[in] ServiceName

Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do host DNS (serviço de nome diferenciado). Pode ser um nome totalmente qualificado ou um endereço IP no formato padrão da Internet.

O uso de um endereço IP para ServiceName não é recomendado porque isso pode criar um problema de segurança. Antes que o SPN seja construído, o endereço IP deve ser convertido em um nome de computador por meio da resolução de nomes DNS. É possível que a resolução de nomes DNS seja falsificada, substituindo o nome do computador pretendido por um nome de computador não autorizado.

[in, out] pcSpnLength

Ponteiro para um DWORD valor que, na entrada, contém o tamanho do buffer de pszSpn , em caracteres. Na saída, esse parâmetro recebe o número de caracteres copiados para o buffer de pszSpn , incluindo a terminação NULL.

[out] pszSpn

Ponteiro para um buffer de cadeia de caracteres que recebe o SPN.

Valor de retorno

Essa função retorna códigos de erro padrão do Windows.

Observações

Ao usar essa função, forneça a classe de serviço e parte de um nome de host DNS.

Essa função é uma versão simplificada da função DsMakeSpn. A ServiceName é tornada canônica resolvendo por meio do DNS.

Não há suporte para nomes DNS baseados em GUID. Quando construído, o SPN simplificado é o seguinte:

ServiceClass / ServiceName / ServiceName

A parte do nome da instância (segunda posição) é sempre definida como padrão. Os campos porta e referenciador não são usados.

Nota

O cabeçalho ntdsapi.h define DsClientMakeSpnForTargetServer como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
servidor com suporte mínimo Windows Server 2008
da Plataforma de Destino Windows
cabeçalho ntdsapi.h
biblioteca Ntdsapi.lib
de DLL Ntdsapi.dll

Consulte também

Funções de gerenciamento de replicação e controlador de domínio

DsMakeSpn