Função SecMakeSPNEx2 (ntifs.h)

SecMakeSPNEx2 cria uma cadeia de caracteres de nome do provedor de serviços que pode ser usada quando se comunica com provedores de serviços de segurança específicos.

Sintaxe

KSECDDDECLSPEC NTSTATUS SecMakeSPNEx2(
  [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, optional]  IN PUNICODE_STRING     InTargetInfo,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             TotalSize,
  [in]            IN BOOLEAN             Allocate,
  [in]            IN BOOLEAN             IsTargetInfoMarshaled
);

Parâmetros

[in] ServiceClass

Um ponteiro para uma cadeia de caracteres Unicode que especifica a classe de serviço para o provedor de serviços de segurança.

[in] ServiceName

Um ponteiro para uma cadeia de caracteres Unicode que especifica 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 que é usado para se conectar ao 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, optional] InTargetInfo

Um ponteiro para uma cadeia de caracteres terminada em nulo que indica o destino do contexto.

[in, out] Spn

Um ponteiro para uma cadeia de caracteres Unicode que recebe a cadeia de caracteres de nome do provedor de serviços de segurança criada por essa função.

[out, optional] TotalSize

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 usada 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.

[in] IsTargetInfoMarshaled

Uma variável booliana que indica que o chamador forneceu uma estrutura InTargetInfo marshaled. Se IsTargetInfoMarshaled for TRUE, InTargetInfo-Buffer> apontará para uma representação de cadeia de caracteres da estrutura CREDENTIAL_TARGET_INFORMATION conforme retornado pela função CredMarshalTargetInfo.

Retornar valor

SecMakeSPNEx2 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.

Comentários

SecMakeSPNEx2 é uma versão aprimorada do SecMakeSPNEx.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Universal
Cabeçalho ntifs.h (include Ntifs.h, FltKernel.h)
Biblioteca Ksecdd.lib
IRQL <= APC_LEVEL

Confira também

SecMakeSPN

SecMakeSPNEx