Edit

Share via


Windows Desktop Sharing

Overview of the Windows Desktop Sharing technology.

To develop Windows Desktop Sharing, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
ATTENDEE_DISCONNECT_REASON

Defines values for the reasons why an attendee was disconnected from the session.
CHANNEL_ACCESS_ENUM

Defines values for the type of access granted to the attendee for the channel.
CHANNEL_FLAGS

Defines values for how data is sent on the channel.
CHANNEL_PRIORITY

Defines values for the priority used to send packets on the channel.
CTRL_LEVEL

Defines the level of control that an attendee has on a session.
RDPENCOMAPI_ATTENDEE_FLAGS

Defines values for the type of attendee.
RDPSRAPI_APP_FLAGS

Defines values for the type of application.
RDPSRAPI_KBD_CODE_TYPE

Defines values for the type of encoding of a keyboard.
RDPSRAPI_KBD_SYNC_FLAG

Defines values for the type of keys that control the state of a keyboard, such as the Caps Lock key.
RDPSRAPI_MOUSE_BUTTON_TYPE

Defines values for the type of mouse buttons.
RDPSRAPI_WND_FLAGS

Defines values for the type of window.

Functions

 
AddTouchInput

Accepts a description of a touch input.
AllocBuffer

Called by the Remote Desktop Protocol (RDP) stack to allocate a stream buffer.
BeginTouchFrame

Begins to accept a series of touch inputs.
Close

Disconnects all attendees from the session and stops listening to incoming connections.
Close

Called by the Remote Desktop Protocol (RDP) stack to close the stream.
Connect

Starts the actual connection to the sharer.
ConnectToClient

Used for reverse connect mode, where the sharer connects to the viewer.
ConnectUsingTransportStream

Connects using the specified transport stream.
CreateInvitation

Creates an invitation.
CreateLogger

Creates a new IRDPSRAPIPerfCounterLogger object.
CreateVirtualChannel

Creates a virtual channel.
Disconnect

Initiates a disconnect of the viewer from the sharer.
EndTouchFrame

Stops to accept a series of touch inputs.
FreeBuffer

Releases the hold on the buffer after the GetBuffer method is called.
FreeBuffer

Called by the Remote Desktop Protocol (RDP) stack to return a stream buffer to the stream.
get__NewEnum

An enumerator interface for the application collection.
get__NewEnum

An enumerator interface for the attendee collection.
get__NewEnum

An enumerator interface for the invitation collection.
get__NewEnum

An enumerator interface for the virtual channel collection.
get__NewEnum

An enumerator interface for the window collection.
get_Application

Returns a pointer to the application object that the window belongs to.
get_ApplicationFilter

Returns an object implementing the IRDPSRAPIApplicationFilter interface. (IRDPSRAPISharingSession.get_ApplicationFilter)
get_ApplicationFilter

Returns an object implementing the IRDPSRAPIApplicationFilter interface. (IRDPSRAPIViewer.get_ApplicationFilter)
get_Applications

The list of sharable applications.
get_Attendee

The attendee that was disconnected.
get_AttendeeLimit

The maximum number of attendees that can connect to the session. (Get)
get_Attendees

Returns an object implementing the IRDPSRAPIAttendeeManager interface. (IRDPSRAPISharingSession.get_Attendees)
get_Attendees

Returns an object implementing the IRDPSRAPIAttendeeManager interface. (IRDPSRAPIViewer.get_Attendees)
get_Bpp

The bits per pixel for the frame buffer.
get_CLXCmdLine

get_Code

The status of the disconnect operation.
get_ColorDepth

Retrieves or sets the color depth for the shared session. (Get)
get_ConnectionString

The ticket string.
get_ConnectivityInfo

Retrieves the connectivity information for the attendee.
get_Context

This property is reserved for use by the Remote Desktop Protocol (RDP) stack. Do not modify it. (Get)
get_ControlLevel

The level of control the attendee has over the session. (Get)
get_Count

The number of invitations in the collection.
get_DisconnectedText

Retrieves or sets the text that appears centered in the control before a connection is terminated. (Get)
get_Enabled

The enabled state of the application filter. (Get)
get_Flags

The sharing flags.
get_Flags

Retrieves the attendee specific flags that are defined in the RDPENCOMAPI_ATTENDEE_FLAGS enumeration type.
get_Flags

Retrieves or specifies options for the stream buffer. (Get)
get_Flags

The channel flags. This property is reserved for future use.
get_Flags

Returns the flags on the current window.
get_FrameBuffer

Gets a frame buffer for this session.
get_GroupName

The group name.
get_Height

Height, in pixels, of the frame buffer.
get_Id

