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


Функция NtCompareTokens

Функция NtCompareTokens сравнивает два маркера доступа и определяет, эквивалентны ли они вызову функции AccessCheck .

Синтаксис

NTSTATUS NTAPI NtCompareTokens(
  _In_  HANDLE   FirstTokenHandle,
  _In_  HANDLE   SecondTokenHandle,
  _Out_ PBOOLEAN Equal
);

Параметры

FirstTokenHandle [in]

Дескриптор первого маркера доступа для сравнения. Маркер должен быть открыт для TOKEN_QUERY доступа.

SecondTokenHandle [in]

Дескриптор второго маркера доступа для сравнения. Маркер должен быть открыт для TOKEN_QUERY доступа.

Равно [out]

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

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

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

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

Remarks

Два маркера управления доступом считаются эквивалентными, если выполняются все следующие условия:

  • Каждый идентификатор безопасности (SID), который присутствует в любом маркере, также присутствует в другом маркере.
  • Ни то, ни другое из маркеров не ограничены.
  • Если оба маркера ограничены, каждый идентификатор безопасности, ограниченный одним маркером, также ограничен другим маркером.
  • Все привилегии, присутствующие в любом маркере, также присутствуют в другом маркере.

Эта функция не связана с библиотекой импорта или файлом заголовка; Его необходимо вызвать с помощью функций LoadLibrary и GetProcAddress .

Требования

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