Apple lower filter driver это что

Обновлено: 08.07.2024

Вот краткое пошаговое руководство о том, как удалить «верхние фильтры и нижние фильтры» из реестра в Windows 10.

Что такое UpperFilter и LowerFilter в редакторе реестра?

Дополнительные драйверы UpperFilter управляют запросами на доступ к устройствам из сторонних приложений. Затем он отправляет запрос основному драйверу устройства, например дисководу компакт-дисков и т. Д.

Надстройки LowerFilters работают аналогично, обрабатывая запросы доступа к устройству от основного драйвера. Затем он отправляет запрос драйверу ядра.

К сожалению, сторонние фильтры могут конфликтовать с существующим драйвером устройства и другим программным обеспечением, установленным в вашей системе. В большинстве случаев этот конфликт приводит к системным проблемам и ошибке диспетчера устройств.

Когда следует удалять UpperFilter и LowerFilter в редакторе реестра?

Ошибки диспетчера устройств, такие как «Это устройство не запускается» (код 10), могут потребовать удаления значений реестра UpperFilters и LowerFilters в качестве потенциального исправления. Фильтры также могут повреждаться или оставаться в остатках после удаления приложений и предотвращения установки других приложений.

Хотя удалить UpperFilters и LowerFilters относительно легко, вы должны быть осторожны при этом. Удаление неверных значений реестра может вызвать другие системные проблемы, а иногда даже может потребоваться новая установка Windows.

Прежде чем пытаться удалить какие-либо значения реестра, обязательно создайте резервную копию реестра Windows. Кроме того, создайте точку восстановления системы и диск восстановления или диск восстановления системы.

Связанный: Как создавать ежедневные точки восстановления в Windows 10

Если вы случайно удалили верхний и нижний фильтры и заблокировали свой компьютер, эти решения для восстановления могут помочь вам оживить вашу систему.

Как удалить значения реестра UpperFilters и LowerFilters в Windows

Удалить UpperFilters и LowerFilters из значений реестра Windows очень просто. Следуйте инструкциям, и вы сможете удалить их через несколько минут.

Это руководство написано для ПК с Windows 10. Однако инструкции должны примерно соответствовать другим версиям ОС, включая Windows 8.1 и 7.


Чтобы удалить UpperFilters и LowerFilter:

В редакторе реестра перейдите в следующее место. Вы можете скопировать и вставить путь в адресную строку для навигации. HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class

В ключе Class вы увидите список подключей Class GUID. Каждая часть оборудования на вашем компьютере имеет уникальный GUID класса, который выглядит примерно так:

После перезагрузки компьютера проверьте, появляется ли снова код ошибки диспетчера устройств. Затем переустановите все программное обеспечение, предназначенное для использования удаленных фильтров.

Как найти GUID класса для драйвера устройства


При возникновении ошибки диспетчера устройств можно быстро использовать код ошибки, чтобы найти GUID класса соответствующего драйвера устройства.

В противном случае вы можете найти его вручную в свойствах устройства с помощью диспетчера устройств. Вот как это сделать:

Безопасное удаление значений реестра UpperFilters и LowerFilters

Работа с редактором реестра поначалу может показаться сложной. Но знание того, как это работает, может пригодиться. С помощью нескольких настроек вы можете включить полезные скрытые настройки, которые по умолчанию недоступны в вашей системе Windows.

Самые продвинутые геймеры знают, что одним из ключевых по важности устройств компьютера, позволяющим получить максимальное удовольствие от игрового процесса является. Нет, это вовсе не видеокарта, как вы правильно подумали :) Сейчас я веду речь о другом устройстве, официально именуемом манипулятор типа «мышь».

Некоторые пользователи, ради извлечения пары дополнительных FPS в игрушках, разгоняют свои компьютеры, по мере, конечно, возможностей «железа». Одним из устройств, поддающихся «разгону» является и компьютерная мышь. Конечно же, возможности у различных моделей «грызунов» разные, но принципы их «оверклокинга» общие, и именно рассмотрением таковых мы сейчас и займемся.

У многих, вероятно возникает вопрос…

Зачем это нужно?

