Consideration for xps printing through debugging stuff
In client side, MSFT printer provider write printer ticket to stream from DOM. they converts UTF-16 to UTF-8 by calling msxml6!CharEncoder::wideCharToUtf8() at that time, then our xps printer provider read UTF-8 printer ticket through stream. then redirect to Xenapp server.
Server Debug
0:000> kv
ChildEBP RetAddr  Args to Child
001aae14 6d66c2f0 0d338f30 000050ba 0f5fefb8 Cpxpsupdui!CPTXmlDom::LoadXMLInToDom (FPO: [Non-Fpo])(CONV: stdcall)
001aae54 6e169b0c 08c96fe0 00003c98 0e206368 Cpxpsupdui!CUpdPTProvider::ConvertDevModeToPrintTicket+0x220 (FPO: [Non-Fpo]) (CONV: stdcall)
001aaeb0 6e168319 0fecafc0 00003c98 0e206368 prntvpt!PTConvertDevModeToPrintTicketImp+0xed (FPO: [5,14,4])
001aaed4 6e1688b4 0fec8fe8 00003c98 0e206368 prntvpt!CPrintTicketServerBase::ConvertDevModeToPrintTicket+0x23 (FPO: [5,1,4])
001aaef0 72945d33 0feccfe8 00003c98 0e206368 prntvpt!PTConvertDevModeToPrintTicket+0x34 (FPO: [5,0,0])
001aaf1c 6c4b3efc 0feccfe8 00003c98 0e206368 vfprint!VfPTConvertDevModeToPrintTicket+0x98 (FPO: [Non-Fpo]) (CONV: stdcall)
001ac434 6c49b7f4 001aca04 001aca00 001ac9fc mxdwdrv!edocs::CPrintTicketInfo::GetXmlPrintTicket+0x1e6 (FPO: [4,1342,4])
001aca2c 6c49f022 26084737 001ae2d0 001ad288 mxdwdrv!edocs::CXamlDocument::EmitDocumentSequencePrintTicketToPackage+0x34f (FPO: [0,374,0])
001ad4c8 6c46d628 260846db 001ae2d0 001aeb98 mxdwdrv!edocs::CXamlDocument::PageEnd+0x244 (FPO: [0,675,0])
001ad524 6c46e1f6 0d9b0000 26087107 00000000 mxdwdrv!DrvSendPage+0xbf (FPO: [1,17,0])
001ae2f8 757f10a7 0d9b0000 0d9b0034 001aec60 mxdwdrv!DrvNextBand+0x595 (FPO: [2,878,0])
001ae330 76b2b1e5 001aeb98 001ae348 00000004 GDI32!GdiPrinterThunk+0x753 (FPO: [3,7,0])
001aeb80 76e599ce 001aeb98 0000001c 001af4f8 USER32!__ClientPrinterThunk+0x28 (FPO: [1,526,4])
001aebb0 758241b9 75815a82 f9210388 00000000 ntdll!KiUserCallbackDispatcher+0x2e (FPO: [0,0,0])
001aebb4 75815a82 f9210388 00000000 001aec60 GDI32!NtGdiDoBanding+0xc (FPO: [4,0,0])
001aebe0 75815f90 f9210388 001aec60 0cbeef18 GDI32!NextBand+0x1d (FPO: [2,2,4])
001aec70 7581610c 00000001 0000000a 001aec98 GDI32!MFP_InternalEndPage+0x20c (FPO: [2,29,4])
001aec80 758049e1 f9210388 00000001 00000014 GDI32!MFP_EndPage+0xf (FPO: [1,0,0])
001aec98 757ff182 f9210388 00000001 001af088 GDI32!InternalEndPage+0x6e (FPO: [2,0,4])
001aeca8 001c84c8 f9210388 00000000 76b0e563 GDI32!EndPage+0xf (FPO: [1,0,0])
Client Debug
0:000> kv
ChildEBP RetAddr  Args to Child
0018f318 7076b919 1aef87b8 0000fde9 1aef87e6 msxml6!CharEncoder::wideCharToUtf8+0x2 (FPO: [6,5,0])
0018f348 7076a79e 0000054f 00000fef 000007ee msxml6!EncodingWriter::WriteString+0x69 (FPO: [3,1,4])
0018f364 70777c13 085c2520 1aef8780 0018f388 msxml6!OutputHelper::_hardWrite+0x69 (FPO: [0,0,4])
0018f374 70767207 085c2530 0000000c 06cfc600 msxml6!OutputHelper::_write+0x34 (FPO: [2,0,0])
0018f388 70767944 085c2530 0000000c 06cfc600 msxml6!XMLOutputHelper::beginElement+0x2c (FPO: [2,0,4])
0018f3ac 707679da 1af5ded8 1aef8780 12418fb8 msxml6!Node::_save+0x12a (FPO: [3,2,4])
0018f3d4 707679da 1af5ded8 1aef8780 12418fb8 msxml6!Node::_save+0x21b (FPO: [3,2,4])
0018f3fc 70767d4a 1af5ded8 1aef8780 12418fb8 msxml6!Node::_save+0x21b (FPO: [3,2,4])
0018f438 707e9e54 1af5ded8 1aef8780 12418fb8 msxml6!Node::save+0x42 (FPO: [SEH])
0018f44c 707ea27b 1aef8780 de6353cb 1af5ded8 msxml6!Document::save+0x28 (FPO: [1,0,0])
0018f484 707ea041 17140fe0 00000000 de63538f msxml6!Document::save+0x2d (FPO: [SEH])
0018f4c0 707ef7ad 06deab8b 17140fe0 00000000 msxml6!Document::Save+0x5b (FPO: [SEH])
0018f52c 713b6440 17140fe0 0000000d 0018f57c msxml6!DOMDocumentWrapper::save+0xec (FPO: [SEH])
0018f564 713b832b 23fd0fb8 17140fe0 00003c3c prntvpt!DOMDocumentToIStream+0x47 (FPO: [2,4,4])
0018f57c 713b88b4 1147afe8 00003c3c 060d33c2 prntvpt!CPrintTicketServerBase::ConvertDevModeToPrintTicket+0x35 (FPO: [5,1,4])
0018f598 719314b3 1990cfe8 00003c3c 060d33c2 prntvpt!PTConvertDevModeToPrintTicket+0x34 (FPO: [5,0,0])
0018f5cc 7193ad06 00000000 00003c3c 060d33c2 VDSPL30N!CpmXpsPrinterConvertDMToPT+0x73 (FPO: [6,3,0]) (CONV: stdcall)
0018f5f8 7193bb6c 05898fe0 060d33b8 719480a8 VDSPL30N!MhHandleXPSCnvDMPT+0x66 (FPO: [2,3,4]) (CONV: stdcall)
0018f620 71938800 05549c79 00000c50 05898fe0 VDSPL30N!MhMain+0x11c (FPO: [4,3,0]) (CONV: stdcall)
0018f640 719394d3 05549c79 06104cb8 002c1766 VDSPL30N!CpmWireDataReceive+0xa0 (FPO: [1,0,4]) (CONV: stdcall)

As a result of my debugging, it is really interesting.

Global Escalation Manager in Tokyo
-fb