Функция SaslInitializeSecurityContextA (sspi.h)
Функция
Синтаксис
SECURITY_STATUS SEC_ENTRY SaslInitializeSecurityContextA(
[in] PCredHandle phCredential,
[in] PCtxtHandle phContext,
[in] LPSTR pszTargetName,
[in] unsigned long fContextReq,
[in] unsigned long Reserved1,
[in] unsigned long TargetDataRep,
[in] PSecBufferDesc pInput,
[in] unsigned long Reserved2,
[out] PCtxtHandle phNewContext,
[in, out] PSecBufferDesc pOutput,
[out] unsigned long *pfContextAttr,
[out, optional] PTimeStamp ptsExpiry
);
Параметры
[in] phCredential
Дескриптор учетных данных возвращенный
[in] phContext
Указатель на структуру ctxtHandle
[in] pszTargetName
Указатель на строку Юникода или ANSI, указывающую целевой объект контекста.
[in] fContextReq
Битовые флаги, указывающие требования контекста. Флаги, используемые для этого параметра, префиксируются ISC_REQ_; например, ISC_REQ_DELEGATE. Укажите сочетания следующих флагов атрибутов.
Дополнительные описания различных атрибутов см. в требованиях к контексту.
[in] Reserved1
Зарезервированное значение; должно быть равно нулю.
[in] TargetDataRep
Указывает представление данных, например упорядочение байтов в целевом объекте. Может быть либо SECURITY_NATIVE_DREP, либо SECURITY_NETWORK_DREP.
[in] pInput
Указатель на структуру SecBufferDesc, содержащую указатели на буферы, предоставленные в качестве входных данных для пакета. Указатель должен быть null при первом вызове функции. При последующих вызовах функции указатель на буфер, выделенный достаточной памятью для хранения маркера, возвращаемого удаленным одноранговым узлом.
SASL требует одного буфера типа SECBUFFER_TOKEN, который содержит задачу, полученную от сервера.
[in] Reserved2
Зарезервированное значение; должно быть равно нулю.
[out] phNewContext
Указатель на структуру ctxtHandle
[in, out] pOutput
Указатель на структуру SecBufferDesc, содержащую указатели на структуру SecBuffer, которая получает выходные данные. Если буфер был введен как SEC_READWRITE во входных данных, он будет находиться в выходных данных. Система выделяет буфер для маркера безопасности при запросе (через ISC_REQ_ALLOCATE_MEMORY) и заполняет адрес дескриптором буфера для маркера безопасности.
[out] pfContextAttr
Указатель на переменную для получения набора битовых флагов, указывающих атрибуты установленного контекста . Описание различных атрибутов см. в разделе требования к контексту.
Флаги, используемые для этого параметра, префиксируются ISC_RET_, например ISC_RET_DELEGATE.
Список допустимых значений см. в параметре fContextReq.
Не проверяйте наличие атрибутов, связанных с безопасностью, пока окончательный вызов функции не будет успешно возвращен. Флаги атрибутов, не связанные с безопасностью, например флагом ASC_RET_ALLOCATED_MEMORY, можно проверить перед окончательным возвратом.
[out, optional] ptsExpiry
Указатель на структуру TimeStamp, которая получает время истечения срока действия контекста. Рекомендуется, чтобы пакет безопасности всегда возвращать это значение в локальное время. Этот параметр является необязательным и NULL должен передаваться для краткосрочных клиентов.
Возвращаемое значение
Если вызов выполнен успешно, эта функция возвращает SEC_E_OK. В следующей таблице показаны некоторые возможные значения возвращаемых ошибок.
Возвращаемый код | Описание |
---|---|
|
Обработка Authz не разрешена. |
|
Недостаточно памяти для завершения запроса. |
|
Буфер маркера не находится в параметре pOutput или сообщение не расшифровывается. |
Замечания
Заметка
Заголовок sspi.h определяет SaslInitializeSecurityContext как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, который не является кодировкой нейтральным, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Не поддерживается |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | sspi.h (include Security.h) |
библиотеки |
Secur32.lib |
DLL | Secur32.dll |