Форум программистов, компьютерный форум, киберфорум
Программирование драйверов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872

Как можно отлаживать драйвер под Windows XP на машине с Microsoft Visual C++ 6.0?

22.10.2025, 19:47. Показов 1067. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У нас возникла потребность исправить драйвер нашего железа, который был создан 20 лет тому назад с помощью среды разработки Microsoft Visual C++ 6.0. Очевидцы процесса отладки драйвера утверждают, что отладка драйвера происходила на двух машинах под управлением Windows XP, соединенных COM-портом. Я нашел на Хабре способ отладки драйвера с помощью виртуальной машины в VirtualBox: Отладка драйверов под Windows: VirtualBox+WinDbg. Но там не использовался Microsoft Visual C++ 6.0, а у нас драйвер и его сборка произведены именно на этой среде разработке. Выходит, для отладки драйвера на Microsoft Visual C++ 6.0 необходимо использовать две машины, соединенные по COM-портам? И где про это можно почитать?
В нашей документации по драйверу (внутри компании) написано:
Полезные и нужные вещи:
1. Microsoft Visual C++ 6.0
2. Microsoft Visual Studio .Net (не обязательно, но он круче)
3. Microsoft Visual Source Safe – VSS
4. DDK
5. SDK (вроде без нее не компиляет, хотя не уверен).
6. ddkbuild.bat – командный файл для облегчения компиляции драйвера.
7. Debug Viewer – позволяет просматривать тестовые сообщения посланные драйвером через функцию DbgPrint.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2025, 19:47
Ответы с готовыми решениями:

Где можно найди и скачать драйвер(windows xp) Nvidia Gefore GT 520MX???
всем доброго времени суток. Где можно найди и скачать драйвер(windows xp) Nvidia Gefore GT...

Lenovo Y550 где можно скачать драйвер для чипсета на ноутбук Windows 7/64 bit?
Народ, может кто знает, где можно скачать драйвер для чипсета на ноутбук Lenovo Y550, OS Windows...

Как можно определить какой это драйвер?
Как можно определить какой это драйвер??? :...

13
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
25.10.2025, 12:51
Цитата Сообщение от Rasool Посмотреть сообщение
Но там не использовался Microsoft Visual C++ 6.0, а у нас драйвер и его сборка произведены именно на этой среде разработке.
Студия VC не для тестов, а для сборки исходников.
Да и по ссылке видимо не отладка, а скорее компиляция драйвера (без загрузки в память).
Для дебага готового бинаря, вам нужно найти вход в "DriverEntry" вашего драйвера, и установить на него брейк.
В WinDbg для этого имеется команда !drvobj 3 с аргументом в виде имени пациента, например:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
0: kd> !drvobj disk 3
Driver object (fffffa8004952060) is for:  \Driver\Disk
Device object list:  fffffa8004954060  fffffa8004953060
 
DriverEntry:   fffff8800192d06c  disk!GsDriverEntry   <---------------//
DriverStartIo: 00000000
DriverUnload:  fffff88001955c90  CLASSPNP!ClassUnload
AddDevice:     fffff88001957f20  CLASSPNP!ClassAddDevice
 
