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 a classe de serviço <> e o nome da instância <> componentes devem estar presentes e o número da porta <> e o nome do serviço <> componentes são opcionais. O <número da porta> componente 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 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, umService Class nãoe esse parâmetro definido como 1.

[out, optional] ServiceClass

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

[in, out, optional] pcInstanceName

Ponteiro para um DWORD valor 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, umNULL InstanceName e esse parâmetro definido como 1.

[out, optional] InstanceName

Ponteiro para um buffer de TCHAR que recebe uma cadeia de caracteres terminada em nulo que contém o nome da instância <> componente do SPN. Esse buffer deve ser 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 DWORD valor que recebe o valor inteiro do número da porta <> componente do SPN. Se o SPN não contiver um número de porta <> componente, esse parâmetro receberá zero. Esse parâmetro poderá ser NULL se o número da porta não for necessário.

Valor de retorno

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

Observações

Nota

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 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 dsparse.h (inclua Ntdsapi.h)
biblioteca Ntdsapi.lib
de DLL Ntdsapi.dll

Consulte também

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