inf158704
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору MERCURY127 в тотал командоре нажми встав на него F3 увидиш список экспортируемых функций... там гдеимпорт экспорт... тут сразу заминка не все фунции которые должен был экспортировать драйвер отобража.ться гдетополовина... как ввести его в систему по простому было на веселчаке, вернись туда и посмотри... отдельный драйвер типа "коврик мышки" с файлом... рекомендованый Они способ несоветую, так какойто затыки он работает только с темд драйвером с которым вврдился, какието заморочки системы ивсе это управляеться какимито запятыми в INF файле... каких функций нехватает в системе помогает определить wdmchek... можно было конечно обойтись без переписывания, для этого установить windows driver model samples через setup с указанием, где у тебя DDKXP и DDK98, софтайс (я пока тоже незнаю как пользоваться им), но там и его можноуказать или не указывать, дальше запустиь 2 батника, VCVARS32.BAT в VC и netddk.bat в samples по крайней мере это все, что я помню из того что я запускал... загрузка проекта через File/Open Workspace command to open the .DSP На самом деле я сам устонавливаю все через шаманство, потому как мало понимаю все это... но могу скинуть тебе все пути которые прописываются в системе, если нужно... я полностью вычищал все функции и оставлял только пару, чтобы ничего не мешало, могу скинуть тебе этот вариат, будет проще понимать в чем суть, без всего лишнего. или по другому... все оставить также как есть, а для эксперимна подправлять в этом месте // Win98 Gold doesn't have WMILIB. It wouldn't do any good anyway, since WMI is broken // due to user-mode bugs. static char *wmilib = "wmilib.sys"; static char* wminames[] = { "WmiSystemControl", "WmiCompleteRequest", }; static WORD wmiordinals[] = { 0, 1, }; static PFN wmiaddresses[] = { (PFN) WmiSystemControl, (PFN) WmiCompleteRequest, }; предварительно подправив условие экспорта этих функций (в книге есть описание гдето в конце) // In win98 gold, define the WMILIB functions if (buildnum < 2222) !!!!!!!!!!!!!!!!!!!!!!!!!В ЭТОМ МЕСТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! { // define wmilib exports if (_PELDR_AddExportTable(&hWmilibExportTable, wmilib, arraysize(wminames), arraysize(wmiaddresses), 0, (PVOID*) wminames, wmiordinals, wmiaddresses, NULL) != 0) { KdPrint((DRIVERNAME " - Can't stub WMILIB functions\n")); UndefineStubs(); } KdPrint((DRIVERNAME " - Stubbing WmiSystemControl and WmiCompleteRequest\n")); } // define wmilib exports // Determine CPU feature flags здесь сделано все намного понятнее чем в основной части. еще одни вилы, в нашем случае ndis в 98 имеет расширение vxd и я опять же не понимаю не помешаиет ли нам это static char *wmilib = "wmilib.sys"; - если я все правильно понимаю это имя списка экспортируемых функций в который будут добавляться наши функции Цитата: и я просто подменил компилятор из 6 студии на хп-ддкашный. | помню я тоже чтото похожее делал когдаиз 98 компилировал... когда на xp проблем нет последняя версия исходников что у меня есть 5.00.006\0 может скинуть пока не поздно? надобы кудато перейти чтобы не засорять ветку | Всего записей: 923 | Зарегистр. 21-08-2011 | Отправлено: 16:07 16-08-2015 | Исправлено: inf158704, 18:35 16-08-2015 |
|