| Предыдущий | Следующий |
| STATUS_NO_GUID_TRANSLATION | STATUS_IMAGE_ALREADY_LOADED |
STATUS_CANNOT_IMPERSONATE
Сервер пока не может олицетворить клиента именованного канала
Эти статусы относятся к механизму именованных каналов Windows. Для STATUS_CANNOT_IMPERSONATE: именованный канал может иметь несколько экземпляров с одним именем, но каждый экземпляр обладает собственным состоянием, буфером, дескрипторами, типом, режимом чтения и режимом ожидания.
Олицетворение через именованный канал использует контекст безопасности последнего сообщения, прочитанного от клиента. Если сервер ещё не прочитал сообщение клиента из этого канала, у файловой системы канала нет контекста маркера клиента, который можно было бы применить.
Для диагностики STATUS_CANNOT_IMPERSONATE запишите имя канала, сторону сервера или клиента, число экземпляров, блокирующий или неблокирующий режим, байтовый режим или режим сообщений, состояние перекрывающейся операции, а также находится ли дескриптор в состоянии подключения, прослушивания, закрытия или отключения.
Что проверить
- Прочитайте запрос клиента до вызова ImpersonateNamedPipeClient.
- Убедитесь, что дескриптор относится к серверной стороне канала.
- Если после чтения олицетворение по-прежнему завершается ошибкой, проверьте уровень олицетворения клиента.
Справочные материалы по STATUS_CANNOT_IMPERSONATE
- Открытые спецификации Microsoft: значения NTSTATUS
- Microsoft: ImpersonateNamedPipeClient
- Microsoft: именованные каналы
Нужно найти другой код? Найти другой код состояния или ошибки.