Compartilhar via


Função DsCrackSpnA (dsparse.h)

A função DsCrackSpn analisa um SPN (nome da entidade de serviço) em suas cadeias de caracteres de componente.

Sintaxe

DSPARSE DWORD DsCrackSpnA(
  [in]                LPCSTR  pszSpn,
  [in, out, optional] LPDWORD pcServiceClass,
  [out, optional]     LPSTR   ServiceClass,
  [in, out, optional] LPDWORD pcServiceName,
  [out, optional]     LPSTR   ServiceName,
  [in, out, optional] LPDWORD pcInstanceName,
  [out, optional]     LPSTR   InstanceName,
  [out, optional]     USHORT  *pInstancePort
);

Parâmetros

[in] pszSpn

Ponteiro para uma cadeia de caracteres terminada em nulo constante que contém o SPN a ser analisado. O SPN tem o seguinte formato, no qual os <componentes de classe> de serviço e <nome> da instância devem estar presentes e os componentes número> da <porta e <nome> do serviço são opcionais. O <componente número> da porta deve ser um valor de cadeia de caracteres numérica.

<service class>/<instance name>:<port number>/<service name>

[in, out, optional] pcServiceClass

Ponteiro para um valor DWORD que, na entrada, contém o tamanho, em TCHARs, do buffer ServiceClass , incluindo o caractere nulo de terminação. Na saída, esse parâmetro contém o número de TCHARs na cadeia de caracteres ServiceClass , incluindo o caractere nulo de terminação.

Se esse parâmetro for NULL, contiver zero ou ServiceClass for NULL, esse parâmetro e ServiceClass serão ignorados.

Para obter o número de caracteres necessários para a cadeia de caracteres ServiceClass, incluindo o terminador nulo, chame essa função com um SPN válido, um ServiceClass não NULL e esse parâmetro definido como 1.

[out, optional] ServiceClass

Ponteiro para um buffer TCHAR que recebe uma cadeia de caracteres terminada em nulo que contém o <componente de classe> de serviço do SPN. Esse buffer deve ter pelo menos *TCHARspcServiceClass em tamanho. Esse parâmetro poderá ser NULL se a classe de serviço não for necessária.

[in, out, optional] pcServiceName

Ponteiro para um valor DWORD que, na entrada, contém o tamanho, em TCHARs, do buffer ServiceName , incluindo o caractere nulo de terminação. Na saída, esse parâmetro contém o número de TCHARs na cadeia de caracteres ServiceName , incluindo o caractere nulo de terminação.

Se esse parâmetro for NULL, contiver zero ou ServiceName for NULL, esse parâmetro e ServiceName serão ignorados.

Para obter o número de caracteres necessários para a cadeia de caracteres ServiceName, incluindo o terminador nulo, chame essa função com um SPN válido, um ServiceName não NULL e esse parâmetro definido como 1.

[out, optional] ServiceName

Ponteiro para um buffer TCHAR que recebe uma cadeia de caracteres terminada em nulo que contém o <componente de nome> de serviço do SPN. Esse buffer deve ter pelo menos *pcServiceName TCHARs em tamanho. Se o componente de nome> de <serviço não estiver presente no SPN, esse buffer receberá o componente de nome> da <instância. Esse parâmetro poderá ser NULL se o nome do serviço não for necessário.

[in, out, optional] pcInstanceName

Ponteiro para um valor DWORD que, na entrada, contém o tamanho, em TCHARs, do buffer InstanceName , incluindo o caractere nulo de terminação. Na saída, esse parâmetro contém o número de TCHARs na cadeia de caracteres InstanceName , incluindo o caractere nulo de terminação.

Se esse parâmetro for NULL, contiver zero ou InstanceName for NULL, esse parâmetro e InstanceName serão ignorados.

Para obter o número de caracteres necessários para a cadeia de caracteres InstanceName, incluindo o terminador nulo, chame essa função com um SPN válido, um InstanceName não NULL e esse parâmetro definido como 1.

[out, optional] InstanceName

Ponteiro para um buffer TCHAR que recebe uma cadeia de caracteres terminada em nulo que contém o <componente de nome> da instância do SPN. Esse buffer deve ter pelo menos *pcInstanceName TCHARs em tamanho. Esse parâmetro poderá ser NULL se o nome da instância não for necessário.

[out, optional] pInstancePort

Ponteiro para um valor DWORD que recebe o valor inteiro do componente número> da <porta do SPN. Se o SPN não contiver um <componente de número> de porta, esse parâmetro receberá zero. Esse parâmetro poderá ser NULL se o número da porta não for necessário.

Retornar valor

Retorna um código de erro Win32, incluindo o seguinte.

Comentários

Observação

O cabeçalho dsparse.h define DsCrackSpn como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho dsparse.h (inclua Ntdsapi.h)
Biblioteca Ntdsapi.lib
DLL Ntdsapi.dll

Confira também

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