К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

3. Принципы, лежащие в основе Win32 API

Win32 API – набор функций и классов, которые используются для программирования приложений, работающих под управлением ОС Windows .
Рассмотрим основные принципы Windows , которые определяют стиль и методику программирования:

  • Системные ресурсы Windows представляются в виде объектов ядра (kernel object) , для идентификации и обращения к которым используются дескрипторы ( handles ) .
  • Любые манипуляции с объектами ядра ОС осуществляются только с использованием WinAPI .
  • К объектам относятся файлы, процессы, потоки, каналы межпроцессорного взаимодействия, события и др. Объекты имеют атрибуты защиты.
  • Одни задачи могут решаться с помощью разных функций.
  • Имеются вспомогательные функции (convenience function) , полученные объединением часто встречающихся последовательностей функциональных вызовов в одну функцию (например, функция CopyFile ).
  • Функции имеют множество параметров и флагов.
  • Имеются механизмы синхронизации и взаимодействия, обеспечивающие удовлетворение самых разнообразных запросов.
  • Базовой единицей выполнения является поток (thread) .
  • В одном процессе (process) могут выполняться один или несколько потоков
  • Для функций используются длинные описательные имена:
WaitForSingleObject
WaitForSingleObjectEx
WaitForMultipleObjects
  • Имена предопределенных типов данных пишутся прописными буквами:
BOOL
HANDLE
DWORD
LPTSTR
LPSECURITY_ATTRIBUTES
  • В именах переопределенных типов указателей операция * не используется (LPTSTR = TCHAR *)
  • В имена некоторых символических констант входит компонент WIN32 , хотя они используются также и в Win64 (например: WIN32_FIND_DATA).
  • Имеется большое количество «устаревших» (16-разрядных) функций, которые могут быть ошибочно использованы (например, OpenFile - должна использоваться CreateFile).
  • Ориентирован на язык программирования С, не использует классы, ссылки и механизм обработки исключений.
 

 


Предыдущая        В начало страницы       Следующая
3