Computer >> Máy Tính >  >> Xử lý sự cố >> Lỗi Windows

Cách giải quyết lỗi ERROR_ACCESS_DENIED trên Windows 10/11

SetupDiSetDeviceProperty là một hàm xác định thuộc tính phiên bản thiết bị. Phiên bản thiết bị là một chuỗi nhận dạng thiết bị là duy nhất và giúp xác định thiết bị trong hệ thống. Hàm SetupDiSetDeviceProperty rất quan trọng vì nó đặt tên hiển thị và các thông số khác của thiết bị máy tính của bạn.

SetupDiSetDeviceProperty là một phần của mô hình thuộc tính thiết bị hợp nhất được hỗ trợ bởi hệ điều hành Windows. Mô hình thuộc tính thiết bị này xác định cách thiết bị của bạn được thể hiện, mô tả chức năng của chúng và thiết lập cấu hình của chúng trong hệ điều hành Windows. Quy trình này áp dụng cho tất cả phần cứng được gắn vào máy tính của bạn, bao gồm âm thanh, màn hình, mạng và các thiết bị khác.

Đây là cú pháp được sử dụng cho quy trình SetupDiSetDeviceProperty:

WINSETUPAPI BOOL SetupDiSetDeviceInterfacePropertyW (

HDEVINFO DeviceInfoSet,

Mẹo chuyên nghiệp:Chạy công cụ tối ưu hóa PC chuyên dụng để loại bỏ cài đặt không chính xác, tệp rác, ứng dụng có hại và các mối đe dọa bảo mật có thể gây ra sự cố hệ thống hoặc hiệu suất chậm.

Quét miễn phí các sự cố PC 3.145.873 tải xuống Tương thích với:Windows 10/11, Windows 7, Windows 8

PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,

const DEVPROPKEY * PropertyKey,

Loại thuộc tính DEVPROPTYPE,

const PBYTE PropertyBuffer,

DWORD PropertyBufferSize,

Cờ DWORD

SetupDiSetDeviceProperty thành công nếu nó trả về TRUE. Khi một lỗi xảy ra ở đâu đó trong quy trình, nó sẽ trả về FALSE với một mã trả lại cụ thể.

Một trong những mã trả lại mà người dùng Windows gặp phải là lỗi ERROR_ACCESS_DENIED trên Windows 10/11. Khi lỗi này xảy ra, quá trình SetupDiSetDeviceProperty không thành công và không thể tiếp tục. Nguyên nhân gốc rễ của lỗi phải được giải quyết trước khi thử lại.

Nguyên nhân của Lỗi ERROR_ACCESS_DENIED là gì?

Mã trả về ERROR_ACCESS_DENIED xảy ra vì “người gọi không có đặc quyền của Quản trị viên”. Trong trường hợp bạn đang thắc mắc tại sao SetupDiSetDeviceProperty trả về ERROR_ACCESS_DENIED, điều đó chỉ có nghĩa là bạn không có toàn quyền ghi vào thiết bị mà bạn đang cố gắng sửa đổi. Đó là bạn đang sử dụng tài khoản không phải quản trị viên hoặc bạn đang sử dụng tài khoản quản trị viên với các đặc quyền hạn chế.

Để giải quyết lỗi này, bạn phải kiểm tra các đặc quyền tài khoản của mình và liệu thiết bị bạn đang cố gắng chỉnh sửa có yêu cầu các quyền cụ thể hay không.

Một nguyên nhân khác của ERROR_ACCESS_DENIED là sự cố tương thích. Nếu chương trình bạn đang cố gắng sửa đổi được thiết kế cho phiên bản Windows OS cũ hơn, nó có thể không tương thích với Windows 10/11, do đó gây ra lỗi. Lỗi này cũng có thể xuất hiện nếu chương trình bị ảnh hưởng đã lỗi thời hoặc bị hỏng.

Cách khắc phục ERROR_ACCESS_DENIED

Lỗi ERROR_ACCESS_DENIED trên Windows 10/11 có vẻ phức tạp, nhưng các bản sửa lỗi thực sự đơn giản. Nhưng trước khi bạn thử bất kỳ phương pháp nào bên dưới, trước tiên hãy loại bỏ các tệp rác bằng cách sử dụng Outbyte PC Repair và quét máy tính của bạn để tìm vi-rút và phần mềm độc hại.

Các bước này sẽ giúp dọn dẹp máy tính của bạn và tối ưu hóa hệ thống của bạn cho quá trình khắc phục sự cố. Sau khi hoàn tất, hãy khởi động lại máy tính của bạn và làm việc theo cách của bạn thông qua các mục bên dưới.

Khắc phục # 1:Sửa chữa các tệp hệ thống bị hỏng.

Một trong những lý do có thể khiến SetupDiSetDeviceProperty trả về ERROR_ACCESS_DENIED là do một số tệp hệ thống được liên kết với chương trình bạn muốn sửa đổi đã bị hỏng hoặc bị lỗi. Để kiểm tra tính toàn vẹn của các tệp hệ thống, bạn có thể sử dụng Công cụ kiểm tra tệp hệ thống hoặc công cụ SFC, được tích hợp sẵn trong hệ thống Windows.

Để chạy quét bằng SFC, hãy làm theo các bước bên dưới:

  1. Nhấp vào Command + X để mở menu Nguồn , sau đó chọn Command Prompt (Admin) từ các tùy chọn.
  2. Nhập sfc / scannow trong cửa sổ Command Prompt, sau đó nhấn Enter .
  3. Chờ quá trình quét hoàn tất. SFC sẽ tự động cố gắng thay thế các tệp hệ thống bị hỏng bằng các bản sao tốt từ tệp hình ảnh khôi phục Windows.

Khởi động lại máy tính của bạn để áp dụng các thay đổi mới và kiểm tra xem lỗi ERROR_ACCESS_DENIED vẫn còn.

Khắc phục # 2:Chạy ở Chế độ Tương thích.

Chạy chương trình được thiết kế cho hệ điều hành Windows cũ hơn, chẳng hạn như Windows 7, Windows 8 hoặc Windows 8.1, có thể dẫn đến các vấn đề về khả năng tương thích. Tuy nhiên, điều đó không có nghĩa là các chương trình cũ này đã lỗi thời. Bạn có thể chạy chúng ở chế độ tương thích để chúng hoạt động chính xác và trơn tru.

Để chạy chương trình của bạn ở chế độ tương thích:

  1. Nhấp chuột phải vào lối tắt của chương trình của bạn trên Màn hình nền , sau đó nhấp vào Thuộc tính từ menu chuột phải.
  2. Nhấp vào Khả năng tương thích tab.
  3. Trong Chế độ tương thích , chọn phiên bản Windows bạn muốn sử dụng, sau đó nhấp vào OK.
  4. Đánh dấu chọn Chạy chương trình này với tư cách quản trị viên nữa.

Khi bạn đã đặt chương trình của mình chạy ở chế độ tương thích với phiên bản Windows bạn đang sử dụng, hãy thử lại chức năng SetupDiSetDeviceProperty và xem nó có còn trả về ERROR_ACCESS_DENIED không. Nếu có, hãy chuyển sang bước tiếp theo.

Khắc phục # 3:Cập nhật chương trình của bạn.

Đôi khi lỗi xảy ra chỉ vì bạn không cập nhật chương trình của mình. Kiểm tra Windows Update trong Cài đặt> Hệ thống &Bảo mật và xem có bất kỳ bản cập nhật hệ thống hoặc phần mềm nào đang chờ xử lý hay không. Cài đặt tất cả các bản cập nhật có sẵn trong Windows Update.

Nếu bạn không thấy bất kỳ phần mềm nào, hãy kiểm tra trang web của nhà phát triển phần mềm - có thể có các bản vá hoặc bản cập nhật mới cần được tải xuống. Tải xuống thủ công và cài đặt chúng trên máy tính để cập nhật chương trình của bạn. Sau khi cập nhật, hãy khởi động lại hệ thống của bạn và xem lỗi ERROR_ACCESS_DENIED đã được khắc phục chưa.

Khắc phục # 4:Hoàn tác các Thay đổi Hệ thống Gần đây.

Nếu bạn đã cài đặt hoặc xóa thứ gì đó trước khi lỗi ERROR_ACCESS_DENIED xuất hiện, thì hành động này có thể đã ảnh hưởng đến hệ thống của bạn và gây ra lỗi. Hãy nghĩ lại những gì bạn đã làm và hoàn tác nếu có thể.

Nếu gần đây bạn đã cài đặt bản cập nhật, bạn có thể khôi phục hệ thống của mình về khi mọi thứ hoạt động tốt bằng cách làm theo các bước bên dưới:

  1. Nhấp vào Bắt đầu , sau đó đi tới Cài đặt .
  2. Nhấp vào Cập nhật &Bảo mật , sau đó nhấp vào Windows Update> Lịch sử cập nhật.
  3. Nhấp vào Xem lịch sử cập nhật đã cài đặt liên kết.
  4. Bạn sẽ thấy danh sách tất cả các bản cập nhật được cài đặt gần đây. Nhấp vào bản cập nhật gần đây nhất và nhấn Gỡ cài đặt bản cập nhật nút.
  5. Bạn sẽ cần khởi động lại máy tính của mình để các thay đổi có hiệu lực, sau đó kiểm tra xem lỗi ERROR_ACCESS_DENIED có còn xuất hiện hay không.

Khắc phục # 5:Gỡ cài đặt, sau đó Cài đặt lại Chương trình bị ảnh hưởng.

Nếu bạn vẫn gặp lỗi ERROR_ACCESS_DENIED trên Windows 10/11 ngay cả khi đã thử các phương pháp ở trên, tùy chọn cuối cùng của bạn sẽ là gỡ cài đặt chương trình.

Để gỡ cài đặt chương trình trên Windows 10/11:

  1. Đi tới Bắt đầu> Cài đặt> Hệ thống , sau đó nhấp vào Ứng dụng và tính năng từ menu bên trái.
  2. Chọn chương trình bạn muốn gỡ cài đặt.
  3. Nhấp vào Gỡ cài đặt nút.
  4. Khởi động lại máy tính của bạn.

Để cài đặt lại chương trình, hãy tải xuống bản sao của trình cài đặt từ trang web của nhà phát triển hoặc qua Microsoft Store. Nhấp vào tệp đã tải xuống và cài đặt chương trình theo hướng dẫn.

Tóm tắt

SetupDiSetDeviceProperty là một hàm quan trọng vì nó xác định cách một chương trình sẽ chạy. Nếu bạn gặp phải lỗi ERROR_ACCESS_DENIED trên Windows 10/11, chỉ cần làm theo hướng dẫn khắc phục sự cố ở trên để giải quyết.