Функция 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 |