2015-10-19 46 views
0

我有一些舊的基於串行的USB觸摸屏系統,用新硬件替換將會很昂貴。串行鼠標設備使用虛擬桌面崩潰

它們連接以下列方式:

串行鼠標 - >串口轉USB適配器 - >瘦客戶機 - >虛擬機

一切都與一個問題的偉大工程。我遇到一個驅動程序崩潰,所有用戶要麼註銷,關機,要麼重啓。目前的解決方法是在註銷之前禁用串行鼠標設備,這是一個真正的痛苦。只要該設備被禁用,一切都很好。

我通過對崩潰虛擬機進行內存轉儲,對此問題做了大量研究。

這似乎是用戶註銷時,USB設備突然斷開連接,然後Windows試圖優雅地禁用設備並等待確認,從而永久掛起。在彙編中,它似乎調用一個永遠不會返回的.sys文件。

這樣的問題有什麼可以做的嗎?你可以改變設備關機順序嗎?或者也許告訴Windows不能確保即插即用設備已關閉?我懷疑供應商會願意改變他們的驅動程序。

+0

也許作爲一種解決方法,你可以自動禁用設備在註銷腳本? –

+0

我實際上已經嘗試使用組策略,但不幸的是,它看起來像Windows崩潰之前,它到了那一點。 – Super1337

回答

0

我爲這個問題寫了一個自定義的解決方案。

該應用程序使用ShutdownBlockReasonCreate API調用來阻止Windows關閉。然後,它會使用WM_QUERYENDSESSION API調用監聽重新啓動或註銷。當它得到這個時,它禁用設備,然後銷燬創建的關閉塊。

一個真正的痛苦,但它的工作