код остановки multiple irp complete requests
Как исправить MULTIPLE_IRP_COMPLETE_REQUESTS на Windows 10?
MULTIPLE_IRP_COMPLETE_REQUESTS – это сообщение синего экрана смерти, который появляется из-за того, что драйвер попытался вызвать функцию IoCompleteRequest() для завершения IRP, но так как пакет был завершен, то это вызвало появление ошибки. В большинстве случаев это происходит в ситуации, когда два разных драйвера пытаются завершить один и тот же пакет. Первый запрос выполняется успешно, но второй оканчивается неудачей, что и вызывает синий экран смерти MULTIPLE_IRP_COMPLETE_REQUESTS.
Данная проблема обычно возникает у пользователей LogMeIn Hamachi, которые пытаются с помощью этого программного обеспечения создать виртуальную локальную сеть. Если быть более точным, то проблема возникает с драйвером hamdrv.sys., который и проделывает все вышесказанное в первом абзаце. Именно на примере утилиты LogMeIn Hamachi и его драйвера hamdrv.sys. мы и рассмотрим методы решения этой проблемы.
Исправляем синий экран смерти MULTIPLE_IRP_COMPLETE_REQUESTS
Метод №1 Обновление LogMeIn Hamachi
Так как разработчики этого программного обеспечения уже давно знают об этой проблеме, то они выпустили обновление(еще в 2014 году), исправляющий эту ошибку. Все что вам нужно сделать, так это пройти на официальный сайт LogMeIn Hamachi, скачать последнюю версию и установить ее. Однако, прежде чем вы начнете устанавливать новую версию, вы должны удалить старую, которая вызывает проблемы:
Метод №2 Полное удаление LogMeIn Hamachi
Если предыдущий метод с обновлением LogMeIn Hamachi не помог, то вероятно что-то другое с этой утилитой вызывает синий экран смерти MULTIPLE_IRP_COMPLETE_REQUESTS. В этом случае, вам нужно просто найти альтернативу этой программе, так как она может быть несовместима с вашей конфигурацией. Повторите шаги по удалению из предыдущего метода для удаления LogMeIn Hamachi.
Метод №3 Обновление BIOS
Если ничего из вышеуказанного вам не помогло в исправлении синего экрана MULTIPLE_IRP_COMPLETE_REQUESTS, то можно попробовать обновить BIOS. Такие ошибки могут происходить не только по вине драйверов, но и из-за устаревшей версии BIOS.
Заметка: на более-менее современных материнских платах все происходит именно так, как описано в третьем методе. Но на старых платах обновление происходит через сам БИОС, т.е. вы создаете загрузчик на флешке с новой версией BIOS, выставляете приоритет загрузки в БИОС на внешнее устройство, а затем загружаетесь через это устройство. Убедитесь, каким именно образом обновляется ваш BIOS, а затем обновляйте его уже отталкиваясь от этого.
Как исправить ошибки MULTIPLE_IRP_COMPLETE_REQUESTS типа «синий экран» (0x00000044)
Номер ошибки: | Ошибка 0x44 | |
Название ошибки: | MULTIPLE_IRP_COMPLETE_REQUESTS | |
Описание ошибки: | The MULTIPLE_IRP_COMPLETE_REQUESTS bug check has a value of 0x00000044. This indicates that a driver has tried to request an IRP be completed that is already complete. | |
Шестнадцатеричный код: | 0x00000044 | |
Разработчик: | Microsoft Corporation | |
Программное обеспечение: | Windows Operating System | |
Относится к: | Windows XP, Vista, 7, 8, 10, 11 |
Проблемы 0x00000044 типа «синий экран смерти» обычно возникают из-за повреждения драйвера для Windows 10 или из-за неисправности оборудования соответствующего устройства. Как правило, любую проблему, связанную с файлом 0x44, можно решить посредством замены файла на новую копию.
Распространенные сообщения об ошибках в MULTIPLE_IRP_COMPLETE_REQUESTS
Ошибки MULTIPLE_IRP_COMPLETE_REQUESTS обычно связаны с синим экраном смерти (BSOD) или ошибкой «Stop»:
Ошибки MULTIPLE_IRP_COMPLETE_REQUESTS, которые вызывают синий экран смерти, часто следуют за новой установкой программного обеспечения ( Windows ) или связанного с ним оборудования. Ошибки MULTIPLE_IRP_COMPLETE_REQUESTS, связанные с Windows s, часто возникают во время установки программного обеспечения, связанного с MULTIPLE_IRP_COMPLETE_REQUESTS, во время завершения работы или запуска Windows или во время загрузки драйвера устройства, связанного с Microsoft Corporation. При появлении ошибки BSOD MULTIPLE_IRP_COMPLETE_REQUESTS запишите все вхождения для устранения неполадок Windows и помогите найти причину.
Создатели MULTIPLE_IRP_COMPLETE_REQUESTS Трудности
Проблемы BSOD, связанные с MULTIPLE_IRP_COMPLETE_REQUESTS, обычно создаются соответствующим оборудованием, программным обеспечением, драйверами устройств или микропрограммным обеспечением. Связанное с Microsoft Corporation оборудование или сам Windows может привести к этим проблемам.
В частности, эти проблемы MULTIPLE_IRP_COMPLETE_REQUESTS возникают через:
Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11
Решение синего экрана смерти 0x00000044: MULTIPLE IRP COMPLETE REQUESTS
Синий экран смерти MULTIPLE IRP COMPLETE REQUESTS с цифровым кодом 0x00000044 чаще всего появляется на старых сборках Windows XP и 2000 по причине повреждения системного драйвера, сбоев в работе жесткого диска, в результате работы вирусного приложения. Также ошибка 0x00000044 на более старшей версии Windows 7 и 8 возникает по причине конфликта операционной системы с файлами антивируса. Поэтому для решения синего экрана смерти MULTIPLE IRP COMPLETE REQUESTS придется провести ряд диагностических действий.
Способы решения ошибки MULTIPLE IRP COMPLETE REQUESTS
Если на вашем компьютере возник синий экран смерти MULTIPLE IRP COMPLETE REQUESTS, то, в первую очередь, нужно проверить операционную систему на наличие вирусов. Для этого нужно иметь установленный антивирус с актуальными вирусными базами или скачать лечащую утилиту Dr.Web Curelt.
Если в результате проверки вирусы не были обнаружены, стоит на время отключить, а еще лучше, удалить антивирус. Как показал анализ различных форумов, ошибка 0x00000044 часто появлялась на ПК пользователей по вине антивируса. Поэтому на этапе диагностики системы лучше Защитник Windows отключить, а антивирус удалить.
Если BSOD все равно появляется, то виной могут быть драйвера. Определить, какой драйвер вызывает ошибку, можно как при анализе малого дампа памяти и самого синего экрана (иногда сбойный файл указывается на экране), так и вручную. Для самостоятельного определения сбойного драйвера нужно перейти в Диспетчер устройств, нажав «Win+R» и ввел «devmgmt.msc».
Откроется новое окно. В древовидном меню будут представлены все подключенные устройства и компоненты системный сборки. Разворачиваем каждый элемент и смотрим, чтобы не было значка с восклицательным знаком, который указывает на то, что драйвер устройства поврежден или отсутствует. Далее нажимаем на устройстве право кнопкой мыши и выбираем «Обновить драйвера».
На следующем этапе кликаем на ссылку «Выполнить поиск драйверов на этом компьютере».
Указываем на ранее загруженный с сайта официального производителя драйвер. Запускаем обновление ПО. Как только установка будет закончена, нужно перезагрузить систему, чтобы изменения вступили в силу. Проверяем ПК на предмет ошибки.
ВАЖНО! Если ошибочного драйвера не было обнаружено, стоит запустить утилиту Driver Pack Solution для автоматического поиска и обновления устаревших драйверов. Можно установить последние имеющиеся обновления Windows.
После запуска такой команды ПК будет перезагружен и запустится сканирование диска. В данный момент компьютер запрещается перезагружать или аварийно выключать. Даже после включения ПК команда будет работать. Поэтому лучше подождать окончания проверки, которая может длиться от нескольких минут до часа.
Для глубокой проверки накопителя рекомендуем скачать программу Victoria HDD, которая проверить HDD или SSD на наличие битых секторов.
На некоторых форумах данную ошибку связывают с проблемами оперативной памяти. Исправить её можно с помощью программы MemTest86, которая разработана для диагностики и исправления ошибок с ОЗУ. Программу нужно скачать и записать как образ на диск или флешку. Далее нужно загрузиться в BIOS и выставить приоритетность загрузки со съемного носителя или CD-ROM. После этого запускаем проверку памяти. Желательно выполнить несколько проходов данной программой, так как за один проход софт может не обнаружить неполадок.
Также для уверенности можно почистить контакты модулей ОЗУ и переставить модули местами. Возможно, модули просто сбоили. Однако это уже сигнал к тому, что планки нужно будет заменить.
Важно отметить, что на Windows 7 и Windows 8 такая неполадка также появлялась при подключении накопителя к портам USB 2.0 и USB 3.0. Поэтому, если вы подключили к ПК какое-то оборудование через данные порты, то стоит их перепроверить и подключить заново. Возможно, вы подключили устройство USB 3.0 к порту USB 2.0.
Во всех остальных случаях, при возникновении неполадки нужно либо откатить систему до более раннего состояния, либо вовсе переустановить Windows.
Полное MULTIPLE_IRP_COMPLETE_REQUESTS в Windows 10
Windows – это сложная операционная система, обслуживающая миллионы ПК по всему миру и работающая на тысячах различных аппаратных комбинаций, что может сделать ее довольно интересной для инженеров Microsoft.
К сожалению, эта сложность также означает, что неизбежны ошибки из-за различных причин, которые трудно диагностировать. Одной из таких проблем является ошибка MULTIPLE_IRP_COMPLETE_REQUESTS на синем экране. Синий экран появляется как последнее средство – когда ОС не знает, что еще делать, она решает просто аварийно завершить работу и сообщить пользователю о проблеме.
Эта ошибка может быть вызвана различными причинами, это может быть что угодно, от плохих драйверов до неисправного жесткого диска, поэтому диагностировать это не просто. Однако мы можем дать представление о наиболее распространенных решениях и посмотреть, работают ли они. В прошлом мы исправляли ошибки и предоставляли методы для исправления ошибки NTFS_File_System в Windows 10, поэтому вы можете ожидать, что эти решения будут работать на вас. Если этого не произойдет, вам, возможно, придется продолжить поиск лучшего решения.
Исправьте MULTIPLE_IRP_COMPLETE_REQUESTS Windows 10
MULTIPLE_IRP_COMPLETE_REQUESTS – ошибка синего экрана, и она может быть довольно проблематичной. Говоря об ошибках такого рода, вот некоторые похожие проблемы, о которых сообщили пользователи:
Решение 1. Проверьте свой антивирус
В некоторых случаях ваш антивирус может вызвать ошибку MULTIPLE_IRP_COMPLETE_REQUESTS, и для ее устранения рекомендуется проверить настройки антивируса. Иногда определенные функции вашего антивируса могут вызывать эту проблему, и для ее устранения вам просто нужно отключить эти функции.
Если отключение этих функций не помогает, возможно, вам придется полностью отключить антивирус. В некоторых случаях вам, возможно, даже придется полностью удалить антивирус и проверить, решает ли это проблему.
Если отключение антивируса не помогло устранить проблему, следующим шагом будет полное удаление антивируса. Помните, что Windows 10 имеет Защитник Windows в качестве антивируса по умолчанию, поэтому даже если вы удалите антивирус, у вас все равно будет какая-то базовая защита.
Решение 2. Использование средства проверки системных файлов
По словам пользователей, иногда это может привести к повреждению системных файлов. Однако вы можете решить эту проблему, просто выполнив сканирование SFC. Для этого просто выполните следующие действия:
После того, как сканирование завершено, убедитесь, что проблема все еще существует. Если проблема все еще существует или вы вообще не смогли запустить сканирование SFC, мы рекомендуем вам попробовать сканирование DISM. Для этого просто выполните следующие действия:
После того, как оба сканирования завершены, проверьте, сохраняется ли проблема.
Решение 3 – Запустите CHKDSK, чтобы исправить это
Использование CHKDSK для исправления этой ошибки – это еще один способ, поскольку он может легко исправить многие типы ошибок, включая ошибки, такие как KERNEL_DATA_INPAGE_ERROR в Windows 10. Давайте посмотрим, как запустить эту команду для исправления этой конкретной ошибки.
Теперь вам просто нужно перезагрузить компьютер и позволить ему сканировать системный диск. Этот процесс может занять около 20-30 минут, но после его завершения проблема должна быть полностью решена.
Решение 4 – Обновите ваши драйверы
Еще одной причиной для MULTIPLE_IRP_COMPLETE_REQUESTS могут быть ваши драйверы. Иногда эта проблема может быть вызвана устаревшими драйверами, и лучший способ решить эту проблему – обновить все основные драйверы на вашем компьютере.
Обычно это ваша видеокарта, драйверы сети и чипсета. Для этого просто посетите веб-сайт производителя оборудования и загрузите последние версии драйверов для вашего устройства. Делать это вручную может быть немного утомительно, так как вам нужно загрузить каждый драйвер вручную.
Как только ваши драйверы обновятся, проверьте, сохраняется ли проблема.
Решение 5 – Удалить проблемное программное обеспечение
Программное обеспечение Uninstaller предназначено для полного удаления всех файлов и записей реестра, связанных с приложением, которое вы пытаетесь удалить. В результате приложение будет полностью удалено, и не останется доступных файлов, которые могли бы помешать работе вашей системы.
Имейте в виду, что другие приложения также могут вызывать эту проблему, поэтому обязательно выполните детальный осмотр вашей системы.
Решение 6 – Сброс вашего BIOS по умолчанию
В некоторых случаях ваши настройки BIOS могут вызвать ошибку MULTIPLE_IRP_COMPLETE_REQUESTS. Обычно это вызвано вашими настройками, но вы можете решить проблему, просто сбросив BIOS по умолчанию.
Это довольно просто сделать, и вам просто нужно войти в BIOS и выбрать опцию для загрузки настроек по умолчанию. Эта процедура может отличаться в зависимости от версии BIOS, которую вы используете, поэтому, чтобы увидеть, как правильно войти и сбросить BIOS до значения по умолчанию, мы рекомендуем вам ознакомиться с руководством по материнской плате для получения подробных инструкций.
Решение 7 – Обновите свой BIOS
Другой способ исправить ошибку MULTIPLE_IRP_COMPLETE_REQUESTS – обновить BIOS. Прежде чем начать, мы должны упомянуть, что обновление BIOS может быть рискованной процедурой, поэтому, если вы решите обновить его, имейте в виду, что вы делаете это на свой страх и риск.
Мы уже написали краткое руководство о том, как прошить BIOS, но так как это всего лишь общее руководство, мы советуем вам ознакомиться с руководством по материнской плате для получения подробных инструкций по обновлению BIOS.
Обязательно внимательно следуйте инструкциям в руководстве по эксплуатации, чтобы избежать нанесения непоправимого ущерба вашей системе. После обновления BIOS проверьте, не устранена ли проблема.
Эти решения должны, по крайней мере, помочь вам выяснить, что именно происходит с Windows, а в некоторых случаях также решить эти проблемы. Windows – сложная операционная система, поэтому трудно сказать, что именно вызывает все проблемы.
Примечание редактора . Этот пост был первоначально опубликован в марте 2016 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.
Stop 0x44 (MULTIPLE_IRP_COMPLETE_REQUESTS) Disabling Idle USB Device with KMDF-based Driver
Support for Windows Vista Service Pack 1 (SP1) ends on July 12, 2011. To continue receiving security updates for Windows, make sure you’re running Windows Vista with Service Pack 2 (SP2). For more information, refer to this Microsoft web page: Support is ending for some versions of Windows.
Source: Microsoft Support
RAPID PUBLISHING
RAPID PUBLISHING ARTICLES PROVIDE INFORMATION DIRECTLY FROM WITHIN THE MICROSOFT SUPPORT ORGANIZATION. THE INFORMATION CONTAINED HEREIN IS CREATED IN RESPONSE TO EMERGING OR UNIQUE TOPICS, OR IS INTENDED SUPPLEMENT OTHER KNOWLEDGE BASE INFORMATION.
Symptom
When you Disable a USB device that is currently Idle, you may receive a «Stop 0x44» error message on a blue screen. This error message resembles the following:
Cause
This problem may occur if the USB device uses a driver written using the Kernel Mode Driver Framework (KMDF) version 1.7 or earlier.
The problem occurs when the USB device is in an Idle (USB Selective Suspend) state, and the device is then Disabled (such as by right-clicking the device in Device Manager and clicking Disable).
Under these conditions, the KMDF framework version 1.7 (or earlier) does not wait for USB Selective Suspend Irps to be completed, thus allowing the device stack to be removed before the USB Selective Suspend Irp is completed (e.g., by the Usbhub driver).
Resolution
This problem is resolved in the Kernel Mode Driver Framework (KMDF) version 1.9 and later. Kernel Mode Driver Framework (KMDF) version 1.9 is available in the Windows 7 version of the Windows Driver Kit (WDK).
A KMDF-based USB device driver developer can work around this problem by performing the following actions:
Register an EvtDeviceReleaseHardware callback routine in the driver’s EvtDriverDeviceAdd callback routine.
Allocate a WDFWORKITEM object in the driver’s EvtDriverDeviceAdd callback routine.
Allocate and initialize a KEVENT object, queue the work item in the driver’s EvtDeviceReleaseHardware callback routine, passing this event as the Context parameter, and wait for the event to be signaled.
In the work item callback routine, delay the thread by approximately 2 seconds and then set the event. The exact delay value required may differ across systems and should be tested prior to final implementation.
The described workaround has two main effects:
It queues a work item which helps delay tearing down the device stack until the work item queue is drained up to this work item (since the USB core stack may complete the USB Selective Suspend Irp through a work item).
It introduces a delay in case the USB core stack’s work item and driver’s work item get executed simultaneously on multi-processor/multi-core systems.
NOTE: This is not a comprehensive solution. It only helps mitigate the problem.
More Information
The sample code snippets below illustrate how to implement this workaround:
EvtDriverDeviceAdd(
IN WDFDRIVER Driver,
IN PWDFDEVICE_INIT DeviceInit
)
<
PWORKER_ITEM_CONTEXT context;
WDF_OBJECT_ATTRIBUTES attributes;
WDF_WORKITEM_CONFIG workitemConfig;
WDFWORKITEM workItem;
.
//
// Set EvtDeviceReleaseHardware callback
//
.
pnpPowerCallbacks.EvtDeviceReleaseHardware = EvtDeviceReleaseHardware;
WdfDeviceInitSetPnpPowerEventCallbacks(DeviceInit, &pnpPowerCallbacks);
.
//
// Allocate WDFWORKITEM
//
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(&attributes,WORKER_ITEM_CONTEXT);
attributes.ParentObject = device;
status = WdfWorkItemCreate(&workitemConfig, &attributes, &workItem);
if (!NT_SUCCESS(status)) <
return status;
>
devContext->WorkItem = workItem;
.
>
NTSTATUS
EvtDeviceReleaseHardware(
IN WDFDEVICE Device,
IN WDFCMRESLIST ResourcesTranslated
)
<
KEVENT event;
PWORKER_ITEM_CONTEXT context;
WDFWORKITEM workItem;
workItem = GetDeviceContext(Device)->WorkItem;
context = GetWorkItemContext(workItem);
//
// Queue the workitem
//
WdfWorkItemEnqueue(workItem);
VOID
EvtWorkItem(
IN WDFWORKITEM WorkItem
)
<
PWORKER_ITEM_CONTEXT context;
LARGE_INTEGER interval;
//
// signal the waiting thread
//
KeSetEvent(context->Event, IO_NO_INCREMENT, FALSE);
context->Event = NULL;
>
// in header file
typedef struct _WORKER_ITEM_CONTEXT <
PKEVENT Event;
> WORKER_ITEM_CONTEXT, * PWORKER_ITEM_CONTEXT;
EVT_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware;
EVT_WDF_WORKITEM EvtWorkItem;
DISCLAIMER
MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE “MATERIALS”) FOR ANY PURPOSE. THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND/OR ITS SUPPLIERS DISCLAIM AND EXCLUDE ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO REPRESENTATIONS, WARRANTIES, OR CONDITIONS OF TITLE, NON INFRINGEMENT, SATISFACTORY CONDITION OR QUALITY, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE MATERIALS.