The application identifier.
get_Id

The unique identifier for the attendee.
get_Id

Returns the ID of a window.
get_Invitation

The invitation used to grant the attendee access to the conference.
get_Invitations

Returns an object implementing the IRDPSRAPIInvitationManager interface. (IRDPSRAPISharingSession.get_Invitations)
get_Invitations

Returns an object implementing the IRDPSRAPIInvitationManager interface. (IRDPSRAPIViewer.get_Invitations)
get_Item

An item in the application collection.
get_Item

An item in the attendee collection.
get_Item

An item in the invitation collection.
get_Item

An item in the virtual channel collection.
get_Item

An item in the window collection.
get_LocalIP

Retrieves the local IP address that is being used by the sharer or by the viewer for communication.
get_LocalPort

Retrieves the local port that is being used by the sharer or by the viewer in communication.
get_Name

The name of the application.
get_Name

The channel name.
get_Name

Returns the name for the window object.
get_Password

The password string.
get_PayloadOffset

Specifies the location in the stream buffer where the content starts. (Get)
get_PayloadSize

The size, in bytes, of the content in the internal storage buffer. (Get)
get_PeerIP

Retrieves the remote IP address that is being used by the sharer or by the viewer in communication.
get_PeerPort

Retrieves the remote port that is being used by the sharer or by the viewer in communication.
get_Priority

The channel priority.
get_Properties

Retrieves an object implementing the IRDPSRAPISessionProperties interface.
get_Properties

Returns an object implementing the IRDPSRAPISessionProperties interface.
get_Property

Sets or gets a named session property. (Get)
get_Protocol

Retrieves the protocol that is being used by the sharer or by the viewer for communication.
get_Reason

The reason the attendee was disconnected.
get_RemoteName

The name of the remote client. This is usually the attendee's friendly name.
get_Revoked

The revoked state of the invitation. (Get)
get_Shared

The sharing state. (Get)
get_Shared

Gets or sets the sharing property for a window. (Get)
get_SmartSizing

Gets or sets the smart sizing property of the viewer ActiveX control. (Get)
get_Storage

The address of the internal storage buffer for the stream.
get_StorageSize

The size, in bytes, of the internal storage buffer for the stream.
get_VirtualChannelManager

Retrieves an object implementing the IRDPSRAPIVirtualChannelManager interface.
get_VirtualChannelManager

Returns an object implementing the IRDPSRAPIVirtualChannelManager interface.
get_Width

Width, in pixels, of the frame buffer.
get_Windows

The list of windows.
get_Windows

The list of sharable windows.
GetBuffer

Gets audio data from the buffer.
GetDesktopSharedRect

Retrieves the current desktop region being shared.
GetFrameBufferBits

Gets the bits in a specified area of the frame.
Initialize

Initializes the audio stream.
LogValue

Logs a value.
OnPasteFromClipboard

This callback is issued when an attempt to copy data from the sharer computer is made.
OnReadCompleted

Notifies the Remote Desktop Protocol (RDP) stack that a read operation has completed.
OnStreamClosed

Notifies the Remote Desktop Protocol (RDP) stack that the connection was closed.
OnWriteCompleted

Notifies the Remote Desktop Protocol (RDP) stack that a write operation has completed.
Open

Puts the session in an active state.
Open

Called by the Remote Desktop Protocol (RDP) stack to start the stream and indicate that the RDP stack is ready to receive notifications of events.
Pause

Pauses the graphics stream that is sent to all viewers from the sharer until IRDPSRAPISharingSession::Resume is called.
put_AttendeeLimit

The maximum number of attendees that can connect to the session. (Put)
put_CLXCmdLine

put_ColorDepth

Retrieves or sets the color depth for the shared session. (Put)
put_Context

This property is reserved for use by the Remote Desktop Protocol (RDP) stack. Do not modify it. (Put)
put_ControlLevel

The level of control the attendee has over the session. (Put)
put_DisconnectedText

Retrieves or sets the text that appears centered in the control before a connection is terminated. (Put)
put_Enabled

The enabled state of the application filter. (Put)
put_Flags

Retrieves or specifies options for the stream buffer. (Put)
put_PayloadOffset

Specifies the location in the stream buffer where the content starts. (Put)
put_PayloadSize

The size, in bytes, of the content in the internal storage buffer. (Put)
put_Property

Sets or gets a named session property. (Put)
put_Revoked

The revoked state of the invitation. (Put)
put_Shared

The sharing state. (Put)
put_Shared

Gets or sets the sharing property for a window. (Put)
put_SmartSizing

Gets or sets the smart sizing property of the viewer ActiveX control. (Put)
ReadBuffer

