Site icon EfmSoft

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

 
Предыдущий Следующий
ERROR_INVALID_LOGON_TYPE ERROR_RXACT_INVALID_STATE

ERROR_CANNOT_IMPERSONATE

Сервер канала ещё не прочитал сообщение клиента, чей контекст безопасности требуется олицетворить

ImpersonateNamedPipeClient переводит серверный поток в контекст безопасности клиента, связанного с последним прочитанным из канала сообщением. Поэтому API требует, чтобы сервер сначала прочитал данные клиента. Ошибка указывает на нарушение порядка в протоколе именованного канала, а не просто на отсутствие SeImpersonatePrivilege.

Отслеживайте подключение, чтение, олицетворение, обработку запроса и RevertToSelf в одном серверном потоке. При перекрывающемся вводе-выводе убедитесь, что чтение действительно завершилось до вызова олицетворения. Всегда проверяйте возвращаемое значение: Microsoft предупреждает, что при неудачном олицетворении поток остаётся в прежнем контексте процесса, который может быть привилегированнее клиента. Не продолжайте обработку клиентского запроса после отказа. Если проблема в уровне олицетворения или привилегии, фиксируйте её отдельно после исправления порядка чтения сообщения.

Что проверить

Ссылки


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

Exit mobile version