Win 7 ddk provider что это
У нас Windows 10-64.
Так выглядят в Панель управления\Программы\Программы и компоненты
Установлен у меня в C:\WinDDK\7600.16385.1
Открывается консоль, где и надо ввести build (в каталоге вашего проекта). Процесс сборки выглядит примерно так:
Для x64 входим через C:\Windows\System32\cmd.exe /k C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ fre x32-64
Далее просто пробуем написать простейший kernel драйвер
На самом деле в дальнейшем в этой ветке сайта мы будем заниматься UMDF драйверами, но для проверки первого драйвера подвернулся пример driver.sys (kernel драйвер, драйвер уровня ядра)
Для варианта сборки x86 пробуем зарегистрировать драйвер
Для варианта сборки amd64 получаем
Теперь по другому пробуем проверить запущен ли все-таки драйвер через программу OSR Driver Loader:
Получается драйвер все-таки запускается несмотря на ругань по поводу сертификата.
Смотрим например еще так :
Отладка
У нас на сайте см. отдельный раздел по отладке драйверов.
990x.top
Простой компьютерный блог для души)
DeviceDisplayObjectProvider.exe что за процесс и почему грузит процессор?
Приветствую друзья! Сегодня на повестке дня у нас разбирательство с процессом DeviceDisplayObjectProvider.exe, моя задача — узнать максимум инфы и написать все простыми словами.
DeviceDisplayObjectProvider.exe — что это такое?
Системный процесс, который может появляться после открытия окошка Устройства и принтеры. Может соединяться с интернетом для обновления каких-то эскизов.
Также может появляться на пару секунд при подключении какого-то устройства. Некоторые заблокировали доступ в сеть, после чего полет нормальный.
Живет в этой папке:
А если вы его заметили в другой папке, например AppData, Roaming, то это спокойно может быть вирус.
Еще DeviceDisplayObjectProvider.exe может быть в папке:
Но как я понимаю, это не рабочая его папка, там только копия (кстати других процессов тоже).
Процесс DeviceDisplayObjectProvider.exe на чистой Windows 10
Я установил чистую Windows 10, решил посмотреть — будет ли этот процесс и если да, то где.
Начал искать. И что интересно — значит на тестовом ПК, там стоит Windows 10 версия 1909 — файла нет:
Потом проверил на рабочем ПК, версия 10.0 (точнее билд 10240) — и здесь файла тоже нет. Поэтому честно говоря я не знаю присутствует ли он вообще в Windows 10, но.. вывод можно сделать такой — на версии 1909 его нет точно, в билде 10240 — тоже, искал не один раз, поэтому если у вас одна из таких операционок и файл есть — тогда я бы посоветовал проверить ПК на вирусы.
Вот нашел картинку:
Это Windows 7, возможно процесс только в семерке и бывает?
DeviceDisplayObjectProvider.exe — вирус?
Разумеется — нет. Это процесс системный, то есть часть операционки, но именно поэтому под него и могут в теории маскироваться вирусы.
Поэтому если у вас есть сомнения, или если DeviceDisplayObjectProvider.exe грузит сильно ПК, ест много оперативы — да, стоит комп проверить на вирусы следующими утилитами:
Кстати, если у вас вдруг нет антивируса, то советую установить бесплатную версию Kaspersky Free. Работает шустро (было время тестировал), вирусы находит, базы обновляет.
Как исправить Devcon.exe (бесплатная загрузка)
Последнее обновление: 07/01/2021 [Требуемое время для чтения: 3,5 мин.]
Файл devcon.exe считается разновидностью файла Windows Setup API. Наиболее часто он используется в ПО Windows (R) Win 7 DDK driver, разработанном компанией Steganos Software. Он использует расширение EXE и считается файлом Win32 EXE (Библиотека динамической компоновки).
Первая версия devcon.exe для Paragon Backup & Recovery 10.2.1.000 увидела свет 06/30/2017 в Windows 10. Последнее обновление для Steganos Online Shield VPN 2.0.4 состоялось 09/17/2018 [версия файла 6.1.7600.16385 built by: WinDDK].
Ниже приведены подробные сведения, порядок устранения неполадок, возникших с файлом EXE, и бесплатные загрузки различных версий файла devcon.exe.
Рекомендуемая загрузка: исправить ошибки реестра в WinThruster, связанные с devcon.exe и (или) Steganos Online Shield VPN.
Совместимость с Windows 10, 8, 7, Vista, XP и 2000
Средняя оценка пользователей
Обзор файла
Общие сведения ✻ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Имя файла: | devcon.exe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Расширение файла: | расширение EXE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Описание: | Windows Setup API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Тип объектного файла: | Dynamic link library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файловая операционная система: | Windows NT 32-bit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Тип MIME: | application/octet-stream | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пользовательский рейтинг популярности: |
Сведения о разработчике и ПО | |
---|---|
Разработчик ПО: | Windows (R) Win 7 DDK provider |
Программа: | Windows (R) Win 7 DDK driver |
Авторское право: | © Microsoft Corporation. All rights reserved. |
Сведения о файле | |
---|---|
Набор символов: | Unicode |
Код языка: | English (U.S.) |
Флаги файлов: | Private build |
Маска флагов файлов: | 0x003f |
Точка входа: | 0x66f3 |
Размер кода: | 28160 |
Информация о файле | Описание |
---|---|
Размер файла: | 76 kB |
Дата и время изменения файла: | 2020:01:14 14:36:14+00:00 |
Тип файла: | Win32 EXE |
Тип MIME: | application/octet-stream |
Тип компьютера: | Intel 386 or later, and compatibles |
Метка времени: | 2014:11:05 13:16:36+00:00 |
Тип PE: | PE32 |
Версия компоновщика: | 9.0 |
Размер кода: | 28160 |
Размер инициализированных данных: | 50688 |
Размер неинициализированных данных: | 0 |
Точка входа: | 0x66f3 |
Версия ОС: | 6.1 |
Версия образа: | 6.1 |
Версия подсистемы: | 5.1 |
Подсистема: | Windows command line |
Номер версии файла: | 6.1.7600.16385 |
Номер версии продукта: | 6.1.7600.16385 |
Маска флагов файлов: | 0x003f |
Флаги файлов: | Private build |
Файловая ОС: | Windows NT 32-bit |
Тип объектного файла: | Dynamic link library |
Подтип файла: | 0 |
Код языка: | English (U.S.) |
Набор символов: | Unicode |
Наименование компании: | Windows (R) Win 7 DDK provider |
Описание файла: | Windows Setup API |
Версия файла: | 6.1.7600.16385 built by: WinDDK |
Внутреннее имя: | SETUPAPI.DLL |
Авторское право: | © Microsoft Corporation. All rights reserved. |
Название продукта: | Windows (R) Win 7 DDK driver |
Версия продукта: | 6.1.7600.16385 |
✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.
Что такое сообщения об ошибках devcon.exe?
devcon.exe — ошибки выполнения
Ошибки выполнения — это ошибки Steganos Online Shield VPN, возникающие во время «выполнения». Термин «выполнение» говорит сам за себя; имеется в виду, что данные ошибки EXE возникают в момент, когда происходит попытка загрузки файла devcon.exe — либо при запуске приложения Steganos Online Shield VPN, либо, в некоторых случаях, во время его работы. Ошибки выполнения являются наиболее распространенной разновидностью ошибки EXE, которая встречается при использовании приложения Steganos Online Shield VPN.
В большинстве случаев ошибки выполнения devcon.exe, возникающие во время работы программы, приводят к ненормальному завершению ее работы. Большинство сообщений об ошибках devcon.exe означают, что либо приложению Steganos Online Shield VPN не удалось найти этот файл при запуске, либо файл поврежден, что приводит к преждевременному прерыванию процесса запуска. Как правило, Steganos Online Shield VPN не сможет запускаться без разрешения этих ошибок.
К числу наиболее распространенных ошибок devcon.exe относятся:
Не удается запустить программу из-за отсутствия devcon.exe на компьютере. Попробуйте переустановить программу, чтобы устранить эту проблему.
Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.
Поиск причины ошибки devcon.exe является ключом к правильному разрешению таких ошибок. Несмотря на то что большинство этих ошибок EXE, влияющих на devcon.exe, происходят во время запуска, иногда ошибка выполнения возникает при использовании Windows (R) Win 7 DDK driver. Причиной этого может быть недостаточное качество программного кода со стороны Windows (R) Win 7 DDK provider, конфликты с другими приложениями, сторонние плагины или поврежденное и устаревшее оборудование. Кроме того, эти типы ошибок devcon.exe могут возникать в тех случаях, если файл был случайно перемещен, удален или поврежден вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.
Как исправить ошибки devcon.exe — 3-шаговое руководство (время выполнения:
Если вы столкнулись с одним из вышеуказанных сообщений об ошибке, выполните следующие действия по устранению неполадок, чтобы решить проблему devcon.exe. Эти шаги по устранению неполадок перечислены в рекомендуемом порядке выполнения.
Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.
Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):
Если на этапе 1 не удается устранить ошибку devcon.exe, перейдите к шагу 2 ниже.
Шаг 2. Если вы недавно установили приложение Steganos Online Shield VPN (или схожее программное обеспечение), удалите его, затем попробуйте переустановить Steganos Online Shield VPN.
Чтобы удалить программное обеспечение Steganos Online Shield VPN, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):
После полного удаления приложения следует перезагрузить ПК и заново установить Steganos Online Shield VPN.
Если на этапе 2 также не удается устранить ошибку devcon.exe, перейдите к шагу 3 ниже.
Steganos Online Shield VPN 2.0.4
Шаг 3. Выполните обновление Windows.
Когда первые два шага не устранили проблему, целесообразно запустить Центр обновления Windows. Во многих случаях возникновение сообщений об ошибках devcon.exe может быть вызвано устаревшей операционной системой Windows. Чтобы запустить Центр обновления Windows, выполните следующие простые шаги:
Если Центр обновления Windows не смог устранить сообщение об ошибке devcon.exe, перейдите к следующему шагу. Обратите внимание, что этот последний шаг рекомендуется только для продвинутых пользователей ПК.
Если эти шаги не принесут результата: скачайте и замените файл devcon.exe (внимание: для опытных пользователей)
Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.
Win 7 ddk provider что это
Статьи этого раздела описывают примеры и технологию разработки драйверов для ОС Windows XP. Т.е. в каком-то смысле данный материал следует рассматривать как «археологический».
Прежде чем погружаться в дебри программирования драйверов, нам сначало надо подготовить себе среду для работы, подготовить инструментарий так сказать. Наверное, те читатели которые уже пытались побороться с драйверами, слышали о неком DDK или Driver Development Kit, если расшифровать сокращение. Этот DDK и есть то средство без которого мы ничего сделать не сможем. В состав комплекса входят:
Хочу сразу огорчить, сообщив что компилятор DDK не является удобной визуальной средой программирования, как например Visual Studio C++. Общение с ним выливается в работу с командной строкой. И вообще приготовтесь к тому, что программировать драйвера в DDK не самое простое и удобное занятие.
Если Вы еще не передумали бороться с драйверами, то продолжим дальше. Теперь надо этот DDK где-то достать. DDK можно найти в интеренете в свободном виде для скачивания. Однако, размер файла составляет
Обратите внимание! Нам нужен DDK XP, который предназначен для Windows 2000, XP а не DDK 98, который работает для 98, Me.
Итак, надеюсь, что Вы раздобыли диск DDK XP. Теперь давайте установим этот «чудо» программный продукт от Microsoft на свой компьютер.
Вставляем диск (распаковываем скаченный архив), запускаем установку. Должно появиться окошко, показанное ниже. Долго не раздумывая, нажимаем Далее.
Конечно же соглашаемся с лицензионным соглашением и опять нажимаем Далее.
Здесь выбираем путь установки DDK. По умолчанию комплекс уснанавливается в корневой каталог в папку WINDDK. Менять ничего не будем. Ставим как есть. Нажимаем Далее.
Здесь можно управлять комплектацией установки. Обязательно поставьте галочки во всех пунктах утсановки, поскольку исходная конфигурация не предусматривает установку примеров. Нажимаем Далее.
Услужливый инсталятор сообщает нам данные по установке и просит подтверждения. Не будем его задерживать и нажимаем Далее.
После этого начнется процесс копирования файлов.
По завершению установки должно появиться окно, показанное ниже, в котором помимо времени затраченного на установку еще будет сообщение об успешной установке DDK. Нажимаем Готово.
Все. Установка прошла успешно. В меню Пуск по указанному пути должны появиться ссылки на консольные приложения, с помощью которых мы будем в дальнейшем компилировать наш драйвер.
В директории C:\WINDDK\2600.1106\help\ теперь можно найти справочные файлы по DDK, а в C:\WINDDK\2600.1106\src\ находятся примеры готовых драйверов. Можете попробовать на досуге покопаться там. Не волнуйтесь, если у Вас «глаза на лоб вылезли» после погружения в эти папки. Вы не первый и не последний.
Итак, мы сделали первый шаг на пути к освоению программирования драйверов Windows. Теперь у нас есть все необходимые инструменты для работы с драверами на начальном этапе. В следующей части статьи мы начнем писать наш первый драйвер под Windows XP для управления портами.
Простейший WDM-драйвер
В данной статье описан процесс написания простейшего драйвера, который выводит скан-коды нажатых клавиш.
Также в данной статье описан процесс настройки рабочего места для написания драйверов.
Если Вам интересно, прошу под кат.
Подготовка стенда
Установка необходимого ПО для написания простейшего драйвера
Настройка рабочего места
Установка DDK
Установка предельно проста. Единственное на что необходимо обратить внимание — это диалог, в котором Вам предлагается выбрать компоненты, которые будут установлены. Настоятельно рекомендую отметить всю документацию и примеры.
Установка и настройка Microsoft® Visual Studio 2005
Установка и настройка DDKWizard
Установка необходимого ПО для запуска драйверов
Постановка задачи
Задача: написать драйвер, который будет выводить в дебаг скан-коды нажатых клавиш и их комбинаций.
Немного теории
IRP — это структура, которая используется драйверами для обмена данными.
Отличия между верхними и нижними фильтрующими драйверами
Через верхние фильтрующие драйверы проходят все запросы, а это значит, что они могут изменять и/или фильтровать информацию, идущую к функциональному драйверу, ну и далее, возможно, к устройству.
Пример использования верхних фильтрующих драйверов:
Фильтр-хук драйвер, который устанавливает свою хук-функцию для системного драйвера IpFilterDirver, для отслеживания и фильтрации траффика. Такие драйверы используются в брандмауэрах.
Через нижние фильтрующие драйверы проходит меньше запросов потому что большинство запросов выполняет и завершает функциональный драйвер.
Проблемы синхронизации
В драйвере, который мы будем писать, есть несколько «проблемных» секций. Для нашего драйвера вполне достаточно использования ассемблерных вставок:
Префикс lock позволяет безопасно выполнить идущую за ним команду. Она блокирует остальные процессоры, пока выполняется команда.
Экшен
Для начала необходимо включить заголовочные файлы «ntddk.h», «ntddkbd.h»
Также необходимо описать структуру DEVICE_EXTENSION
Объект pLowerDO это объект устройства, который находится ниже нас в стеке. Он нужен нам для того чтобы знать кому дальше отправлять IRP-пакеты.
Еще для работы нашего драйвера нам нужна переменная, в которой будет храниться количество не завершенных запросов.
Начнем с функции, которая является главной точкой входа нашего драйвера.
theDriverObject – объект драйвера, содержит указатели на все необходимые операционной системе функции, которые мы должны будем инициализировать.
ustrRegistryPath – имя раздела в реестре, где хранится информация о данном драйвере.
Для начала необходимо объявить и обнулить переменные:
Далее, как я и писал выше, нужно инициализировать указатели на функции
Функция DispatchRead будет обрабатывать запросы на чтение. Она будет вызываться, когда нажата или отпущена клавиша клавиатуры.
Функция DriverUnload вызывается, когда драйвер уже не нужен и его можно выгрузить из памяти, или когда пользователь сам выгружает драйвер. В данной функции должна производиться «зачистка», т.е. освобождаться ресурсы, которые использовались драйвером, завершаться все незавершенные запросы и т.д.
Функция DispatchThru это функция-заглушка. Все что она делает это передача IRP-пакета следующему драйверу (драйверу который находится под нашим в стеке, т.е. pLowerDO из DEVICE_EXTENSION ).
Далее мы вызываем нашу функцию, для создания и установки нашего устройства в стек устройств:
Эта функция создает объект устройства, настраивает его и включает в стек устройств поверх \\Device\\KeyboardClass0
pKeyboardDevice – это объект устройсва, которое мы должны создать.
Вызываем IoCreateDevice для создания нового устройства
Флаги, которые мы устанавливаем для нашего устройства, должны быть эквивалентными флагам устройства, поверх которого мы включаемся в стек.
Далее мы должны выполнить преобразования имени устройства, которое мы включаем в стек.
Функция IoAttachDevice внедряет наше устройство в стек. В pdx->pLowerDO будет храниться объект следующего (нижнего) устройства.
Далее разберем функцию DispatchRead с прототипом:
Данная функция будет вызываться операционной системой при нажатии или отпускании клавиши клавиатуры
Увеличиваем счетчик незавершенных запросов
Перед тем как передать запрос следующему драйверу мы должны настроить указатель стека для драйвера. IoCopyCurrentIrpStackLocationToNext копирует участок памяти, который принадлежит текущему драйверу, в область памяти следующего драйвера.
Когда запрос идет вниз по стеку в нем еще нет нужных нам данных, поэтому мы должны задать функцию, которая вызовется, когда запрос будет идти вверх по стеку с нужными нам данными.
где ReadCompletionRoutine наша функция.
Передаем IRP следующему драйверу:
Структура PKEYBOARD_INPUT_DATA используется для описания нажатой клавиши.
Проверяем, удачно завершен запрос или нет
Узнаем количество клавиш
И выводим каждую клавишу:
И не забываем уменьшать количество не обработанных запросов
Возвращаем статус запроса
Разберем функцию завершения работы. Прототип:
Извлекаем устройство из стека:
Проверяем есть незавершенные запросы или нет. Если мы выгрузим драйвер без этой проверки, при первом нажатии на клавишу после выгрузки будет БСоД.
Как запустить драйвер и просмотреть отладочную информацию
Для запуска драйвера я использовал утилиту KmdManager. Для просмотра отладочной информации использовалась утилита DbgView.
P. S. Статью писал давно, ещё на третьем курсе, сейчас уже почти ничего не помню. Но если есть вопросы, постараюсь ответить.
P. P. S. Прошу обратить внимание на комментарии, в частности на этот
- Как называется фобия боязнь улыбок
- Как навесить косилку на мотоблок