Функция SaferComputeTokenFromLevel (winsafer.h)
Функция SaferComputeTokenFromLevel ограничивает маркер с помощью ограничений, заданных SAFER_LEVEL_HANDLE.
Синтаксис
BOOL SaferComputeTokenFromLevel(
[in] SAFER_LEVEL_HANDLE LevelHandle,
[in, optional] HANDLE InAccessToken,
[out] PHANDLE OutAccessToken,
[in] DWORD dwFlags,
[in, out, optional] LPVOID lpReserved
);
Параметры
[in] LevelHandle
SAFER_LEVEL_HANDLE , содержащий ограничения для входного маркера. Не передайте в эту функцию дескрипторы с идентификатором LevelId SAFER_LEVELID_FULLYTRUSTED или SAFER_LEVELID_DISALLOWED . Это связано с тем, что SAFER_LEVELID_FULLYTRUSTED не ограничено, а SAFER_LEVELID_DISALLOWED не содержит маркера.
[in, optional] InAccessToken
Маркер для ограничения. Если этот параметр имеет значение NULL, будет использоваться токен текущего потока. Если текущий поток не содержит маркера, используется маркер текущего процесса.
[out] OutAccessToken
Полученный ограниченный маркер.
[in] dwFlags
Указывает поведение метода . Значением может быть NULL или одно или несколько следующих значений, объединенных с помощью побитовой операции ИЛИ .
Значение | Значение |
---|---|
|
Если параметр OutAccessToken не является более строгим, чем параметр InAccessToken , параметр OutAccessToken возвращает значение NULL. |
|
Маркер, заданный параметром InAccessToken , сравнивается с маркером, который будет создан при применении ограничений, заданных параметром LevelHandle . Ограниченный маркер фактически не создан.
В выходных данных значение параметра lpReserved указывает результат сравнения. |
|
Если этот флаг установлен, система не проверка правила AppLocker и не применяет политики ограниченного использования программного обеспечения. Для AppLocker этот флаг отключает проверки всех четырех коллекций правил: исполняемого файла, установщика Windows, скрипта и библиотеки DLL.
Установите этот флаг при создании программы установки, которая должна запускать извлеченные библиотеки DLL во время установки. Маркер можно запросить наличие этого флага с помощью GetTokenInformation. Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: AppLocker не поддерживается. |
|
В выходных данных значение параметра lpReserved указывает набор флагов, используемых для создания ограниченного маркера. |
[in, out, optional] lpReserved
Если установлен флаг SAFER_TOKEN_COMPARE_ONLY , этот параметр в выходных данных указывает результат сравнения маркеров. Выходное значение — LPDWORD. Значение –1 указывает, что полученный маркер будет менее привилегированным, чем маркер, заданный параметром InAccessToken .
Если флаг SAFER_TOKEN_WANT_FLAGS установлен, а флаг SAFER_TOKEN_COMPARE_ONLY не задан, этот параметр представляет собой значение LPDWORD , указывающее флаги, используемые для создания ограниченного маркера.
Возвращаемое значение
Значение TRUE , если функция выполнена успешно; в противном случае — FALSE. Для получения дополнительных сведений вызовите Метод GetLastError.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winsafer.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
Набор API | ext-ms-win-advapi32-safer-l1-1-0 (представлено в Windows 8) |