Как устранить ошибку ERROR_ACCESS_DENIED в Windows 10/11
SetupDiSetDeviceProperty — это функция, определяющая свойство экземпляра устройства. Экземпляр устройства — это уникальная строка идентификации устройства, которая помогает идентифицировать устройство в системе. Функция SetupDiSetDeviceProperty важна, поскольку она устанавливает отображаемое имя и другие параметры устройств вашего компьютера.
SetupDiSetDeviceProperty является частью единой модели свойств устройств, которая поддерживается операционными системами Windows. Эта модель свойств устройств определяет, как представлены ваши устройства, описывает их функции и настраивает их конфигурацию в операционной системе Windows. Этот процесс применяется ко всему оборудованию, подключенному к вашему компьютеру, включая звуковые, дисплейные, сетевые и другие устройства.
Вот синтаксис, используемый для процесса SetupDiSetDeviceProperty:
WINSETUPAPI BOOL SetupDiSetDeviceInterfacePropertyW(
HDEVINFO DeviceInfoSet,
PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
константа DEVPROPKEY *PropertyKey,
Тип свойства DEDVPROPTYPE,
константа PBYTE PropertyBuffer,
DWORD PropertyBufferSize,
Параметр DWORD
SetupDiSetDeviceProperty считается успешным, если оно возвращает TRUE. Когда где-то в процессе возникает ошибка, он возвращает FALSE с определенным кодом возврата.
Один из кодов возврата, с которым сталкиваются пользователи Windows, — это ошибка ERROR_ACCESS_DENIED в Windows 10/11. При возникновении этой ошибки процесс SetupDiSetDeviceProperty завершается со сбоем и не может быть продолжен. Прежде чем пытаться снова, необходимо устранить основную причину ошибки.
В чем причина ошибки ERROR_ACCESS_DENIED?
Код возврата ERROR_ACCESS_DENIED возникает из-за того, что «вызывающий не имеет прав администратора». Если вам интересно, почему SetupDiSetDeviceProperty вернул ERROR_ACCESS_DENIED, это просто означает, что у вас нет полного разрешения на запись на устройство, которое вы пытаетесь изменить. Либо вы используете учетную запись без прав администратора, либо используете учетную запись администратора с ограниченными привилегиями.
Чтобы устранить эту ошибку, вы должны проверить привилегии своей учетной записи и узнать, требуются ли определенные разрешения для устройства, которое вы пытаетесь изменить.
Другая причина ERROR_ACCESS_DENIED — проблема совместимости. Если программа, которую вы пытаетесь изменить, была разработана для более ранней версии ОС Windows, она может быть несовместима с Windows 10/11, отсюда и ошибка. Эта ошибка также может появиться, если затронутая программа устарела или повреждена.
Как исправить ERROR_ACCESS_DENIED
Ошибка ERROR_ACCESS_DENIED в Windows 10/11 может показаться сложной, но на самом деле исправить ее просто. Но прежде чем вы попробуете какой-либо из приведенных ниже методов, сначала избавьтесь от ненужных файлов, используя Ремонт ПК Outbyte и просканируйте свой компьютер на наличие вирусов и вредоносных программ.
Эти шаги помогут очистить ваш компьютер и оптимизировать систему для устранения неполадок. После этого перезагрузите компьютер и пройдитесь по пунктам ниже.
Исправление № 1: восстановление поврежденных системных файлов.
Одна из возможных причин, по которой SetupDiSetDeviceProperty возвращает ERROR_ACCESS_DENIED, заключается в том, что некоторые системные файлы, связанные с программой, которую вы хотите изменить, были повреждены или повреждены. Чтобы проверить целостность ваших системных файлов, вы можете использовать средство проверки системных файлов или SFC, встроенное в систему Windows.
Чтобы запустить сканирование с помощью SFC, выполните следующие действия:
- Нажмите Command + X, чтобы открыть меню «Питание», затем выберите «Командная строка» («Администратор») из вариантов.
- Войти sfc/scannow в окне командной строки, затем нажмите Enter.
- Дождитесь завершения сканирования. SFC автоматически попытается заменить поврежденные системные файлы исправными копиями из файла образа восстановления Windows.
Перезагрузите компьютер, чтобы новые изменения вступили в силу, и проверьте, сохраняется ли ошибка ERROR_ACCESS_DENIED.
Исправление № 2: Запуск в режиме совместимости.
Запуск программы, разработанной для более ранней операционной системы Windows, например Windows 7, Windows 8 или Windows 8.1, может привести к проблемам совместимости. Однако это не означает, что эти старые программы устарели. Вы можете запустить их в режиме совместимости, чтобы они работали корректно и плавно.
Чтобы запустить программу в режиме совместимости:
- Щелкните правой кнопкой мыши ярлык вашей программы на рабочем столе, затем выберите «Свойства» в контекстном меню.
- Нажмите на вкладку «Совместимость».
- В разделе «Режим совместимости» выберите версию Windows, которую вы хотите использовать, затем нажмите «ОК».
- Отметьте пункт Запускать эту программу также от имени администратора.
После того, как вы настроили свою программу для работы в режиме совместимости с используемой вами версией Windows, снова попробуйте функцию SetupDiSetDeviceProperty и посмотрите, возвращает ли она по-прежнему ERROR_ACCESS_DENIED. Если это так, перейдите к следующему шагу.
Исправление № 3: Обновите свою программу.
Иногда ошибки случаются только потому, что вы не смогли обновить свою программу. Проверьте Центр обновления Windows в разделе «Настройки» > «Система и безопасность» и посмотрите, есть ли какие-либо ожидающие обновления программного обеспечения или системы. Установите все доступные обновления через Центр обновления Windows.
Если вы ничего не видите, проверьте веб-сайт разработчика программного обеспечения — возможно, там есть новые исправления или обновления, которые необходимо загрузить. Загрузите их вручную и установите на свой компьютер, чтобы обновить программу. После обновления перезагрузите систему и посмотрите, исправлена ли ошибка ERROR_ACCESS_DENIED.
Исправление № 4: отменить последние системные изменения.
Если вы что-то установили или удалили до появления ошибки ERROR_ACCESS_DENIED, это действие могло повлиять на вашу систему и вызвать ошибку. Вспомните, что вы сделали, и, если возможно, отмените это.
Если вы недавно установили обновление, вы можете откатить систему до состояния, когда все работало нормально, выполнив следующие действия:
- Нажмите «Пуск», затем перейдите в «Настройки».
- Нажмите «Обновление и безопасность», затем нажмите «Центр обновления Windows» > «История обновлений».
- Щелкните ссылку Просмотреть историю установленных обновлений.
- Вам будет представлен список всех недавно установленных обновлений. Нажмите на самое последнее и нажмите кнопку «Удалить обновление».
- Вам нужно будет перезагрузить компьютер, чтобы изменения вступили в силу, а затем проверьте, появляется ли по-прежнему ошибка ERROR_ACCESS_DENIED.
Исправление № 5: удалить, затем переустановите затронутую программу.
Если вы по-прежнему сталкиваетесь с ошибкой ERROR_ACCESS_DENIED в Windows 10/11 даже после того, как попробовали описанные выше методы, последним вариантом будет удаление программы.
Чтобы удалить программу в Windows 10/11:
- Перейдите в «Пуск»> «Настройки»> «Система», затем нажмите «Приложения и функции» в меню слева.
- Выберите программу, которую хотите удалить.
- Нажмите на кнопку Удалить.
- Перезагрузите компьютер.
Чтобы переустановить программу, загрузите копию установщика с сайта разработчика или через Microsoft Store. Нажмите на скачанный файл и установите программу согласно инструкции.
Резюме
SetupDiSetDeviceProperty — важная функция, поскольку она определяет, как должна работать программа. Если вы столкнулись с ошибкой ERROR_ACCESS_DENIED в Windows 10/11, просто следуйте приведенному выше руководству по устранению неполадок, чтобы устранить ее.
Продолжить чтение