Нужно это, в первую очередь, для повышения точности позиционирования курсора. Дело в том, что чем чаще компьютер будет получать информацию о перемещении мыши, тем более точными и адекватными перемещению манипулятора будут перемещения курсора на экране.

Важна ли эта самая точность позиционирования? Безусловно. Скажем, при увеличенной частоте опроса мыши в игрушках-шутерах точность прицеливания улучшается, равно как реально ощущается и более быстрый «отклик» курсора на перемещение манипулятора. Для геймеров «разогнанная» мышь — самое то. Но не только для них. При работе в 2D-режиме, например, если вы выделяете объект в Photoshop, или аккуратно «подтираете» в нем картинку, точность позиционирования курсора еще куда более важна, чем в игрушках, и здесь пользу от увеличения частоты опроса мыши просто трудно переоценить. Ведь здесь скачкообразные перемещения курсора просто неприемлемы.

Итак, надеюсь, важность такого параметра как частота опроса мыши мы осознали. Теперь приступим к рассмотрению способов увеличения частоты опроса «грызунов» в зависимости от типа подключения манипулятора.

Разгон PS напополам

С конца прошлого века :) и до сих пор при подключении компьютерных мышек интерфейс PS/2 пользовался популярностью у продвинутых геймеров и, надо отметить, заслуженно. Широко использовавшиеся когда-то СОМ-портовые мыши использовали частоту опроса всего в 40 Гц, затем 60 Гц (Windows NT и последующие ОС) что не позволяло воспринимать их как серьезные игровые. А вот на порту PS/2 манипулятор может работать с разной дискретной частотой опроса: 10, 20, 40, 60, 80, 100 или 200 Гц. Причем эту частоту пользователь может менять по своему усмотрению, что немаловажно.


Для «стареньких» операционных систем типа Windows 95/98/ME очень хорошей программой, позволявшей осуществлять повышение (равно как и понижение) частоты опроса мыши была утилита PS2Rate. Она давала возможность пользователю менять частоту опроса манипулятора, подключенного к порту PS/2, в пределах от 10 до 200 Гц (дискретно, о чем сказано ранее). Утилита была удобна и проста в использовании, однако, к сожалению, работала далеко не со всеми материнскими платами (виноваты были, конечно же, разработчики последних).


В более современных операционных системах, например семейства Windows XP, частоту опроса мыши на PS/2 порту можно регулировать средствами самой системы. Делается это так. Вызываем «Свойства» значка «Мой Компьютер» на «Рабочем столе».


В появившемся окне кликаем на кнопку «Диспетчер устройств» (после установки SP2 эта кнопка находится выше, на месте кнопки «Установка оборудования» этого рисунка).


В открывшемся окне дважды кликаем на обозначении установленной мыши или вызываем ее свойства.


После чего попадаем в окно настроек свойств мыши, где на закладке «Дополнительные параметры» мы можем изменять частоту опроса манипулятора по порту PS/2.


Если у вас мышь отличная от оригинальной Microsoft, то иногда имеет смысл отключить опцию «Быстрая инициализация». Иначе мышь, возможно, будет работать на своей частоте опроса по умолчанию, независимо от выбранной вами частоты опроса по интерфейсу PS/2.


После того как пользователь изменит частоту опроса мыши, чтобы новые настройки вступили в силу, компьютер следует обязательно перезагрузить.


Добраться до свойств мыши можно и через «Панель управления» > «Мышь» > «Свойства».

Еще очень важный момент. Понижение скорости перемещения курсора от установки повышенной точности наведения указателя критичным я бы назвал только для мышек с сенсорами с разрешением 400 сpi (к коим относятся и все нынешние модели «грызунов» Microsoft). Для манипуляторов с сенсорами с более высоким разрешением, снижением скорости перемещения от повышенной точности наведения указателя можно смело пренебречь.


Свершилось


До недавнего времени самым «высокочастотным» при подключении мышей оставался именно интерфейс PS/2. И многие пользователи подключали свои современные USB-мыши (скажем, модели серии Logitech МХ) через переходник к PS/2 порту, чтобы получить заветные 200 Гц частоты опроса и повышенную точность наведения указателя (как, впрочем, и ускоренное время реакции на нажатие кнопок). Ведь мышки, подключаемые по интерфейсу USB , имеют штатную частоту опроса «всего» в 125 Гц. Конечно, 125 Гц это тоже немало, но ведь всегда хочется чего-то большего :)

