[MS-OXCFXICS] SendOptions flag values[MS-OXCFXICS] v2.0 Section 2.2.3.1.1.1.2 &quot;SendOptions&quot; contains a table showing various values for the SendOptions field, used in the RopFastTransferSourceCopy* type ROPs. SendOptions is described as a set of flags.<br/> <br/> The<em> ForUpload</em> flag is shown with a value of 0x03. That seems a bit strange for a flag. Is this meant to be 0x02?<br/> <br/> Brad© 2009 Microsoft Corporation. All rights reserved.Thu, 25 Jun 2009 08:12:44 Zf07f829a-3b5b-43a2-8fe8-6e9259a05b1ehttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#f07f829a-3b5b-43a2-8fe8-6e9259a05b1ehttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#f07f829a-3b5b-43a2-8fe8-6e9259a05b1eBrad Hardshttp://social.msdn.microsoft.com/Profile/en-US/?user=Brad%20Hards[MS-OXCFXICS] SendOptions flag values[MS-OXCFXICS] v2.0 Section 2.2.3.1.1.1.2 &quot;SendOptions&quot; contains a table showing various values for the SendOptions field, used in the RopFastTransferSourceCopy* type ROPs. SendOptions is described as a set of flags.<br/> <br/> The<em> ForUpload</em> flag is shown with a value of 0x03. That seems a bit strange for a flag. Is this meant to be 0x02?<br/> <br/> BradSun, 19 Apr 2009 02:13:32 Z2009-04-19T02:13:32Zhttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#19ef5283-ae37-4aba-878e-897143caed59http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#19ef5283-ae37-4aba-878e-897143caed59Tom Devey - MSFThttp://social.msdn.microsoft.com/Profile/en-US/?user=Tom%20Devey%20-%20MSFT[MS-OXCFXICS] SendOptions flag values<p>Hi Brad,<br/><br/>In review of the code the values in the table are correct. Are you seeing something different?</p><hr class="sig">Developer ConsultantMon, 20 Apr 2009 05:39:13 Z2009-04-20T05:39:13Zhttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#7c0444b9-77d3-4201-89d4-dcf8e0b7c352http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#7c0444b9-77d3-4201-89d4-dcf8e0b7c352Brad Hardshttp://social.msdn.microsoft.com/Profile/en-US/?user=Brad%20Hards[MS-OXCFXICS] SendOptions flag valuesHi Tom,<br/> <br/> Haven't managed to test this one yet - just working on the IDL.<br/> <br/> My concern was that the SendOptions involves flags (i.e. this is not an enum, its a bitmask of values that can be ANDed together)<br/> 0x01 (b00000001) is Unicode<br/> 0x03 (b00000011) is ForUpload<br/> 0x04 (b00000100) is RecoverMode<br/> 0x08 (b00001000) is ForceUnicode<br/> 0x10 (b00010000) is PartialItem<br/> <br/> That implies ForUpload forces Unicode, which is a strange requirement. I can understand a linkage between Unicode and ForceUnicode (as explained by the docs), but not that.<br/> <br/> So I'm still a bit curious. Are you sure about your code here?<br/> <br/> BradMon, 20 Apr 2009 07:50:43 Z2009-04-20T07:50:43Zhttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#eb9d6322-9f1d-445b-a880-6e7d136f6a74http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#eb9d6322-9f1d-445b-a880-6e7d136f6a74Tom Devey - MSFThttp://social.msdn.microsoft.com/Profile/en-US/?user=Tom%20Devey%20-%20MSFT[MS-OXCFXICS] SendOptions flag valuesThe table is correct (triple checked) and as you pointed out there is an implied Unicode for ForUpload.  In general the shared masked bit it's handled by control flow but I did find one situation where there appears to be a hole.  Let me ask development for clarification on this one. <hr class="sig">Developer ConsultantThu, 07 May 2009 21:51:09 Z2009-05-07T21:51:09Zhttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#b3124474-f76d-4e81-89fa-0626207d52a0http://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#b3124474-f76d-4e81-89fa-0626207d52a0Tom Devey - MSFThttp://social.msdn.microsoft.com/Profile/en-US/?user=Tom%20Devey%20-%20MSFT[MS-OXCFXICS] SendOptions flag valuesTurns out that ForUpload is actually a mask of Unicode (0x01) and UseCpid (0x02).   If you pass UseCpid (0x02) it must be OR'd with Unicode (0x02) which is the equivalent of ForUpload (0x03).  ForUpload = Unicode | UseCpid.<br/><br/>I have filed a TDI against the documentation to add UseCpid and break out ForUpload from the table.<br/><hr class="sig">Developer ConsultantThu, 25 Jun 2009 00:18:46 Z2009-06-25T00:18:46Zhttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#97b8f46d-c9ec-4d98-aef5-1bb18ba3380bhttp://social.msdn.microsoft.com/Forums/en-US/os_exchangeprotocols/thread/f07f829a-3b5b-43a2-8fe8-6e9259a05b1e#97b8f46d-c9ec-4d98-aef5-1bb18ba3380bBrad Hardshttp://social.msdn.microsoft.com/Profile/en-US/?user=Brad%20Hards[MS-OXCFXICS] SendOptions flag valuesTom,<br/> <br/> Thanks for following this up. <br/> <br/> I think I see a typo though &quot;...it must be OR'd with Unicode (<strong>0x01</strong> ) which is...&quot;<br/> <br/> Brad<br/>Thu, 25 Jun 2009 08:12:44 Z2009-06-25T08:12:44Z