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