VIRTUALCHANNELWRITE callback function (cchannel.h)

Sends data from the client end of a virtual channel to a partner application on the server end.

Remote Desktop Services provides a pointer to a VirtualChannelWrite function in the CHANNEL_ENTRY_POINTS structure passed to your VirtualChannelEntry entry point.

Syntax

VIRTUALCHANNELWRITE Virtualchannelwrite;

UINT VCAPITYPE Virtualchannelwrite(
  [in] DWORD openHandle,
  [in] LPVOID pData,
  [in] ULONG dataLength,
  [in] LPVOID pUserData
)
{...}

Parameters

[in] openHandle

Handle to the virtual channel. This is the handle returned in the pOpenHandle parameter of the VirtualChannelOpen function.

[in] pData

Pointer to a buffer containing the data to write.

[in] dataLength

Specifies the number of bytes of the data in the pData buffer to write.

[in] pUserData

An application-defined value. This value is passed to your VirtualChannelOpenEvent function when the write operation is completed or canceled.

Return value

If the function succeeds, the return value is CHANNEL_RC_OK.

If an error occurs, the function returns one of the following values.

Remarks

The VirtualChannelWrite function is asynchronous. When the write operation has been completed, your VirtualChannelOpenEvent function receives a CHANNEL_EVENT_WRITE_COMPLETE notification. Until that notification is received, the caller must not free or reuse the pData buffer passed to VirtualChannelWrite.

The value specified for the pUserData parameter is passed to your VirtualChannelOpenEvent function when the write operation is completed or canceled. You can use this data to identify the write operation.

The server add-in at the server end of the virtual channel calls the WTSVirtualChannelRead function to read the data written by a VirtualChannelWrite call.

Requirements

Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header cchannel.h

See also

VirtualChannelOpen

VirtualChannelOpenEvent

WTSVirtualChannelRead