Windows 桌面共享

Windows 桌面共享技术概述。

若要开发 Windows 桌面共享,需要以下标头:

有关此技术的编程指南,请参阅:

枚举

 
ATTENDEE_DISCONNECT_REASON

定义与会者与会话断开连接的原因的值。
CHANNEL_ACCESS_ENUM

定义向通道的与会者授予的访问权限类型的值。
CHANNEL_FLAGS

定义如何在通道上发送数据的值。
CHANNEL_PRIORITY

定义用于在通道上发送数据包的优先级值。
CTRL_LEVEL

定义与会者对会话的控制级别。
RDPENCOMAPI_ATTENDEE_FLAGS

定义与会者类型的值。
RDPSRAPI_APP_FLAGS

定义应用程序类型的值。
RDPSRAPI_KBD_CODE_TYPE

定义键盘编码类型的值。
RDPSRAPI_KBD_SYNC_FLAG

定义控制键盘状态的键类型的值,例如 Caps Lock 键。
RDPSRAPI_MOUSE_BUTTON_TYPE

定义鼠标按钮类型的值。
RDPSRAPI_WND_FLAGS

定义窗口类型的值。

函数

 
AddTouchInput

接受触摸输入的说明。
AllocBuffer

由远程桌面协议 (RDP) 堆栈调用以分配流缓冲区。
BeginTouchFrame

开始接受一系列触摸输入。
关闭

断开所有与会者与会话的连接,并停止侦听传入连接。
关闭

由远程桌面协议 (RDP) 堆栈调用以关闭流。
“连接”

启动与共享者的实际连接。
ConnectToClient

用于反向连接模式,其中共享者连接到查看器。
ConnectUsingTransportStream

使用指定的传输流进行连接。
CreateInvitation

创建邀请。
CreateLogger

创建新的 IRDPSRAPIPerfCounterLogger 对象。
CreateVirtualChannel

创建虚拟通道。
断开连接

启动查看器与共享者的断开连接。
EndTouchFrame

停止以接受一系列触摸输入。
FreeBuffer

调用 GetBuffer 方法后释放缓冲区上的保留。
FreeBuffer

由远程桌面协议 (RDP) 堆栈调用,以将流缓冲区返回到流。
get__NewEnum

应用程序集合的枚举器接口。
get__NewEnum

与会者集合的枚举器接口。
get__NewEnum

邀请集合的枚举器接口。
get__NewEnum

虚拟通道集合的枚举器接口。
get__NewEnum

窗口集合的枚举器接口。
get_Application

返回指向窗口所属的应用程序对象的指针。
get_ApplicationFilter

返回实现 IRDPSRAPIApplicationFilter 接口的对象。 (IRDPSRAPISharingSession.get_ApplicationFilter)
get_ApplicationFilter

返回实现 IRDPSRAPIApplicationFilter 接口的对象。 (IRDPSRAPIViewer.get_ApplicationFilter)
get_Applications

可共享应用程序的列表。
get_Attendee

已断开连接的与会者。
get_AttendeeLimit

可以连接到会话的最大与会者数。 (获取)
get_Attendees

返回实现 IRDPSRAPIAttendeeManager 接口的对象。 (IRDPSRAPISharingSession.get_Attendees)
get_Attendees

返回实现 IRDPSRAPIAttendeeManager 接口的对象。 (IRDPSRAPIViewer.get_Attendees)
get_Bpp

帧缓冲区的每像素位数。
get_CLXCmdLine

get_Code

断开连接操作的状态。
get_ColorDepth

检索或设置共享会话的颜色深度。 (获取)
get_ConnectionString

票证字符串。
get_ConnectivityInfo

检索与会者的连接信息。
get_Context

此属性保留供远程桌面协议 (RDP) 堆栈使用。 请不要修改它。 (获取)
get_ControlLevel

与会者对会话的控制级别。 (获取)
get_Count

集合中的邀请数。
get_DisconnectedText

检索或设置在终止连接之前在控件中显示的文本。 (获取)
get_Enabled

应用程序筛选器的启用状态。 (获取)
get_Flags

共享标志。
get_Flags

检索在RDPENCOMAPI_ATTENDEE_FLAGS枚举类型中定义的与会者特定标志。
get_Flags

检索或指定流缓冲区的选项。 (获取)
get_Flags

通道标志。 保留此属性供将来使用。
get_Flags

返回当前窗口上的标志。
get_FrameBuffer

获取此会话的帧缓冲区。
get_GroupName

组名称。
get_Height

帧缓冲区的高度(以像素为单位)。
get_Id

应用程序标识符。
get_Id

