Что означает код ошибки Windows 1008 (ERROR_NO_TOKEN)?

 
Предыдущий Следующий
ERROR_FULLSCREEN_MODE ERROR_BADDB

ERROR_NO_TOKEN

ERROR_NO_TOKEN (1008, 0x000003F0) обычно означает, что код ожидал токен олицетворения у потока, но поток сейчас не олицетворяет ни одного клиента. Это не означает, что у процесса отсутствует основной токен доступа.

Основной токен и токен олицетворения — разные сущности

У каждого процесса Windows есть основной токен, описывающий его обычный контекст безопасности. Поток дополнительно может получить токен олицетворения, когда действует от имени клиента. Такие API, как OpenThreadToken , работают с этим необязательным токеном потока; они не могут вернуть его, если олицетворение не было установлено или уже завершилось.

Как диагностировать

  • Проверьте, должен ли вызов использовать удостоверение клиента либо удостоверение службы или процесса.
  • Убедитесь, что вызов выполняется внутри нужной области олицетворения и в том же потоке, который получил токен клиента.
  • Если операция намеренно выполняется от имени процесса, откройте токен процесса, а не считайте отсутствие токена потока неожиданной ошибкой.
  • Если для операции нужен токен клиента, сохраняйте его на протяжении требуемого времени и явно установите олицетворение перед вызовом.

См. документацию Microsoft по маркерах доступа и OpenThreadToken.


Нужно найти другой код? Найти другой код состояния или ошибки.