| Предыдущий | Следующий |
| WDSTPC_E_CALLBACKS_NOT_REG | WDSTPC_E_ALREADY_IN_PROGRESS |
WDSTPC_E_ALREADY_COMPLETED
WDSTPC_E_ALREADY_COMPLETED означает, что транспортный сеанс уже прошёл активную фазу загрузки. WDS предоставляет обратный вызов завершения и API запроса состояния; потребители должны использовать это конечное состояние, чтобы прекратить операции запуска и прогресса с тем же дескриптором сеанса.
Сделайте завершение односторонним состоянием в клиентской оболочке
- Запишите вызов
PFN_WdsTransportClientSessionCompleteи его окончательное состояние ровно один раз. - После завершения запрашивайте или сообщайте итоговое состояние передачи, а не запускайте тот же дескриптор сеанса повторно.
- Если приложению нужна ещё одна загрузка, инициализируйте новый запрос сеанса вместо повторного использования конечного состояния.
API транспортного клиента WDS различает настройку сеанса, запуск передачи, запрос состояния, ожидание, отмену и закрытие. Рассмотрение завершения как устойчивого конечного состояния предотвращает повторную обработку завершения и гонку поздних операций с очисткой. Если код неожиданен, проверьте, не реагируют ли два потока на один сигнал завершения и не сохранил ли путь повтора старый дескриптор сеанса.
Функции транспортного клиента WDS · Обзор API WDS · StartSession
Нужно найти другой код? Найти другой код состояния или ошибки.