与会者的唯一标识符。
get_Id

返回窗口的 ID。
get_Invitation

用于向与会者授予会议访问权限的邀请。
get_Invitations

返回实现 IRDPSRAPIInvitationManager 接口的对象。 (IRDPSRAPISharingSession.get_Invitations)
get_Invitations

返回实现 IRDPSRAPIInvitationManager 接口的对象。 (IRDPSRAPIViewer.get_Invitations)
get_Item

应用程序集合中的项。
get_Item

与会者集合中的项目。
get_Item

邀请集合中的项。
get_Item

虚拟通道集合中的项。
get_Item

窗口集合中的项。
get_LocalIP

检索共享者或查看器用于通信的本地 IP 地址。
get_LocalPort

检索通信中共享者或查看器正在使用的本地端口。
get_Name

应用程序的名称。
get_Name

信道名称。
get_Name

返回窗口对象的名称。
get_Password

密码字符串。
get_PayloadOffset

指定内容开始的流缓冲区中的位置。 (获取)
get_PayloadSize

内部存储缓冲区中内容的大小(以字节为单位)。 (获取)
get_PeerIP

检索正在通信中由共享者或查看器使用的远程 IP 地址。
get_PeerPort

检索通信中共享者或查看器使用的远程端口。
get_Priority

通道优先级。
get_Properties

检索实现 IRDPSRAPISessionProperties 接口的对象。
get_Properties

返回实现 IRDPSRAPISessionProperties 接口的对象。
get_Property

设置或获取命名会话属性。 (获取)
get_Protocol

检索共享者或查看器用于通信的协议。
get_Reason

与会者断开连接的原因。
get_RemoteName

远程客户端的名称。 这通常是与会者的友好姓名。
get_Revoked

邀请的已撤销状态。 (获取)
get_Shared

共享状态。 (获取)
get_Shared

获取或设置窗口的共享属性。 (获取)
get_SmartSizing

获取或设置查看器 ActiveX 控件的智能大小调整属性。 (获取)
get_Storage

流的内部存储缓冲区的地址。
get_StorageSize

流的内部存储缓冲区的大小(以字节为单位)。
get_VirtualChannelManager

检索实现 IRDPSRAPIVirtualChannelManager 接口的对象。
get_VirtualChannelManager

返回实现 IRDPSRAPIVirtualChannelManager 接口的对象。
get_Width

帧缓冲区的宽度(以像素为单位)。
get_Windows

窗口列表。
get_Windows

可共享窗口的列表。
GetBuffer

从缓冲区获取音频数据。
GetDesktopSharedRect

检索正在共享的当前桌面区域。
GetFrameBufferBits

获取帧的指定区域中的位。
初始化

初始化音频流。
LogValue

记录值。
OnPasteFromClipboard

尝试从共享计算机复制数据时,将发出此回调。
OnReadCompleted

通知远程桌面协议 (RDP) 堆栈已完成读取操作。
OnStreamClosed

通知远程桌面协议 (RDP) 堆栈连接已关闭。
OnWriteCompleted

通知远程桌面协议 (RDP) 堆栈已完成写入操作。
打开

将会话置于活动状态。
打开

由远程桌面协议 (RDP) 堆栈调用以启动流,并指示 RDP 堆栈已准备好接收事件通知。
暂停

暂停从共享者发送到所有查看者的图形流,直到调用 IRDPSRAPISharingSession::Resume。
put_AttendeeLimit

可以连接到会话的最大与会者数。 (放置)
put_CLXCmdLine

put_ColorDepth

检索或设置共享会话的颜色深度。 (放置)
put_Context

此属性保留供远程桌面协议 (RDP) 堆栈使用。 请不要修改它。 (放置)
put_ControlLevel

与会者对会话的控制级别。 (放置)
put_DisconnectedText

检索或设置在终止连接之前在控件中显示的文本。 (放置)
put_Enabled

应用程序筛选器的启用状态。 (放置)
put_Flags

检索或指定流缓冲区的选项。 (放置)
put_PayloadOffset

指定流缓冲区中内容开始的位置。 (放置)
put_PayloadSize

内部存储缓冲区中内容的大小(以字节为单位)。 (放置)
put_Property

设置或获取命名会话属性。 (放置)
put_Revoked

邀请的已撤销状态。 (放置)
put_Shared

共享状态。 (放置)
put_Shared

获取或设置窗口的共享属性。 (放置)
put_SmartSizing

获取或设置查看器 ActiveX 控件的智能大小调整属性。 (放置)
ReadBuffer

由远程桌面协议 (RDP) 堆栈调用,以读取流缓冲区的内容。
RequestColorDepthChange

