| Предыдущий | Следующий |
| STATUS_WAIT_3 | STATUS_ABANDONED_WAIT_0 |
STATUS_WAIT_63
WaitAny выбрал объект диспетчера с индексом 63
STATUS_WAIT_63 является старшим именованным членом нативного диапазона STATUS_WAIT_n . Значение статуса равно базовому результату ожидания плюс индекс выбранного объекта, поэтому этот код обозначает элемент 63 массива ожидания. Контракт Win32 для ожидания нескольких объектов использует тот же расчёт смещения.
Это особенно полезно при диагностике больших наборов ожидания: числовой статус необходимо декодировать относительно точного массива данного вызова. Индекс из последующей попытки, перестроенного массива или другого потока может указывать на совершенно иной объект. Также проверьте число объектов ожидания, поскольку Win32 явно ограничивает количество дескрипторов в одном вызове.
Что исследовать
- Зафиксируйте порядок массива и количество дескрипторов в момент начала ожидания.
- Сначала декодируйте статус как индекс и только затем интерпретируйте тип выбранного объекта.
- В крупных схемах проверьте, не изменили ли ожидания пула потоков или сгруппированные ожидания фактический массив.
Ссылки
- Microsoft: WaitForMultipleObjects
- Microsoft: функции ожидания
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.