3.3.5.1.2.1 Processing a Client Device Addition Message

The structure and fields of the Client Device Addition message are described in section 2.2.1.3.1.

For each device contained in the DeviceDescriptions field of the Client Device Addition message, the server MUST create a remote device instance on the server to represent the client-side physical devices and add it to its Client device list. The server MUST also maintain a client device ID for each device. A one-to-one correspondence exists between remote devices and client device IDs. This ID MUST be used to refer to a particular device when making I/O calls.

If the CustomFlag field DeviceDescription of the device is set to 0x00000001, the server MAY choose not to redirect the device. If the server chooses not to redirect the device, the server silently drops the Client Device Addition message and does not inform the client.

In the case of the server receiving a duplicate ClientDeviceId in the PNP_DEVICE_DESCRIPTION subpacket as described in section 2.2.1.3.1.1, the server SHOULD terminate the underlying subprotocol dynamic virtual channel.<12> The FileRedirectorChannel channel continues to process IO for existing devices and is not terminated. These devices are removed when the session is disconnected.