请求在共享者 Winlogon 用户会话上更改颜色深度。
RequestControl

请求共享者更改查看器的控制级别。
恢复

导致从共享者发送到所有查看者的图形流恢复,直到调用 IRDPSRAPISharingSession::P ause 或 IRDPSRAPISharingSession::Close。
SendControlLevelChangeResponse

发送 OnControlLevelChangeResponse 事件。
SendData

在通道上发送数据。
SendKeyboardEvent

发送键盘事件消息。
SendMouseButtonEvent

发送鼠标按钮事件消息。
SendMouseMoveEvent

发送鼠标移动事件消息。
SendMouseWheelEvent

发送鼠标滚轮事件消息。
SendSyncEvent

发送事件消息以指示键盘状态的更改,例如按下 Caps Lock 键时。
SetAccess

为与会者启用频道。
SetDesktopSharedRect

设置将共享的桌面区域。
显示

将当前窗口置于前台。
启动

启动音频流。
StartReverseConnectListener

启动侦听器以接受从共享者到查看器的反向连接,或获取共享者用于反向连接到查看器的连接字符串。
停止

停止音频流。
TerminateConnection

断开与会者所表示的客户端的连接。
WriteBuffer

由远程桌面协议 (RDP) 堆栈调用,以将流缓冲区的内容写入网络。

接口

 
_IRDPSessionEvents

实现此接口以在事件发生时接收通知。
IRDPSRAPIApplication

对进程中的可共享窗口进行分组。 每个应用程序对象都包含一个窗口对象列表。 如果共享应用程序对象,则共享其所有窗口。
IRDPSRAPIApplicationFilter

在窗口和进程级别管理共享桌面区域。 应用程序可以使用枚举器来显示会话中可共享的对象列表。
IRDPSRAPIApplicationList

管理应用程序列表。
IRDPSRAPIAttendee

参与者对象是客户端连接到会话并进行身份验证的结果创建的。 创建与会者对象后,该对象会自动添加到与会者列表中。
IRDPSRAPIAttendeeDisconnectInfo

包含有关与会者断开连接的原因的信息。
IRDPSRAPIAttendeeManager

管理与会者对象。
IRDPSRAPIAudioStream

允许将音频流从协作共享者 Microsoft ActiveX 控件发送到协作查看器控件。
IRDPSRAPIClipboardUseEvents

在共享者端实现此接口,以跟踪或控制剪贴板的使用。 如果未启用剪贴板共享,则此接口不起作用。 需要为属性中所述的 SetClipboardRedirectCallback 属性设置值。
IRDPSRAPIDebug

由 Microsoft 用于测试远程桌面 ActiveX 客户端。
IRDPSRAPIFrameBuffer

提供有关帧缓冲区大小和格式的数据,并允许检索内容。
IRDPSRAPIInvitation

邀请使个人或一组人能够连接到会话。 当与会者连接到会话时,客户端会发送票证和密码。 这两条信息用于对与会者进行身份验证。
IRDPSRAPIInvitationManager

管理邀请对象。
IRDPSRAPIPerfCounterLogger

允许客户端应用程序实现自定义性能日志记录。
IRDPSRAPIPerfCounterLoggingManager

管理 IRDPSRAPIPerfCounterLogger 对象。
IRDPSRAPISessionProperties

使用此接口获取或设置会话属性。
IRDPSRAPISharingSession

应用程序必须创建以启动协作会话的 main 对象。 (IRDPSRAPISharingSession)
IRDPSRAPISharingSession2

应用程序必须创建以启动协作会话的 main 对象。 (IRDPSRAPISharingSession2)
IRDPSRAPITcpConnectionInfo

支持检索查看器和共享方上的 TCP 连接信息的方法。
IRDPSRAPITransportStream

公开对流执行操作的方法。
IRDPSRAPITransportStreamBuffer

由 IRDPSRAPITransportStream 接口创建和使用,用于发送和接收数据。
IRDPSRAPITransportStreamEvents

公开由流接口 (IRDPSRAPITransportStream) 调用的方法,以通知远程桌面协议 (RDP) 堆栈的事件已完成。
IRDPSRAPIViewer

在查看器端使用的 ActiveX 接口。
IRDPSRAPIVirtualChannel

管理虚拟通道。
IRDPSRAPIVirtualChannelManager

管理虚拟通道的列表。
IRDPSRAPIWindow

表示到可共享窗口的一对一映射。
IRDPSRAPIWindowList

管理窗口列表。
IRDPViewerInputSink

发送鼠标和键盘事件,并支持触摸输入。