Called by the Remote Desktop Protocol (RDP) stack to read the contents of a stream buffer.
RequestColorDepthChange

Requests a color depth change on the sharer Winlogon user session.
RequestControl

Requests the sharer to change the control level of the viewer.
Resume

Causes the graphics stream that is sent to all viewers from the sharer to resume until either IRDPSRAPISharingSession::Pause or IRDPSRAPISharingSession::Close is called.
SendControlLevelChangeResponse

Sends an OnControlLevelChangeResponse event.
SendData

Sends data on the channel.
SendKeyboardEvent

Sends a keyboard event message.
SendMouseButtonEvent

Sends a mouse button event message.
SendMouseMoveEvent

Sends a mouse move event message.
SendMouseWheelEvent

Sends a mouse wheel event message.
SendSyncEvent

Sends an event message to indicate a change in the state of the keyboard, such as when the Caps Lock key is pressed.
SetAccess

Enables the channel for an attendee.
SetDesktopSharedRect

Sets the desktop region that will be shared.
Show

Brings the current window to the foreground.
Start

Starts the audio stream.
StartReverseConnectListener

Initiates a listener for accepting reverse connections from the sharer to the viewer, or obtains the connection string that the sharer uses to reverse connect to the viewer.
Stop

Stops the audio stream.
TerminateConnection

Disconnects the client represented by the attendee.
WriteBuffer

Called by the Remote Desktop Protocol (RDP) stack to write the contents of a stream buffer to the network.

Interfaces

 
_IRDPSessionEvents

Implement this interface to receive notifications when events occur.
IRDPSRAPIApplication

Groups the sharable windows within a process. Each application object contains a list of window objects. If an application object is shared, all its windows are shared.
IRDPSRAPIApplicationFilter

Manages the shared desktop area at the window and process level. Applications can use the enumerators to display lists of objects in the session that can be shared.
IRDPSRAPIApplicationList

Manages the application list.
IRDPSRAPIAttendee

Attendee objects are created as a result of clients connecting to the session and being authenticated. After an attendee object is created, it is automatically added to the attendees list.
IRDPSRAPIAttendeeDisconnectInfo

Contains information about the reason an attendee disconnected.
IRDPSRAPIAttendeeManager

Manages attendee objects.
IRDPSRAPIAudioStream

Enables sending an audio stream from the collaboration sharer Microsoft ActiveX control to collaboration viewer controls.
IRDPSRAPIClipboardUseEvents

Implement this interface on the sharer side to track or control use of the clipboard. If you do not enable clipboard sharing, this interface has no effect. You need to set a value for the SetClipboardRedirectCallback property described in Property.
IRDPSRAPIDebug

Used by Microsoft to test the Remote Desktop ActiveX client.
IRDPSRAPIFrameBuffer

Provides data about the frame buffer size and format and allows the contents to be retrieved.
IRDPSRAPIInvitation

Invitations enable a person or group of persons to connect to a session. When an attendee connects to a session, the client sends a ticket and a password. These two pieces of information are used to authenticate an attendee.
IRDPSRAPIInvitationManager

Manages invitation objects.
IRDPSRAPIPerfCounterLogger

Enables a client application to implement custom performance logging.
IRDPSRAPIPerfCounterLoggingManager

Manages IRDPSRAPIPerfCounterLogger objects.
IRDPSRAPISessionProperties

Use this interface to get or set session properties.
IRDPSRAPISharingSession

The main object that an application must create to start a collaboration session. (IRDPSRAPISharingSession)
IRDPSRAPISharingSession2

The main object that an application must create to start a collaboration session. (IRDPSRAPISharingSession2)
IRDPSRAPITcpConnectionInfo

Supports the methods to retrieve the TCP connection information on the viewer and on the sharer side.
IRDPSRAPITransportStream

Exposes methods that perform operations with streams.
IRDPSRAPITransportStreamBuffer

Created and used by the IRDPSRAPITransportStream interface for sending and receiving data.
IRDPSRAPITransportStreamEvents

Exposes methods called by the stream interface (IRDPSRAPITransportStream) to notify the Remote Desktop Protocol (RDP) stack about the completion of events.
IRDPSRAPIViewer

The ActiveX interface that is used on the viewer side.
IRDPSRAPIVirtualChannel

Manages the virtual channel.
IRDPSRAPIVirtualChannelManager

Manages the list of virtual channels.
IRDPSRAPIWindow

Represents a one-to-one mapping to a sharable window.
IRDPSRAPIWindowList

Manages the window list.
IRDPViewerInputSink

Sends mouse and keyboard events, and supports touch input.