虚拟通道技术,能打开但是发不了数据,VirtualChannel

[复制链接]
查看11 | 回复0 | 2021-1-27 07:03:08 | 显示全部楼层 |阅读模式
各位老板,我使用RDP5.x的虚拟通道技术,能打开通道发不了数据,为什么呢???
我在我的机器上生成一个dll,ClientDLL.dll,在注册表里面是这样配置的,项名:Clip11Rdp,字符串值:Name=C:\work\TSWindowClipper\Release\ClientDLL.dll
在远程机器上,有个exe,监听session,能监听到,之后就打开通道
#defineCHANNELNAME"CLIP11"
m_vcHandle=WTSVirtualChannelOpen(WTS_CURRENT_SERVER_HANDLE,WTS_CURRENT_SESSION,CHANNELNAME);
m_vcHandle不为空。
打开通道是成功的,但是写数据失败,返回0,GetLastError为1
PULONGbytesRead=0;
PULONGpBytesWritten=0;
BOOLresult=WTSVirtualChannelWrite(m_vcHandle,buffer,(ULONG)strlen(buffer),pBytesWritten);
if(result)
{
return1;
}
else
{
intnRet=GetLastError();//为1
return0;
}
同时,我在ClientDll.dll的VirtualChannelEntry入口函数打印日志,也没看到日志
头文件声明:
BOOLVCAPITYPEVirtualChannelEntry(PCHANNEL_ENTRY_POINTSpEntryPoints);
CPP实现:
BOOLVCAPITYPEVirtualChannelEntry(PCHANNEL_ENTRY_POINTSpEntryPoints)
{
FILE*f=fopen("c:\\work\\clipert.txt","ab+");
if(f!=NULL)
{
fwrite("aaaa\r\n",1,strlen("aaaa\r\n"),f);//没看到文件
fclose(f);
}
}
def文件为:
LIBRARY
EXPORTS
VirtualChannelEntry@1
为什么呢???

分 -->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行