2015-10-02 1 views
1

Je travaille sur un système où je souhaite intercepter des appels Direct3D pour créer des affichages en mosaïque. J'utilise un intercepteur semblable à APITrace pour créer un flux de messages et recréer les appels dans un second programme, un peu comme l'ancien projet Chromium. Le côté application fonctionne correctement, mais pas le programme qui traite le flux de messages. Ce que je trouve c'est que quand j'appelle CreateSwapChain() la fonction retourne S_OK mais GetLastError() retourne 'error = 0x00000594: Impossible de définir un hook non local sans un handle de module.' Je vérifie l'état d'erreur avec GetLastError() juste avant d'appeler CreateSwapChain() et il n'y a pas d'erreur. Cette erreur n'a aucun sens pour moi. Quelqu'un peut-il nous éclairer à ce sujet?IDXGIFactory-> CreateSwapChain définit l'erreur système 0X594

Répondre

1

J'ai trouvé le problème. Les paramètres de la fonction CreateSwapChain La structure pDesc ​​comprend un handle de fenêtre de sortie. Étant donné que le flux de messages est compressé avec les arguments du côté traitement des messages, le handle de la fenêtre doit être remplacé par le handle correct avant que la fonction ne soit appelée côté processeur.