Função SecMakeSPN (ntifs.h)
O SecMakeSPN cria uma cadeia de caracteres de nome do provedor de serviços que pode ser usada ao se comunicar com provedores de serviços de segurança específicos.
Sintaxe
KSECDDDECLSPEC NTSTATUS SecMakeSPN(
[in] IN PUNICODE_STRING ServiceClass,
[in] IN PUNICODE_STRING ServiceName,
[in, optional] IN PUNICODE_STRING InstanceName,
[in, optional] IN USHORT InstancePort,
[in, optional] IN PUNICODE_STRING Referrer,
[in, out] IN OUT PUNICODE_STRING Spn,
[out, optional] OUT PULONG Length,
[in] IN BOOLEAN Allocate
);
Parâmetros
[in] ServiceClass
Um ponteiro para uma cadeia de caracteres Unicode especificando a classe de serviço para o provedor de serviços de segurança.
[in] ServiceName
Um ponteiro para uma cadeia de caracteres Unicode especificando o nome do serviço para o provedor de serviços de segurança.
[in, optional] InstanceName
Um ponteiro para uma cadeia de caracteres Unicode opcional que especifica o nome da instância para conexão com o provedor de serviços de segurança.
[in, optional] InstancePort
Número da porta para uma instância do serviço. Use 0 para a porta padrão. Se esse parâmetro for zero, o SPN não incluirá um número de porta.
[in, optional] Referrer
Ponteiro para uma cadeia de caracteres terminada em nulo constante que especifica o nome DNS do host que deu uma indicação de endereço IP. Esse parâmetro é ignorado, a menos que o parâmetro ServiceName especifique um endereço IP.
[in, out] Spn
Um ponteiro para uma cadeia de caracteres Unicode para armazenar a cadeia de caracteres de nome do provedor de serviços de segurança criada por essa função.
[out, optional] Length
Ponteiro para um ULONG que recebe o comprimento real do SPN criado, incluindo o caractere nulo de terminação.
[in] Allocate
Uma variável booliana que indica se a memória para armazenar a cadeia de caracteres Unicode do Spn deve ser alocada por essa função. Se esse parâmetro for true, a memória para Spn será alocada do pool paginado.
Retornar valor
SecMakeSPN retorna STATUS_SUCCESS com êxito ou um dos seguintes códigos de erro em caso de falha.
Código de retorno | Descrição |
---|---|
STATUS_BUFFER_OVERFLOW | O parâmetro Allocate foi definido como false e uma das seguintes condições ocorreu: (1) O parâmetro Spn era um ponteiro NULL. (2) O comprimento máximo para o parâmetro de cadeia de caracteres Unicode do Spn era muito pequeno. |
STATUS_INVALID_PARAMETER | Um comprimento total do parâmetro Spn excede 65535 bytes. |
STATUS_NO_MEMORY | O parâmetro Allocate foi definido como true, mas a solicitação de alocação de memória falhou. |
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (include Ntifs.h, FltKernel.h) |
Biblioteca | Ksecdd.lib |
IRQL | <= APC_LEVEL |