Функция обратного вызова SpQueryMetaDataFn (ntsecpkg.h)
Получает метаданные от поставщика поддержки безопасности (SSP), когда он инициирует контекст безопасности.
Синтаксис
SpQueryMetaDataFn Spquerymetadatafn;
NTSTATUS Spquerymetadatafn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in, optional] PUNICODE_STRING TargetName,
[in] ULONG ContextRequirements,
[out] PULONG MetaDataLength,
[out] PUCHAR *MetaData,
[in, out] PLSA_SEC_HANDLE ContextHandle
)
{...}
Параметры
[in] CredentialHandle
Дескриптор учетных данных, используемых для контекста безопасности. Если параметр ContextHandle указывает на значение NULL для входных данных, эта функция использует значение этого параметра для создания контекста безопасности.
Значение этого параметра не может иметь значение NULL, если параметр ContextHandle указывает на ЗНАЧЕНИЕ NULL на входных данных.
[in, optional] TargetName
Указатель на UNICODE_STRING , содержащий имя целевого объекта контекста.
[in] ContextRequirements
Флаги, указывающие атрибуты контекста, необходимые клиенту.
Допустимы следующие значения. Значения можно объединить с помощью логической операции ИЛИ .
Значение | Значение |
---|---|
|
Серверу разрешено олицетворить клиента. |
|
И клиент, и сервер должны подтвердить свою личность. |
|
Контекст безопасности будет поддерживать обнаружение воспроизводимых пакетов. |
|
Контекст безопасности будет поддерживать обнаружение неупорядоченных сообщений. |
|
Необходимо согласовать новый ключ сеанса . |
|
Если клиент является интерактивным пользователем, пакет должен, по возможности, запрашивать у пользователя соответствующие учетные данные. |
|
Входной буфер содержит учетные данные для конкретного пакета, которые следует использовать для проверки подлинности подключения. |
|
Пакет должен выделить память. В конечном итоге вызывающий объект должен вызвать функцию FreeContextBuffer , чтобы освободить память, выделенную пакетом. |
|
Вызывающий объект ожидает трехуровневую транзакцию взаимной проверки подлинности. |
|
Следует использовать канал связи типа datagram. Дополнительные сведения см. в разделе Контексты datagram. |
|
Следует использовать канал связи типа подключения. Дополнительные сведения см. в разделе Контексты, ориентированные на подключение. |
|
Если контекст завершается сбоем, создайте ответное сообщение об ошибке для отправки обратно клиенту. |
|
Следует использовать канал связи типа потока. Дополнительные сведения см. в разделе контексты Stream. |
|
Проверяется целостность буфера; однако повторно воспроизводимые и вне последовательности сообщения не будут обнаружены. |
[out] MetaDataLength
Размер буфера метаданных (в символах).
[out] MetaData
Метаданные, которые предоставляет поставщик общих служб.
[in, out] ContextHandle
Дескриптор для используемого дескриптора безопасности. Если этот параметр указывает на значение NULL для входных данных, эта функция выделяет и инициализирует контекст безопасности с помощью значений параметров CredentialHandle и TargetName .
Если этот параметр указывает на ЗНАЧЕНИЕ NULL для входных данных, credentialHandle не может иметь значение NULL.
Возвращаемое значение
Если функция выполнена успешно, верните STATUS_SUCCESS или информационный код состояния.
Если функция завершается сбоем, верните код ошибки NTSTATUS , указывающий причину сбоя. Дополнительные сведения см. в подразделе "Примечания".
Комментарии
Указатель на функцию SpQueryMetaDataFn доступен в структуре SECPKG_FUNCTION_TABLE , полученной от функции SpLsaModeInitialize .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | ntsecpkg.h |