private uint ReadMessage(ulong messageId)
{
RopOpenMessageRequest openMessageRequest;
RopOpenMessageResponse openMessageResponse;
openMessageRequest.RopId = 0x03; // RopId 0x03 indicates RopOpenMessage
openMessageRequest.LogonId = 0x00; // The logonId 0x00 is associated with this operation.
openMessageRequest.InputHandleIndex = 0x00; // This index specifies the location 0x00 in the Server Object Handle Table where the handle for the input Server Object is stored.
openMessageRequest.OutputHandleIndex = 0x01; // This index specifies the location 0x01 in the Server Object Handle Table where the handle for the output Server Object is stored.
openMessageRequest.CodePageId = 0x0FFF; // Code page of Logon object is used
openMessageRequest.FolderId = this.ropLogonResponse.FolderIds[4]; // Open the message in INBOX folder in which message is created.
openMessageRequest.OpenModeFlags = 0x00; // The message will be opened as read-only
openMessageRequest.MessageId = messageId; // Open the saved message
this.DoRopCall(openMessageRequest, this.inobjHandle, ref this.response, ref this.rawData);
openMessageResponse = (RopOpenMessageResponse)this.response;
return openMessageResponse.ReturnValue;
}