【发布时间】:2013-01-15 07:34:25
【问题描述】:
我正在尝试使用 Direct3DHook 库和 EasyHook 连接 Directx11 IDXGISwapChain.Present 以获取屏幕截图。我猜 Direct3DHook 是为单个屏幕截图编写的,我正在尝试扩展它以获取屏幕截图流。在最初的几个屏幕截图之后,主机应用程序在随机渲染堆栈处获得异常。
我可以将错误隔离到文件 DXHookD3D11.cs 中的以下代码:
using (MemoryStream ms = new MemoryStream())
{
// This line crashes the main program, removing this makes the program not crash
res = Texture2D.ToStream(textureDest.Device.ImmediateContext, textureDest, ImageFileFormat.Bmp, ms).Code;
if (res != 0)
{
// this debugmessage never gets printed
this.DebugMessage("PresentHook: ERror in Tostream " + res.ToString());
}
.......
}
【问题讨论】:
标签: directx-11 easyhook