Я пишу в буфер пространства пользователя из драйвера уровня ядра (из функциональности IOControl), и мне нужно убедиться, что программа/служба пользовательской земли не будет перезаписывать буфером или прочитать его перед тем, как драйвер завершит запись на него.Глобальный критический раздел Windows Kernel-уровня
Есть ли способ (и если да, что является предпочтительным способом) для ввода своего рода «глобальной критической секции» в драйвер ядра в Windows, позволяющий драйверу получить эксклюзивность для обработки в масштабах всей системы для короткое время, чтобы драйвер мог гарантировать исключительный доступ к буферу в пользовательском пространстве?
Чего вы хотите достичь? В ядре Windows нет (экспортированной) глобальной блокировки. Вы можете легко использовать спин-блокировки или мьютексы/и т. Д. в вашем драйвере ядра, если вы этого хотите. – Christopher
Можете ли вы рассказать нам о реальной проблеме, которую вы пытаетесь решить? Есть ли требование в реальном времени в вашем оборудовании? –
Я пишу в буфер, который хранится в пользовательском пространстве от драйвера (из функциональности IOControl), и мне нужно убедиться, что программа/служба пользовательской земли не перезапишет его или не прочитает, прежде чем драйвер завершит работу написав ему. – Qix