Windows setup api что это

Обновлено: 05.07.2024

Windows API (англ. application programming interfaces ) — общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации «Майкрософт». Предоставляет прямой способ взаимодействия приложений пользователя с операционной системой Windows. Для создания программ, использующих Windows API, корпорация «Майкрософт» выпускает комплект разработчика программного обеспечения, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки.

Содержание

Windows API спроектирован для использования в языке Си для написания прикладных программ, предназначенных для работы под управлением операционной системы MS Windows. Работа через Windows API — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.

Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. В то же время конвенция вызова функций отличается от cdecl, принятой для языка C: Windows API использует stdcall (winapi). Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки C++, Pascal, Visual Basic и многие другие.

Для облегчения переноса на другие платформы программ, написанных с опорой на Windows API, сделана библиотека Wine.

Персональные инструменты

Содержание

Общие сведения

Windows API спроектирован для написания прикладных программ на языке С, предназначенных для работы под управлением операционной системы MS Windows. Тем не менее, API может быть использован любым языком программирования компилятора или ассемблером , способным обрабатывать (четко определенные) структуры данных низкого уровня наряду с предписанными соглашениями о вызовах для звонков и обратных вызовов . Кроме того , внутренняя реализация функции API была разработана на нескольких языках, исторически. Несмотря на то , что С не является объектно-ориентированным программированием языка, Windows API , и Windows , оба исторически были описаны как объектно-ориентированные. Там также было много классов обертки и расширений (от Microsoft и другие) для объектно-ориентированных языков программирования, которые делают эту объектно-ориентированную структуру более четко (MFC, VCL, GDI+ и т.д.) , Так , например, Microsoft Windows 8 обеспечивает API для Windows и WinRT API, который реализован в C++ и объектно-ориентированный дизайн. [Источник 2]

Работа через Windows API — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.

Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки C++, Pascal, Visual Basic и многие другие. Эти функции в свою очередь могут быть разбиты на следующие основные категории:

История Microsoft API

На протяжении многих лет были внесены различные изменения и дополнения в системах Windows , и Windows API изменился и вырос. В API для Windows 1.0 поддерживаются менее 450 функций , в то время как современные версии насчитывают тысячи. Тем не менее, в целом интерфейс остается достаточно последовательным, и старый Windows 1.0 будет по- прежнему выглядеть знакомым для программиста, который использует современный Windows API.

Одно из самых больших изменений в Windows API , был переход от Win16 (поставляется в Windows 3.1 и старше) в Win32 (Windows NT и Windows 95 и выше). В то время как Win32 первоначально была введена с Microsoft Windows NT 3.1 и Win32s разрешено использовать подмножество Win32. Для того, чтобы облегчить переход, в Windows 95, для разработчиков снаружи и внутри Microsoft ,была использована сложная схема API преобразователь , она может позволить 32-битный код для вызова в 16-битного кода (для большинства из Win16 API) , и наоборот. Плоские преобразователи позволили 32-битному коду вызывать 16-битные библиотеки, а схема широко использовалась в библиотеках Windows 95 , чтобы избежать переноса всей ОС для Win32 в одном пакете. В Windows NT, операционная система была чистой 32-битной, кроме частей для совместимости с 16-разрядными приложениями, и только родовыми преобразователями были доступны преобразователи от Win16 до Win32, как и для Windows 95. Platform SDK поставляются с компилятором , который может производить код , необходимый для этих преобразователей. Версии 64-битных ОС Windows также могут запускать 32-разрядные приложения с помощью WoW64. [Источник 4]

Обзор

Функции, предоставляемые Windows API, могут быть представлены следующим образом:

Взаимодействие программ

Версии Windows API

