Господа! Кто знает легальный способ с помощью документированных сервисов ядра (ddk) зарегистрировать обработчик прерывания из драйвера, чтобы приложение (user mode) могло просто вызвать int 0xxx и драйвер выполнил какие-нить действия. Лучше пример или статью) THANX
retmas Примерно так: Код (Text): void int_hook(int num, void *handler, void **old) { IDT_STRUCT Idt; __asm { push ebx push esi cli sidt [Idt] mov esi, handler mov ebx, Idt.Base mov eax, num shl eax, 3 xchg [ebx+eax+0], si rol esi, 16 xchg [ebx+eax+6], si rol esi, 16 mov [old], esi sti pop esi pop ebx } }
Thnx. А как установить, какой вектор свободен?? и разрешит ли винда приложению выполнить инструкцию int 0xxx??
Советую почитать что-нибудь вроде "Процессор I386 в защищенном режиме" и не клянчить ответов на вопросы.