Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么WTSVirtualChannel OpenEx返回31“;连接到系统的设备不起作用。”;_C#_Com_Remote Desktop - Fatal编程技术网

C# 为什么WTSVirtualChannel OpenEx返回31“;连接到系统的设备不起作用。”;

C# 为什么WTSVirtualChannel OpenEx返回31“;连接到系统的设备不起作用。”;,c#,com,remote-desktop,C#,Com,Remote Desktop,我已经实现了一个远程桌面动态虚拟通道服务器和客户端,当我调用WTSVirtualChannelOpenEx时,它返回false和GetLastError返回: 31 连接到系统的设备不工作 我正在OnNewChannelConnection中设置pAccept和pCallback,并返回S\u OK。我没有看到任何例外。使用的测试在同一客户机上完全可以打开 internal class DemoWtsListenerCallback : IWTSListenerCallback { pu

我已经实现了一个远程桌面动态虚拟通道服务器和客户端,当我调用
WTSVirtualChannelOpenEx
时,它返回false和
GetLastError
返回:

31
连接到系统的设备不工作

我正在
OnNewChannelConnection
中设置
pAccept
pCallback
,并返回
S\u OK
。我没有看到任何例外。使用的测试在同一客户机上完全可以打开

internal class DemoWtsListenerCallback : IWTSListenerCallback
{
    public void OnNewChannelConnection(IWTSVirtualChannel pChannel, 
        [MarshalAs(UnmanagedType.BStr)] string data, 
        out bool pAccept, out IWTSVirtualChannelCallback pCallback)
    {
        pAccept = true;
        pCallback = new DemoWtsChannelCallback(pChannel);
    }
}

为什么我的服务器会出错?

mstsc
希望
pAccept
设置为1表示为真-默认的
0xffffff
编组(根据
BOOL
类型应该可以)不会被解释为真

使用
[marshallas(UnmanagedType.Bool)]
返回1表示true

internal class DemoWtsListenerCallback : IWTSListenerCallback
{
    public void OnNewChannelConnection(
        IWTSVirtualChannel pChannel, 
        [MarshalAs(UnmanagedType.BStr)] string data, 
        [MarshalAs(UnmanagedType.Bool)] out bool pAccept, 
        out IWTSVirtualChannelCallback pCallback)
    {
        pAccept = true;
        pCallback = new DemoWtsChannelCallback(pChannel);
    }
}