Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> исходник драйвера с критическими секциями, подайте плз 
:(
    Опции темы
AugMaster
Дата 16.7.2009, 23:47 (ссылка)  | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 3.8.2006

Репутация: нет
Всего: 1



заделитесь плз кто-нибудь любым рабочим исходником драйвера с использованием критических секций.
При разработке столкнулся с необходимостью их использования,но как только я в глобальные переменные добавляю 
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 любой исходник драйвера,хоть "хелло ворлд", все равно,лишь бы с крит.секцией

Это сообщение отредактировал(а) AugMaster - 16.7.2009, 23:47
PM MAIL   Вверх
REZiaMIX
Дата 17.7.2009, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 3.11.2007

Репутация: нет
Всего: 4



Как я понял , в DDK нету готовых критических секций.
Вот тут можно немного подчерпнуть по этой теме.


--------------------
user posted image
PM MAIL   Вверх
AugMaster
Дата 17.7.2009, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 3.8.2006

Репутация: нет
Всего: 1



читал :(
PM MAIL   Вверх
jonie
Дата 17.7.2009, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



так откуда в ядре критические секции-то.. гугли по словам: KeWaitForSingleObject, KeInitializeEvent, IoCreateSynchronizationEvent, IoCreateNotificationEvent, KeSetEvent, 
KeClearEvent, KeResetEvent, KeReadStateEvent, KeInitializeSemaphore, KeReleaseSemaphore, KeReadStateSemaphore, KeWaitForMultipleObject  и т.д.


Это сообщение отредактировал(а) jonie - 17.7.2009, 08:08


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
AugMaster
Дата 18.7.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 3.8.2006

Репутация: нет
Всего: 1



то есть если я в инициализации драйвера вкину строку 
  KeInitializeMutex(&RulesMutex, 0);
объявив перед этим в глобальных переменных драйвера KMUTEX RulesMutex;
то используя связку
Код

KeWaitForMutexObject(&RulesMutex, Executive, KernelMode, FALSE, NULL);
критичный код
KeReleaseMutex(&RulesMutex, FALSE); 

я в итоге получу желаемую критическую секцию,просто под другим именем и с другой структурой ?
и вопрос №2 - поможет ли мутекс, если у меня 2(4,8)-ядерный процессор (я так понимаю что по логике поможет)


Это сообщение отредактировал(а) AugMaster - 18.7.2009, 14:31
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.