Книга: Системное программирование в среде Windows
Совместное использование объектов ядра приложениями и службами
Совместное использование объектов ядра приложениями и службами
Возможны ситуации, в которых служба и приложения разделяют объект ядра. Например, служба может использовать именованный мьютекс для защиты разделяемой области памяти, используемой для обмена данными с приложениями. Более того, в нашем примере также будет применяться разделяемый объект ядра, которым в данном случае является отображение файла.
Существует одна трудность, связанная с тем, что контекст безопасности приложений отличается от контекста безопасности служб, выполняющихся от имени системной учетной записи. Даже если защита не требуется, было бы нелогично создавать и (или) открывать разделяемые объекты ядра с указателем атрибутов безопасности, установленным в NULL (см. глава 15). Вместо этого необходим, по крайней мере, нулевой список разграничительного контроля доступа (см. главу 15), то есть приложения и служба должны использовать ненулевую структуру атрибутов защиты. В общем случае вы захотите защитить объекты, и этот вопрос также будет рассмотрен в главе 15.
Следует обратить ваше внимание также на то, что если служба выполняется от имени системной учетной записи, то могут возникать трудности с доступом службы к таким ресурсам, как разделяемые файлы, находящиеся на других машинах.
- Написание программ, реализующихслужбы Windows Services: обзор
- Функция main()
- Функции ServiceMain()
- Обработчик управляющих команд службы
- Пример: "интерфейсная оболочка" службы
- Управление службами Windows
- Резюме: функционирование и управление службой
- Пример:команднаяоболочкауправленияслужбами
- Совместное использование объектов ядра приложениями и службами
- Регистрация событий
- Замечания по отладке службы
- Резюме
- Упражнения
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Иерархия объектов в InterBase
- Использование констант
- Использование переменной окружения ISC_PATH
- Использование сервера Yaffil внутри процесса
- Использование CAST() с типами дата
- Имена объектов длиной 68 символов
- Создание объектов Collection
- Использование типов содержимого и столбцов
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
- Использование кнопки Автосумма