Функция SecMakeSPNEx (ntifs.h)

SecMakeSPNEx создает строку имени поставщика услуг, которую можно использовать при взаимодействии с определенными поставщиками служб безопасности.

Синтаксис

KSECDDDECLSPEC NTSTATUS SecMakeSPNEx(
  [in]            IN PUNICODE_STRING     ServiceClass,
  [in]            IN PUNICODE_STRING     ServiceName,
  [in]            IN PUNICODE_STRING     InstanceName,
  [in, optional]  IN USHORT              InstancePort,
  [in, optional]  IN PUNICODE_STRING     Referrer,
  [in, optional]  IN PUNICODE_STRING     TargetInfo,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             Length,
  [in]            IN BOOLEAN             Allocate
);

Параметры

[in] ServiceClass

Указатель на строку Юникода, указывающую класс службы для поставщика службы безопасности.

[in] ServiceName

Указатель на строку Юникода, указывающую имя службы для поставщика служб безопасности.

[in] InstanceName

Указатель на необязательную строку Юникода, указывающую имя экземпляра для подключения к поставщику службы безопасности.

[in, optional] InstancePort

Номер порта для экземпляра службы. Используйте 0 для порта по умолчанию. Если этот параметр равен нулю, имя субъекта-службы не содержит номер порта.

[in, optional] Referrer

Указатель на константную строку, завершающуюся null, которая указывает DNS-имя узла, который дал ссылку на IP-адрес. Этот параметр игнорируется, если только параметр ServiceName не указывает IP-адрес.

[in, optional] TargetInfo

Указатель на строку, завершающуюся значением NULL, которая указывает целевой объект контекста.

[in, out] Spn

Указатель на строку Юникода для хранения строки имени поставщика службы безопасности, созданной этой функцией.

[out, optional] Length

Указатель на ULONG, получающий фактическую длину созданного имени субъекта-службы, включая завершающий символ NULL.

[in] Allocate

Логическая переменная, указывающая, должна ли эта функция выделять память для хранения строки Юникода spn . Если этот параметр имеет значение true, память для spn будет выделена из страничного пула.

Возвращаемое значение

SecMakeSPNEx возвращает STATUS_SUCCESS при успешном выполнении или один из следующих кодов ошибок при сбое.

Код возврата Описание
STATUS_BUFFER_OVERFLOW Для параметра Allocate задано значение false, и произошло одно из следующих условий: (1) Параметр Spn был указателем NULL. (2) Максимальная длина строкового параметра Spn Юникода была слишком мала.
STATUS_INVALID_PARAMETER Общая длина параметра Spn превышает 65535 байт.
STATUS_NO_MEMORY Параметру Allocate присвоено значение true, но запрос на выделение памяти завершился сбоем.

Комментарии

SecMakeSPNEx — это расширенная версия SecMakeSPN.

Требования

Требование Значение
Минимальная версия клиента Эта функция используется только в Windows XP
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h, FltKernel.h)
Библиотека Ksecdd.lib
IRQL <= APC_LEVEL

См. также раздел

SecMakeSPN

SecMakeSPNEx2