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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de