Partilhar via


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 inclui 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 forneceu uma referência 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 encerramento.

[in] Allocate

Uma variável booliana que indica se a memória usada para armazenar o Spn cadeia de caracteres Unicode deve ser alocada por essa função. Se esse parâmetro for TRUE, a memória para Spn será alocada do pool de páginas.

[in] IsTargetInfoMarshaled

Uma variável booliana que indica que o chamador forneceu uma estrutura de 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 .

Valor de retorno

SecMakeSPNEx2 retorna STATUS_SUCCESS com êxito ou um dos seguintes códigos de erro sobre 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 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.

Observações

SecMakeSPNEx2 é uma versão aprimorada do SecMakeSPNEx.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
servidor com suporte mínimo Windows Server 2008
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h, FltKernel.h)
biblioteca Ksecdd.lib
IRQL <= APC_LEVEL

Consulte também

SecMakeSPN

SecMakeSPNEx