Пытаюсь в Xp из драйвера записать в память с помощью mmMapIoSpace. На сайте Microsoft нашел только краткое описание этой функции. После загрузки синий экран не появляется, но и по указанному адресу ничего не меняется-( Код (Text): VOID *Mem; char *Byt; PHYSICAL_ADDRESS Padd; DbgPrint("Start"); Padd.LowPart = 0xC8000; Mem = MmMapIoSpace( Padd, 1, MmNonCached ); Byt = (char*)Mem; if (*Byt) *Byt = 0x00; else *Byt = 0xFF; MmUnmapIoSpace( Mem, 1 ); В чем проблема не понимаю, подскажите пожалуйста. Заранее спасибо-)
Код (Text): invoke MmMapIoSpace, 0, 0C8000h, 1, MmNonCached Всё работает, пишется. Там у меня значение D[0x0C8000] = 0xF000E816 Щас ты скажешь что устройство не реагирует
Вот, вот-) А когда я смотрю что записано по этому адресу там одни ff. Наверно я что-то не так делаю-( А что значит 0 после mmMapIoSpace там же по моему тока 3 параметра?
Пытался вывести через DbgPrint значение в Mem все читается. А вот при записи ничего не происходит, т.е. значение Mem остается таким же как и до попытки записи-( В чем ошибка? Или для записи нужно использовать еще какие нибудь функции?