none
[MS-FXICS] Query on flags for RopFastTransferSourceCopyTo RRS feed

  • Question

  • FXICS Section 2.2.3.1.1.1.2 "SendOptions" includes "UseCpid If this flag is set, the Unicode flag MUST also be set."

    I'm not sure I understand what this flag is meant to do. From the name, I would probably guess it is something related to Code Page, but it isn't clear.

    Q1. If the UseCpid bit is set (and then the Unicode flag must be set) then is the format UTF-16 (given the table at the end of this section states "with Unicode being preferred)?

    Q2. If the UseCpid bit is not set, what happens?

    Q3. If the UseCpid bit is set (and then the Unicode flag must be set) and the ForceUnicode is set, what happens?

    I think it might be clearer if there was some text describing this flag, and if there is some interaction with Unicode and ForceUnicode, then perhaps some additional entries in the logic table at the end of this section might be useful.

    Brad

    Wednesday, September 22, 2010 6:05 PM

Answers

  • Brad,

    Some clarity:

    The UseCpid flag does not mean “not-Unicode”. It means that string property types need to be encoded with the code page on the string.  It is entirely possible for the code page of a string to be Unicode.  Therefore, if the ForceUnicode flag is passed to the source server (in a server-client-server scenario), all string will be returned as Unicode, but also the string property type will indicate the Unicode code page.

    Dominic Salemno
    Escalation Engineer
    Open Specifications

    • Proposed as answer by King Salemno Tuesday, October 19, 2010 4:30 PM
    • Marked as answer by Chris Mullaney Thursday, October 28, 2010 5:04 PM
    Friday, October 15, 2010 12:44 PM

All replies

  • Hi Brad,

     

    Thanks for your questions.

     

    Someone from my team will contact you shortly.

     

    Thanks and regards,


    SEBASTIAN CANEVARI - MSFT Escalation Engineer Protocol Documentation Team
    Wednesday, September 22, 2010 6:42 PM
  • brad,

    i am the engineer who has taken ownership of your questions. i am currently researching this and will update you as things progress.

    dominic salemno
    escalation engineer
    open specifications

    Thursday, September 23, 2010 2:21 PM
  • brad,

    i am still investigating this and will update you as things progress.

    dominic salemno
    escalation engineer
    open specifications

     

    Monday, October 4, 2010 9:07 PM
  • Dominic,

    My brain finally re-engaged, and I remembered looking at something similar in the past. Looks like this issue is closely related to a previous query:

    http://social.msdn.microsoft.com/forums/en-us/os_exchangeprotocols/thread/F07F829A-3B5B-43A2-8FE8-6E9259A05B1E

    Brad

     

    Wednesday, October 6, 2010 10:53 PM
  • Brad,

    This flag is only used in server-to-client-to-server uploads. If this flag is set, the Unicode flag MUST also be set. The documentation is being updated, and here is some of the text that pertains to your situation:

    "String properties MUST be output either in Unicode, or in the code page set on the current connection. If the properties are stored in Unicode on the server, the server MUST return the properties in Unicode. If the properties are not stored in Unicode on the server, the server MUST return the properties in the code page set on the current connection."

    Does this answer your question?

    Dominic Salemno
    Escalation Engineer
    Open Specifications

    • Proposed as answer by King Salemno Tuesday, October 12, 2010 7:31 PM
    Tuesday, October 12, 2010 7:31 PM
  • Dominic,

    Does this mean that the ForceUnicode flag cannot be set for the server-client-server case? [Since the client can't know the storage format on the server, and if the server has non-unicode storage, then that would conflict with the MUST requirements for ForceUnicode].

    Brad

    Wednesday, October 13, 2010 12:26 AM
  • Brad,

    That logic makes sense. I will confirm this for you.

    Dominic Salemno
    Escalation Engineer
    Open Specifications

    Thursday, October 14, 2010 8:15 AM
  • Brad,

    Some clarity:

    The UseCpid flag does not mean “not-Unicode”. It means that string property types need to be encoded with the code page on the string.  It is entirely possible for the code page of a string to be Unicode.  Therefore, if the ForceUnicode flag is passed to the source server (in a server-client-server scenario), all string will be returned as Unicode, but also the string property type will indicate the Unicode code page.

    Dominic Salemno
    Escalation Engineer
    Open Specifications

    • Proposed as answer by King Salemno Tuesday, October 19, 2010 4:30 PM
    • Marked as answer by Chris Mullaney Thursday, October 28, 2010 5:04 PM
    Friday, October 15, 2010 12:44 PM