Функция SecMakeSPNEx2 (ntifs.h)
SecMakeSPNEx2 создает строку имени поставщика услуг, которую можно использовать при обмене данными с определенными поставщиками служб безопасности.
Синтаксис
KSECDDDECLSPEC NTSTATUS SecMakeSPNEx2(
[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, optional] IN PUNICODE_STRING InTargetInfo,
[in, out] IN OUT PUNICODE_STRING Spn,
[out, optional] OUT PULONG TotalSize,
[in] IN BOOLEAN Allocate,
[in] IN BOOLEAN IsTargetInfoMarshaled
);
Параметры
[in] ServiceClass
Указатель на строку Юникода, указывающую класс службы для поставщика служб безопасности.
[in] ServiceName
Указатель на строку Юникода, указывающую имя службы для поставщика служб безопасности.
[in, optional] InstanceName
Указатель на необязательную строку Юникода, указывающую имя экземпляра, используемое для подключения к поставщику служб безопасности.
[in, optional] InstancePort
Номер порта для экземпляра службы. Используйте 0 для порта по умолчанию. Если этот параметр равен нулю, имя субъекта-службы не включает номер порта.
[in, optional] Referrer
Указатель на строку с константой, завершаемой значением NULL, которая указывает DNS-имя узла, который дал ссылку на IP-адрес. Этот параметр игнорируется, если параметр ServiceName указывает IP-адрес.
[in, optional] InTargetInfo
Указатель на строку, завершающуюся значением NULL, которая указывает целевой объект контекста.
[in, out] Spn
Указатель на строку Юникода, которая получает строку имени поставщика служб безопасности, созданную этой функцией.
[out, optional] TotalSize
Указатель на ULONG, получающий фактическую длину созданного имени субъекта-службы, включая завершающий символ NULL.
[in] Allocate
Логическая переменная, указывающая, следует ли выделить эту функцию память, используемую для хранения строки Spn Юникода. Если этот параметр имеет значение TRUE, память для spn будет выделена из пула страниц.
[in] IsTargetInfoMarshaled
Логическое значение переменной, указывающее, что вызывающий объект предоставил маршалированную структуру InTargetInfo. Если IsTargetInfoMarshaled имеет значение TRUE, InTargetInfo—>Буфер указывает на строковое представление структуры CREDENTIAL_TARGET_INFORMATION, возвращаемой функцией CredMarshalTargetInfo.
Возвращаемое значение
SecMakeSPNEx2 возвращает STATUS_SUCCESS при успешном выполнении или одном из следующих кодов ошибок при сбое.
Возвращаемый код | Описание |
---|---|
STATUS_BUFFER_OVERFLOW | Параметр "Выделить" был задан как false, и произошло одно из следующих условий: (1) Параметр spn был указателем NULL. (2) Максимальная длина параметра строки Spn Юникода слишком мала. |
STATUS_INVALID_PARAMETER | Общая длина параметра spn превышает 65535 байт. |
STATUS_NO_MEMORY | Параметр "Выделить" был задан как true, но не удалось выполнить запрос на выделение памяти. |
Замечания
SecMakeSPNEx2 — расширенная версия SecMakeSPNEx.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
минимальный поддерживаемый сервер | Windows Server 2008 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h, FltKernel.h) |
библиотеки |
Ksecdd.lib |
IRQL | <= APC_LEVEL |