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 |