Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Структури даних для використання системних функцій

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
АСУ

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системне програмування

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра АСУ Звіт до лабораторної роботи №2 з курсу « Системного програмування» на тему «Структури даних для використання системних функцій» Львів 2014 Тема – структури даних для використання системних функцій. Мета – навчитися будувати структури даних для використання функцій Win32 API при програмуванні в операційній системі Windows. ТЕОРЕТИЧНІ ПОЛОЖЕННЯ Для використання більш складних функцій API необхідно використовувати спеціальні структури даних. Вся концепція програмування в WINDOWS основана на чіткому впорядкуванні структур даних, пов'язаних із ними програм-функцій та констант-параметрів. Дані, що пов'язані з виконанням одної функції об'єднуються в блок певної довжини (він називається структурою). Елементами таких структур можуть бути інші структури і т.д. Існують структури загального користування, які не пов'язані з конкретною функцією API, а містять довідкову інформацію про систему, файли, користувача, тощо. Дані, що зберігаються в цих структурах постійно змінюються і деколи їх неможливо передбачити. Тому для отримання цих даних не можна користуватися звичайними командами читання з пам’яті типу “mov”. Перед користуванням такою динамічною інформацією необхідно перевірити, чи готова інформація для споживання. Щоб уникнути некоректності при умові паралельного виконання процесів кожне звернення до системної інформації необхідно регіструвати. Тому фактично існує два типа функцій API: а) функції, які виконують будь-яку дію; б) функції, які отримують будь-яку інформацію. У даній лабораторній роботі треба отримати та розшифрувати одну з таких довідкових структур, яка містить інформацію про системний час. Для виклику довільної довідкової функції необхідно вказати адресу місця в пам'яті, куди буде записана довідкова структура. Цю адресу, як параметр функції, завжди перед викликом функції треба опустити в стек. В лабораторній роботі необхідно також звернути увагу на те, що в програмі можна використовувати не лише функції API, але і функції різних мов програмування. Для цього необхідно, щоб в системі були присутні відповідні DLL-файли. Наприклад, можна викликати функцію виводу wsprintf, яка використовується в мові C. Ця функція передає управління до функції _wsprintfA, що міститься у файлі USER32.DLL. Функції такого типу можуть не звільняти після свого виконання стек. В такому випадку програміст сам повинен про це подбати. Отже, оскільки кожний параметр у стеку займає 4 байти, то після виклику такої функції необхідно записати add esp,4*N, де N – кількість параметрів для виконання функції (див. текст програми). Завдання Вивести інформацію про локальні диски або локальний час Код: (INC файл) include kernel32.inc include user32.inc includelib IMPORT32.LIB MB_OK equ 0h ; кнопка ОК MB_OKCANCEL equ 1h ; -\\- OK та Cancel MB_ABORTRETRYIGNORE equ 2h ; итп. MB_YESNOCANCEL equ 3h MB_YESNO equ 4h MB_RETRYCANCEL equ 5h MB_ICONHAND equ 10h ; іконка у вигляді стоп сигнала MB_ICONQUESTION equ 20h ; іконка "?" MB_ICONEXCLAMATION equ 30h ; Іконка "!" MB_ICONASTERISK equ 40h ; іконка з знаком "і" MB_ICONERROR equ MB_ICONHAND ; то саме, що MB_ICONHAND MB_ICONINFORMATION equ MB_ICONASTERISK ; то саме, що MB_ICONASTERISK MB_ICONSTOP equ MB_ICONHAND ; то саме, що MB_ICONHAND MB_ICONWARNING equ MB_ICONEXCLAMATION; то саме, що MB_ICONEXCLAMATION IDOK equ 1 ; якщо ОК IDCANCEL equ 2 ; якщо відміна (Cancel) IDABORT equ 3 ; ітп IDRETRY equ 4 IDIGNORE equ 5 IDYES ...
Антиботан аватар за замовчуванням

09.04.2015 00:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини