1.3.2 PNP Device I/O Subprotocol

The PNP Device I/O Subprotocol specifies the communication between the terminal client and the remote devices on the terminal server, for handling I/O requests. This subprotocol is used to redirect the I/O calls from applications on the terminal server side to a device driver on the terminal client side. The following illustration shows a typical PNP Device I/O Subprotocol message sequence. This subprotocol uses a dynamic virtual channel named FileRedirectorChannel for communication between client and server.

PNP Device I/O Subprotocol message sequence

Figure 2: PNP Device I/O Subprotocol message sequence

For devices redirected using the PNP Device Info Subprotocol, I/O redirection takes place using the PNP Device I/O Subprotocol. The server creates a new subchannel within the FileRedirectorChannel main channel for each CreateFile Request. Subsequent I/O operations related to the file created are passed on this subchannel. The server sends the I/O requests to the client on behalf of applications running on the server. The client completes the I/O requests and passes the results back to the server.