BigEdu.ru

Розробка служби Win32

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»

ФІЗИКО-ТЕХНІЧНИЙ ІНСТИТУТ

КУРСОВА РОБОТА

з дисципліни «Системне програмування»

на тему

« Розробка служби Win32 »

Виконав: студент IV курсу ФТІ групи ФБ-21

Ігнатьєв Сергій Ігорович

Київ 2009


Зміст курсової роботи

1. Завдання на курсову роботу

2. Ідея розв’язку задачі та теоретичне обгрунтування її вибору

3. Опис функцій, які використовувалися для програмної реалізації служби

Висновки

Література

Програмна реалізація


1. Завдання на курсову роботу

Розробити службу Win32, яка перевантажує комп’ютер не відразу, а через деякий час, щоб користувач міг завершити почату роботу.


2. Ідея розв’язку задачі та теоретичне обгрунтування її вибору

2.1 Теоретичні відомості

Служби – це життєво важлива і разом з тим таємнича частина Windows. Якщо раніше ви вже працювали з Windows або адміністрували системи працюючі під цією ОС, то мабуть ви вже зустрічалися зі службами. Що ж це таке? Сама проста відповідь: служба – це програма, яка працює не в контексті користувача. Іншими словами, служби продовжують працювати тоді, коли один користувач відключається від системи і до неї підключається інший користувач. Служби – це єдина категорія програм, які можуть робити в такому режимі.

В Windows служби використовуються для розв’язку багатьох важних задач, наприклад, існує служба, яка дозволяє вам підключатися до комп’ютера, очевидно, що така програма повинна продовжувати працювати навіть в випадку коли до системи не підключено ні одного користувача. Інші служби забезпечують сумісний доступ до диску і принтеру, а також являються допоміжними по відношенню до драйверів дискових пристроїв.

З точки зору програміста, служби – це звичайні програми, які мають засіб зв’язку з диспетчером служб SCM (ServiceControlManager). Диспетчер SCM – це внутрішній механізм Windows, який здійснює керування службами. В WindowsNT 4 користувач взаємодіє з SCM за допомогою аплету ServicesControlPanel. В Windows 2000 ту ж функцію виконує один із модулів консолі ММС. Список функцій які зв’язані зі службами, приведений в таблиці 1.

Як і будь-яка інша консольна програма, служба має функцію main. Одна програма може забезпечити роботу одної служби, а може включати в себе зразу декілька служб. Функція main заповнює масив, який описує всі служби, які підтримує програма. Масив передається службою StartServiceCtrlDispatcher. Для кожної служби, яка входить в склад файла, який використовується, цей масив містить текстовий ідентифікатор і точку входу.

Точка входу служби нагадує собою функцію main. Це функція, яка приймає звичайні аргументи argcіargv.

Таблиця 1. Функції служб.

Функція Призначення
ChangeServiceConfig Змінити конфігурацію
ChangeServiceConfig2 Змінити додаткову конфігурацію (Win2000)
CloseServiceHandle Закриває службу або дескриптор SCM
ControlService Посилає службі керуючий запит
CreateService Створює службу
DeleteService Видаляє службу
EnumDependentServices Визначає служби, які потребує та чи інша служба
EnumServicesStatus Послідовно перебирає служби в базі даних SCM
GetServiceDisplayName Повертає ім’я дисплея
GetServiceKeyName Повертає ключ реєстру для даної служби
LockServiceDatabase Блокує базу даних SCM
OpenSCManager Відкриває SCM
OpenService Відкриває існуючу службу
QueryServiceConfig Повертає конфігурацію служби
QueryServiceConfig2 Повертає додаткову конфігурацію служби (Win2000)
QueryServiceLockStatus Повертає інформацію про статус блокування SCM
QueryServiceObjectSecurity Повертає інформацію про захист служби
QueryServiceStatus Повертає стан служби
RegisterServiceCtrlHandler Реєструє функцію керування службою
SetServiceBits Настроює прапори, які пов’язанні зі службою
SetServiceObjectSecurity Настроює захист доступу до служби
SetServiceStatus Встановлює стан служби
StartService Запускає службу
StartServiceCtrlDispatcher Реєструє службу в SCM
UnlockServiceDatabase Деблокує базу даних SCM

В процесі звернення SCM до функції, яка є точкою входу служби, важливу роль грає структура SERVICE_STATUS. Більшість служб зберігають статичну копію цієї структури і відновлюють її в випадку необхідності. Функція, яка є точкою входу, використовує виклик RegisterServiceCtrlHandler для того, щоб зареєструвати обробник, який призначений для взаємодії SCM зі службою. Крім цього підпрограма ініціалізації служби звертається до виклику SetServiceStatus для того, щоб проінформувати SCM про поточний

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ» ФІЗИКО-ТЕХНІЧНИЙ ІНСТИТУТ КУРСОВА
Оценок: 1001 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru