Поделиться через


функция обратного вызова LSA_CREATE_TOKEN (ntsecpkg.h)

Функция CreateToken используется поставщиком общих служб или поставщиком услуг доступа для создания маркеров при обработке вызовов SpAcceptLsaModeContext.

Синтаксис

LSA_CREATE_TOKEN LsaCreateToken;

NTSTATUS LsaCreateToken(
  [in]  PLUID LogonId,
  [in]  PTOKEN_SOURCE TokenSource,
  [in]  SECURITY_LOGON_TYPE LogonType,
  [in]  SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
  [in]  LSA_TOKEN_INFORMATION_TYPE TokenInformationType,
  [in]  PVOID TokenInformation,
  [in]  PTOKEN_GROUPS TokenGroups,
  [in]  PUNICODE_STRING AccountName,
  [in]  PUNICODE_STRING AuthorityName,
  [in]  PUNICODE_STRING Workstation,
  [in]  PUNICODE_STRING ProfilePath,
  [out] PHANDLE Token,
  [out] PNTSTATUS SubStatus
)
{...}

Параметры

[in] LogonId

Указатель на идентификатор сеанса входа для нового маркера. Этот идентификатор получен из предыдущего вызова CreateLogonSession.

[in] TokenSource

Указатель на структуру TOKEN_SOURCE , указывающую источник для этого маркера. Укажите имя пакета.

[in] LogonType

Значение SECURITY_LOGON_TYPE , указывающее тип входа.

[in] ImpersonationLevel

Значение SECURITY_IMPERSONATION_LEVEL , указывающее, в какой степени серверный процесс может олицетворять клиентский процесс.

[in] TokenInformationType

Указывает тип структуры в параметре TokenInformation .

Значение Значение
LsaTokenInformationNull

LSA_TOKEN_INFORMATION_NULL

LsaTokenInformationV1

LSA_TOKEN_INFORMATION_V1

[in] TokenInformation

Указатель на сведения о маркере. Тип структуры, на которую указывает TokenInformation , обозначается параметром TokenInformationType .

Если структура, на которую указывает этот параметр, является LSA_TOKEN_INFORMATION_V1 структурой, вызывающий объект должен выделить память для элемента Groups этой структуры, вызвав функцию AllocatePrivateHeap .

[in] TokenGroups

Указатель на структуру TOKEN_GROUPS , которая указывает группы, не содержащиеся в TokenInformation.

[in] AccountName

Указатель на структуру UNICODE_STRING , содержащую имя субъекта безопасности. Эти сведения используются для аудита и поиска имен.

[in] AuthorityName

Указатель на UNICODE_STRING структуру, содержащую имя центра, проверяющего учетные данные для входа, обычно это доменное имя Windows.

[in] Workstation

Указатель на структуру UNICODE_STRING , которая содержит имя рабочей станции клиента, обычно это NetBIOS-имя.

[in] ProfilePath

Указатель на структуру UNICODE_STRING , содержащую путь к профилю пользователя, если таковой имеется.

[out] Token

Указатель, получающий адрес дескриптора для нового маркера. Завершив использование дескриптора, закройте его, вызвав функцию CloseHandle .

[out] SubStatus

Указатель на переменную, которая получает сведения об ошибке.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет STATUS_SUCCESS.

Если функция завершается сбоем, возвращаемым значением является код NTSTATUS, указывающий причину сбоя.

Комментарии

Указатель на функцию CreateToken доступен в структуре LSA_SECPKG_FUNCTION_TABLE , полученной функцией SpInitialize .

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecpkg.h

См. также раздел

LSA_SECPKG_FUNCTION_TABLE

SpAcceptLsaModeContext

SpInitialize