2015-10-02 63 views
1

我正在一個系統上,我想攔截Direct3D調用來創建平鋪顯示。我使用類似攔截器的APITrace創建消息流,並在第二個程序中重新創建調用,就像舊的Chromium項目一樣。應用程序方面工作正常,但處理消息流的程序沒有。我發現當我調用CreateSwapChain()時,該函數返回S_OK,但GetLastError()返回'error = 0x00000594:無法設置非局部鉤子而沒有模塊句柄。'我在調用CreateSwapChain()之前用GetLastError()檢查錯誤狀態,並且沒有錯誤。這個錯誤對我來說沒有意義。任何人都可以對此有所瞭解嗎?IDXGIFactory-> CreateSwapChain設置系統錯誤0X594

回答

1

我發現了這個問題。 CreateSwapChain函數的參數pDesc結構包含一個輸出窗口句柄。由於消息流與消息處理端的參數一起打包,所以在函數被調用之前窗口句柄必須被替換爲正確的句柄,這是處理器端。