Повышение частоты опроса USB-мышей было возможно и ранее, однако требовало очень аккуратного «ручного» редактирования файла usbport.sys (для Winows XP), что для подавляющего большинства рядовых пользователей являлось нетривиальной задачей. Особенно с учетом того, что файлы usbport.sys могли быть разными (зависимы от версии SP), и менять в файле приходилось отличающиеся участки кода, да еще и делать это нужно было в 16-и разрядном формате, в Hex редакторе. К счастью, нашлись добрые люди ;), решившиеся автоматизировать процедуру изменения файла usbport.sys, чем решительно положили конец «частотному превосходству» подключаемых к порту PS /2 устройств. Да, да «лед тронулся, господа», и теперь частота опроса USB-мышей может быть легко изменена, причем достижимы такие частоты, что, извините, PS/2 «просто отдыхает».

Известно, что по умолчанию система Windows опрашивает мышку, подключенную к USB порту, один раз за 8 миллисекунд (не за 10 потому, что драйвера ОС Windows устанавливают частоту опроса по шине USB кратной степеням двойки, т.е. просто «округляют» интервал опроса в 10 циклов по спецификации до восьми). Это и дает нам штатную частоту опроса USB мыши в 125 Гц (1/(8х10 -3 )=125). Подредактировав файл usbport.sys, можно заставить систему делать опрос мыши быстрее.


Именно меняя интервал частоты опроса операционной системой USB-устройства, такая полезная программа как USB Mouserate Switcher 1.0 позволяет добиться повышенной частоты опроса мышек, подключаемых по шине USB. Возможны следующие варианты частот «общения» мышек с компьютером по USB-интерфейсу: 250 Гц (интервал опроса 4 мс), 500 Гц (интервал опроса 2 мс) и (страшно подумать!) 1000 Гц (интервал опроса 1 мс).

Программа сразу после запуска предлагает для осуществления последующих действий перейти в режим защиты от сбоев. Однако на поверку все прекрасно работает и в обычном режиме работы операционной системы. По крайней мере, у меня проблем с работой программы при обычной загрузке не было, хотя я испробовал все режимы работы USB, предлагаемые USB Mouserate Switcher 1.0, и помногу раз.

При желании увеличить частоту опроса мыши, внеся изменения в файл usbport.sys, пользователь должен нажать кнопку Patch на первом рабочем окне программы.


После чего появляется второе окно, в котором нам последовательно предложат варианты «оверклокинга» USB-мыши. Для выбора того или иного из вариантов нужно нажать Yes когда именно он будет предложен. Для отказа и выбора следующего варианта нужно, соответственно, жать No. Просто до невозможности, хотя сама «линейность» программы в нынешние времена все же вызывает некоторый внутренний протест. По окончании «списка» опций возможен выход из программы, но не возврат к вариантам настроек. Для того чтобы добраться до вариантов возможных частот USB повторно, программу приходится перезапускать заново.

Важным достоинством программы USB Mouserate Switcher 1.0 является возможность восстановить исходную системную версию файла usbport.sys.


Для осуществления самого «разгона» мыши, после окончательно выбранного варианта частоты опроса, компьютер необходимо перезагрузить, чтобы система при старте использовала «подправленный» файл usbport.sys. После чего изменения вступят в силу. Вместо штатных 125 Гц, мышь будет передавать в компьютер свои «координаты» чаще. Как часто, зависит от модели манипулятора, от установленного в нем контроллера. Например, частоты 250 Гц и 500 Гц моя мышь Microsoft IntelliMouse Explorer 3.0A «взяла» без проблем, а вот частота 1000 Гц оказалась ей не по зубам. Можно дополнить, что и куда более дешевая модель USB мыши от BTC продемонстрировала практически аналогичные показатели по поддержке частот. Здесь, конечно же, все зависит от установленной в мыши микросхемы контроллера, который непосредственно передает в компьютер данные по интерфейсам PS/2 и USB.