Почти каждая новая версия Microsoft Windows представила свои собственные дополнения и изменения в Windows API.

  • Win16 — первая версия Windows API для 16-разрядных версий Windows. Изначально назывался просто Windows API, затем стал называться Win16 для отличия от Win32.
  • Win32 — 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в динамически подключаемых библиотеках kernel32.dll и advapi32.dll ; базовые модули графического интерфейса пользователя — в user32.dll и gdi32.dll . Win32 появился вместе с Microsoft Windows NT и затем был перенесён в несколько ограниченном виде в системы серии Microsoft Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля: csrss.exe (процесс исполнения клиент-сервер), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро — ntoskrnl.exe .
  • Win32s — подмножество Win32, устанавливаемое на семейство 16-разрядных систем Microsoft Windows 3.x, и реализующее ограниченный набор функций Win32 API для этих систем.
  • Win64 — 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Microsoft Windows XP, Microsoft Windows Server 2003, Microsoft Windows Vista, Microsoft Windows Server 2008, Microsoft Windows Server 2008 R2, Microsoft Windows 7 и Microsoft Windows 8.
  • WinCE является реализацией Windows API для Windows CE операционной системы. [Источник 5]

Мультимедиа

Microsoft также предоставляет несколько интерфейсов API для кодирования медиа и воспроизведения:

Со вчерашнего дня, господа, можно написать вот такой скрипт:

и, запустив его в Windows, получить желаемый результат — диалоговое окно Windows.

Это стало возможным потому, что модуль (обёртку вокруг той необыкновенно полезной библиотеки которая используется для вызова библиотек на языке Си не менее чем других языках) вчера портировали на Windows.

Следует, разумеется, помнить о том, что в Windows API используются строки в формате а джаваскриптовые строки Node.js хранит Воплощением этой разницы является в моём примере преобразователь аналог одноимённого макро, описанного

