none
[MS-OXCFXICS] FastTransferCopyMessages behaviour RRS feed

  • Question

  • MS-OXCFXICS v20100729 Section 2.2.3.1.1.3 "RopFastTransferSourceCopyMessages" states (in part):

    InputServerObject: MUST be a Folder object.

    MessageIdCount (2 bytes): An unsigned 16-bit integer. This value specifies the number of identifiers in the MessageIds field. MUST be greater than 0.

    MessageIds (variable): An array of 64-bit identifiers. This list specifies the MIDs of the messages to copy. Messages MUST be contained by a folder identified by InputServerObject.

    Is the words "contained by a folder" intended to mean that the input handle is the folder containing the messages specified by MessageIds, or it it intended to mean any higher level folder?

    As an example, if I have a folder (identified by server object handle of 0) containing three subfolders, each of which contains one message, can I copy those three messages in a single RopFastTransferCopyMessages call (setting InputServerObjectHandle to 0 to represent the common parent folder)?

    Is there product specific behaviour here?

     

    Thursday, October 7, 2010 2:17 AM

Answers

  • Brad, as it turns out, RopFastTransferSourceCopyMessages can ONLY copy messages which are contained in the folder that is specified as the InputServerObject. In your scenario, you would need to send 3 separate RopFastTransferSourceCopyMessages calls, one for each folder containing the messages that you want to copy.


    Josh Curry (jcurry) | Escalation Engineer | US-CSS DSC Protocols Team
    Friday, October 15, 2010 2:39 PM
    Moderator

All replies

  • Hi Brad - thanks for your post. One of my team colleagues will be in touch with you soon. Thanks for your patience!

    Regards,
    Bill Wesse, US-CSS DSC Protocol Team

    Thursday, October 7, 2010 10:08 AM
  • Brad, I am the engineer who will be working with you on this issue. I am currently researching the problem and will provide you with an update soon. Thank you for your patience.
    Josh Curry (jcurry) | Escalation Engineer | US-CSS DSC Protocols Team
    Friday, October 8, 2010 6:51 PM
    Moderator
  • Brad, it actually states in MS-OXCFXICS Section 2.2.3.1.1.3 that "RopFastTransferSourceCopyMessages initializes a FastTransfer operation on a folder for downloading content and descendant subobjects for messages identified by a given set of IDs."

     

    And per MS-OXGLOS Section 21:

     

    subobject: For folders, refers to contained messages and subfolders; for messages, refers to recipient and attachments; for attachments, refers to Embedded Message objects.

     

    Based on that information, I would say that what you are asking should work. Are you seeing behavior that contradicts this?


    Josh Curry (jcurry) | Escalation Engineer | US-CSS DSC Protocols Team
    Wednesday, October 13, 2010 1:42 PM
    Moderator
  • Josh,

    That is the discussion of what the fast transfer stream will contain, and is fine. That isn't the bit that I'm querying.

    Lets say we have a folder/message hierarchy that looks like this:

    Folder A (FID: 0x40001)

    |- Folder B (FID: 0x50001)

       |- Message 1 (MID: 0x80001)

    |- Folder C (FID: 0x60001)

       |- Message 2 (MID: 0x90001)

    |- Folder D (FID: 0x70001)

       |- Message 3 (MID: 0xA0001)

     

    That is, folder A has three subfolders (Folder B, Folder C, Folder D). Folder B has one message (Message 1), Folder C has one message (Message 2) and Folder D has one message (Message 3).

    Now if I want to do a fast transfer stream containing those three messages (Message1, Message 2 and Message 3), I can send a RopFastTransferSourceCopyMessages with MessageIdCount set to 3, and MessageIds containing [0x80001, 0x90001, 0xA0001]. However I need an InputServerObject.

    That MUST be a folder - no problem with that, since I can use an handle opened on Folder A.

    However I'm not sure if that is permitted by the protocol. The query is about the wording "Messages MUST be contained by a folder identified by InputServerObject."

    Does that mean that any parent folder of the messages is OK (so in the scenario above, use of Folder A, or any parent of Folder A is permissable).

    Or does it mean that the InputServerObject must be the direct parent folder (so use of Folder A is not OK, since it isn't the direct parent; instead I'd have to do three FastTransfers using Folder B as the InputServerObject for Message 1, Folder C as the InputServerObject for Message 2, and Folder D as the InputServerObject for Message 3).

    Brad

    Wednesday, October 13, 2010 9:04 PM
  • Brad, as it turns out, RopFastTransferSourceCopyMessages can ONLY copy messages which are contained in the folder that is specified as the InputServerObject. In your scenario, you would need to send 3 separate RopFastTransferSourceCopyMessages calls, one for each folder containing the messages that you want to copy.


    Josh Curry (jcurry) | Escalation Engineer | US-CSS DSC Protocols Team
    Friday, October 15, 2010 2:39 PM
    Moderator
  • Josh,

    Thanks for this. I think wording like "Messages MUST be directly contained by the folder identified by InputServerObject"  would make this clearer.

    Brad

    Friday, October 15, 2010 9:51 PM