Назад | Перейти на главную страницу

Есть ли список кодов ошибок сервера для загрузок IIS BITS или определение для 0x80070585 («Недействительный индекс»)?

У меня IIS 8.5 работает на нескольких серверах с включенной загрузкой BITS в виртуальном каталоге. Просматривая журналы, я вижу несколько разных типов ошибок, где говорится (bits_error:{GUID},500,0x80070070) или какой-то другой код ошибки. Я могу сопоставить их с описаниями ошибок на стороне клиента с помощью PowerShell. Get-BitsTransfer командлет и доступ к атрибуту ErrorDescription, но только если я оказался клиентом, столкнувшимся с ошибкой.

Я вижу конкретные коды:

Я уверен, что есть еще кое-что. BitsMsg.h включает в себя некоторые из распространенных.

Будем признательны за любые указатели на более подробную информацию о полном списке кодов ошибок для записей BITS_POST в файлах журнала IIS.

Обновить: Используя отслеживание неудачных запросов, я могу увидеть немного больше информации об ошибке недопустимого индекса (0x80070585). Я не вижу никакой активности в виртуальном каталоге в SysInternals Process Monitor, и я не вижу никаких дескрипторов, открытых для этого каталога на машине при использовании Handle. Однако я подтвердил, что учетные данные, хранящиеся для привязки к этому виртуальному каталогу в диспетчере IIS, работают, и когда я выполняю тестовое соединение, я вижу в procmon, что INetMgr.exe действительно получил доступ к локальному каталогу, которого я ожидал. Во всяком случае, вот интересный фрагмент из файла трассировки. Похоже, мы добираемся до DLL службы BITS и задыхаемся внутри нее.

ISAPI_START

CALL_ISAPI_EXTENSION
DllName="C:\Windows\system32\bitssrv.dll"

MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER", 
HttpStatus="500", HttpReason="Internal Server Error", 
HttpSubStatus="0", ErrorCode="The operation completed successfully.(0x0)",
ConfigExceptionInfo=""

GENERAL_SET_RESPONSE_HEADER HeaderName="Pragma", HeaderValue="no-cache", Replace="false" 14:20:19.559 
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-packet-type", HeaderValue="Ack", Replace="false" 14:20:19.559 
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error", HeaderValue="0x80070585", Replace="false" 14:20:19.559 
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error-Context", HeaderValue="0x5", Replace="false" 14:20:19.559 
GENERAL_SET_RESPONSE_HEADER HeaderName="Content-Length", HeaderValue="0", Replace="false" 14:20:19.559 
ISAPI_EXTENSION_DONE  14:20:19.559 
ISAPI_END 

Последняя подсказка заключается в том, что для записей в журнале, где я вижу ошибку 0x80070585, GUID задания не указан после bits_error. Это просто (bits_error:, 500,0x80070585). Это как если бы желаемый удаленный путь для загрузки встречается, но он терпит неудачу очень рано в протоколе загрузки.

Обновление 2: Есть потенциально связанный код ошибки Центра обновления Windows SUS_E_INVALIDINDEX a.k.a. SUS_S_ALREADY_UNINSTALLED, что означает: «Удаляемое обновление уже не установлено - была сделана попытка использовать недопустимый индекс». Поскольку Центр обновления Windows использует протокол BITS, возможно, речь идет об индексе файла в задании. Однако задания на загрузку BITS всегда имеют не более одного файла, и шестнадцатеричное значение для него - 0x80240007.

См. Также WU_E_INVALIDINDEX и это StackOverflow ответ.