Ясное дело, что на Windows API свет клином не сошёлся: модуль можно использовать для вызова какой угодно библиотеки, написанной на языке Си или соблюдающей принятый в Си способ вызова функций (например, в Си++ это достигается директивою

Что означает этот шаг эволюции возможностей Node.js?

Напомню предсказание, сделанное мною меньше месяца назад — шестнадцатого декабря 2011 года:

В настоящее время будущее Node.js ещё не достаточно лучезарно, поскольку ещё только этот движок существует не только под Linux, под Мак и под Соляркою, но также и под Windows.

Следует ожидать мощного синергического толчка в тот момент, когда код модулей для Node.js начнут сочинять также и те разработчики на JavaScript, у которых на рабочем компьютере стоит Windows. По моим оценкам, для этого не достаточно портировать на Windows один только сам движок Node.js; потребуется также, по меньшей мере, вот что:

  • Плавная работа пакетного менеджера npm. В частности, будет необыкновенном полезным появление у разработчиков модулей возможности поставлять заранее скомпилированные модули для win32 и win64: нельзя же полагаться на то, что у каждого конечного пользователя стоят средства разработки (например, Visual Studio 2010 Express). Понятно, что и разработчики модулей должны взяться за ум, а не то даже команду npm install zip нельзя под Windows подать без того, чтобы наткнуться на симлинк внутри тарболла. (Или автор скрипта мог бы получше предусмотреть это.)
  • Появление возможности оскриптовывания произвольной системной библиотеки. (Появится, вероятно, после портирования на Windows.) Только отсюда протянется тропка к сотворению GUI.
  • Появление возможности работать с БД файлового (а не клиент-серверного) типа. (Появится, вероятно, после портирования на Windows.)

И месяца не прошло, как второй из этих трёх пунктов реализовался. Любая библиотека может быть оскриптована джаваскриптами. Соответственно, приложениям на Node.js под Windows стала доступна вся мощь системных API, а кросс-платформенные приложения могут невозбранно обращаться ко кросс-платформенным библиотекам, таская их с собою.

Первый из этих трёх пунктов (касавшийся как раз таскания библиотек с собою) не реализовался в том виде, в каком я мечтал о нём: пакетный менеджер npm всё ещё не обеспечивает возможность доставки только того скомпилированного кода, который нужен конкретной системе. Но у меня появился новый повод для оптимизма после того, как я увидел, что разработчикам модуля удалось обойти нехватку такой возможности. Их модуль содержит один и тот же код, скомпилированный под полдесятка различных платформ:
а скрипт lib/bindings.js во время вызова модуля оглядывается, соображая, куда же попал он, и подбирает нужный двоичный код:

Как видно, работает ничуть не хуже; папка «compiled» вот только занимает ≈700 килобайтов, но при нынешних объёмах дисков и скоростях сетей об этом можно позабыть.

Файлы DLL, такие как setupapi.dll, классифицируются как файлы Win32 DLL (Библиотека динамической компоновки). Как файл Windows Setup API он был создан для использования в Microsoft® Windows® Operating System от компании Microsoft.

Выпуск setupapi.dll для Windows состоялся 10/25/2001 в Windows XP. Последнее обновление для Microsoft Office Access 2010 14 состоялось 07/04/2011 [версия файла 10.0.16299.248 (WinBuild.160101.0800)]. Файл setupapi.dll включен в Microsoft Office Access 2010 14, SCR3310 USB Smart Card Reader drivers 8.41 и Trillian 6.1.0.17.

Ниже приведены подробные сведения о файле, порядок устранения неполадок, возникших с файлом DLL, и бесплатные загрузки некоторых версий файла setupapi.dll.




Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Сведения о разработчике и ПО
Разработчик ПО: Microsoft Corporation
Программа: Microsoft® Windows® Operating System
Авторское право: © Microsoft Corporation. All rights reserved.
Сведения о файле
Набор символов: Unicode
Код языка: English (U.S.)
Флаги файлов: (none)
Маска флагов файлов: 0x003f
Точка входа: 0x1df00
Размер кода: 797184
Информация о файле Описание
Размер файла: 4.2 MB
Дата и время изменения файла: 2020:03:04 15:00:46+00:00
Тип файла: Win32 DLL
Тип MIME: application/octet-stream
Предупреждение! Possibly corrupt Version resource
Тип компьютера: Intel 386 or later, and compatibles
Метка времени: 2076:01:09 23:17:45+00:00
Тип PE: PE32
Версия компоновщика: 14.10
Размер кода: 797184
Размер инициализированных данных: 3539456
Размер неинициализированных данных: 0
Точка входа: 0x1df00
Версия ОС: 10.0
Версия образа: 10.0
Версия подсистемы: 10.0
Подсистема: Windows GUI
Номер версии файла: 10.0.16299.248
Номер версии продукта: 10.0.16299.248
Маска флагов файлов: 0x003f
Флаги файлов: (none)
Файловая ОС: Windows NT 32-bit
Тип объектного файла: Dynamic link library
Подтип файла: 0
Код языка: English (U.S.)
Набор символов: Unicode
Наименование компании: Microsoft Corporation
Описание файла: Windows Setup API
Версия файла: 10.0.16299.248 (WinBuild.160101.0800)
Внутреннее имя: SETUPAPI.DLL
Авторское право: © Microsoft Corporation. All rights reserved.
Название продукта: Microsoft® Windows® Operating System
Версия продукта: 10.0.16299.248

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

Ошибки библиотеки динамической компоновки setupapi.dll

Файл setupapi.dll считается разновидностью DLL-файла. DLL-файлы, такие как setupapi.dll, по сути являются справочником, хранящим информацию и инструкции для исполняемых файлов (EXE-файлов), например HelpPane.exe. Данные файлы были созданы для того, чтобы различные программы (например, Microsoft Office Access 2010) имели общий доступ к файлу setupapi.dll для более эффективного распределения памяти, что в свою очередь способствует повышению быстродействия компьютера.

  • Нарушение прав доступа по адресу — setupapi.dll.
  • Не удается найти setupapi.dll.
  • Не удается найти C:\Windows\Temp\527D94AF-D053-4381-B105-0D815D53791E\wow64_microsoft-windows-setupapi_31bf3856ad364e35_10.0.16299.248_none_4cd9c12e65641428\setupapi.dll.
  • Не удается зарегистрировать setupapi.dll.
  • Не удается запустить Microsoft Office Access 2010. Отсутствует требуемый компонент: setupapi.dll. Повторите установку Microsoft Office Access 2010.
  • Не удалось загрузить setupapi.dll.
  • Не удалось запустить приложение, потому что не найден setupapi.dll.
  • Файл setupapi.dll отсутствует или поврежден.
  • Не удалось запустить это приложение, потому что не найден setupapi.dll. Попробуйте переустановить программу, чтобы устранить эту проблему.

Файл setupapi.dll может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с Microsoft Office Access 2010) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла setupapi.dll может быть вызвано отключением питания при загрузке Microsoft Office Access 2010, сбоем системы при загрузке setupapi.dll, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или, как нередко бывает, заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.


Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

