MSDN > 論壇首頁 > Using the Exchange Server Protocols > [MS-OXCFXICS] SendOptions flag values
發問發問
 

已答覆[MS-OXCFXICS] SendOptions flag values

  • Sunday, 19 April, 2009 2:13Brad Hards 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    [MS-OXCFXICS] v2.0 Section 2.2.3.1.1.1.2 "SendOptions" contains a table showing various values for the SendOptions field, used in the RopFastTransferSourceCopy* type ROPs. SendOptions is described as a set of flags.

    The ForUpload flag is shown with a value of 0x03. That seems a bit strange for a flag. Is this meant to be 0x02?

    Brad

解答

  • Thursday, 25 June, 2009 0:18Tom Devey - MSFTMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    Turns 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.

    I have filed a TDI against the documentation to add UseCpid and break out ForUpload from the table.

    Developer Consultant

所有回覆

  • Monday, 20 April, 2009 5:39Tom Devey - MSFTMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    Hi Brad,

    In review of the code the values in the table are correct. Are you seeing something different?


    Developer Consultant
  • Monday, 20 April, 2009 7:50Brad Hards 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Hi Tom,

    Haven't managed to test this one yet - just working on the IDL.

    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)
    0x01 (b00000001) is Unicode
    0x03 (b00000011) is ForUpload
    0x04 (b00000100) is RecoverMode
    0x08 (b00001000) is ForceUnicode
    0x10 (b00010000) is PartialItem

    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.

    So I'm still a bit curious. Are you sure about your code here?

    Brad
  • Thursday, 7 May, 2009 21:51Tom Devey - MSFTMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    The 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. 
    Developer Consultant
  • Thursday, 25 June, 2009 0:18Tom Devey - MSFTMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    Turns 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.

    I have filed a TDI against the documentation to add UseCpid and break out ForUpload from the table.

    Developer Consultant
  • Thursday, 25 June, 2009 8:12Brad Hards 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Tom,

    Thanks for following this up.

    I think I see a typo though "...it must be OR'd with Unicode (0x01 ) which is..."

    Brad