Дело в том, что с ростом частоты опроса мыши падает скорость перемещения курсора по экрану, что доставляет, прямо скажем, неудобства при работе с манипулятором. Потому «наибольшая» частота опроса мыши вовсе не является соответствующей по смыслу слову «наилучшая». Например, для своей мыши Microsoft IntelliMouse Explorer 3.0A я выбрал как лучшую частоту опроса мыши по USB порту в 250 Гц. По сравнению с «обычными» 125 Гц, на такой удвоенной частоте ощутимо как улучшение работы в 2D-режиме, так и в 3D-игрушках (конечно, огромным прогрессом я назвать это улучшение не могу, но лишь потому, что и на стандартной частоте мышь ведет себя очень хорошо). Проявляется это в более плавном перемещении курсора и улучшенной реакции на малые перемещения манипулятора, что особенно ощутимо в играх.

При повышении частоты опроса этой же мыши до 500 Гц никакого заметного «прогресса» в точности позиционирования я уже не наблюдал, а скорость перемещения мыши по рабочему столу неприятно замедлилась.



При работе же на 1000 Гц (точнее, на тех частотах, которые может из себя «выжать» контроллер устройства при такой частоте опроса), манипулятор типа «мышь» вообще превращается в манипулятор типа «черепаха» :) Хотя, опять же, абсолютно никаких ощутимых улучшений в точности позиционирования на 1 кГц частоте опроса не наблюдается. К тому же, уже на 250 Гц иначе как отличной точность позиционирования я назвать просто не могу.

Теперь что касается недорогой модели USB-манипулятора от BTC. Совершенно однозначно можно утверждать, что при повышенной частоте опроса мыши, курсор при использовании данного манипулятора передвигается гораздо медленней, чем при работе с Microsoft IntelliMouse Explorer 3.0A. То есть, для перемещения курсора на одинаковую дистанцию мышку BTC приходится перемещать на большее расстояние, нежели манипулятор от Microsoft. Точность же позиционирования мыши BTC при повышенной частоте опроса также можно назвать отличной.

Для маньяков, которые хотят «собственноручно» заменить файлы usbport.sys на «патченные», могу посоветовать взять подкорректированные файлы (годятся только для Windows XP SP2) отсюда:

Переписать «новый» usbport.sys нужно в следующие каталоги:

C:WindowsSystem32Drivers (если ОС установлена не в каталог Windows, то нужно указать название системной папки с операционной системой);

Не забудьте сохранить оригинальную версию системного usbport.sys! Мало ли как может повести себя ваша система после «обновки».

Пользователи других версий ОС Windows XP могут попытаться найти необходимые именно им патченные файлы во всемирной Сети самостоятельно. Поскольку я пользуюсь именно Windows XP SP2, то полноценно проверить работоспособность файлов под иной вариант ОС просто не могу.

Чтобы не оставлять пользователей более «ранних» релизов Windows XP ни с чем, приведу все же информацию по вариантам замены кода в файле usbport.sys.

Итак, пользователи Windows XP, используя любой Hex редактор, ищут в своем варианте файла usbport.sys участок кода «3C 08 73 09 C6 86 0A 01», и меняют его на «B0 04 73 09 52 8A 0A 01» для получения 250 Гц частоты опроса. Для достижения 500 Гц исходный код нужно заменить на «B0 02 73 09 52 8C 0A 01».

Для обладателей Windows XP SP1 подход следующий. Ищем код «3C 08 73 09 C6 86 02 01» и меняем его на «B0 04 73 09 52 8A 02 01» для достижения 250 Гц, или на «B0 04 73 09 52 8A 02 01» для «разгона» до 500 Гц.

А нам?

Для пользователей операционных систем, отличных от Winows XP, тоже не все потеряно :) И у них есть шанс «ускорить» свою USB-мышь. Что для этого нужно, сейчас попробуем разобраться, благо есть умные люди которые научно уже исследовали этот вопрос до нас :)