Если на этапе 1 не удается устранить ошибку setupapi.dll, перейдите к шагу 2 ниже.


Шаг 2. Если вы недавно установили приложение Microsoft Office Access 2010 (или схожее программное обеспечение), удалите его, затем попробуйте переустановить Microsoft Office Access 2010.

Чтобы удалить программное обеспечение Microsoft Office Access 2010, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):

После полного удаления приложения следует перезагрузить ПК и заново установить Microsoft Office Access 2010.

Если на этапе 2 также не удается устранить ошибку setupapi.dll, перейдите к шагу 3 ниже.


Microsoft Office Access 2010 14

Шаг 3. Выполните обновление Windows.


Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла setupapi.dll. Мы храним полную базу данных файлов setupapi.dll со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии Microsoft Office Access 2010 . Чтобы загрузить и правильно заменить файл, выполните следующие действия:

Windows 10: C:\Windows\Temp\527D94AF-D053-4381-B105-0D815D53791E\amd64_microsoft-windows-setupapi_31bf3856ad364e35_10.0.16299.248_none_428516dc3103522d\
Windows 10: C:\Windows\Temp\527D94AF-D053-4381-B105-0D815D53791E\wow64_microsoft-windows-setupapi_31bf3856ad364e35_10.0.16299.248_none_4cd9c12e65641428\
Windows 10: C:\Windows\WinSxS\amd64_microsoft-windows-setupapi_31bf3856ad364e35_10.0.16299.15_none_57e185a337624d7f\
Windows 10: C:\Windows\WinSxS\wow64_microsoft-windows-setupapi_31bf3856ad364e35_10.0.16299.15_none_62362ff56bc30f7a\
Windows 10: C:\Windows\System32\
Показать на 9 каталогов больше + Windows 10: C:\Program Files (x86)\SCM Microsystems\Tools\PCSCDiag\
Windows 8.1: C:\Windows\System32\
Windows 8: C:\Windows\System32\
Windows 7: C:\Windows\SysWOW64\
Windows 7: C:\Windows\System32\
Windows Vista: C:\Windows\SysWOW64\
Windows Vista: C:\Windows\System32\
Windows XP: C:\WINDOWS\system32\dllcache\
Windows XP: C:\Windows\System32\

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

Файл был разработан для использования с программным обеспечением . Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с setupapi.dll на вашем устройстве. Вы также можете скачать файл setupapi.dll, совместимый с устройствами Windows 10, Windows 8.1, Windows 8, Windows 7, Windows 7, Windows Vista, Windows Vista, Windows XP, которые (скорее всего) позволят решить проблему.

For Windows

Совместим с: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows 7, Windows Vista, Windows Vista, Windows XP

Исправьте ошибки setupapi.dll

Информация о файле

