| Предыдущий | Следующий |
| RPC_NT_NOT_CANCELLED | RPC_NT_INVALID_ASYNC_CALL |
RPC_NT_INVALID_ASYNC_HANDLE
Недопустимый асинхронный дескриптор RPC
RPC_NT_INVALID_ASYNC_HANDLE относится к среде выполнения Windows RPC в семействе NTSTATUS. Для RPC_NT_INVALID_ASYNC_HANDLE протокол MS-RPCE расширяет модель DCE/RPC: созданные stubs упаковывают параметры, runtime привязывается к конечной точке и последовательности протокола, а ошибки безопасности или транспорта возвращаются как статусы RPC.
Асинхронный RPC использует дескриптор RPC_ASYNC_STATE для отслеживания хода вызова, уведомления, отмены и завершения. Этот статус означает, что переданный runtime дескриптор недопустим для операции.
Типичные причины: пропуск RpcAsyncInitializeHandle, повторное использование завершённого дескриптора без инициализации, ошибка времени жизни объекта в стеке или передача состояния, принадлежащего другому вызову.
Что проверить для RPC_NT_INVALID_ASYNC_HANDLE
- Убедитесь, что асинхронное состояние инициализировано с ожидаемым размером структуры.
- Сохраняйте объект живым до полной обработки завершения или отмены.
- Не используйте одно асинхронное состояние одновременно для нескольких незавершённых вызовов.
Ссылки для RPC_NT_INVALID_ASYNC_HANDLE
- Microsoft RPC: асинхронный RPC
- Microsoft RPC: выполнение асинхронного вызова
- Открытые спецификации Microsoft: обзор MS-RPCE
Нужно найти другой код? Найти другой код состояния или ошибки.