- Иллюстрированный самоучитель по программированию систем защиты
- Сетевые API. Стандартный API ввода/вывода Win32. Сетевые API Win32 (Wnet и Net).
- Стандартный API ввода/вывода Win32
- Сетевые API Win32 (Wnet и Net)
- Windows API
- Содержание
- Общие сведения
- Версии
- Технологии, доступные через Windows API
- См. также
- Ссылки
- Литература
Иллюстрированный самоучитель по программированию систем защиты
Сетевые API. Стандартный API ввода/вывода Win32. Сетевые API Win32 (Wnet и Net).
Windows NT реализует несколько сетевых API для обеспечения поддержки сетевых приложений и совместимости с промышленными стандартами. Важно иметь в виду, что решение о том, какое API должно использовать приложение, зависит от характеристик API. Таких характеристик как, например, поддерживает ли API надежное или двунаправленное взаимодействие, над каким протоколом располагается API, переносимость API на другие Windows-платформы, на которых должно исполняться приложение. Итак, Windows NT предоставляет несколько способов получения доступа к сети, то есть несколько механизмов межпроцессных коммуникаций, часть которых описана ниже.
Стандартный API ввода/вывода Win32
Приложения получают доступ к удаленным файлам, используя стандартные Win32-функции ввода/вывода (открытия, закрытия, чтения, записи и т. п). Соответствующие запросы проходят по сети только в том случае, когда файл или устройство находятся на удаленной машине. Как правило, это означает, что имя файла является именем UNC (Uniform Naming Convention, то есть начинается с символов \\), или начинается с буквы, указывающей на диск на удаленной машине. Функции API ввода/вывода Win32, большая часть которых оптимизирована в DLL клиентской стороны, реализуются путем вызова системных сервисов системы ввода/вывода NT, в результате чего диспетчер ввода/вывода посылает пакеты IRP сначала драйверу mup.sys, а затем соответствующему редиректору, взаимодействующему с драйвером файловой системы сервера на сервере.
Сетевые API Win32 (Wnet и Net)
Windows NT обеспечивает множество независимых от сети WNet-функций, которые позволяют работать через провайдеров разных сетей.
Функции этого интерфейса полезны таким приложениям, как File Manager, которые выполняют соединение с удаленными файловыми системами и их просмотр. Функции WNet можно использовать для просмотра файловых систем Microsoft и других файловых систем по сетям LAN Manager, NetWare, VINES и т.д. Вызовы интерфейса API WNet, реализованного в виде DLL, проходят через сетевой компонент, называемый сервисом рабочей станции. Этот сервис – серверный процесс, похожий на защищенную подсистему. Сервис рабочей станции является, в сущности, надстройкой пользовательского режима для редиректора. Он поддерживает API WNet, предоставляет функции конфигурации редиректора и содержит код пользовательского режима для получения статистики редиректора. Когда приложение вызывает функции API WNet, этот вызов в начале поступает сервису рабочей станции, а затем уже к диспетчеру ввода/вывода и далее к редиректору.
Net-функции, предоставляемые сетевым интерфейсом Net, поддерживаются в «сетевой ОС» Microsoft LAN Manager, основанной на OS/2. В Windows NT большая часть сетевой функциональности является встроенной, поэтому некоторые из первоначальных Net-функций уже не поддерживаются. В Windows NT множество Net-функций, предоставляемых библиотекой netapi32.dll, дополняет встроенную сетевую функциональность, не обеспечиваемую другими сетевыми интерфейсами. Например, Net-функции позволяют приложениям взаимодействовать с сервисом рабочей станции, сервисом сервера, сервисом оповещений, сервисом передачи сообщений, репликатором и т. д.
Если существует базовая функция или WNet-функция, требуемая приложению, то лучше использовать ее, чем эквивалентную Net-функцию по двум причинам. Во-первых, WNet-функции являются независимыми от сети, в то время как Net-функции работают только в сетях Microsoft Windows. Во-вторых, некоторые из Net-функций могут быть замещены функциями базовых сетевых интерфейсов или WNet-функциями, и не поддерживаться в будущих версиях Windows NT.
Windows API
Windows API (англ. application programming interfaces ) — общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации «Майкрософт» и совместимой с ними свободной бесплатной операционной системы ReactOS. Является самым прямым способом взаимодействия приложений с Windows и ReactOS. Для создания программ, использующих Windows API, «Майкрософт» выпускает комплект разработчика программного обеспечения, который называется Platform SDK, и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки.
Содержание
Общие сведения
Windows API был изначально спроектирован для использования в программах, написанных на языке Си или C++. Работа через Windows API — это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.
Версии
- Win16 — первая версия Windows API для 16-разрядных версий Windows. Изначально назывался просто Windows API, затем стал называться Win16 для отличия от Win32.
- Win32s — подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x, и реализующее ограниченный набор функций Win32 API для этих систем.
- Win32 — 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в динамически подключаемых библиотеках kernel32.dll и advapi32.dll ; базовые модули графического интерфейса пользователя — в user32.dll и gdi32.dll . Win32 появился вместе с Windows NT и затем был перенесён в несколько ограниченном виде в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля: csrss.exe (процесс исполнения клиент-сервер), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро — ntoskrnl.exe .
- Win64 — 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2008 R2, Windows 7 и Windows 8.
Технологии, доступные через Windows API
Алфавитный список технологий, доступных через Windows API:
- Система контроля и управления доступом.
- Microsoft Active Accessibility.
- Active Directory.
- Active Server Pages.
- ActiveX.
- Автоматизация.
- Фоновая интеллектуальная служба передачи (BITS).
- Bluetooth.
- CDO.
- Certificate Enrollment Control.
- Certificate Services.
- Collaboration Data Objects.
- Component Object Model
- COM Plus.
- Common Controls.
- Криптография.
- Debugging and Error Handling.
- Device I/O.
- Распределённая файловая система.
- DLL, процессы и многопоточность.
- Domain Name System.
- Dynamic Host Configuration Protocol (DHCP).
- Extensible Authentication Protocol (EAP).
- Extensible Markup Language (XML) и парсер MSXML.
- Fax Service.
- Групповая политика.
- HTTP.
- ICS и ICF.
- Image Color Management (ICM)
- Image Mastering API (IMAPI)
- Indexing Service
- Infrared Data Association (IrDa)
- Internet Authentication Service (IAS)
- Internet Connection Sharing and Firewall (ICSF)
- Internet Explorer
- Internet Information Services (IIS)
- Internet Protocol Helper (IP Helper)
- Interprocess Communications
- Lightweight Directory Access Protocol (LDAP)
- LSA Authentication
- LSA Policy
- Memory Management
- Message Queuing (MSMQ)
- Messaging Application Programming Interface (MAPI)
- Microsoft .NET Passport
- Microsoft Agent
- Microsoft Data Access Components (MDAC)
- Microsoft Interface Definition Language (MIDL)
- Microsoft Management Console (MMC)
- Microsoft Transaction Server (MTS)
- Multicast Address Dynamic Client Allocation Protocol (MADCAP)
- Multicast Group Manager
- National Language Support
- NetMeeting
- NetShell
- Network Load Balancing Provider
- Network Management
- Network Monitor
- Network Provider API
- OLE DB
- OLE DB Provider for Internet Publishing
- OnNow
- Open Database Connectivity (ODBC)
- OpenGL
- Password Filters
- PC Health
- Performance Monitoring
- Plug and Play и Universal Plug and Play
- Power Management
- Quality of Service (QoS)
- Real-time Communications (RTC) Client //ссылка ведет не на ту статью
- Remote Access Service (RAS)
- Remote Procedure Call (имеется в виду служба RPC Service)
- Removable Storage Manager (RSM)
- Routing and Remote Access Service (RRAS)
- Routing Table Manager Version 1 (RTMV1)
- Routing Table Manager Version 2 (RTMV2)
- Security Support Provider Interface (SSPI)
- Server Cluster API
- Server Data Objects (SDO)
- Service Security Attachments
- Setup API
- Shell (имеется в виду Explorer Shell)
- Side-by-side Assemblies
- Simple Network Management Protocol (SNMP)
- Smart Card
- Still Image
- Storage и Structured Storage
- Synchronization Manager
- System.DirectoryServices
- System Event Notification Service (SENS)
- System Restore
- Tablet PC
- Task Scheduler
- Telephony Application Programming Interface (TAPI) 2.2
- Telephony Application Programming Interface (TAPI) 3
- Telephony Service Provider Interface (TSPI и MSPI)
- Terminal Services
- Text Services Framework
- Unicode (и MSLU)
- Universal Description, Discovery, and Integration (UDDI)
- Video for Windows
- Windows Clustering
- Windows File Protection
- Windows GDI
- Windows GDI+
- Windows Image Acquisition (WIA)
- Windows Installer
- Windows Management Instrumentation (WMI)
- Windows Multimedia
- Windows Sockets
- Windows System Information
- Windows User Interface
- Winlogon и Gina
- WinSNMP
См. также
- DirectX
- Microsoft .NET
- Wine — свободная кроссплатформенная реализация Windows API.
- Window class
- svchost.exe
- WinMain
Ссылки
Литература
- Гэри Неббет Справочник по базовым функциям API Windows NT/2000 = Windows NT/2000 Native API Reference. — М .: «Вильямс», 2002. — С. 528. — ISBN 1-57870-199-6
Графика | Проводник Windows • DirectX • Direct3D • GDI • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component |
---|---|
Звук | DirectSound • DirectMusic • XACT • Speech API • MME |
Мультимедиа | DirectShow • Windows Media • Media Foundation |
Веб | MSHTML • MSXML • Платформа RSS для Windows • JScript • ActiveX • XMLHttpRequest • Гаджеты |
Доступ к данным | Компоненты Microsoft Data Access • Extensible Storage Engine • ADO.NET • Sync Framework • Jet-механизм |
Сети | Winsock (LSP) • Filtering Platform • NDIS • Windows Rally • Сервис фоновой интеллектуальой передачи данных • P2P API |
Коммуникации | TAPI |
Администрирование | Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows |
Модель компонентов | COM • COM+ • DCOM • .NET Framework |
Библиотеки | Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Base Class Library (BCL) |
Разработка драйверов | Windows Driver Model • Windows Driver Foundation (KMDF • UMDF) |
Безопасность | CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface |
.NET | .NET Framework • ASP.NET • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA Framework • Silverlight • Библиотека параллельного программирования |
Межпроцессное взаимодействие | Dynamic Data Exchange (DDE) • MSRPC • Именованные каналы |
Текст и поддержка языков | Framework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс |
Игры | XNA Framework • DirectX |
Низко- уровневые | Macintosh Toolbox/Carbon • Windows API • Intrinsics • Intuition • Xlib BOOPSI • Magic User Interface • Zune • ReAction GUI |
---|