| На сайте описаны функции операционной системы Microsoft Windows 2000, позволяющие создавать высокопроизводительные и надежные серверные приложения. Менеджер управления службами, контроль производительности и системных событий, асинхронный ввод-вывод, система безопасности и защищенное взаимодействие приложений обеспечат надежную и эффективную работу ваших приложений в качестве служб операционной системы 24 часа в сутки 7 дней в неделю. |
Обязательный материал
Отказоустойчивость и аккуратность кодаМасштабируемость и производительност
Администрирование
Безопасность
Необходимость служб
Ввод-вывод и межпотоковое взаимодействие
Открытие и закрытие устройств
Флаги кэширования функции CreateFile
Прочие флаги функции CreateFile
Флаги атрибутов файла
Работа с файлами
Получение размера файла
Перемещение указателя файла
Реализация синхронного ввода-вывода
Сброс данных на устройство
Основы асинхронного ввода-вывода
Структура OVERLAPPED
Некоторые особенности асинхронного ввода-вывода
Отмена стоящих в очереди запросов ввода-вывода
Сигнализация объекта ядра, управляющего устройством
Сигнализация объекта ядра, управляющего событиями
Оповестительный ввод-вывод
Плюсы и минусы оповестительного ввода-вывода
Порты завершения ввода-вывода
Создание порта завершения ввода-вывода
Связывание устройства с портом завершения ввода-вывода
Порт завершения ввода-вывода
Как порт завершения ввода-вывода управляет пулом потоков
Сколько потоков в пуле?
Эмуляция завершения запросов ввода-вывода
Демонстрационное приложение FileCopy
Приложения-службы
Службы
Принципы взаимодействия со службами WindowsМодульный компонент Services
Общие параметры
Параметры регистрации
Параметры восстановления
Параметры зависимости
Net.exe и SC.exe
Структура приложений-служб Windows
Основная функция процесса: (w)main или (w)WinMain
Функция ServiceMain
Функция HandlerEx
Управляющие коды и оповещение о состоянии
Коды, требующие оповещения о состоянии
Вопросы, связанные с взаимодействием потоков
Проблемы, связанные со службами
Учетная запись конкретного пользователя или LocalSystem?
Подраздел реестра для конкретного пользователя или LocalSystem?
Защита объектов ядра
Диалоговые службы, оконные станции и рабочие столы
Отладка службы
Демонстрационное приложение-служба TimeService
Демонстрационное приложение TimeClient
Программы управления службами
Добавление службы в базу данных SCM
Удаление службы из базы данных SCM
Запуск и управление службой
Настройка службы
Блокировка базы данных SCM
Дополнительные функции программы управления службами
Приложение SuperSCP
Администрирование
Системный реестрСтруктура системного реестра
Соглашения по работе с реестром
Параметры реестра специфичные для компьютера
Параметры реестра специфичные для пользователя
Функции для работы с реестром
Открытие разделов реестра
Создание разделов реестра
Перебор разделов реестра
Работа со значениями реестра
Приложение RegScan
Хранение данных в системном реестре
Удаленный доступ к реестру
Эффективное использование реестра
Уведомления об изменениях в реестре
Приложение RegNotify
Очистка реестра
Дополнительные функции для работы с реестром
Регистрация событий
Журнал событий
Сообщение о событиях
О каких событиях стоит сообщать?
Сообщения о событиях
Файлы сообщений
Создание DLL- и ЕХЕ-файлов сообщений
Компиляция сообщений
Файл ресурсов
Создание проекта файла сообщений с помощью Visual Studio
Приложение MsgTableDump
Демонстрационное приложение AppLog
Чтение регистрационных файлов
Преобразование идентификатора сообщения в текст
Уведомления о событиях
Демонстрационное приложение EventMonitor
Мониторинг производительности
Мнения о мониторинге производительности
Мониторинг производительности с точки зрения пользователя
Мониторинг производительности с точки зрения разработчика
Архитектура объектов измерений и счетчиков производительности
Сбор данных о производительности
Структуры данных информации о производительности
Отладка DLL счетчика производительности
Приложение HWInputMonitor
Класс CPerfData
Использование класса CPerfData
Windows Management instrumentation
Служба управления Windows
Диспетчер объектов CIM
Репозиторий CIM
Компоненты доступа WMI
Управляемые объекты
Управляющие приложения
Схема
Эволюция названия WMI
Инструментальные средства WMI
WMI CIM Studio
Компилятор MOF
Организация данных WMI
Оперативные данные
Настроечные данные
Статистические данные
Данные за прошлое время
Основные классы WMI, относящиеся к службам
CMI_ManagedSystemElement
Win32_BaseService
Win32_Service
CMI_ServiceAccessPoint
CIM_Setting
CIM_Statisticallnformation
Классы ассоциаций
Классы установки программного обеспечения
События
Публикация события
Подписка на события
Доставка событий
TimeServiceProvider: пример компонента доступа WMI
Выбор предоставляемой информации
Интегрирование компилятора MOF в Visual Studio
Использование WMI Provider Code Generator Wizard
Изменение созданного мастером кода
Развертывание компонента TimeServiceProvider
Постоянные параметры конфигурации
Безопасность
Управление доверенными объектамиЧто такое доверенные объекты?
Инструментальные средства управления безопасностью в Windows 2000
Администрирование учетных записей доверенных объектов
Введение в Net-функции
Создание учетных записей доверенных объектов
Задание сведений о пользователе и группе
Перечисление пользователей и групп
Удаление пользователей и групп
Управление составом групп
Функция NetUserGetLocalGroups
Введение в идентификаторы безопасности
Создание SID
Преобразование имен и двоичных SID доверенных объектов
Получение двоичного SID учетной записи доверенного объекта
Получение имени учетной записи доверенного объекта
Копирование SID
Преобразование текстовых и двоичных SID
Введение в привилегии и права учетных записей
Функции LSA
Перечисление привилегий
Привилегии определенного доверенного объекта
Доверенные объекты, обладающие определенной привилегией
Назначение и отзыв привилегий
Почему необходимо создавать доверенные объекты
Демонстрационное приложение TrusteeMan
Контроль доступа
Введение в контроль доступа
Защищаемые объекты
Обзор прав доступа
Дескриптор защиты
ACL, АСЕ и DACL
Проверки доступа
Защита нестандартных или закрытых объектов
Защита в Windows
Контроль доступа к реестру
Контроль доступа к NTFS-разделу жесткого диска
Терминология контроля доступа
Основные этапы выполнения задач защиты
Получение информации о защите объекта
Исследование списка разграничительного контроля доступа
Элементы контроля доступа
Права доступа
Стандартные права доступа
Специальные права
Базовые права и стандартная защита
Приложение AccessMaster
Настройка защиты объекта
Создание списка разграничительного контроля доступа
Пример модификации DACL
Варианты реализации контроля доступа
Защита закрытых объектов
Служба RoboService
Аудит и системный список контроля доступа
Некоторые замечания о программировании контроля доступа
Управление памятью
Повторное использование кода
Используйте стандартную и унаследованную защиту
Аутентификация и содержимое маркера
Обзор перевоплощения
Контекст пользователя и контроль доступа
Считывание информации маркера
Изменение привилегий маркера
Выполнение кода с использованием маркера
Перевоплощение
Заимствование прав подключенного пользователя
Удаление привилегий
Добавление ограниченных SID
Защищенный обмен данными
Шифрование с симметричным ключом
Цифровые сертификаты
Протокол Kerberos
Аутентификация по протоколу Kerberos
Реквизиты, контексты и блобы
Логическая основа SSPI
Входные и выходные буферы
Роль сервера в аутентификации
CryptoAPI
Открытие хранилища сертификатов с помощью CryptoAPI
Чтение содержимого сертификата
Шифрование и дешифрация сообщений
Обработка запроса на повторное согласование
Демонстрационное приложение SSLChat
Шифрование и защита — не синонимы
Применение защищенного обмена данными
Поиск и устранение проблем, связанных с SSL
SSL и перевоплощение
SSL — это поток
Работа с протоколом SSL через SSPI
Программирование для SSL
Поиск сертификата
Получение сертификата
Хранилища сертификатов
Демонстрационное приложение SSPIChat
Подпись и шифрование сообщений
InitializeSecurityContext и буферы
Последовательные вызовы InitializeSecurityContext
Роль клиента в аутентификации
SSPI на стороне сервера
Разработка программ для защищенного обмена данными
Security Support Provider Interface (SSPI)
Обзор API
Протоколы защиты
Шифрование с асимметричным (открытым) ключом
Шифрование
Отключение SID
Ограниченные маркеры
Запрос маркера с помощью функции Logon User
Задание стандартного DACL
Изменение информации маркера
Приложение TokenMaster
Программирование контекста пользователя