Windows API
Интерфейс прикладного программирования API (Application Program Interface) – это набор функций, принадлежащих ядру (или надстройкам) операционной системы, который используется прикладными и системными программами как в составе операционной системы, так и в составе системы программирования.
Все API можно разделить на три класса:
· API как интерфейс высокого уровня, принадлежащий к библиотекам RTL (Run Time Library – библиотека времени выполнения);
· API прикладных и системных программ, входящих в поставку операционной системы;
· Прочие интерфейсы API.
Библиотека RTL включает в себя стандартные подпрограммы, которые система программирования поставляет на этапе компиляции. В общем случае это не только модули системы программирования, но и модули операционной системы.
В Windows API имеется множество как самых незаметных, так и значительных отличий от других API, таких как POSIX API, с которым знакомы программисты, работающие в UNIX и Linux. Многие системные ресурсы Windows представляются в виде объектов ядра(kernel objects), для идентификации и обращения к которым используются дескрипторы(handles). По смыслу эти дескрипторы аналогичны дескрипторам (descriptors) файлов и идентификаторам (ID) процессов в UNIX.
Существует точка зрения, что Windows – это всего лишь API операционной системы, предоставляющий набор средств для решения пользовательских задач.
Любые манипуляции с объектами ядра осуществляются только с использованием Windows API. "Лазеек" для обхода этого правила нет. Подобная организация работы согласуется с принципами абстрагирования данных, используемыми в объектно-ориентированном программировании, хотя сама система Windows объектно-ориентированной не является.
К объектам относятся файлы, процессы, потоки, каналы межпроцессного взаимодействия, объекты отображения файлов, события и многое другое. Объекты имеют атрибуты защиты.
Windows – богатый возможностями и гибкий интерфейс. Во-первых, одни и те же или аналогичные задачи могут решаться с помощью сразу нескольких функций; так, имеются вспомогательные функции (convenience functions), полученные объединением часто встречающихся последовательностей функциональных вызовов в одну функцию (к числу подобных функций принадлежит и функция CopyFile, используемая в одном из примеров далее). Во-вторых, функции часто имеют многочисленные параметры и флаги, многие из которых обычно игнорируются.
Windows предлагает многочисленные механизмы синхронизации и взаимодействия, обеспечивающие удовлетворение самых разнообразных запросов.
Базовой единицей выполнения в Windows является поток (thread). В одном процессе (process) могут выполняться один или несколько потоков.
Для функций Windows используются длинные описательные имена. Приведенные ниже в качестве примера имена функций иллюстрируют не только соглашения об использовании имен, но и многоликость функций Windows:
Дата добавления: 2014-12-13; просмотров: 1069;