Microsoft.Protocols.TestSuites.MS_OXORULE.MS_OXORULEAdapter.RopOpenMessage C# (CSharp) Method

RopOpenMessage() public method

This ROP opens an existing message in a mailbox.
public RopOpenMessage ( uint handle, ulong folderId, ulong messageId, RopOpenMessageResponse &openMessageResponse ) : uint
handle uint Handle to operate.
folderId ulong 64-bit identifier. This value identifies the parent folder of the message to be opened.
messageId ulong 64-bit identifier. This value identifies the message to be opened.
openMessageResponse Microsoft.Protocols.TestSuites.Common.RopOpenMessageResponse Response of this ROP.
return uint
        public uint RopOpenMessage(uint handle, ulong folderId, ulong messageId, out RopOpenMessageResponse openMessageResponse)
        {
            this.rawData = null;
            this.response = null;
            this.responseSOHs = null;

            RopOpenMessageRequest req;
            req.RopId = 0x03;
            req.LogonId = 0;
            req.InputHandleIndex = 0;
            req.OutputHandleIndex = 1;

            // Use the same codepage as logon object used
            req.CodePageId = 0x0fff;
            req.FolderId = folderId;

            // Read and write
            req.OpenModeFlags = 0x01;
            req.MessageId = messageId;

            this.responseSOHs = this.DoRPCCall(req, handle, ref this.response, ref this.rawData);
            openMessageResponse = (RopOpenMessageResponse)this.response;

            return this.responseSOHs[0][openMessageResponse.OutputHandleIndex];
        }