Windows API - это системный интерфейс программирования в семействе операционных систем Microsoft Windows,включая Windows 2000,Windows XP,Windows Server 2003,Windows 95,Windows 98,Windows Millenium Edition (Me) и Windows Ce.Каждая операционная система реализует разное подмножество Windows API. До появления 64-разрядных версий операционных систем Windows назывался Win32 API,чтобы отличать его от исходного 16-разрядного Windows API. Windows API включает тысячи вызываемых функций,которые сгруппированы
в следующие основные категории:
базовые сервисы (Base Services) сервисы компонентов (Component Services) сервисы пользовательского интерфейса (User Interface Services) сервисы графики и мультимедиа (Graphics and Multimedia Services) коммукационное взаимодействие и совместная работа (Messaging and Calloboration) сети (Networking) веб-сервисы (Web Services)
.NET Framework состоит из библиотеки классов,называемой
Framework Class Library (FCL),и общеязыковой исполняемой среды (Common Language Runtime,CLR),которая предоставляет среду для выполнения управляемого кода с такими возможностями,как компиляция по требованию (just-in-time compilation),верификация типов,сбор мусора и защита по правам доступа кода (code access security).Благодаря этому CLR создаёт среду разработки,которая повышает продуктивность труда программистов и уменьшает вероятность появления распространённых ошибок программирования. CLR реализована
как классический COM-сервер,код которой хранится в стандартной Windows DLL пользовательского режима.Фактически все компоненты .NET Framework реализованы как стандартные Windows DLL пользовательского режима,занимающие уровень поверх неуправляемых функций Windows API.Никакие компоненты .NET Framework не работают в режиме ядра.
DLL-библиотеки Windows API ---------------------------------------------------------------------------------------------------------------------
Режим ядра Ядро Windows ---------------------------------------------------------------------------------------------------------------------
WinFX - "новый Windows API".Это результат эволюционного развития .NET Framework.WinFX можно установить в Windows XP и Windows server 2003,2008.WinFX образует фундамент для приложений следующего поколения,создаваемых для операционной системы Windows.
Интересно,что поначалу Win32 не рассматривался как интерфейс программирования для Microsoft Windows NT.Поскольку проект Windows NT начинался как замена OS/2 версии 2,основным интерфейсом программирования был 32-разрядный OS/2 Presentation Manager API.Однако год спустя на рынке появилась Microsoft Windows 3.0,быстро ставшая очень популярной.В результате Microsoft сменила курс и перенацелила проект Windows NT на будущую замену семейства продуктов Windows,а не OS/2.Вот на этом перепутье
и встал вопрос о создании Windows API - до этого Windows API существовал только как 16-разрядный интерфейс. Хотя в Windows API должно было появится много новых функций,отсуствующих в Windows 3.1,Microsoft решила сделать новый API по возможности совместимым с именами функций,семантикой и типами данных в 16-разрядном Windows API,чтобы максимально облегчить бремя переноса существующих 16-разрядных Windows-приложений в Windows NT.Поэтому тот,кто,впервые глядя на Windows API,удивляется,почему многие имена
и интерфейсы функций кажутся противоречивыми,должен учитывать,что одной из причин такой противоречивости было стремление сделать Windows API совместимым со старым 16-разрядным Windows API.