Понадобится: Lower Filter Driver, который можно найти по адресу: sweetlow.at.tut.by/download/hidusbf.zip (это драйвер будет работать перехватывая запросы основного драйвера и корректировать данные нужным нам образом).

Для установки его в ОС запускаем hidusbf.inf из каталога Driver из этого же архива. После чего у нас в каталоге C:WindowsSystem32Drivers (для ОС Windows 9x) появляется файл hidusbf.sys, а в Windows семейства NT сервис «HKLMSYSTEMCurrentControlSetServiceshidusbf».

Подготовительные работы закончены. Для того чтобы драйвер hidusbf.sys заработал, нужно перезагрузить ПК или же просто отключить и повторно включить USB-мышь.

После этого можно приступать к изменению частоты опроса мыши по USB-порту (по умолчанию используемым драйвером частота опроса поднимется до 250 Гц).


Для Windows семейства NT ищем в реестре «HKLMSYSTEMCurrentControlSetControlClass00(n)».

При использовании Windows 9х в реестре нужно найти строчку «HKLMSYSTEMCurrentControlSetServicesClassHID00(n)».


Далее в этих вышеназванных ключах ищем параметр типа DWORD именуемый «bInterval», а если его вдруг там не оказывается, то создаем его.

Автор драйвера hidusbf.sys гарантирует работоспособность своего ПО как минимум под Windows 98SE Rus, Windows 2000 Pro Rus SP2, причем частота опроса по USB порту во всех типах ОС может быть повышена до 1 кГц. Наслаждайтесь.

Беспроводные трудности

Единственными, кто ни при каких условиях не сможет «разогнать» свои USB- или PS/2-мыши, являются «счастливые» обладатели беспроводных манипуляторов.

Дело в том, что сама по себе беспроводная мышь не подсоединена к компьютеру по интерфейсу USB или PS/2, она передает сигналы о своем перемещении на приемник-базу (ресивер), который, в свою очередь, уже передает данные в ПК по соответствующему интерфейсу. И, несмотря на то, что пользователь может «ускорить» соединение ресивер-компьютер, на частоте опроса мыши это никак не скажется, поскольку сам приемник связан с беспроводной мышью по своему особому интерфейсу передачи данных, повлиять на скорость работы которого обычный пользователь (по крайней мере, пока) не в состоянии.

Быстрый итог

Да, кстати, пока никакого отрицательного влияния на другие подключаемые USB-устройства от увеличения частоты опроса порта USB не выявлено. Впрочем, этого и следовало ожидать, так как даже частота в 1000 Гц является для USB нормативной. И, естественно, никакого обещанного некоторыми «доброжелателями» «сгорания» USB–контроллера, от повышенной до 1 кГц частоты опроса по USB, быть не может.

Эта работа была прислана на наш "бессрочный" конкурс статей и автор получил приз - USB-мышь Logitech MX310.

Разгоном мышей на сайте уже занимались, причем аппаратным (см. статью "Модификация мыши: хвостатой, оптической, вибрирующей"). Однако поводом к написанию сего опуса и программы послужила случайно попавшаяся на глаза статья на THG.RU ("Разгоняем мышь: как увеличить частоту USB в четыре раза"). Безусловно, идея разгона правильная, потому что истинная :) и сомнениям подвергаться не может, как бы не злопыхали апологеты номиналов :) Но вот конкретная реализация – только под Windows XP SP2 и путем хака (или патча, кому как больше нравится) системного файла – удовлетворительной признана быть не может.

реклама

Краткая теория разгона.

USB мыши, как и любые другие устройства на USB шине, работают согласно стандарту этой самой шины (было бы удивительно, если бы это было не так). Стандарт же сообщает нам, что USB шина – это хост-управляемая поллинговая (опросная) шина с периодом опроса устройств в 1 миллисекунду (по версии USB1.1). Следовательно, максимально достижимая частота опроса USB мышей – 1000 опросов в секунду. Однако стандарт уточняет, что низкоскоростные (Lowspeed) устройства, к которым мыши обычно и относятся, должны запрашивать опрос не чаще, чем раз в 10 командных циклов шины, что они и делают (соблюдая стандарт).

