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

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

Синтаксис

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
);

Параметры

[in] ServiceClass

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

[in] ServiceName

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

[in, optional] InstanceName

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

[in, optional] InstancePort

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

[in, optional] Referrer

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

[in, out] Spn

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

[out, optional] Length

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

[in] Allocate

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

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

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

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

Требования

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

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

SecMakeSPNEx

SecMakeSPNEx2