VirtualChannelWrite (Windows Embedded CE 6.0)

1/6/2010

This function sends data from the client end of a virtual channel to a partner application on the server end. It copies the data to one or more network buffers as necessary, and ensures that data is sent to the Terminal Server on the right context.

Syntax

UINT VCAPITYPE VirtualChannelWrite(
  DWORD openHandle,
  LPVOID pData,
  ULONG dataLength,
  LPVOID pUserData
);

Parameters

  • openHandle
    [in] Handle to the virtual channel. This is the handle returned in the pOpenHandle parameter of the VirtualChannelOpen function.
  • pData
    [in] Pointer to a buffer containing the data to write.
  • dataLength
    [in] Specifies the size, in bytes, of the data in the pData buffer.
  • pUserData
    [in] Pointer to an application-defined value. This value is passed to your VirtualChannelOpenEvent function when the write operation is completed or canceled.

Return Value

The following table shows the return values for this function.

Value Description

CHANNEL_RC_OK

Function succeeded.

CHANNEL_RC_NOT_CONNECTED

The virtual channel is not connected.

CHANNEL_RC_BAD_CHANNEL_HANDLE

The openHandle parameter is not valid.

CHANNEL_RC_UNKNOWN_CHANNEL_NAME

The channel is unregistered.

CHANNEL_RC_NO_MEMORY

Indicates an out-of-memory condition.

CHANNEL_RC_NULL_DATA

The pData parameter is not valid.

CHANNEL_RC_ZERO_LENGTH

The dataLength parameter is zero.

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.

Requirements

Header cchannel.h
Library Developer Implemented
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

RDP Functions