Внимательный читатель заметит, что 10 командных циклов по 1 миллисекунде каждая даст частоту опроса в 100 раз за секунду. Почему же USB мыши по умолчанию дают частоту опроса 125? Дело в том, что драйвера хост-контроллера, писанные MS, устанавливают частоту опроса устройства по значениям степени двойки, округляя запрошенное устройством (точнее его драйвером) значение в меньшую сторону, причем в диапазоне от 1 до 32. (Стандарт USB шины позволяет запросить интервалы опроса в любое число от 1 до 255). Следовательно, запрошенный период в 10 циклов округляется до 8, что и дает искомые 125 опросов в секунду.

С номиналом функционирования устройства мы разобрались, разберемся теперь, почему возможен разгон. Как уже было сказано выше, желаемый период опроса (сообщаемый устройством) не обязательно равняется устанавливаемому (действительному) для него. Поэтому, заставив драйвер (либо самого устройства, либо хост-контроллера) запросить меньший период опроса, мы тем самым поднимем частоту опроса устройства. Патч, описанный на THG, исправляет драйвер хост-контроллера так, что он для всех низкоскоростных устройств (не только мышей) программирует хост-контроллер в более высокую частоту. Мы же пойдем другим путем – заставим драйвер самого устройства запрашивать нужную нам частоту.

Удаление значений реестра UpperFilters и LowerFilters очень часто является исправлением для нескольких различных проблем с оборудованием, которые генерируют коды ошибок диспетчера устройств в Windows.

Удаление из реестра значений UpperFilters и LowerFilters должно занять не более 10 минут.

Мы создали это пошаговое руководство, которое сопровождает руководство «Как удалить значения реестра UpperFilters и LowerFilters». В этом процессе есть несколько очень подробных шагов, каждый из которых включает реестр Windows. Этот визуальный учебник должен помочь прояснить любую путаницу и помочь вам быстрее удалить эти элементы из реестра.

Возможно, вам придется переустановить все программы, связанные с устройством, для которого вы удаляете значения UpperFilters и LowerFilters . Например, если вы удалите эти значения для своего DVD-привода, вам, возможно, придется переустановить программное обеспечение для записи DVD-дисков. Это не большая проблема, но вы должны быть осведомлены, прежде чем продолжить.

Откройте диалоговое окно «Выполнить»

В этом пошаговом руководстве демонстрируется этот процесс в Windows 10, но в Windows 8, Windows 7, Windows Vista и Windows XP можно выполнить эти шаги практически точно. Мы будем выявлять любые различия по мере прохождения учебника.

Открыть редактор реестра

В текстовом поле «Выполнить» введите regedit и нажмите ENTER .

Команда regedit откроет программу редактора реестра, которая используется для внесения изменений в реестр Windows.

Если вы используете Windows 10, 8, 7 или Vista, вам может потребоваться ответить Да на любые вопросы контроля учетных записей , прежде чем откроется редактор реестра.

Изменения в реестре Windows сделаны как часть этого руководства. Чтобы избежать серьезных системных проблем, убедитесь, что вы вносите только изменения, описанные в этом пошаговом руководстве. Если вам неудобно вносить изменения в реестр или вас беспокоит ошибка, мы рекомендуем создать резервную копию ключей реестра, с которыми мы работаем. Вы увидите ссылку на инструкции по выполнению этого, когда мы достигнем этих шагов.

Нажмите на HKEY_LOCAL_MACHINE

После открытия редактора реестра найдите куст реестра HKEY_LOCAL_MACHINE .

Разверните улей HKEY_LOCAL_MACHINE , щелкнув > слева от значка папки. В Windows XP это будет символ (+) .

Перейдите к HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class

Продолжайте расширять разделы реестра и подразделы, пока не дойдете до ключа HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class .

Нажмите один раз на клавишу Класс . Редактор реестра должен выглядеть как на скриншоте выше.

Если вы будете осторожны и создадите резервные копии ключей реестра, с которыми работаете в этом руководстве (которое мы рекомендуем), то ключ Class предназначен для резервного копирования. См. Как сделать резервную копию реестра Windows для помощи.

Разверните ключ реестра классов

