Tôi đang cố viết BHO cho Internet Explorer 11 (Windows 8.1). BHO của tôi thực hiện sandbox AppContainer, nhưng tôi dường như không thể tạo ra một ống tên, CreateNamedPipe
không thành công với thông điệp rằng: Access is denied.
Có cách nào để tạo một đường ống có tên từ AppContainer BHO trên IE11 không?
Dưới đây là đoạn code tôi đang sử dụng để tạo ra các đường ống đặt tên (mà tôi tìm thấy trên một russian website , bình luận cuối cùng:...
LPCWSTR LOW_INTEGRITY_SDDL_SACL_W = L"S:(ML;;NW;;;LW)D:(A;;0x120083;;;WD)(A;;0x120083;;;AC)"; PSECURITY_DESCRIPTOR pSD = NULL; ConvertStringSecurityDescriptorToSecurityDescriptorW ( LOW_INTEGRITY_SDDL_SACL_W, SDDL_REVISION_1, &pSD, NULL); if (pSD != NULL) { SECURITY_ATTRIBUTES SecurityAttributes; SecurityAttributes.nLength = sizeof(SECURITY_ATTRIBUTES); SecurityAttributes.bInheritHandle = TRUE; SecurityAttributes.lpSecurityDescriptor = pSD; HANDLE hPipe = CreateNamedPipe( L"\\\\.\\pipe\\testpipe", PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE | PIPE_READMODE_BYTE, 1, 4096, 4096, 1000, &SecurityAttributes); }
Thật không may, nó không hoạt động GetLastError() trả về Access is denied
này như thường lệ
Ứng dụng có hoạt động với bất kỳ tab nào không? Bạn có thể kiểm tra bằng tab ở chế độ không được bảo vệ không? – Andrey
Có hoạt động tốt khi EPM tắt. (Trong các tác phẩm OK ở chế độ được bảo vệ, những gì không hoạt động trong Chế độ bảo vệ nâng cao). – pyrho
Có vẻ như có thể [sử dụng đường ống trong appContainer] (http://stackoverflow.com/questions/7706660/windows-8-named-pipe-creation). Nhưng bạn có thể thử S: (ML ;; NW ;;; RC) D: (A ;; 0x120083 ;;; WD) (A ;; 0x120083 ;; AC)? – Andrey