Привет всем! У меня при вызове KeWaitForMultipleObjects в DriverUnload (при выгрузке драйвера) следующим образом падает система (BSOD) с ошибкой MAXIMUM_WAIT_OBJECTS_EXCEEDED (0xC). KeWaitForMultipleObjects(EVENT_COUNT, (PVOID*)events, WaitAll, Executive, KernelMode, FALSE, NULL, NULL); EVENT_COUNT при этом равен 2. events объявляю так: KEVENT *events[EVENT_COUNT]; инициализирую в так: for (int i = 0; i < EVENT_COUNT; i++) { events = (KEVENT*)ExAllocatePool(NonPagedPool, sizeof(KEVENT)); if (events) { KeInitializeEvent(events, NotificationEvent, TRUE); } } Кто-нибудь знает, почему так происходит?
Попробуй создать вспомогательный буфер, как написано в DDK. Он вроде бы должен существовать для трех событий, но там кто его знает