Dispatch routines:
[00] IRP_MJ_CREATE                      fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[01] IRP_MJ_CREATE_NAMED_PIPE           fffff80002a6e408        nt!IopInvalidDeviceRequest
[02] IRP_MJ_CLOSE                       fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[03] IRP_MJ_READ                        fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[04] IRP_MJ_WRITE                       fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[05] IRP_MJ_QUERY_INFORMATION           fffff80002a6e408        nt!IopInvalidDeviceRequest
[06] IRP_MJ_SET_INFORMATION             fffff80002a6e408        nt!IopInvalidDeviceRequest
[07] IRP_MJ_QUERY_EA                    fffff80002a6e408        nt!IopInvalidDeviceRequest
[08] IRP_MJ_SET_EA                      fffff80002a6e408        nt!IopInvalidDeviceRequest
[09] IRP_MJ_FLUSH_BUFFERS               fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[0a] IRP_MJ_QUERY_VOLUME_INFORMATION    fffff80002a6e408        nt!IopInvalidDeviceRequest
[0b] IRP_MJ_SET_VOLUME_INFORMATION      fffff80002a6e408        nt!IopInvalidDeviceRequest
[0c] IRP_MJ_DIRECTORY_CONTROL           fffff80002a6e408        nt!IopInvalidDeviceRequest
[0d] IRP_MJ_FILE_SYSTEM_CONTROL         fffff80002a6e408        nt!IopInvalidDeviceRequest
[0e] IRP_MJ_DEVICE_CONTROL              fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[0f] IRP_MJ_INTERNAL_DEVICE_CONTROL     fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[10] IRP_MJ_SHUTDOWN                    fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[11] IRP_MJ_LOCK_CONTROL                fffff80002a6e408        nt!IopInvalidDeviceRequest
[12] IRP_MJ_CLEANUP                     fffff80002a6e408        nt!IopInvalidDeviceRequest
[13] IRP_MJ_CREATE_MAILSLOT             fffff80002a6e408        nt!IopInvalidDeviceRequest
[14] IRP_MJ_QUERY_SECURITY              fffff80002a6e408        nt!IopInvalidDeviceRequest
[15] IRP_MJ_SET_SECURITY                fffff80002a6e408        nt!IopInvalidDeviceRequest
[16] IRP_MJ_POWER                       fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[17] IRP_MJ_SYSTEM_CONTROL              fffff880019329e0        CLASSPNP!ClassGlobalDispatch
[18] IRP_MJ_DEVICE_CHANGE               fffff80002a6e408        nt!IopInvalidDeviceRequest
[19] IRP_MJ_QUERY_QUOTA                 fffff80002a6e408        nt!IopInvalidDeviceRequest
[1a] IRP_MJ_SET_QUOTA                   fffff80002a6e408        nt!IopInvalidDeviceRequest
[1b] IRP_MJ_PNP                         fffff880019329e0        CLASSPNP!ClassGlobalDispatch
 
0: kd>
Поскольку теперь у вас есть адрес "объекта устройства" драйвера (см.строку(3) в логе),
вы можете посмотреть и его позицию в стеке - сверху от стрелки "Upper", а снизу "Lower" девайсы:

Code
1
2
3
4
5
6
7
8
9
10
11
0: kd> !devstack fffffa8004953060
 
  !DevObj            !DrvObj           !DevExt            ObjectName
  fffffa8004953b20   \Driver\partmgr   fffffa8004953c70
> fffffa8004953060   \Driver\Disk      fffffa80049531b0   DR0
  fffffa8004488580   \Driver\ACPI      fffffa80039a87d0
  fffffa800447f060   \Driver\atapi     fffffa800447f1b0   IdeDeviceP0T0L0-0
 
  DeviceInst  is "IDE\DiskST380215A___3.AAC___\5&171d8404&0&0.0.0"
  ServiceName is "disk"
0: kd>
Как найдёте точку-входа и соберёте базовую инфу, дальше как обычно по шагам в WinDbg на хосте, для контроля работы драйвера. Схемы VBox+WinDbg для этого достаточно, т.е. не обязательно иметь 2 соединённые com-шнурком физ.машины.
0
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
01.11.2025, 17:37  [ТС]
Как можно включить отладчик ядра в Windows XP, который бы принимал сообщения от функции DbgPrint в драйвере и посылал бы их по COM-порту в другой компьютер? Нагуглил команду bcdedit, но она работает только в Windows Vista и выше.
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
01.11.2025, 18:38
Rasool, посмотрите здесь: WinDBG - отладчик ядерного уровня

Добавлено через 2 минуты
Цитата Сообщение от Rasool Посмотреть сообщение
от функции DbgPrint в драйвере и посылал бы их по COM-порту в другой компьютер?
не знаю как на счёт другого узла, но на том-же можно через указанный вами софт "Debug Viewer"
1
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
05.11.2025, 22:17  [ТС]
Я попробовал сделать отладку через COM-порты на двух компьютерах под Windows XP. На целевом компьютере, чтобы ввести компьютер в режим отладки, добавил ключ /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 в файл boot.ini в строке Windows XP, после этого пропал драйвер COM-порта из диспетчера устройств этого компьютера и пропала связь через COM-порт.

Добавлено через 2 часа 33 минуты
Цитата Сообщение от R71MT Посмотреть сообщение
Rasool, посмотрите здесь: WinDBG - отладчик ядерного уровня
Запустил на машине, подключенной к нашему оборудованию, на VirtualBox Windows XP, успешно установил на ней наш драйвер, в диспетчере устройств ошибок драйвера не было, то есть драйвер установился беспроблемно. Скопировал на гостевую машину нашу программу, запустил ее, но связи с оборудованием (железом) так и не получилось установить.
В host-операционной системе в нашей программе связь с железом была.
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
06.11.2025, 06:22
Цитата Сообщение от Rasool Посмотреть сообщение
но связи с оборудованием (железом) так и не получилось установить.
Проверьте состояние своего драйвера, может ключ /debug останавливает его по какой-то причине.
Для вывода статуса можно использовать или команду в консоли sc (Service Control), или driverquery /v, или мою Утилита "Service & Driver List"

