簡體   English   中英

XP SP3中的用戶界面特權隔離

[英]User Interface Privilege Isolation in XP SP3

經過一點確認之后:

XP SP3是否實現了Vista中提供的用戶界面特權隔離(UIPI)機制?

出於人類利益的背景故事:)最近,我將C ++源代碼交給了一個相當大的應用程序。 遺憾的是,此應用程序的唯一開發者自90年代中期問世以來就去世了,這使我們處於一個非常狹窄的位置,直到我們可以雇用新的開發者為止。

最近,用戶報告說該應用程序已隨機停止工作,並且/或者以前起作用的某些功能似乎根本無法啟動“盡管我的目標沒有改變!”。 “什么都沒有改變”原來是SP3 :)

知道這一點,盡管我不是C / C ++專家,但我想我應該看一下源代碼,看看我是否能找到任何東西(花了大量時間研究防火牆,病毒掃描程序和其他工具)。外在因素)。

我追蹤到一個錯誤,該錯誤是對Api函數SendMessage的調用,然后轉到MSDN文檔進行查看。 它明確指出: “ Microsoft Windows Vista和更高版本。消息發送受用戶界面特權隔離(UIPI)約束。進程的線程只能將消息發送到完整性級別較低或相等的進程的線程的消息隊列。” 盡管我不確定100%,但這似乎是可能的原因。

干杯!

萊尼。

不,XP SP3不會實現Vista的任何安全更改,至少不會進行與窗口管理器相關的任何更改。 您實際上並沒有提供太多幫助的背景,但是會遇到與SendMessage()相關的哪種錯誤?

SendMessage()是一種非常廣泛使用的例程,該例程只是將Windows消息分發到窗口,因此我希望該錯誤與收件人窗口處理傳入消息的方式(或不與接收消息)(而不是SendMessage()本身)相關。 您不必將SendMessage()視為僅是Windows函數,而必須將其視為一個函數,它將最終在將消息發送到的窗口所擁有的任何應用程序中調用進一步的應用程序代碼-特別是SendMessage()的返回代碼告訴您窗口的應用程序如何繼續嘗試處理消息。

UIPI不會在SendMessage上報告錯誤-如果返回錯誤,則可能是其他原因。 而另提意見是正確的,只有UIPI是Vista中,你將不會被此得到位反正 ,除非你試圖發送消息到服務,例如。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM