Directx SlimDX与DX10中的共享资源

Directx SlimDX与DX10中的共享资源,directx,direct3d,slimdx,direct3d10,Directx,Direct3d,Slimdx,Direct3d10,我正在尝试DX10的共享资源功能,因为我的一个项目需要它。但我很抱歉,特别是使用SlimDX时,找不到太多的示例或代码。根据DX10文档,我只需要将资源指定为共享,然后就可以从另一个应用程序中使用OpenSharedResource()打开它。通过SlimDX中的一个简单测试应用程序,我完成了以下工作 Texture2D tex = new Texture2D(device, new Texture2DDescription() { Arr

我正在尝试DX10的共享资源功能,因为我的一个项目需要它。但我很抱歉,特别是使用SlimDX时,找不到太多的示例或代码。根据DX10文档,我只需要将资源指定为共享,然后就可以从另一个应用程序中使用OpenSharedResource()打开它。通过SlimDX中的一个简单测试应用程序,我完成了以下工作

        Texture2D tex = new Texture2D(device, new Texture2DDescription()
        {
            ArraySize = 1,
            BindFlags = BindFlags.RenderTarget | BindFlags.ShaderResource,
            CpuAccessFlags = CpuAccessFlags.None,
            Format = Format.B8G8R8A8_UNorm,
            Height = 128,
            Width = 128,
            MipLevels = 1,
            OptionFlags = ResourceOptionFlags.Shared,
            SampleDescription = new SampleDescription(1, 0),
            Usage = ResourceUsage.Default,
        });

        Texture2D tex2 = device.OpenSharedResource<Texture2D>(tex.ComPointer);
我似乎无法找出哪里出了问题,因为tex.ComPointer可能不是OpenSharedResource的正确指针,或者Texture2D不受支持(文档中没有明确提到它)

通过指定要传递到CreateTexture函数的幻影的另一种替代方法在SlimDX中不可用,或者我不知道

有人成功地尝试过这个吗?一些帮助会很感激的


谢谢

我发现我的代码有问题。我需要使用DXGI来检索共享句柄(而不是指针)。下面的代码工作得很好

SlimDX.DXGI.Resource r = new Resource(tex);

Texture2D tex2 = device.OpenSharedResource<Texture2D>(r.SharedHandle);
SlimDX.DXGI.Resource r=新资源(tex);
Texture2D tex2=设备.OpenSharedResource(r.SharedHandle);
SlimDX.DXGI.Resource r = new Resource(tex);

Texture2D tex2 = device.OpenSharedResource<Texture2D>(r.SharedHandle);