Code
1
2
3
4
5
6
7
8
9
10
11
12
C:\> sc queryex i8042prt   ; <----- Подставьте имя своего драйвера
 
Имя_службы: i8042prt
        Тип                : 1  KERNEL_DRIVER
        Состояние          : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        Код_выхода_Win32   : 0  (0x0)
        Код_выхода_службы  : 0  (0x0)
        Контрольная_точка  : 0x0
        Ожидание           : 0x0
        ID_процесса        : 0
        Флаги              :
Надеюсь "Пакет дополнений" через меню установили на VirtualBox?

Добавлено через 6 минут
Здесь есть все опции для boot.ini: https://droopy.narod.ru/BootIni.htm
1
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
06.11.2025, 17:26  [ТС]
Запускал команду driverquery /v на машине с Windows XP, которая подключена к нашему "железу", она является целевой, то есть подсоединена по COM-порту к другому хост-компьютеру. На этой же машине запущен VirtualBox с гостевой системой Windows XP. Эта же ОС является хост-системой по отношению к гостевой ОС Windows XP, которая запущена в VirtualBox.

На ОС на машине, подключенной к нашему "железу" без отладочного режима:
Code
1
2
3
Module Name  Display Name           Description            Driver Type   Start Mode State      Status     Разрешать о Разрешать па Paged Pool Code(bytes BSS(by Link Date              Path                                             Init(bytes
============ ====================== ====================== ============= ========== ========== ========== =========== ============ ========== ========== ====== ====================== ================================================ ==========
Serial       Nuvoton Serial driver  Nuvoton Serial driver  Kernel        Manual     Running    OK         TRUE        FALSE        45 056,00  20 480,00  0,00   09.11.2011 13:34:27    C:\WINDOWS\system32\DRIVERS\nuvserial.sys        12 288,00
На ОС на машине, подключенной к нашему "железу" с ключом /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 в файл boot.ini:
Code
1
2
3
Module Name  Display Name           Description            Driver Type   Start Mode State      Status     Разрешать о Разрешать па Paged Pool Code(bytes BSS(by Link Date              Path                                             Init(bytes
============ ====================== ====================== ============= ========== ========== ========== =========== ============ ========== ========== ====== ====================== ================================================ ==========
Serial       Nuvoton Serial driver  Nuvoton Serial driver  Kernel        Manual     Stopped    OK         FALSE       FALSE        45 056,00  20 480,00  0,00   09.11.2011 13:34:27    C:\WINDOWS\system32\DRIVERS\nuvserial.sys        12 288,00
На гостевой ОС в VirtualBox:
Code
1
2
3
Module Name  Display Name           Description            Driver Type   Start Mode State      Status     Разрешать о Разрешать па Paged Pool Code(bytes BSS(by Link Date              Path                                             Init(bytes
============ ====================== ====================== ============= ========== ========== ========== =========== ============ ========== ========== ====== ====================== ================================================ ==========
Serial       Serial                 Serial                 Kernel        Auto       Stopped    OK         FALSE       FALSE        30 208,00  12 032,00  0,00   14.04.2008 1:15:44     C:\WINDOWS\system32\drivers\Serial.sys           9 344,00
Как можно запустить в Windows XP драйвер COM-порта, который остановлен, то есть у него Status в режиме Stopped?
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
06.11.2025, 17:52
Цитата Сообщение от Rasool Посмотреть сообщение
Как можно запустить в Windows XP драйвер
sc start MyService - запустите утилиту sc без параметров, и она сдампит хелп.
Если драйвер не запустится через start, посмотрите там-же его зависимости EnumDepend, и запустите сначала их.
1
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
06.11.2025, 20:08  [ТС]
Результат запуска команды sc:
Code
1
2
3
4
5
6
7
8
9
SERVICE_NAME: Serial
DISPLAY_NAME: Nuvoton Serial driver
        TYPE               : 1  KERNEL_DRIVER 
        STATE              : 1  STOPPED 
                                (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 1077   (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
sc start Serial - не сработало, выдает ошибку:
Code
1
[SC] StartService FAILED 1058:
Информация из ответа ИИ Google: Ошибка StartService FAILED 1058 означает, что службу невозможно запустить, потому что она отключена или не связана с ней устройства. Чтобы исправить эту ошибку, необходимо найти службу, открыть ее свойства и изменить тип запуска с "Отключена" на другой, например, "Автоматически" или "Вручную". После этого попробуйте запустить службу снова.

Запуск команды sc config Serial start= auto выдало:
Code
1
[SC] ChangeServiceConfig SUCCESS
После этого запуск команды: sc start Serial выдало:
Code
1
[SC] StartService FAILED 1058:
Запуск команды sc EnumDepend Serial выдало:
Code
1
Enum: entriesRead  = 0
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
07.11.2025, 06:33
Схема "Клиент-Сервер" настроена для отладки? То-есть WinDbg на хосте видит клиента VirtualBox?
Если да, то проверьте состояние своего Serial.sys послав ему команду !drvobj serial 3
Code
1
2
3
4
5
6
7
8
0: kd> !drvobj serial 3
Driver object (fffffa8004ac4ba0) is for:  \Driver\Serial
Device object list:  fffffa8004c4d070  fffffa8004c24070
 
DriverEntry:   fffff88002c71650  serial!GsDriverEntry
DriverStartIo: 00000000
DriverUnload:  fffff88002c64dd8  serial!SerialUnload     <----------//
AddDevice:     fffff88002c65ad4  serial!SerialAddDevice
Ошибка 1058 может появиться, когда в драйвере криво реализована отмеченная стрелкой процедура DriverUnload(). Видимо сейчас ключ /DEBUG останавливает ваш драйвер, но он не выгружается из памяти. Тогда система присваивает ему статус "Отмечен на удаление при сл.перезагрузке" - драйверы с таким флагом вы не сможете загрузить повторно, и спасёт только ребут. Это касается и ситуации, когда при попытке выгрузить драйвер, у него остаётся хоть один открытый дескриптор Handle (т.е. его кто-то открыл и не закрыл). Здесь можно покрутить параметр sc failure xx.

Проверить состояние можно командой WinDbg lmsm или lmm s*, где (s*) представляет маску имени для поиска. В самом хвосте лога будут перечислены выгруженные Unloaded из памяти драйвера:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0: kd> lm m s*
start              end                 name
-----------------  -----------------   --------------------
fffff880`01900000  fffff880`01908000   spldr      (deferred)
fffff880`02b0b000  fffff880`02b3c000   srvnet     (deferred)
fffff880`02b4e000  fffff880`02bb6000   srv2       (deferred)
fffff880`02c59000  fffff880`02c76000   serial     (pdb symbols)   c:\symbols\serial.pdb
fffff880`03449000  fffff880`034e0000   srv        (deferred)
fffff880`03c67000  fffff880`03c73000   serenum    (deferred)
fffff880`03dfa000  fffff880`03dfb480   swenum     (deferred)
 
Unloaded modules:
fffff880`034e0000  fffff880`03551000   spsys.sys   <-------------//
 
0: kd>
Ещё можно вкл.рубильник "Auto" в реестре - он имеет глобальное действие.
Находим свой дров в HKLM\SYSTEM\CurrentControlSet\services, и в ключе "Start" ставим значение(2). Если рядом есть "Depend", то задаём Start=2 всем из его списка. Теперь подключите заранее свой девайс, и далее ребут системы. Проверяем статус в sc, и если по прежнему ошибка 1058, возможно драйвер типа KMDF, и тогда его нужно переписать на WDM. Последнее касается только WinXP, т.к. она вроде не может дебажить архитектуру KMDF (на хосте должна быть как мин Win7). Узнать модель драйвера можно в IDA по списку импорта - если это KMDF, то функции начинаются с префикса Wdf_xx().

А вообще какая конечная цель, ..что в итоге вы хотите сделать?
Есть конкретное ТЗ?
0
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
07.11.2025, 17:49  [ТС]
Цитата Сообщение от R71MT Посмотреть сообщение
А вообще какая конечная цель, ..что в итоге вы хотите сделать?
Есть конкретное ТЗ?
На данный момент мы обнаружили косяк в драйвере нашего устройства (связь с нашим устройством осуществляется через плату на ISA-интерфейсе). Драйвер был написан и скомпилирован 20 лет назад. У нас есть в наличии:
1. Microsoft Visual C++ 6.0
2. DDK – Device
3. SDK (вроде без нее не компиляет, хотя не уверен).
4. ddkbuild.bat – командный файл для облегчения компиляции драйвера.
5. Debug Viewer – позволяет просматривать тестовые сообщения посланные драйвером через функцию DbgPrint.
6. Программа TerminalTMB v2.25.exe, которая проверяет связь по COM-порту.
Кроме того, есть два компьютера, на которых установлены Windows XP и которые соединены по COM-порту.
Косяк нужно устранить. Исходные коды драйвера на C++ успешно билдятся, но полученный файл драйвера MyDriver.sys после установки не работает вместе с программой драйвера (кстати, он отличается по объему от старого файла драйвера, который сейчас установлен в нашей системе).
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
07.11.2025, 18:47
Цитата Сообщение от Rasool Посмотреть сообщение
MyDriver.sys после установки не работает вместе с программой драйвера
Софт на стороне юзера пробовали отлаживать в OllyDbg или x32Dbg? Так например узнаете, открывает-ли функция CreateFile() девайс драйвера, принимает-ли он команды от DeviceIoControl(), что именно возвращает, и многое другое.

С другой стороны, т.к. у вас имеется исходник драйвера, то просто напихайте в его критические участки функций DbgPrint() (благо на их кол-во нет ограничений), после чего в окне "DebugView" получите подробный лог событий. Как найдёте ошибку, эту дебаг-функцию можно будет обратно удалить. А тяжёлую артиллерию WinDbg оставьте на крайний случай, когда все остальные варианты будут уже испробованы.
1
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
11.11.2025, 15:18  [ТС]
Цитата Сообщение от R71MT Посмотреть сообщение
С другой стороны, т.к. у вас имеется исходник драйвера, то просто напихайте в его критические участки функций DbgPrint() (благо на их кол-во нет ограничений), после чего в окне "DebugView" получите подробный лог событий.
Спасибо, все заработало. Оказывается, достаточно было запустить DebugView на той машине, где производится отладка, и не нужны для этого COM-порты, другие компьютеры и VirtualBox. Не сразу догадался.
0
-41 / 297 / 4
Регистрация: 02.04.2009
Сообщений: 872
12.11.2025, 18:37  [ТС]
Вот процедура DriverEntry в головном файле проекта MyDriver.c:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
NTSTATUS
DriverEntry(
    IN PDRIVER_OBJECT  DriverObject,
    IN PUNICODE_STRING RegistryPath
    )
{
    UNREFERENCED_PARAMETER (RegistryPath);
    DbgPrint("WDM: Entered Driver Entry\n");  
    //
    // Create dispatch points for the IRPs.
    //
    DriverObject->MajorFunction[IRP_MJ_CREATE]         = MyDispatchCreateClose;
    DriverObject->MajorFunction[IRP_MJ_CLOSE]          = MyDispatchCreateClose;
    DriverObject->DriverUnload                         = MyUnload;
    DriverObject->MajorFunction[IRP_MJ_PNP]            = MyDispatchPnp;
    DriverObject->MajorFunction[IRP_MJ_POWER]          = MyDispatchPower;
    DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = MyDispatchControl;
    DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = MyDispatchSystemControl;
    DriverObject->DriverExtension->AddDevice           = MyAddDevice;
 
    return STATUS_SUCCESS;
}
В DebugView не доходит до вывода отладочной информации “WDM: Entered Driver Entry". При запуске нашей прикладной программы происходит попытка обращения к драйверу, вот лог из DebugView:
Code
1
2
3
4
5
00000001    0.00000000  [272] Attempting to open InpOut driver...   
00000002    0.00008465  [272] Successfully opened   
00000003    0.00015505  [272] inpout32  
00000004    0.00022657  [272]  driver   
00000005    2.95394397  [272] Closing InpOut driver...
Что тут можно сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2025, 18:37
Помогаю со студенческими работами здесь

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

Драйвер видеокарты Ati Radeon HD 2600 pro для Windows Server 2003 x64
Помогите найти драйвер видеокарты Ati Radeon HD 2600 pro под Win Serv 2003 X64 Нажму &quot;Спасибо&quot; )

Драйвер для Windows x64
У меня стоит видеокарта msi n240gt-md512 Скиньте ссылку на драйвер для этой видюхи под Windows xp...

Драйвер для неизвестного устройства ACPI\ATK0110\1010110 на Windows XP
Нужен драйвер для Неизвестное устройство ACPI\ATK0110\1010110 на XP если не трудно ссылку киньтте...

Аудио драйвер ACER Extensa 5235 - Windows XP
Всем здрасте!:) У меня ноутбук ACER Extensa 5235 - Windows XP Вообщем, нет звука... драйвера...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru