| Предыдущий | Следующий |
| STG_S_CONVERTED | STG_S_RETRYNOW |
STG_S_BLOCK
Обратное давление асинхронного хранилища
Этот статус успешного выполнения относится к асинхронному структурированному хранилищу COM. Приёмник IProgressNotify может вернуть его, запрашивая блокировку, когда чтение достигает данных, ещё не переданных через IFillLockBytes. Это управляющий результат, а не признак повреждения составного файла.
Ожидание должно быть связано с продвижением производителя. Сон на произвольное время без механизма пробуждения может вызвать взаимную блокировку потребителя или ненужную задержку.
Правильная обработка
- Сохраняйте операцию хранилища и её асинхронный источник байтов действующими на время блокировки.
- Пробуждайте при заполнении новых диапазонов, завершении загрузки или отмене.
- Не преобразуйте этот результат квалифицированного успеха в постоянную ошибку ввода-вывода.
- Записывайте запрошенный диапазон байтов и максимальный непрерывный диапазон, доступный сейчас.
Ссылки
IProgressNotify::OnProgress · IFillLockBytes · HRESULT хранилища Microsoft COM
Нужно найти другой код? Найти другой код состояния или ошибки.