Функция обратного вызова SpAcquireCredentialsHandleFn (ntsecpkg.h)
Вызывается для получения дескриптора учетных данных субъекта. Пакет безопасности может запретить доступ к вызывающей объекту, если вызывающий объект не имеет разрешения на доступ к учетным данным.
Если дескриптор учетных данных возвращается вызывающей объекту, пакет также должен указать время истечения срока действия дескриптора.
Синтаксис
SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;
NTSTATUS Spacquirecredentialshandlefn(
[in] PUNICODE_STRING PrincipalName,
[in] ULONG CredentialUseFlags,
[in] PLUID LogonId,
[in] PVOID AuthorizationData,
PVOID GetKeyFunciton,
[in] PVOID GetKeyArgument,
[out] PLSA_SEC_HANDLE CredentialHandle,
[out] PTimeStamp ExpirationTime
)
{...}
Параметры
[in] PrincipalName
Необязательный параметр. Указатель на структуру UNICODE_STRING , содержащую имя субъекта безопасности , учетные данные которого запрашиваются. Если это значение равно NULL, вызывающий объект запрашивает дескриптор учетных данных пользователя, в контексте безопасности которого выполняется вызывающий объект.
[in] CredentialUseFlags
Флаги, указывающие, как будут использоваться учетные данные. Допустимы следующие значения.
Значение | Значение |
---|---|
|
Учетные данные будут использоваться с функцией AcceptSecurityContext (General). |
|
Учетные данные будут использоваться с функцией InitializeSecurityContext (General). |
[in] LogonId
Необязательный элемент. Указатель на LUID , содержащий идентификатор входа субъекта безопасности.
[in] AuthorizationData
Необязательный элемент. Указатель на дополнительные данные проверки подлинности.
GetKeyFunciton
[in] GetKeyArgument
Указатель на аргумент, используемый с функцией GetKeyFunction .
[out] CredentialHandle
Указатель на LSA_SEC_HANDLE , получающую учетные данные. Завершив использование учетных данных, освободите дескриптор, вызвав функцию SpFreeCredentialsHandle .
[out] ExpirationTime
Указатель на метку времени , которая получает время истечения срока действия дескриптора учетных данных.
Возвращаемое значение
Если функция выполнена успешно, верните STATUS_SUCCESS.
Если функция завершается сбоем, верните код NTSTATUS , указывающий причину сбоя. В следующей таблице перечислены распространенные причины сбоя и коды ошибок, которые должны быть возвращены.
Код возврата | Описание |
---|---|
|
Вызывающему объекту отказано в доступе. |
|
Для указанного субъекта нет доступных учетных данных. |
Комментарии
Пакет может использовать функции поддержки локального центра безопасности (LSA), чтобы определить, следует ли предоставить вызывающему объекту доступ к запрошенным учетным данным.
Учетные данные, полученные из SpAcquireCredentialsHandle , освобождаются путем вызова функции SpFreeCredentialsHandle .
SSP/APs должны реализовывать функцию SpAcquireCredentialsHandle ; однако фактическое имя, присваиваемого реализации, задается разработчиком.
Указатель на функцию SpAcquireCredentialsHandle доступен в структуре SECPKG_FUNCTION_TABLE , полученной от функции SpLsaModeInitialize .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | ntsecpkg.h |