| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > исходник драйвера с критическими секциями |
| Автор: AugMaster 16.7.2009, 23:47 |
| заделитесь плз кто-нибудь любым рабочим исходником драйвера с использованием критических секций. При разработке столкнулся с необходимостью их использования,но как только я в глобальные переменные добавляю CRITICAL_SECTION CriticalSect; то мне сразу DDK отвечает 1>d:\winddk\3790.1830\driver.c(88) : error C2061: syntax error : identifier 'CriticalSect' 1>d:\winddk\3790.1830\driver.c(88) : error C2059: syntax error : ';' п.с. Теоретикам просьба не беспокоить. Нужен компилящийся DDK любой исходник драйвера,хоть "хелло ворлд", все равно,лишь бы с крит.секцией |
| Автор: REZiaMIX 17.7.2009, 02:02 |
| Как я понял , в DDK нету готовых критических секций. http://forum.vingrad.ru/forum/topic-28108.html можно немного подчерпнуть по этой теме. |
| Автор: AugMaster 17.7.2009, 02:43 |
| читал :( |
| Автор: jonie 17.7.2009, 08:07 |
| так откуда в ядре критические секции-то.. гугли по словам: KeWaitForSingleObject, KeInitializeEvent, IoCreateSynchronizationEvent, IoCreateNotificationEvent, KeSetEvent, KeClearEvent, KeResetEvent, KeReadStateEvent, KeInitializeSemaphore, KeReleaseSemaphore, KeReadStateSemaphore, KeWaitForMultipleObject и т.д. |
| Автор: AugMaster 18.7.2009, 14:29 | ||
| то есть если я в инициализации драйвера вкину строку KeInitializeMutex(&RulesMutex, 0); объявив перед этим в глобальных переменных драйвера KMUTEX RulesMutex; то используя связку
я в итоге получу желаемую критическую секцию,просто под другим именем и с другой структурой ? и вопрос №2 - поможет ли мутекс, если у меня 2(4,8)-ядерный процессор (я так понимаю что по логике поможет) |