Основная информация
Имя файла setupapi.dll
Расширение файла DLL
Описание Windows Setup API
Программного обеспечения
программа Microsoft® Windows® Operating System
автор Microsoft Corporation
подробности
MIME тип application/octet-stream
Тип файла Dynamic link library
система Windows NT 32-bit
Авторские права © Microsoft Corporation. All rights reserved.
Набор символов Unicode
Языковая треска English (U.S.)

setupapi.dll

Наиболее распространенные проблемы с файлом setupapi.dll

  • setupapi.dll поврежден
  • setupapi.dll не может быть расположен
  • Ошибка выполнения - setupapi.dll
  • Ошибка файла setupapi.dll
  • Файл setupapi.dll не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл setupapi.dll
  • Файл setupapi.dll не может быть загружен
  • Файл setupapi.dll не существует

setupapi.dll

Не удалось запустить приложение, так как отсутствует файл setupapi.dll. Переустановите приложение, чтобы решить проблему.

Проблемы, связанные с setupapi.dll, могут решаться различными способами. Некоторые методы предназначены только для опытных пользователей. Если вы не уверены в своих силах, мы советуем обратиться к специалисту. К исправлению ошибок в файле setupapi.dll следует подходить с особой осторожностью, поскольку любые ошибки могут привести к нестабильной или некорректно работающей системе. Если у вас есть необходимые навыки, пожалуйста, продолжайте.

Помните, прежде чем предпринимать какие-либо действия, связанные с системными файлами, сделайте резервную копию ваших данных!

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Virus Scan

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом setupapi.dll или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

Если по какой-либо причине в вашей системе еще не установлено антивирусное программное обеспечение, вы должны сделать это немедленно. Незащищенная система не только является источником ошибок в файлах, но, что более важно, делает вашу систему уязвимой для многих опасностей. Если вы не знаете, какой антивирусный инструмент выбрать, обратитесь к этой статье Википедии - сравнение антивирусного программного обеспечения.

Интерфейс прикладного программирования WindowsAPI (applicationprogramminginterface) является интерфейсом системного программирования в пользовательском режиме для семейства операционных систем Windows. До выхода 64-разрядных версий Windows программный интерфейс для 32-разрядных версий операционных систем Windows назывался Win32 API, чтобы его можно было отличить от исходной 16-разрядной версии Windows API (которая служила интерфейсом программирования для начальных 16-разрядных версий Windows).

Windows API состоит из нескольких тысяч вызываемых функций, которые разбиты на следующие основные категории:

взаимоотношения-между-компонентами

Службы, функции и стандартные программы.

Некоторые термины в пользовательской и программной документации Windows в разных контекстах имеют разные значения. Например, слово служба может относиться к вызываемой в операционной системе стандартной подпрограмме, драйверу устройства или к обслуживающему процессу. Что именно означают те или иные термины, показано в следующем списке:

История Win32 API.

Интересно, что Win32 не планировался в качестве исходного интерфейса программирования для той системы, которая в ту пору называлась Windows NT. Поскольку проект Windows NT запускался в качестве замены для OS/2 версии 2, первоначальным интерфейсом программирования был 32-разрядный OS/2 PresentationManagerAPI. Но через год после запуска проекта произошел взлет поступившей в продажу Microsoft Windows 3.0. В результате этого Microsoft сменила направление и сделала Windows NT будущей заменой семейства продуктов Windows, а не заменой OS/2. В связи с этим и возникла необходимость выработать спецификацию Windows API — до этого, в Windows 3.0, API существовал только в виде 16-разрядного интерфейса.

Хотя в Windows API намечалось введение множества новых функций, недоступных в Windows 3.1, Microsoft решила сделать новый API, по возможности, максимально совместимым по именам, семантике и используемым типам данных с 16-разрядным Windows API, чтобы облегчить бремя переноса существующих 16-разрядных Windows-приложений в Windows NT. Этим, собственно, и объясняется тот факт, что многие имена функций и интерфейсов могут показаться непоследовательными: так нужно было для обеспечения совместимости нового Windows API со старым 16-разрядным Windows API.

Читайте также: