4.1.1 Channel Setup Sequence
After a new channel is established, the server sends the Set Channel Parameters message to the client. The message specifies the PresentationId and the StreamId for the channel. The following sequence shows the Set Channel Parameters message for a StreamId of 0x00000000.
-
Set Channel Parameters ChannelName = TSMF,32,server to client 00000000 00 00 00 40 00 00 00 00 01 01 00 00 4a 2a fd 28 ...@........J*.( 00000010 c7 ef a0 44 bb ca f3 17 89 96 9f d2 00 00 00 00 ...D............ 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 01 01 00 00 -> SET_CHANNEL_PARAMS = 0x101 4a 2a fd 28 -> PresentationId (GUID) = {28fd2a4a-efc7-44a0-bbca-f31789969fd2} c7 ef a0 44 bb ca f3 17 89 96 9f d2 00 00 00 00 -> StreamId = 0x00
The following annotation shows the Exchange Capabilities Request message sent from the server to the client. This message is sent after the Set Channel Parameters message. The request message contains two capabilities.
-
Exchange Capabilities Request ChannelName = TSMF,40,server to client 00000000 00 00 00 40 00 00 00 00 00 01 00 00 02 00 00 00 ...@............ 00000010 01 00 00 00 04 00 00 00 01 00 00 00 02 00 00 00 ................ 00000020 04 00 00 00 01 00 00 00 ........ 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 00 01 00 00 -> EXCHANGE_CAPABILITIES_REQ = 0x100 02 00 00 00 -> numHostCapabilities = 0x02 01 00 00 00 -> CapabilityType of the first TSMM_CAPABILITIES structure = 0x01, capability type = version supported 04 00 00 00 -> cbCapabilityLength of the first TSMM_CAPABILITIES structure 02 00 00 00 -> pCapabilityData of the first TSMM_CAPABILITIES structure = 0x02, supported version is 2 02 00 00 00 -> CapabilityType of the second TSMM_CAPABILITIES structure = 0x02, capability Type = platform supported 04 00 00 00 -> cbCapabilityLength of the second TSMM_CAPABILITIES structure 01 00 00 00 -> platform supported = MMREDIR_CAPABILITY_PLATFORM_MF = 0x01
The following annotation shows the Exchange Capabilities Response message sent from the client to the server. The response contains two capabilities.
-
Exchange Capabilities Response ChannelName = TSMF,40,client to server 00000000 00 00 00 80 00 00 00 00 02 00 00 00 01 00 00 00 ................ 00000010 04 00 00 00 01 00 00 00 02 00 00 00 04 00 00 00 ................ 00000020 03 00 00 00 00 00 00 00 00 00 00 80 -> Interface Id = 0x00000000 | mask STREAM_ID_STUB (0x80000000) 00 00 00 00 -> Message Id = 0x00000000 02 00 00 00 -> numClientCapabilities = 0x02 01 00 00 00 -> CapabilityType of the first TSMM_CAPABILITIES structure = 0x01, capability type = version supported 04 00 00 00 -> cbCapabilityLength of the first TSMM_CAPABILITIES structure 02 00 00 00 -> pCapabilityData of the first TSMM_CAPABILITIES structure = 0x02, supported version is 2 02 00 00 00 -> CapabilityType of the second TSMM_CAPABILITIES structure = 0x02, capability Type = platform supported 04 00 00 00 -> cbCapabilityLength of the second TSMM_CAPABILITIES structure 03 00 00 00 -> pCapabilityData of the second TSMM_CAPABILITIES structure = MMREDIR_CAPABILITY_PLATFORM_MF (0x01)| MMREDIR_CAPABILITY_PLATFORM_DSHOW (0x02) = 0x03 00 00 00 00 -> Result = S_OK