如何调用RPC终端服务 [英] How to call RPC Terminal Services

查看:65
本文介绍了如何调用RPC终端服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我正在尝试使用C ++在我自己的RDP客户端(Win Server TS)上实现阴影功能。因此,管理员可以从另一台计算机上为另一个用户会话提供帮助等。

I am trying to implement Shadowing feature on my own RDP client (Win Server TS) in C++. So and administrator can shadow another user session for assistance, etc from another computer.

我可以在
3.10.4.1.1 RPCShadow2
 在MS-TSTS上,这正是我所需要的。我一直在尝试这么多东西,但我总是得到AccessDenied。我可能在RPC序列上遗漏了一些auth部分,但我找不到任何继续的示例。你能不能请
指向我使用TS RPC的例子?即使它不是为了遮蔽。非常感谢提前。

I can see on 3.10.4.1.1 RPCShadow2 on MS-TSTS that is exactly what I need. I have been trying so many things but I am always gettings AccessDenied. I may be missing some auth part on the RPC sequence but I can not find any example to continue. Could you please point me to an exmaple of using TS RPC? Even if its not for shadowing. Many thanks in advance.

static LPCWSTR SESSENVPUBLICRPC_ENDPOINT = L"\\pipe\\SessEnvPublicRpc"; 
static LPCWSTR SESSENVPUBLICRPC_PROTOCOL_SEQUENCE = L"ncacn_np"; 

// ...

if(RpcStringBindingComposeW(
NULL,
(USHORT *)SESSENVPUBLICRPC_PROTOCOL_SEQUENCE,
(USHORT *)L" SERVER.local",
(USHORT *)SESSENVPUBLICRPC_ENDPOINT,
NULL,
& lpszBinding)!= RPC_S_OK){

MessageBox(NULL,TEXT(" WTF"),NULL,MB_ICONWARNING);
返回0;
}

if(RpcBindingFromStringBindingW(lpszBinding,& hBinding)!= RPC_S_OK){
MessageBox(NULL,TEXT(" WTF"),NULL,MB_ICONWARNING);
RpcStringFreeW(& lpszBinding);
返回0;
}

HRESULT res;

RpcTryExcept {

SHADOW_REQUEST_RESPONSE asd;
LPWSTR邀请=新wchar_t [100];
res = RpcShadow2(hBinding,2,SHADOW_CONTROL_REQUEST_TAKECONTROL,SHADOW_PERMISSION_REQUEST_SILENT,& asd,invitation,100);

if(res)
返回HandleError(" RpcShadow2",res);

}

if (RpcStringBindingComposeW( NULL, (USHORT *)SESSENVPUBLICRPC_PROTOCOL_SEQUENCE, (USHORT *)L"SERVER.local", (USHORT *)SESSENVPUBLICRPC_ENDPOINT, NULL, &lpszBinding) != RPC_S_OK) { MessageBox(NULL, TEXT("WTF"), NULL, MB_ICONWARNING); return 0; } if (RpcBindingFromStringBindingW(lpszBinding, &hBinding) != RPC_S_OK) { MessageBox(NULL, TEXT("WTF"), NULL, MB_ICONWARNING); RpcStringFreeW(&lpszBinding); return 0; } HRESULT res; RpcTryExcept{ SHADOW_REQUEST_RESPONSE asd; LPWSTR invitation = new wchar_t[100]; res = RpcShadow2(hBinding,2, SHADOW_CONTROL_REQUEST_TAKECONTROL,SHADOW_PERMISSION_REQUEST_SILENT,&asd, invitation,100); if (res) return HandleError("RpcShadow2", res); }




推荐答案

您好Jaime, 

Hi Jaime, 

感谢您提出有关
在您的RDP客户端上实现阴影功能。其中一个开放规范团队成员将很快跟进以开始为您提供帮助。


这篇关于如何调用RPC终端服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