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 |