Поделиться через


Функция 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 Параметр "Выделить" был задан как false, и произошло одно из следующих условий: (1) Параметр spn был указателем NULL. (2) Максимальная длина параметра строки Spn Юникода слишком мала.
STATUS_INVALID_PARAMETER Общая длина параметра spn превышает 65535 байт.
STATUS_NO_MEMORY Параметр "Выделить" был задан как true, но не удалось выполнить запрос на выделение памяти.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h, FltKernel.h)
библиотеки Ksecdd.lib
IRQL <= APC_LEVEL

См. также

SecMakeSPNEx

SecMakeSPNEx2