我正在嘗試爲Internet Explorer 11(Windows 8.1)編寫一個BHO。 我的BHO實現AppContainer沙箱,但我似乎無法創建命名管道,CreateNamedPipe
失敗,該消息:Access is denied.
有沒有辦法從IE11上的AppContainer BHO創建一個命名管道?
下面是我使用創建命名管道(我在russian website找到的代碼,最後的評論:。
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); }
不幸的是,這是行不通的GetLastError()返回此Access is denied
像往常一樣
它不適用於任何選項卡嗎?你可以檢查在非保護模式下的標籤嗎? – Andrey
是的,它在EPM關閉時正常工作。 (在保護模式下工作正常,在增強保護模式下不起作用)。 – pyrho
看起來有可能[在appContainer中使用管道](http://stackoverflow.com/questions/7706660/windows-8-named-pipe-creation)。但是你可以試試S:(ML ;; NW ;;; RC)D:(A ;; 0x120083 ;;; WD)(A ;; 0x120083 ;;; AC)? – Andrey