Разверните раздел реестра Class , щелкнув > слева от значка папки. Как и раньше, в Windows XP это будет символ (+) .

Теперь вы должны увидеть длинный список подразделов в Class .

Каждый из этих 32-значных ключей уникален и соответствует определенному типу оборудования в диспетчере устройств. На следующем шаге вы выясните, в каком из этих аппаратных классов искать значения реестра UpperFilters и LowerFilters .

Определите и нажмите на правильный класс GUID

Каждый из этих длинных загадочных разделов реестра, которые вы видите в разделе Class , соответствует глобальному уникальному идентификатору (GUID), представляющему определенный тип оборудования на вашем компьютере.

Что вам нужно сделать, это выяснить GUID для типа оборудования, для которого вы видите код ошибки диспетчера устройств. Вы можете сделать это, ссылаясь на этот список:

GUID класса устройства для популярных типов оборудования

Как только вы определите правильный GUID, нажмите один раз на соответствующий раздел реестра. Нет необходимости расширять этот ключ.

Многие из этих GUID выглядят одинаково, но они определенно не являются. Все они уникальны. Это может помочь узнать, что во многих случаях разница между GUID и GUID заключается в первом наборе цифр и букв, а не в последнем.

Найдите значения UpperFilters и LowerFilters

Теперь, когда выбран раздел реестра, соответствующий классу оборудования (как вы определили на последнем шаге), вы должны увидеть несколько значений реестра справа.

Среди нескольких показанных значений найдите одно с именем UpperFilters и одно с именем LowerFilters . Если у вас есть только один или другой, это нормально. (Нет необходимости выбирать их, как мы делали на скриншоте выше. Это просто для вызова значений.)

Если вы не видите ни одно из значений реестра, то тут делать нечего, и, очевидно, это решение не поможет решить вашу проблему. Еще раз проверьте, что вы выбрали правильный класс устройства и выбрали правильный раздел реестра. Если вы уверены, что у вас есть, вам нужно попробовать другое решение.

Ваш реестр также может иметь значение UpperFilters.bak и/или LowerFilters.bak в дополнение к UpperFilters и LowerFilters значения. Если это так, не беспокойтесь об этом. Нет необходимости удалять их. Ничто не повредит их удалению, но и не исправит возникшую проблему.

Удалить значение UpperFilters

Нажмите правой кнопкой мыши значение реестра UpperFilters и выберите Удалить .

Если у вас нет значения UpperFilters , перейдите к шагу 10.

Подтвердите удаление значения UpperFilters

После удаления значения реестра UpperFilters вы увидите диалоговое окно.

Выберите Да для «Удаление определенных значений реестра может привести к нестабильности системы. Вы уверены, что хотите удалить это значение навсегда?» .

Удалить значение LowerFilters

Щелкните правой кнопкой мыши значение реестра LowerFilters и выберите Удалить .

Если у вас нет значения LowerFilters , перейдите к шагу 12.

Подтвердите удаление значения LowerFilters

После удаления значения реестра LowerFilters вы снова увидите диалоговое окно.

Как и в случае с UpperFilters , выберите Да для «Удаление определенных значений реестра может вызвать нестабильность системы. Вы уверены, что хотите удалить это значение навсегда?» вопрос.

Закрыть редактор реестра

Убедитесь, что не существует ни параметра реестра UpperFilters , ни параметра реестра LowerFilters .

Закройте редактор реестра.

Перезагрузите компьютер

Вы внесли изменения в реестр Windows, поэтому, чтобы убедиться, что ваши изменения вступили в силу в Windows, вам необходимо правильно перезагрузить компьютер.

Подождите, пока Windows перезагружается

Подождите, пока Windows полностью перезагрузится.

На следующем шаге мы увидим, действительно ли удаление значений UpperFilters и LowerFilters из реестра принесло свои плоды.

Смотрите, если удаление этих значений реестра решило проблему

Теперь пришло время проверить, решило ли вашу проблему удаление значений реестра UpperFilters и LowerFilters .

Скорее всего, вы проходите этот учебник, потому что удаление этих значений является вероятным решением кода ошибки диспетчера устройств, которое вы исследовали после того, как какая-то часть оборудования перестала работать должным образом.

Как я упоминал в первом шаге, вам может потребоваться переустановить программы, связанные с устройством, для которого вы удалили значения UpperFilters и LowerFilters . Например, если вы удалили эти значения для своего привода DVD, возможно, вам придется переустановить программное обеспечение для записи DVD.

Код ошибки остался или у вас все еще есть проблемы с оборудованием?

Если удаление UpperFilters и LowerFilters не сработало, вернитесь к информации об устранении неполадок для своего кода ошибки и перейдите к другим идеям. Большинство кодов ошибок диспетчера устройств имеют несколько возможных решений.

Describes the architecture of the USB function stack.

On a USB device, the USB function stack refers to a group of drivers that are enumerated by the Plug and Play Manager, when ACPI creates a USB device physical device object (PDO).

In a single configuration device, a USB device can define one or more interfaces. For example, the Media Transfer Protocol (MTP) for transferring files to and from the device. A composite USB device can support multiple interfaces in a single configuration. The USB function stack creates PDOs for each interface and PnP Manager loads the class driver that creates the function device object (FDO) for that interface.

The USB function stack is conceptualized in this image:

usb function stack.

Applications and Services

  • All user-mode requests are sent to the Microsoft-provided kernel-mode class driver GenericUSBFn.sys. You can create a user-mode service that communicates with GenericUSBFn.sys by sending I/O control codes (IOCTLs) as defined in genericusbfnioctl.h. For more information about these IOCTLs see Communicating with GenericUSBFn.sys from a user-mode service

USB function class driver

A USB function class driver implements the functionality of a specific interface (or group of interfaces) on the USB device. MTP and IpOverUsb are examples of system-supplied class drivers. The class driver may be implemented purely as a kernel-mode driver, or it may be a user-mode service paired with the system-supplied class driver GenericUSBFn.sys.

A function class driver sends requests to the controller by using USB function class driver to UFX programming interfaces.

USB function class extension (UFX)

The USB function class extension (UFX) is a system-supplied extension to Kernel-Mode Driver Framework (KMDF). USB is a standard bus and has some required functionality and capabilities. UFX is responsible for implementing USB function logic that is common to all USB function controllers and handling and/or dispatching requests from USB function class drivers. In particular, UFX handles the process of enumerating the device and processing standard control transfers. To perform some of these operations, UFX needs to know about the capabilities of the bus. Those capabilities are reported to UFX when the class-extension interface is established.

UFX exposes standard IOCTLs that the upper layers (USB function class driver and user mode services) can use to send requests to the controller. Additionally, UFX notify upper layers about the standard requests received from the host.

USB function client driver

UFX provides an abstracted interface that works consistently across different controllers. However, controllers have different capabilities, with limitations such as the number of endpoints, the types of endpoints, low power, remote wake-up. For example, certain controllers support DMA, while others do not. Some controllers implement streams in the hardware while other controllers expect the driver to handle streams. For these reasons, only common functionality is handled in UFX. Transfers, power management, stream support, and other features which vary from controller to controller are handled by the client driver.

The USB function client driver is responsible for implementing controller-specific operations. These include implementing endpoint data transfers, USB device state changes (reset, suspend, resume), attach/detach detection, port/charger detection. The client driver is also responsible for handling power management, and PnP events.

Microsoft provides in-box function client drivers (UfxChipidea.sys, Ufxsynopsys.sys) for ChipIdea and Synopsys controllers.

USB lower filter driver

A USB lower filter driver supports detection of chargers if the function controller uses the in-box Synopsys and ChipIdea drivers. The filter driver manages USB charging starting from USB port detection. t must publish a GUID for each charger type it supports, and a list of that charger’s properties. If a specific charger is configurable, the lower USB filter driver defines a list of supported PropertyIDs and their corresponding value types that can be sent to it, to configure the charger. The driver also notifies the battery stack when it can begin charging and the maximum amount of current the device can draw. For client drivers other than Synopsys and ChipIdea drivers, charging logic can be implemented in the client driver.

A function class driver sends request to UFX by using Programming interfaces for supporting proprietary chargers.

Читайте также: