aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-mapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-dcerpc-mapi.c')
-rw-r--r--epan/dissectors/packet-dcerpc-mapi.c41683
1 files changed, 40099 insertions, 1584 deletions
diff --git a/epan/dissectors/packet-dcerpc-mapi.c b/epan/dissectors/packet-dcerpc-mapi.c
index bb340526b0..e7d7584c96 100644
--- a/epan/dissectors/packet-dcerpc-mapi.c
+++ b/epan/dissectors/packet-dcerpc-mapi.c
@@ -22,150 +22,1893 @@ void proto_register_dcerpc_mapi(void);
void proto_reg_handoff_dcerpc_mapi(void);
/* Ett declarations */
-static gint ett_mapi_mapi_request = -1;
-static gint ett_mapi_EcDoRpc_MAPI_REQ = -1;
-static gint ett_mapi_OpenFolder_req = -1;
-static gint ett_mapi_GetProps_req = -1;
-static gint ett_mapi_OpenMsgStore_req = -1;
-static gint ett_mapi_mapi_response = -1;
-static gint ett_mapi_EcDoRpc_MAPI_REPL = -1;
-static gint ett_mapi_OpenFolder_repl = -1;
-static gint ett_mapi_GetProps_repl = -1;
+static gint ett_mapi_connect_request = -1;
+static gint ett_ServerObjectHandleTable = -1;
static gint ett_dcerpc_mapi = -1;
static gint ett_mapi_DATA_BLOB = -1;
-static gint ett_mapi_input_locale = -1;
-static gint ett_mapi_FILETIME = -1;
-static gint ett_mapi_LPSTR = -1;
-static gint ett_mapi_SPropValue_CTR = -1;
-static gint ett_mapi_SPropValue = -1;
-static gint ett_mapi_SRow = -1;
+static gint ett_mapi_SBinary_short = -1;
+static gint ett_mapi_mapi_MV_LONG_STRUCT = -1;
+static gint ett_mapi_mapi_LPSTR = -1;
+static gint ett_mapi_mapi_SLPSTRArray = -1;
+static gint ett_mapi_mapi_LPWSTR = -1;
+static gint ett_mapi_mapi_SPLSTRArrayW = -1;
+static gint ett_mapi_mapi_SBinaryArray = -1;
+static gint ett_mapi_mapi_SGuidArray = -1;
+static gint ett_mapi_mapi_SRestriction_wrap = -1;
+static gint ett_mapi_mapi_SPropValue_wrap = -1;
+static gint ett_mapi_mapi_SPropValue_array_wrap = -1;
+static gint ett_mapi_MoveCopy_Action = -1;
+static gint ett_mapi_ReplyOOF_Action = -1;
+static gint ett_mapi_RecipientBlock = -1;
+static gint ett_mapi_ForwardDelegate_Action = -1;
+static gint ett_mapi_ActionData = -1;
+static gint ett_mapi_ActionBlockData = -1;
+static gint ett_mapi_ActionBlock = -1;
+static gint ett_mapi_RuleAction = -1;
+static gint ett_mapi_ShortArray_r = -1;
+static gint ett_mapi_LongArray_r = -1;
+static gint ett_mapi_BinaryArray_r = -1;
+static gint ett_mapi_DateTimeArray_r = -1;
+static gint ett_mapi_Binary_r = -1;
+static gint ett_mapi_mapi_SPropValue_CTR = -1;
+static gint ett_mapi_mapi_SPropValue = -1;
+static gint ett_mapi_mapi_SPropValue_array = -1;
+static gint ett_mapi_mapi_SPropTagArray = -1;
static gint ett_mapi_Release_req = -1;
static gint ett_mapi_Release_repl = -1;
+static gint ett_mapi_OpenFolder_req = -1;
+static gint ett_mapi_OpenFolder_Replicas = -1;
+static gint ett_mapi_IsGhosted = -1;
+static gint ett_mapi_OpenFolder_Success = -1;
+static gint ett_mapi_OpenFolder_repl_status = -1;
+static gint ett_mapi_OpenFolder_repl = -1;
+static gint ett_mapi_String = -1;
+static gint ett_mapi_TypedString = -1;
static gint ett_mapi_OpenMessage_req = -1;
static gint ett_mapi_RecipExchange = -1;
static gint ett_mapi_RecipSMTP = -1;
static gint ett_mapi_recipient_type = -1;
-static gint ett_mapi_recipient_displayname_7bit = -1;
-static gint ett_mapi_recipients_headers = -1;
+static gint ett_mapi_recipient_SimpleDisplayName = -1;
+static gint ett_mapi_recipient_TransmittableDisplayName = -1;
+static gint ett_mapi_recipient_DisplayName = -1;
+static gint ett_mapi_recipient_EmailAddress = -1;
+static gint ett_mapi_RecipientRow = -1;
static gint ett_mapi_OpenMessage_recipients = -1;
-static gint ett_mapi_ulEventType = -1;
-static gint ett_mapi_EcDoRpc_MAPI_REQ_UNION = -1;
-static gint ett_mapi_EcDoRpc_MAPI_REPL_UNION = -1;
+static gint ett_mapi_OpenMessage_Success = -1;
+static gint ett_mapi_OpenMessage_repl_status = -1;
+static gint ett_mapi_OpenMessage_repl = -1;
+static gint ett_mapi_TableFlags = -1;
+static gint ett_mapi_GetHierarchyTable_req = -1;
+static gint ett_mapi_GetHierarchyTable_repl_success = -1;
+static gint ett_mapi_GetHierarchyTable_repl_status = -1;
+static gint ett_mapi_GetHierarchyTable_repl = -1;
+static gint ett_mapi_GetContentsTable_req = -1;
+static gint ett_mapi_GetContentsTable_repl_success = -1;
+static gint ett_mapi_GetContentsTable_repl_status = -1;
+static gint ett_mapi_GetContentsTable_repl = -1;
+static gint ett_mapi_CreateMessage_req = -1;
+static gint ett_mapi_CreateMessage_MessageId = -1;
+static gint ett_mapi_CreateMessage_repl_success = -1;
+static gint ett_mapi_CreateMessage_repl_status = -1;
+static gint ett_mapi_CreateMessage_repl = -1;
+static gint ett_mapi_GetProps_req = -1;
+static gint ett_mapi_GetProps_repl_success = -1;
+static gint ett_mapi_GetProps_repl_status = -1;
+static gint ett_mapi_GetProps_repl = -1;
+static gint ett_mapi_GetPropsAll_req = -1;
+static gint ett_mapi_GetPropsAll_repl_success = -1;
+static gint ett_mapi_GetPropsAll_repl_status = -1;
+static gint ett_mapi_GetPropsAll_repl = -1;
+static gint ett_mapi_GetPropList_req = -1;
+static gint ett_mapi_GetPropList_repl = -1;
+static gint ett_mapi_PropertyProblem = -1;
+static gint ett_mapi_SetProps_req = -1;
+static gint ett_mapi_SetProps_repl = -1;
+static gint ett_mapi_DeleteProps_req = -1;
+static gint ett_mapi_DeleteProps_repl = -1;
+static gint ett_mapi_SaveChangesMessage_req = -1;
+static gint ett_mapi_SaveChangesMessage_repl = -1;
+static gint ett_mapi_RemoveAllRecipients_req = -1;
+static gint ett_mapi_RemoveAllRecipients_repl = -1;
+static gint ett_mapi_ModifyRecipientRow = -1;
+static gint ett_mapi_ModifyRecipients_req = -1;
+static gint ett_mapi_ModifyRecipients_repl = -1;
+static gint ett_mapi_ReadRecipients_req = -1;
+static gint ett_mapi_ReadRecipientRow = -1;
+static gint ett_mapi_ReadRecipients_repl = -1;
+static gint ett_mapi_OpenRecipientRow = -1;
+static gint ett_mapi_ReloadCachedInformation_req = -1;
+static gint ett_mapi_ReloadCachedInformation_repl = -1;
+static gint ett_mapi_MSGFLAG_READ = -1;
+static gint ett_mapi_SetMessageReadFlag_req = -1;
+static gint ett_mapi_SetMessageReadFlag_LogonId = -1;
+static gint ett_mapi_SetMessageReadFlag_ClientData = -1;
+static gint ett_mapi_SetMessageReadFlag_repl = -1;
+static gint ett_mapi_SetColumns_req = -1;
+static gint ett_mapi_SetColumns_repl = -1;
+static gint ett_mapi_SSortOrder = -1;
+static gint ett_mapi_SSortOrderSet = -1;
+static gint ett_mapi_SortTable_req = -1;
+static gint ett_mapi_SortTable_repl = -1;
+static gint ett_mapi_mapi_SAndRestriction = -1;
+static gint ett_mapi_mapi_SOrRestriction = -1;
+static gint ett_mapi_mapi_SNotRestriction = -1;
+static gint ett_mapi_fuzzyLevel = -1;
+static gint ett_mapi_mapi_SContentRestriction = -1;
+static gint ett_mapi_mapi_SBitmaskRestriction = -1;
+static gint ett_mapi_mapi_SSizeRestriction = -1;
+static gint ett_mapi_mapi_SPropertyRestriction = -1;
+static gint ett_mapi_mapi_SCompareProps = -1;
+static gint ett_mapi_mapi_SExistRestriction = -1;
+static gint ett_mapi_mapi_SSubRestriction = -1;
+static gint ett_mapi_RestrictionVariable = -1;
+static gint ett_mapi_mapi_SCommentRestriction = -1;
+static gint ett_mapi_mapi_SRestriction_CTR = -1;
+static gint ett_mapi_mapi_SRestriction = -1;
+static gint ett_mapi_SRestriction_and = -1;
+static gint ett_mapi_SRestriction_or = -1;
+static gint ett_mapi_SRestriction_sub = -1;
+static gint ett_mapi_SRestriction_comment = -1;
+static gint ett_mapi_Restrict_req = -1;
+static gint ett_mapi_Restrict_repl = -1;
+static gint ett_mapi_QueryRows_req = -1;
+static gint ett_mapi_QueryRows_repl = -1;
+static gint ett_mapi_GetStatus_req = -1;
+static gint ett_mapi_GetStatus_repl = -1;
+static gint ett_mapi_QueryPosition_req = -1;
+static gint ett_mapi_QueryPosition_repl = -1;
+static gint ett_mapi_SeekRow_req = -1;
+static gint ett_mapi_SeekRow_repl = -1;
+static gint ett_mapi_SeekRowBookmark_req = -1;
+static gint ett_mapi_SeekRowBookmark_repl = -1;
+static gint ett_mapi_SeekRowApprox_req = -1;
+static gint ett_mapi_SeekRowApprox_repl = -1;
+static gint ett_mapi_CreateBookmark_req = -1;
+static gint ett_mapi_CreateBookmark_repl = -1;
+static gint ett_mapi_LPTSTR = -1;
+static gint ett_mapi_CreateFolder_req = -1;
+static gint ett_mapi_CreateFolder_GhostInfo = -1;
+static gint ett_mapi_CreateFolder_GhostUnion = -1;
+static gint ett_mapi_CreateFolder_repl = -1;
+static gint ett_mapi_DeleteFolderFlags = -1;
+static gint ett_mapi_DeleteFolder_req = -1;
+static gint ett_mapi_DeleteFolder_repl = -1;
+static gint ett_mapi_DeleteMessages_req = -1;
+static gint ett_mapi_DeleteMessages_repl = -1;
+static gint ett_mapi_GetMessageStatus_req = -1;
+static gint ett_mapi_ulMessageStatus = -1;
+static gint ett_mapi_SetMessageStatus_req = -1;
+static gint ett_mapi_SetMessageStatus_repl = -1;
+static gint ett_mapi_GetAttachmentTable_req = -1;
+static gint ett_mapi_GetAttachmentTable_repl = -1;
+static gint ett_mapi_OpenAttach_req = -1;
+static gint ett_mapi_OpenAttach_repl = -1;
+static gint ett_mapi_CreateAttach_req = -1;
+static gint ett_mapi_CreateAttach_repl = -1;
+static gint ett_mapi_DeleteAttach_req = -1;
+static gint ett_mapi_DeleteAttach_repl = -1;
+static gint ett_mapi_SaveChangesAttachment_req = -1;
+static gint ett_mapi_SaveChangesAttachment_repl = -1;
+static gint ett_mapi_SetReceiveFolder_req = -1;
+static gint ett_mapi_SetReceiveFolder_repl = -1;
+static gint ett_mapi_GetReceiveFolder_req = -1;
+static gint ett_mapi_GetReceiveFolder_repl = -1;
+static gint ett_mapi_hyperbool = -1;
+static gint ett_mapi_RegisterNotification_req = -1;
+static gint ett_mapi_RegisterNotification_repl = -1;
+static gint ett_mapi_MsgFlags = -1;
+static gint ett_mapi_MessageClass = -1;
+static gint ett_mapi_GID = -1;
+static gint ett_mapi_NewMailNotification = -1;
+static gint ett_mapi_FolderCreatedNotification = -1;
+static gint ett_mapi_FolderDeletedNotification = -1;
+static gint ett_mapi_FolderModifiedNotification_10 = -1;
+static gint ett_mapi_FolderMoveCopyNotification = -1;
+static gint ett_mapi_SearchCompleteNotification = -1;
+static gint ett_mapi_HierarchyRowAddedNotification = -1;
+static gint ett_mapi_HierarchyRowDeletedNotification = -1;
+static gint ett_mapi_HierarchyRowModifiedNotification = -1;
+static gint ett_mapi_HierarchyTableChangeUnion = -1;
+static gint ett_mapi_HierarchyTableChange = -1;
+static gint ett_mapi_IcsNotification = -1;
+static gint ett_mapi_FolderModifiedNotification_1010 = -1;
+static gint ett_mapi_FolderModifiedNotification_2010 = -1;
+static gint ett_mapi_FolderModifiedNotification_3010 = -1;
+static gint ett_mapi_MessageCreatedNotification = -1;
+static gint ett_mapi_MessageDeletedNotification = -1;
+static gint ett_mapi_MessageModifiedNotification = -1;
+static gint ett_mapi_MessageMoveCopyNotification = -1;
+static gint ett_mapi_ContentsRowAddedNotification = -1;
+static gint ett_mapi_ContentsRowDeletedNotification = -1;
+static gint ett_mapi_ContentsRowModifiedNotification = -1;
+static gint ett_mapi_ContentsTableChangeUnion = -1;
+static gint ett_mapi_ContentsTableChange = -1;
+static gint ett_mapi_SearchMessageCreatedNotification = -1;
+static gint ett_mapi_SearchMessageRemovedNotification = -1;
+static gint ett_mapi_SearchMessageModifiedNotification = -1;
+static gint ett_mapi_NotificationData = -1;
+static gint ett_mapi_Notify_repl = -1;
+static gint ett_mapi_OpenStream_req = -1;
+static gint ett_mapi_OpenStream_repl = -1;
+static gint ett_mapi_MaximumByteCount = -1;
+static gint ett_mapi_ReadStream_req = -1;
+static gint ett_mapi_ReadStream_repl = -1;
+static gint ett_mapi_WriteStream_req = -1;
+static gint ett_mapi_WriteStream_repl = -1;
+static gint ett_mapi_SeekStream_req = -1;
+static gint ett_mapi_SeekStream_repl = -1;
+static gint ett_mapi_SetStreamSize_req = -1;
+static gint ett_mapi_SetStreamSize_repl = -1;
+static gint ett_mapi_SearchFlags = -1;
+static gint ett_mapi_SetSearchCriteria_req = -1;
+static gint ett_mapi_SetSearchCriteria_repl = -1;
+static gint ett_mapi_GetSearchCriteria_req = -1;
+static gint ett_mapi_GetSearchCriteria_repl = -1;
+static gint ett_mapi_SubmitMessage_req = -1;
+static gint ett_mapi_SubmitMessage_repl = -1;
+static gint ett_mapi_MoveCopyMessages_req = -1;
+static gint ett_mapi_MoveCopyMessages_repl = -1;
+static gint ett_mapi_AbortSubmit_req = -1;
+static gint ett_mapi_AbortSubmit_repl = -1;
+static gint ett_mapi_Folder_name = -1;
+static gint ett_mapi_MoveFolder_req = -1;
+static gint ett_mapi_MoveFolder_repl = -1;
+static gint ett_mapi_CopyFolder_req = -1;
+static gint ett_mapi_CopyFolder_repl = -1;
+static gint ett_mapi_QueryColumnsAll_req = -1;
+static gint ett_mapi_QueryColumnsAll_repl = -1;
+static gint ett_mapi_Abort_req = -1;
+static gint ett_mapi_Abort_repl = -1;
+static gint ett_mapi_CopyFlags = -1;
+static gint ett_mapi_CopyTo_req = -1;
+static gint ett_mapi_CopyTo_repl = -1;
+static gint ett_mapi_CopyToStream_req = -1;
+static gint ett_mapi_CopyToStream_repl = -1;
+static gint ett_mapi_CloneStream_req = -1;
+static gint ett_mapi_CloneStream_repl = -1;
+static gint ett_mapi_PermissionsTableFlags = -1;
+static gint ett_mapi_GetPermissionsTable_req = -1;
+static gint ett_mapi_GetPermissionsTable_repl = -1;
+static gint ett_mapi_RulesTableFlags = -1;
+static gint ett_mapi_GetRulesTable_req = -1;
+static gint ett_mapi_GetRulesTable_repl = -1;
+static gint ett_mapi_ModifyPermissionsFlags = -1;
+static gint ett_mapi_PermissionData = -1;
+static gint ett_mapi_mapi_PermissionsData = -1;
+static gint ett_mapi_ModifyPermissions_req = -1;
+static gint ett_mapi_ModifyPermissions_repl = -1;
+static gint ett_mapi_RuleData = -1;
+static gint ett_mapi_ModifyRulesFlag = -1;
+static gint ett_mapi_ModifyRules_req = -1;
+static gint ett_mapi_ModifyRules_repl = -1;
+static gint ett_mapi_GetOwningServers_req = -1;
+static gint ett_mapi_GetOwningServers_repl = -1;
+static gint ett_mapi_LongTermIdFromId_req = -1;
+static gint ett_mapi_LongTermId = -1;
+static gint ett_mapi_LongTermIdFromId_repl_Success = -1;
+static gint ett_mapi_LongTermIdFromId_repl_status = -1;
+static gint ett_mapi_LongTermIdFromId_repl = -1;
+static gint ett_mapi_IdFromLongTermId_req = -1;
+static gint ett_mapi_IdFromLongTermId_repl = -1;
+static gint ett_mapi_PublicFolderIsGhosted_req = -1;
+static gint ett_mapi_PublicFolderIsGhosted_repl = -1;
+static gint ett_mapi_OpenEmbeddedMessage_req = -1;
+static gint ett_mapi_OpenEmbeddedMessage_repl = -1;
+static gint ett_mapi_SetSpooler_req = -1;
+static gint ett_mapi_SetSpooler_repl = -1;
+static gint ett_mapi_SpoolerLockMessage_req = -1;
+static gint ett_mapi_SpoolerLockMessage_repl = -1;
+static gint ett_mapi_AddressTypes_req = -1;
+static gint ett_mapi_AddressTypes_repl = -1;
+static gint ett_mapi_TransportSend_req = -1;
+static gint ett_mapi_TransportSend_lpProps = -1;
+static gint ett_mapi_TransportSend_repl = -1;
+static gint ett_mapi_FastTransferSourceGetBuffer_req = -1;
+static gint ett_mapi_FastTransferSourceGetBuffer_repl = -1;
+static gint ett_mapi_FindRow_req = -1;
+static gint ett_mapi_FindRow_repl = -1;
+static gint ett_mapi_Progress_req = -1;
+static gint ett_mapi_Progress_repl = -1;
+static gint ett_mapi_TransportNewMail_req = -1;
+static gint ett_mapi_TransportNewMail_repl = -1;
+static gint ett_mapi_GetValidAttachments_req = -1;
+static gint ett_mapi_GetValidAttachments_repl = -1;
+static gint ett_mapi_mapi_name = -1;
+static gint ett_mapi_Kind = -1;
+static gint ett_mapi_MAPINAMEID = -1;
+static gint ett_mapi_GetNamesFromIDs_req = -1;
+static gint ett_mapi_GetNamesFromIDs_repl = -1;
+static gint ett_mapi_GetIDsFromNames_req = -1;
+static gint ett_mapi_GetIDsFromNames_repl = -1;
+static gint ett_mapi_UpdateDeferredActionMessages_req = -1;
+static gint ett_mapi_UpdateDeferredActionMessages_repl = -1;
+static gint ett_mapi_EmptyFolder_req = -1;
+static gint ett_mapi_EmptyFolder_repl = -1;
+static gint ett_mapi_ExpandRow_req = -1;
+static gint ett_mapi_ExpandRow_repl = -1;
+static gint ett_mapi_CollapseRow_req = -1;
+static gint ett_mapi_CollapseRow_repl = -1;
+static gint ett_mapi_LockRegionStream_req = -1;
+static gint ett_mapi_LockRegionStream_repl = -1;
+static gint ett_mapi_UnlockRegionStream_req = -1;
+static gint ett_mapi_UnlockRegionStream_repl = -1;
+static gint ett_mapi_CommitStream_req = -1;
+static gint ett_mapi_CommitStream_repl = -1;
+static gint ett_mapi_GetStreamSize_req = -1;
+static gint ett_mapi_GetStreamSize_repl = -1;
+static gint ett_mapi_QueryFlags = -1;
+static gint ett_mapi_QueryNamedProperties_guid = -1;
+static gint ett_mapi_QueryNamedProperties_req = -1;
+static gint ett_mapi_QueryNamedProperties_repl = -1;
+static gint ett_mapi_GetPerUserLongTermIds_req = -1;
+static gint ett_mapi_GetPerUserLongTermIds_repl = -1;
+static gint ett_mapi_GetPerUserGuid_req = -1;
+static gint ett_mapi_GetPerUserGuid_repl = -1;
+static gint ett_mapi_ReadPerUserInformation_req = -1;
+static gint ett_mapi_ReadPerUserInformation_repl = -1;
+static gint ett_mapi_SetReadFlags_req = -1;
+static gint ett_mapi_SetReadFlags_repl = -1;
+static gint ett_mapi_CopyProperties_req = -1;
+static gint ett_mapi_CopyProperties_repl = -1;
+static gint ett_mapi_FILETIME = -1;
+static gint ett_mapi_ReceiveFolder = -1;
+static gint ett_mapi_GetReceiveFolderTable_req = -1;
+static gint ett_mapi_GetReceiveFolderTable_repl = -1;
+static gint ett_mapi_GetCollapseState_req = -1;
+static gint ett_mapi_GetCollapseState_repl = -1;
+static gint ett_mapi_SetCollapseState_req = -1;
+static gint ett_mapi_SetCollapseState_repl = -1;
+static gint ett_mapi_GetTransportFolder_req = -1;
+static gint ett_mapi_GetTransportFolder_repl = -1;
+static gint ett_mapi_Pending_repl = -1;
+static gint ett_mapi_OptionsData_req = -1;
+static gint ett_mapi_OptionsData_HelpFileName = -1;
+static gint ett_mapi_OptionsData_repl = -1;
+static gint ett_mapi_SendOptions = -1;
+static gint ett_mapi_SynchronizationFlag = -1;
+static gint ett_mapi_SynchronizationExtraFlags = -1;
+static gint ett_mapi_SyncConfigure_req = -1;
+static gint ett_mapi_SyncConfigure_repl = -1;
+static gint ett_mapi_ImportFlag = -1;
+static gint ett_mapi_SyncImportMessageChange_req = -1;
+static gint ett_mapi_SyncImportMessageChange_repl = -1;
+static gint ett_mapi_SyncImportHierarchyChange_req = -1;
+static gint ett_mapi_SyncImportHierarchyChange_repl = -1;
+static gint ett_mapi_SyncImportDeletes_req = -1;
+static gint ett_mapi_SyncImportDeletes_repl = -1;
+static gint ett_mapi_SyncUploadStateStreamBegin_req = -1;
+static gint ett_mapi_SyncUploadStateStreamBegin_repl = -1;
+static gint ett_mapi_SyncUploadStateStreamContinue_req = -1;
+static gint ett_mapi_SyncUploadStateStreamContinue_repl = -1;
+static gint ett_mapi_SyncUploadStateStreamEnd_req = -1;
+static gint ett_mapi_SyncUploadStateStreamEnd_repl = -1;
+static gint ett_mapi_SyncImportMessageMove_req = -1;
+static gint ett_mapi_SyncImportMessageMove_repl = -1;
+static gint ett_mapi_SetPropertiesNoReplicate_req = -1;
+static gint ett_mapi_SetPropertiesNoReplicate_repl = -1;
+static gint ett_mapi_DeletePropertiesNoReplicate_req = -1;
+static gint ett_mapi_DeletePropertiesNoReplicate_repl = -1;
+static gint ett_mapi_StoreState = -1;
+static gint ett_mapi_GetStoreState_req = -1;
+static gint ett_mapi_GetStoreState_repl = -1;
+static gint ett_mapi_SyncOpenCollector_req = -1;
+static gint ett_mapi_SyncOpenCollector_repl = -1;
+static gint ett_mapi_GetLocalReplicaIds_req = -1;
+static gint ett_mapi_GetLocalReplicaIds_repl = -1;
+static gint ett_mapi_SyncImportReadStateChanges_req = -1;
+static gint ett_mapi_SyncImportReadStateChanges_repl = -1;
+static gint ett_mapi_ResetTable_req = -1;
+static gint ett_mapi_ResetTable_repl = -1;
+static gint ett_mapi_SyncGetTransferState_req = -1;
+static gint ett_mapi_SyncGetTransferState_repl = -1;
+static gint ett_mapi_OpenPublicFolderByName_req = -1;
+static gint ett_mapi_OpenPublicFolderByName_repl = -1;
+static gint ett_mapi_SetSyncNotificationGuid_req = -1;
+static gint ett_mapi_SetSyncNotificationGuid_repl = -1;
+static gint ett_mapi_FreeBookmark_req = -1;
+static gint ett_mapi_FreeBookmark_repl = -1;
+static gint ett_mapi_WriteAndCommitStream_req = -1;
+static gint ett_mapi_WriteAndCommitStream_repl = -1;
+static gint ett_mapi_HardDeleteMessages_req = -1;
+static gint ett_mapi_HardDeleteMessages_repl = -1;
+static gint ett_mapi_HardDeleteMessagesAndSubfolders_req = -1;
+static gint ett_mapi_HardDeleteMessagesAndSubfolders_repl = -1;
+static gint ett_mapi_OpenFlags = -1;
+static gint ett_mapi_LogonTime = -1;
+static gint ett_mapi_ResponseFlags = -1;
+static gint ett_mapi_Logon_req = -1;
+static gint ett_mapi_Logon_repl = -1;
+static gint ett_mapi_RopBufferTooSmall_repl = -1;
+static gint ett_mapi_RopRequest = -1;
+static gint ett_mapi_RopReply = -1;
+static gint ett_mapi_EcDoRpcMapiRequest = -1;
+static gint ett_mapi_EcDoRpcMapiResponse = -1;
+static gint ett_mapi_mapi_request = -1;
+static gint ett_mapi_mapi_response = -1;
+static gint ett_mapi_AUX_HEADER_TYPE_ENUM = -1;
+static gint ett_mapi_AUX_PERF_REQUESTID = -1;
+static gint ett_mapi_AUX_PERF_CLIENTINFO = -1;
+static gint ett_mapi_AUX_PERF_SERVERINFO = -1;
+static gint ett_mapi_AUX_PERF_SESSIONINFO = -1;
+static gint ett_mapi_AUX_PERF_SESSIONINFO_V2 = -1;
+static gint ett_mapi_AUX_PERF_DEFMDB_SUCCESS = -1;
+static gint ett_mapi_AUX_PERF_DEFGC_SUCCESS = -1;
+static gint ett_mapi_AUX_PERF_MDB_SUCCESS = -1;
+static gint ett_mapi_AUX_PERF_MDB_SUCCESS_V2 = -1;
+static gint ett_mapi_AUX_PERF_GC_SUCCESS = -1;
+static gint ett_mapi_AUX_PERF_GC_SUCCESS_V2 = -1;
+static gint ett_mapi_AUX_PERF_FAILURE = -1;
+static gint ett_mapi_AUX_PERF_FAILURE_V2 = -1;
+static gint ett_mapi_CLIENT_CONTROL_EnableFlags = -1;
+static gint ett_mapi_AUX_CLIENT_CONTROL = -1;
+static gint ett_mapi_AUX_PERF_PROCESSINFO = -1;
+static gint ett_mapi_AUX_OSVERSIONINFO = -1;
+static gint ett_mapi_EXORGINFO_OrgFlags = -1;
+static gint ett_mapi_AUX_EXORGINFO = -1;
+static gint ett_mapi_AuxDataVersion1 = -1;
+static gint ett_mapi_AuxDataVersion2 = -1;
+static gint ett_mapi_AUX_DATA = -1;
+static gint ett_mapi_AUX_HEADER = -1;
+static gint ett_mapi_RPC_HEADER_EXT_Flags = -1;
+static gint ett_mapi_RPC_HEADER_EXT = -1;
+static gint ett_mapi_AuxInfo = -1;
+static gint ett_mapi_AuxInfoOut = -1;
+static gint ett_mapi_RpcExt2Flags = -1;
+static gint ett_mapi_RopInput = -1;
+static gint ett_mapi_ROPInputBuffer = -1;
+static gint ett_mapi_RgbIn = -1;
+static gint ett_mapi_RopOutput = -1;
+static gint ett_mapi_ROPOutputBuffer = -1;
+static gint ett_mapi_RgbOut = -1;
/* Header field declarations */
+static gint hf_mapi_AUX_CLIENT_CONTROL_EnableFlags = -1;
+static gint hf_mapi_AUX_CLIENT_CONTROL_ExpiryTime = -1;
+static gint hf_mapi_AUX_DATA_Version1 = -1;
+static gint hf_mapi_AUX_DATA_Version2 = -1;
+static gint hf_mapi_AUX_EXORGINFO_OrgFlags = -1;
+static gint hf_mapi_AUX_HEADER_AuxData = -1;
+static gint hf_mapi_AUX_HEADER_Size = -1;
+static gint hf_mapi_AUX_HEADER_TYPE_ENUM_Type = -1;
+static gint hf_mapi_AUX_HEADER_TYPE_ENUM_Type_2 = -1;
+static gint hf_mapi_AUX_HEADER_Version = -1;
+static gint hf_mapi_AUX_HEADER_hdrType = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_BuildNumber = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_MajorVersion = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_MinorVersion = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_OSVersionInfoSize = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_Reserved_1 = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_Reserved_2 = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_ServicePackMajor = -1;
+static gint hf_mapi_AUX_OSVERSIONINFO_ServicePackMinor = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_AdapterName = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_AdapterNameOffset = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_AdapterSpeed = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientID = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMask = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMaskOffset = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMaskSize = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPOffset = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPSize = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPV4 = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientIPV6 = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_ClientMode = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_MacAddressEther = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_MacAddressOffset = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_MacAddressSize = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_MachineName = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_MachineNameOffset = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_Reserved = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_UserName = -1;
+static gint hf_mapi_AUX_PERF_CLIENTINFO_UserNameOffset = -1;
+static gint hf_mapi_AUX_PERF_DEFGC_SUCCESS_RequestOperation = -1;
+static gint hf_mapi_AUX_PERF_DEFGC_SUCCESS_Reserved = -1;
+static gint hf_mapi_AUX_PERF_DEFGC_SUCCESS_ServerID = -1;
+static gint hf_mapi_AUX_PERF_DEFGC_SUCCESS_SessionID = -1;
+static gint hf_mapi_AUX_PERF_DEFGC_SUCCESS_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_DEFGC_SUCCESS_TimeToCompleteRequest = -1;
+static gint hf_mapi_AUX_PERF_DEFMDB_SUCCESS_RequestID = -1;
+static gint hf_mapi_AUX_PERF_DEFMDB_SUCCESS_Reserved = -1;
+static gint hf_mapi_AUX_PERF_DEFMDB_SUCCESS_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_DEFMDB_SUCCESS_TimeToCompleteRequest = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_ClientID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_RequestID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_RequestOperation = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_Reserved = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_ResultCode = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_ServerID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_SessionID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_TimeToFailRequest = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_ClientID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_ProcessID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_RequestID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_RequestOperation = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_Reserved_1 = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_Reserved_2 = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_ResultCode = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_ServerID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_SessionID = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_FAILURE_V2_TimeToFailRequest = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_ClientID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_RequestOperation = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_Reserved_1 = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_Reserved_2 = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_ServerID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_SessionID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_TimeToCompleteRequest = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_ClientID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_ProcessID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_RequestOperation = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_Reserved = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_ServerID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_SessionID = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_GC_SUCCESS_V2_TimeToCompleteRequest = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_ClientID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_RequestID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_ServerID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_SessionID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_TimeToCompleteRequest = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ClientID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ProcessID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_RequestID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_Reserved = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ServerID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_SessionID = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_TimeSinceRequest = -1;
+static gint hf_mapi_AUX_PERF_MDB_SUCCESS_V2_TimeToCompleteRequest = -1;
+static gint hf_mapi_AUX_PERF_PROCESSINFO_ProcessGuid = -1;
+static gint hf_mapi_AUX_PERF_PROCESSINFO_ProcessID = -1;
+static gint hf_mapi_AUX_PERF_PROCESSINFO_ProcessName = -1;
+static gint hf_mapi_AUX_PERF_PROCESSINFO_ProcessNameOffset = -1;
+static gint hf_mapi_AUX_PERF_PROCESSINFO_Reserved1 = -1;
+static gint hf_mapi_AUX_PERF_PROCESSINFO_Reserved2 = -1;
+static gint hf_mapi_AUX_PERF_REQUESTID_RequestID = -1;
+static gint hf_mapi_AUX_PERF_REQUESTID_SessionID = -1;
+static gint hf_mapi_AUX_PERF_SERVERINFO_ServerDN = -1;
+static gint hf_mapi_AUX_PERF_SERVERINFO_ServerDNOffset = -1;
+static gint hf_mapi_AUX_PERF_SERVERINFO_ServerID = -1;
+static gint hf_mapi_AUX_PERF_SERVERINFO_ServerName = -1;
+static gint hf_mapi_AUX_PERF_SERVERINFO_ServerNameOffset = -1;
+static gint hf_mapi_AUX_PERF_SERVERINFO_ServerType = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_Reserved = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_SessionGuid = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_SessionID = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_V2_ConnectionID = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_V2_Reserved = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_V2_SessionGuid = -1;
+static gint hf_mapi_AUX_PERF_SESSIONINFO_V2_SessionID = -1;
+static gint hf_mapi_AbortSubmit_req_FolderId = -1;
+static gint hf_mapi_AbortSubmit_req_MessageId = -1;
+static gint hf_mapi_Abort_repl_TableStatus = -1;
+static gint hf_mapi_ActionBlockData_ActionDataBuffer = -1;
+static gint hf_mapi_ActionBlockData_ActionFlags = -1;
+static gint hf_mapi_ActionBlockData_ActionFlavor = -1;
+static gint hf_mapi_ActionBlockData_ActionType = -1;
+static gint hf_mapi_ActionBlock_ActionBlockData = -1;
+static gint hf_mapi_ActionData_BounceCode = -1;
+static gint hf_mapi_ActionData_CopyAction = -1;
+static gint hf_mapi_ActionData_DeferAction = -1;
+static gint hf_mapi_ActionData_DelegateAction = -1;
+static gint hf_mapi_ActionData_ForwardAction = -1;
+static gint hf_mapi_ActionData_MoveAction = -1;
+static gint hf_mapi_ActionData_PropValue = -1;
+static gint hf_mapi_ActionData_ReplyAction = -1;
+static gint hf_mapi_ActionData_ReplyOOFAction = -1;
+static gint hf_mapi_AddressTypes_repl_cValues = -1;
+static gint hf_mapi_AddressTypes_repl_size = -1;
+static gint hf_mapi_AddressTypes_repl_transport = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryClientControl = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryEXOrgInfo = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryOSVersionInfo = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerFGGCSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfBgDefgcSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfBgDefmdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfBgFailure = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfBgGcSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfBgMdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfClientInfo = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfDefgcSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfDefmdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfFailure = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfFgDefgcSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfFgDefmdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfFgFailure = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfFgMdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfGcSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfMdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfProcessInfo = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfRequestId = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfServerInfo = -1;
+static gint hf_mapi_AuxDataVersion1_AuxiliaryPerfSessionInfo = -1;
+static gint hf_mapi_AuxDataVersion1_Payload = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryEXOrgInfo = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryOSVersionInfo = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerFGGCSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerf = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfBgDefgcSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfBgDefmdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfBgFailure = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfBgGcSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfBgMdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfClientInfo = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfDefgcSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfDefmdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfFailure = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfFgDefgcSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfFgDefmdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfFgFailure = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfFgMdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfGcSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfMdbSuccess = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfProcessInfo = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfRequestId = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfServerInfo = -1;
+static gint hf_mapi_AuxDataVersion2_AuxiliaryPerfSessioninfo = -1;
+static gint hf_mapi_AuxDataVersion2_Payload = -1;
+static gint hf_mapi_AuxInfoOut_RpcHeaderExtension = -1;
+static gint hf_mapi_AuxInfoOut_auxHeader = -1;
+static gint hf_mapi_AuxInfo_RpcHeaderExtension = -1;
+static gint hf_mapi_AuxInfo_auxHeader = -1;
+static gint hf_mapi_AuxInfo_auxInSize = -1;
+static gint hf_mapi_BinaryArray_r_cValues = -1;
+static gint hf_mapi_BinaryArray_r_lpbin = -1;
+static gint hf_mapi_Binary_r_cb = -1;
+static gint hf_mapi_Binary_r_lpb = -1;
+static gint hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_COMPRESSION = -1;
+static gint hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_HTTP_TUNNELING = -1;
+static gint hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDGCDATA = -1;
+static gint hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOMAILBOX = -1;
+static gint hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOSERVER = -1;
+static gint hf_mapi_CollapseRow_repl_CollapsedRowCount = -1;
+static gint hf_mapi_CollapseRow_req_CategoryId = -1;
+static gint hf_mapi_ContentsRowAddedNotification_Columns = -1;
+static gint hf_mapi_ContentsRowAddedNotification_FID = -1;
+static gint hf_mapi_ContentsRowAddedNotification_InsertAfterFID = -1;
+static gint hf_mapi_ContentsRowAddedNotification_InsertAfterInstance = -1;
+static gint hf_mapi_ContentsRowAddedNotification_InsertAfterMID = -1;
+static gint hf_mapi_ContentsRowAddedNotification_Instance = -1;
+static gint hf_mapi_ContentsRowAddedNotification_MID = -1;
+static gint hf_mapi_ContentsRowDeletedNotification_FID = -1;
+static gint hf_mapi_ContentsRowDeletedNotification_Instance = -1;
+static gint hf_mapi_ContentsRowDeletedNotification_MID = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_Columns = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_FID = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_InsertAfterFID = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_InsertAfterInstance = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_InsertAfterMID = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_Instance = -1;
+static gint hf_mapi_ContentsRowModifiedNotification_MID = -1;
+static gint hf_mapi_ContentsTableChangeUnion_ContentsRowAddedNotification = -1;
+static gint hf_mapi_ContentsTableChangeUnion_ContentsRowDeletedNotification = -1;
+static gint hf_mapi_ContentsTableChangeUnion_ContentsRowModifiedNotification = -1;
+static gint hf_mapi_ContentsTableChange_ContentsTableChangeUnion = -1;
+static gint hf_mapi_ContentsTableChange_TableEvent = -1;
+static gint hf_mapi_CopyFlags_CopyFlagsMove = -1;
+static gint hf_mapi_CopyFlags_CopyFlagsNoOverwrite = -1;
+static gint hf_mapi_CopyFolder_repl_PartialCompletion = -1;
+static gint hf_mapi_CopyFolder_req_FolderId = -1;
+static gint hf_mapi_CopyFolder_req_NewFolderName = -1;
+static gint hf_mapi_CopyFolder_req_UseUnicode = -1;
+static gint hf_mapi_CopyFolder_req_WantAsynchronous = -1;
+static gint hf_mapi_CopyFolder_req_WantRecursive = -1;
+static gint hf_mapi_CopyProperties_repl_PropertyProblem = -1;
+static gint hf_mapi_CopyProperties_repl_PropertyProblemCount = -1;
+static gint hf_mapi_CopyProperties_req_CopyFlags = -1;
+static gint hf_mapi_CopyProperties_req_PropertyTags = -1;
+static gint hf_mapi_CopyProperties_req_WantAsynchronous = -1;
+static gint hf_mapi_CopyToStream_repl_ReadByteCount = -1;
+static gint hf_mapi_CopyToStream_repl_WrittenByteCount = -1;
+static gint hf_mapi_CopyToStream_req_ByteCount = -1;
+static gint hf_mapi_CopyTo_repl_PropertyProblem = -1;
+static gint hf_mapi_CopyTo_repl_PropertyProblemCount = -1;
+static gint hf_mapi_CopyTo_req_CopyFlags = -1;
+static gint hf_mapi_CopyTo_req_ExcludedTags = -1;
+static gint hf_mapi_CopyTo_req_WantAsynchronous = -1;
+static gint hf_mapi_CopyTo_req_WantSubObjects = -1;
+static gint hf_mapi_CreateAttach_repl_AttachmentID = -1;
+static gint hf_mapi_CreateBookmark_repl_bookmark = -1;
+static gint hf_mapi_CreateFolder_GhostInfo_Ghost = -1;
+static gint hf_mapi_CreateFolder_GhostInfo_HasRules = -1;
+static gint hf_mapi_CreateFolder_GhostInfo_IsGhosted = -1;
+static gint hf_mapi_CreateFolder_GhostUnion_GhostInfo = -1;
+static gint hf_mapi_CreateFolder_repl_GhostUnion = -1;
+static gint hf_mapi_CreateFolder_repl_IsExistingFolder = -1;
+static gint hf_mapi_CreateFolder_repl_folder_id = -1;
+static gint hf_mapi_CreateFolder_req_FolderComment = -1;
+static gint hf_mapi_CreateFolder_req_FolderName = -1;
+static gint hf_mapi_CreateFolder_req_ulFlags = -1;
+static gint hf_mapi_CreateFolder_req_ulFolderType = -1;
+static gint hf_mapi_CreateFolder_req_ulType = -1;
+static gint hf_mapi_CreateMessage_MessageId_MessageId = -1;
+static gint hf_mapi_CreateMessage_repl_OutputHandleIndex = -1;
+static gint hf_mapi_CreateMessage_repl_ReturnValue = -1;
+static gint hf_mapi_CreateMessage_repl_repl = -1;
+static gint hf_mapi_CreateMessage_repl_status_Success = -1;
+static gint hf_mapi_CreateMessage_repl_success_HasMessageId = -1;
+static gint hf_mapi_CreateMessage_repl_success_MessageId = -1;
+static gint hf_mapi_CreateMessage_req_AssociatedFlag = -1;
+static gint hf_mapi_CreateMessage_req_CodePageId = -1;
+static gint hf_mapi_CreateMessage_req_FolderId = -1;
static gint hf_mapi_DATA_BLOB_data = -1;
static gint hf_mapi_DATA_BLOB_length = -1;
-static gint hf_mapi_EcDoConnect_alloc_space = -1;
-static gint hf_mapi_EcDoConnect_code_page = -1;
-static gint hf_mapi_EcDoConnect_emsmdb_client_version = -1;
-static gint hf_mapi_EcDoConnect_input_locale = -1;
-static gint hf_mapi_EcDoConnect_name = -1;
-static gint hf_mapi_EcDoConnect_org_group = -1;
-static gint hf_mapi_EcDoConnect_session_nb = -1;
-static gint hf_mapi_EcDoConnect_store_version = -1;
-static gint hf_mapi_EcDoConnect_unknown1 = -1;
-static gint hf_mapi_EcDoConnect_unknown2 = -1;
-static gint hf_mapi_EcDoConnect_unknown3 = -1;
-static gint hf_mapi_EcDoConnect_unknown4 = -1;
-static gint hf_mapi_EcDoConnect_user = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_GetProps = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_OpenFolder = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_Release = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_GetProps = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_OpenFolder = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_OpenMsgStore = -1;
-static gint hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_Release = -1;
-static gint hf_mapi_EcDoRpc_codepage = -1;
-static gint hf_mapi_EcDoRpc_folder_id = -1;
-static gint hf_mapi_EcDoRpc_handle_index = -1;
-static gint hf_mapi_EcDoRpc_layout = -1;
-static gint hf_mapi_EcDoRpc_length = -1;
-static gint hf_mapi_EcDoRpc_mailbox = -1;
-static gint hf_mapi_EcDoRpc_mapi_flags = -1;
-static gint hf_mapi_EcDoRpc_mapi_request = -1;
-static gint hf_mapi_EcDoRpc_mapi_request_ = -1;
-static gint hf_mapi_EcDoRpc_mapi_response = -1;
-static gint hf_mapi_EcDoRpc_mapi_response_ = -1;
-static gint hf_mapi_EcDoRpc_mapi_tag = -1;
-static gint hf_mapi_EcDoRpc_max_data = -1;
-static gint hf_mapi_EcDoRpc_offset = -1;
-static gint hf_mapi_EcDoRpc_padding = -1;
-static gint hf_mapi_EcDoRpc_prop_count = -1;
-static gint hf_mapi_EcDoRpc_row = -1;
-static gint hf_mapi_EcDoRpc_size = -1;
-static gint hf_mapi_EcDoRpc_str_length = -1;
-static gint hf_mapi_EcDoRpc_subcontext_size = -1;
-static gint hf_mapi_EcDoRpc_unknown1 = -1;
-static gint hf_mapi_EcDoRpc_unknown2 = -1;
-static gint hf_mapi_EcDoRpc_unknown3 = -1;
-static gint hf_mapi_EcRRegisterPushNotification_notif_len = -1;
-static gint hf_mapi_EcRRegisterPushNotification_notifkey = -1;
-static gint hf_mapi_EcRRegisterPushNotification_retval = -1;
-static gint hf_mapi_EcRRegisterPushNotification_sockaddr = -1;
-static gint hf_mapi_EcRRegisterPushNotification_sockaddr_len = -1;
-static gint hf_mapi_EcRRegisterPushNotification_ulEventMask = -1;
-static gint hf_mapi_EcRRegisterPushNotification_unknown2 = -1;
-static gint hf_mapi_EcRUnregisterPushNotification_unknown = -1;
+static gint hf_mapi_DateTimeArray_r_cValues = -1;
+static gint hf_mapi_DateTimeArray_r_lpft = -1;
+static gint hf_mapi_DeleteAttach_req_AttachmentID = -1;
+static gint hf_mapi_DeleteFolderFlags_DELETE_HARD_DELETE = -1;
+static gint hf_mapi_DeleteFolderFlags_DEL_FOLDERS = -1;
+static gint hf_mapi_DeleteFolderFlags_DEL_MESSAGES = -1;
+static gint hf_mapi_DeleteFolder_repl_PartialCompletion = -1;
+static gint hf_mapi_DeleteFolder_req_DeleteFolderFlags = -1;
+static gint hf_mapi_DeleteFolder_req_FolderId = -1;
+static gint hf_mapi_DeleteMessages_repl_PartialCompletion = -1;
+static gint hf_mapi_DeleteMessages_req_NotifyNonRead = -1;
+static gint hf_mapi_DeleteMessages_req_WantAsynchronous = -1;
+static gint hf_mapi_DeleteMessages_req_cn_ids = -1;
+static gint hf_mapi_DeleteMessages_req_message_ids = -1;
+static gint hf_mapi_DeletePropertiesNoReplicate_repl_PropertyProblem = -1;
+static gint hf_mapi_DeletePropertiesNoReplicate_repl_PropertyProblemCount = -1;
+static gint hf_mapi_DeletePropertiesNoReplicate_req_PropertyTags = -1;
+static gint hf_mapi_DeleteProps_repl_PropertyProblem = -1;
+static gint hf_mapi_DeleteProps_repl_PropertyProblemCount = -1;
+static gint hf_mapi_DeleteProps_req_PropertyTagCount = -1;
+static gint hf_mapi_DeleteProps_req_tags = -1;
+static gint hf_mapi_EXORGINFO_OrgFlags_PUBLIC_FOLDERS_ENABLED = -1;
+static gint hf_mapi_EcDoRpcMapiRequest_opnum = -1;
+static gint hf_mapi_EcDoRpcMapiRequest_u = -1;
+static gint hf_mapi_EcDoRpcMapiResponse_opnum = -1;
+static gint hf_mapi_EcDoRpcMapiResponse_u = -1;
+static gint hf_mapi_EmptyFolder_repl_PartialCompletion = -1;
+static gint hf_mapi_EmptyFolder_req_WantAsynchronous = -1;
+static gint hf_mapi_EmptyFolder_req_WantDeleteAssociated = -1;
+static gint hf_mapi_ExpandRow_repl_ExpandedRowCount = -1;
+static gint hf_mapi_ExpandRow_repl_RowCount = -1;
+static gint hf_mapi_ExpandRow_repl_RowData = -1;
+static gint hf_mapi_ExpandRow_req_CategoryId = -1;
+static gint hf_mapi_ExpandRow_req_MaxRowCount = -1;
static gint hf_mapi_FILETIME_dwHighDateTime = -1;
static gint hf_mapi_FILETIME_dwLowDateTime = -1;
-static gint hf_mapi_LPSTR_lppszA = -1;
-static gint hf_mapi_MAPISTATUS_status = -1;
-static gint hf_mapi_MAPI_OPNUM = -1;
-static gint hf_mapi_MAPI_handle = -1;
+static gint hf_mapi_FastTransferSourceGetBuffer_repl_InProgressCount = -1;
+static gint hf_mapi_FastTransferSourceGetBuffer_repl_Reserved = -1;
+static gint hf_mapi_FastTransferSourceGetBuffer_repl_TotalStepCount = -1;
+static gint hf_mapi_FastTransferSourceGetBuffer_repl_TransferBuffer = -1;
+static gint hf_mapi_FastTransferSourceGetBuffer_repl_TransferStatus = -1;
+static gint hf_mapi_FastTransferSourceGetBuffer_req_BufferSize = -1;
+static gint hf_mapi_FindRow_repl_HasRowData = -1;
+static gint hf_mapi_FindRow_repl_RowNoLongerVisible = -1;
+static gint hf_mapi_FindRow_repl_row = -1;
+static gint hf_mapi_FindRow_req_bookmark = -1;
+static gint hf_mapi_FindRow_req_origin = -1;
+static gint hf_mapi_FindRow_req_res = -1;
+static gint hf_mapi_FindRow_req_ulFlags = -1;
+static gint hf_mapi_FolderCreatedNotification_FID = -1;
+static gint hf_mapi_FolderCreatedNotification_ParentFID = -1;
+static gint hf_mapi_FolderCreatedNotification_TagCount = -1;
+static gint hf_mapi_FolderCreatedNotification_Tags = -1;
+static gint hf_mapi_FolderDeletedNotification_FID = -1;
+static gint hf_mapi_FolderDeletedNotification_ParentFID = -1;
+static gint hf_mapi_FolderModifiedNotification_1010_FID = -1;
+static gint hf_mapi_FolderModifiedNotification_1010_TagCount = -1;
+static gint hf_mapi_FolderModifiedNotification_1010_Tags = -1;
+static gint hf_mapi_FolderModifiedNotification_1010_TotalMessageCount = -1;
+static gint hf_mapi_FolderModifiedNotification_10_FID = -1;
+static gint hf_mapi_FolderModifiedNotification_10_TagCount = -1;
+static gint hf_mapi_FolderModifiedNotification_10_Tags = -1;
+static gint hf_mapi_FolderModifiedNotification_2010_FID = -1;
+static gint hf_mapi_FolderModifiedNotification_2010_TagCount = -1;
+static gint hf_mapi_FolderModifiedNotification_2010_Tags = -1;
+static gint hf_mapi_FolderModifiedNotification_2010_UnreadMessageCount = -1;
+static gint hf_mapi_FolderModifiedNotification_3010_FID = -1;
+static gint hf_mapi_FolderModifiedNotification_3010_TagCount = -1;
+static gint hf_mapi_FolderModifiedNotification_3010_Tags = -1;
+static gint hf_mapi_FolderModifiedNotification_3010_TotalMessageCount = -1;
+static gint hf_mapi_FolderModifiedNotification_3010_UnreadMessageCount = -1;
+static gint hf_mapi_FolderMoveCopyNotification_FID = -1;
+static gint hf_mapi_FolderMoveCopyNotification_OldFID = -1;
+static gint hf_mapi_FolderMoveCopyNotification_OldParentFID = -1;
+static gint hf_mapi_FolderMoveCopyNotification_ParentFID = -1;
+static gint hf_mapi_Folder_name_lpszA = -1;
+static gint hf_mapi_Folder_name_lpszW = -1;
+static gint hf_mapi_ForwardDelegate_Action_RecipientBlock = -1;
+static gint hf_mapi_ForwardDelegate_Action_RecipientCount = -1;
+static gint hf_mapi_FreeBookmark_req_bookmark = -1;
+static gint hf_mapi_GID_DatabaseGUID = -1;
+static gint hf_mapi_GID_GlobalCounter = -1;
+static gint hf_mapi_GetAttachmentTable_req_TableFlags = -1;
+static gint hf_mapi_GetCollapseState_repl_CollapseState = -1;
+static gint hf_mapi_GetCollapseState_req_RowId = -1;
+static gint hf_mapi_GetCollapseState_req_RowInstanceNumber = -1;
+static gint hf_mapi_GetContentsTable_repl_OutputHandleIndex = -1;
+static gint hf_mapi_GetContentsTable_repl_ReturnValue = -1;
+static gint hf_mapi_GetContentsTable_repl_repl = -1;
+static gint hf_mapi_GetContentsTable_repl_status_Success = -1;
+static gint hf_mapi_GetContentsTable_repl_success_RowCount = -1;
+static gint hf_mapi_GetContentsTable_req_TableFlags = -1;
+static gint hf_mapi_GetHierarchyTable_repl_OutputHandleIndex = -1;
+static gint hf_mapi_GetHierarchyTable_repl_ReturnValue = -1;
+static gint hf_mapi_GetHierarchyTable_repl_repl = -1;
+static gint hf_mapi_GetHierarchyTable_repl_status_Success = -1;
+static gint hf_mapi_GetHierarchyTable_repl_success_RowCount = -1;
+static gint hf_mapi_GetHierarchyTable_req_TableFlags = -1;
+static gint hf_mapi_GetIDsFromNames_repl_count = -1;
+static gint hf_mapi_GetIDsFromNames_repl_propID = -1;
+static gint hf_mapi_GetIDsFromNames_req_count = -1;
+static gint hf_mapi_GetIDsFromNames_req_nameid = -1;
+static gint hf_mapi_GetIDsFromNames_req_ulFlags = -1;
+static gint hf_mapi_GetLocalReplicaIds_repl_GlobalCount = -1;
+static gint hf_mapi_GetLocalReplicaIds_repl_ReplGuid = -1;
+static gint hf_mapi_GetLocalReplicaIds_req_IdCount = -1;
+static gint hf_mapi_GetMessageStatus_req_msgid = -1;
+static gint hf_mapi_GetNamesFromIDs_repl_count = -1;
+static gint hf_mapi_GetNamesFromIDs_repl_nameid = -1;
+static gint hf_mapi_GetNamesFromIDs_req_PropertyIdCount = -1;
+static gint hf_mapi_GetNamesFromIDs_req_PropertyIds = -1;
+static gint hf_mapi_GetOwningServers_repl_CheapServersCount = -1;
+static gint hf_mapi_GetOwningServers_repl_OwningServers = -1;
+static gint hf_mapi_GetOwningServers_repl_OwningServersCount = -1;
+static gint hf_mapi_GetOwningServers_req_FolderId = -1;
+static gint hf_mapi_GetPerUserGuid_repl_DatabaseGuid = -1;
+static gint hf_mapi_GetPerUserGuid_req_LongTermId = -1;
+static gint hf_mapi_GetPerUserLongTermIds_repl_LongTermIdCount = -1;
+static gint hf_mapi_GetPerUserLongTermIds_repl_LongTermIds = -1;
+static gint hf_mapi_GetPerUserLongTermIds_req_DatabaseGuid = -1;
+static gint hf_mapi_GetPermissionsTable_req_TableFlags = -1;
+static gint hf_mapi_GetPropList_repl_count = -1;
+static gint hf_mapi_GetPropList_repl_tags = -1;
+static gint hf_mapi_GetPropsAll_repl_InputHandleIndex = -1;
+static gint hf_mapi_GetPropsAll_repl_ReturnValue = -1;
+static gint hf_mapi_GetPropsAll_repl_repl = -1;
+static gint hf_mapi_GetPropsAll_repl_status_Success = -1;
+static gint hf_mapi_GetPropsAll_repl_success_properties = -1;
+static gint hf_mapi_GetPropsAll_req_PropertySizeLimit = -1;
+static gint hf_mapi_GetPropsAll_req_WantUnicode = -1;
+static gint hf_mapi_GetProps_repl_InputHandleIndex = -1;
+static gint hf_mapi_GetProps_repl_ReturnValue = -1;
+static gint hf_mapi_GetProps_repl_repl = -1;
+static gint hf_mapi_GetProps_repl_status_Success = -1;
+static gint hf_mapi_GetProps_repl_success_layout = -1;
+static gint hf_mapi_GetProps_repl_success_prop_data = -1;
+static gint hf_mapi_GetProps_req_PropertySizeLimit = -1;
+static gint hf_mapi_GetProps_req_WantUnicode = -1;
+static gint hf_mapi_GetProps_req_prop_count = -1;
+static gint hf_mapi_GetProps_req_properties = -1;
+static gint hf_mapi_GetReceiveFolderTable_repl_cValues = -1;
+static gint hf_mapi_GetReceiveFolderTable_repl_entries = -1;
+static gint hf_mapi_GetReceiveFolder_repl_MessageClass = -1;
+static gint hf_mapi_GetReceiveFolder_repl_folder_id = -1;
+static gint hf_mapi_GetReceiveFolder_req_MessageClass = -1;
+static gint hf_mapi_GetRulesTable_req_TableFlags = -1;
+static gint hf_mapi_GetSearchCriteria_repl_FolderIdCount = -1;
+static gint hf_mapi_GetSearchCriteria_repl_FolderIds = -1;
+static gint hf_mapi_GetSearchCriteria_repl_SearchFlags = -1;
+static gint hf_mapi_GetSearchCriteria_repl_res = -1;
+static gint hf_mapi_GetSearchCriteria_repl_unknown = -1;
+static gint hf_mapi_GetSearchCriteria_req_IncludeFolders = -1;
+static gint hf_mapi_GetSearchCriteria_req_IncludeRestriction = -1;
+static gint hf_mapi_GetSearchCriteria_req_UseUnicode = -1;
+static gint hf_mapi_GetStatus_repl_TableStatus = -1;
+static gint hf_mapi_GetStoreState_repl_StoreState = -1;
+static gint hf_mapi_GetStreamSize_repl_StreamSize = -1;
+static gint hf_mapi_GetTransportFolder_repl_FolderId = -1;
+static gint hf_mapi_GetValidAttachments_repl_AttachmentIdArray = -1;
+static gint hf_mapi_GetValidAttachments_repl_AttachmentIdCount = -1;
+static gint hf_mapi_HardDeleteMessagesAndSubfolders_repl_PartialCompletion = -1;
+static gint hf_mapi_HardDeleteMessagesAndSubfolders_req_WantAsynchronous = -1;
+static gint hf_mapi_HardDeleteMessagesAndSubfolders_req_WantDeleteAssociated = -1;
+static gint hf_mapi_HardDeleteMessages_repl_PartialCompletion = -1;
+static gint hf_mapi_HardDeleteMessages_req_MessageIdCount = -1;
+static gint hf_mapi_HardDeleteMessages_req_MessageIds = -1;
+static gint hf_mapi_HardDeleteMessages_req_NotifyNonRead = -1;
+static gint hf_mapi_HardDeleteMessages_req_WantAsynchronous = -1;
+static gint hf_mapi_HierarchyRowAddedNotification_Columns = -1;
+static gint hf_mapi_HierarchyRowAddedNotification_FID = -1;
+static gint hf_mapi_HierarchyRowAddedNotification_InsertAfterFID = -1;
+static gint hf_mapi_HierarchyRowDeletedNotification_FID = -1;
+static gint hf_mapi_HierarchyRowModifiedNotification_Columns = -1;
+static gint hf_mapi_HierarchyRowModifiedNotification_FID = -1;
+static gint hf_mapi_HierarchyRowModifiedNotification_InsertAfterFID = -1;
+static gint hf_mapi_HierarchyTableChangeUnion_HierarchyRowAddedNotification = -1;
+static gint hf_mapi_HierarchyTableChangeUnion_HierarchyRowDeletedNotification = -1;
+static gint hf_mapi_HierarchyTableChangeUnion_HierarchyRowModifiedNotification = -1;
+static gint hf_mapi_HierarchyTableChange_HierarchyTableChangeUnion = -1;
+static gint hf_mapi_HierarchyTableChange_TableEvent = -1;
+static gint hf_mapi_IcsNotification_GID = -1;
+static gint hf_mapi_IcsNotification_GIDCount = -1;
+static gint hf_mapi_IcsNotification_HierChanged = -1;
+static gint hf_mapi_IdFromLongTermId_repl_Id = -1;
+static gint hf_mapi_IdFromLongTermId_req_LongTermId = -1;
+static gint hf_mapi_ImportFlag_ImportFlag_Associated = -1;
+static gint hf_mapi_ImportFlag_ImportFlag_FailOnConflict = -1;
+static gint hf_mapi_InputHandleIndex = -1;
+static gint hf_mapi_IsGhosted_Replicas = -1;
+static gint hf_mapi_Kind_lid = -1;
+static gint hf_mapi_Kind_lpwstr = -1;
+static gint hf_mapi_LPTSTR_lpszA = -1;
+static gint hf_mapi_LPTSTR_lpszW = -1;
+static gint hf_mapi_LockRegionStream_req_LockFlags = -1;
+static gint hf_mapi_LockRegionStream_req_RegionOffset = -1;
+static gint hf_mapi_LockRegionStream_req_RegionSize = -1;
+static gint hf_mapi_LogonId = -1;
+static gint hf_mapi_LogonTime_Day = -1;
+static gint hf_mapi_LogonTime_DayOfWeek = -1;
+static gint hf_mapi_LogonTime_Hour = -1;
+static gint hf_mapi_LogonTime_Minutes = -1;
+static gint hf_mapi_LogonTime_Month = -1;
+static gint hf_mapi_LogonTime_Seconds = -1;
+static gint hf_mapi_LogonTime_Year = -1;
+static gint hf_mapi_Logon_repl_FolderIds = -1;
+static gint hf_mapi_Logon_repl_GwartTime = -1;
+static gint hf_mapi_Logon_repl_LogonFlags = -1;
+static gint hf_mapi_Logon_repl_LogonTime = -1;
+static gint hf_mapi_Logon_repl_MailboxGuid = -1;
+static gint hf_mapi_Logon_repl_OutputHandleIndex = -1;
+static gint hf_mapi_Logon_repl_PerUserGuid = -1;
+static gint hf_mapi_Logon_repl_ReplGuid = -1;
+static gint hf_mapi_Logon_repl_ReplId = -1;
+static gint hf_mapi_Logon_repl_ResponseFlags = -1;
+static gint hf_mapi_Logon_repl_ReturnValue = -1;
+static gint hf_mapi_Logon_repl_ServerName = -1;
+static gint hf_mapi_Logon_repl_ServerNameSize = -1;
+static gint hf_mapi_Logon_repl_StoreState = -1;
+static gint hf_mapi_Logon_req_EssDN = -1;
+static gint hf_mapi_Logon_req_EssdnSize = -1;
+static gint hf_mapi_Logon_req_LogonFlags = -1;
+static gint hf_mapi_Logon_req_OpenFlags = -1;
+static gint hf_mapi_Logon_req_StoreState = -1;
+static gint hf_mapi_LongArray_r_cValues = -1;
+static gint hf_mapi_LongArray_r_lpl = -1;
+static gint hf_mapi_LongTermIdFromId_repl_InputHandleIndex = -1;
+static gint hf_mapi_LongTermIdFromId_repl_ReturnValue = -1;
+static gint hf_mapi_LongTermIdFromId_repl_Success_LongTermId = -1;
+static gint hf_mapi_LongTermIdFromId_repl_repl = -1;
+static gint hf_mapi_LongTermIdFromId_repl_status_Success = -1;
+static gint hf_mapi_LongTermIdFromId_req_Id = -1;
+static gint hf_mapi_LongTermId_DatabaseGuid = -1;
+static gint hf_mapi_LongTermId_GlobalCounter = -1;
+static gint hf_mapi_LongTermId_padding = -1;
+static gint hf_mapi_MAPINAMEID_kind = -1;
+static gint hf_mapi_MAPINAMEID_lpguid = -1;
+static gint hf_mapi_MAPINAMEID_ulKind = -1;
+static gint hf_mapi_MSGFLAG_READ_CLEAR_NRN_PENDING = -1;
+static gint hf_mapi_MSGFLAG_READ_CLEAR_READ_FLAG = -1;
+static gint hf_mapi_MSGFLAG_READ_CLEAR_RN_PENDING = -1;
+static gint hf_mapi_MSGFLAG_READ_GENERATE_RECEIPT_ONLY = -1;
+static gint hf_mapi_MSGFLAG_READ_MAPI_DEFERRED_ERRORS = -1;
+static gint hf_mapi_MSGFLAG_READ_SUPPRESS_RECEIPT = -1;
+static gint hf_mapi_MaximumByteCount_value = -1;
+static gint hf_mapi_MessageClass_lpszA = -1;
+static gint hf_mapi_MessageClass_lpszW = -1;
+static gint hf_mapi_MessageCreatedNotification_FID = -1;
+static gint hf_mapi_MessageCreatedNotification_MID = -1;
+static gint hf_mapi_MessageCreatedNotification_TagCount = -1;
+static gint hf_mapi_MessageCreatedNotification_Tags = -1;
+static gint hf_mapi_MessageDeletedNotification_FID = -1;
+static gint hf_mapi_MessageDeletedNotification_MID = -1;
+static gint hf_mapi_MessageModifiedNotification_FID = -1;
+static gint hf_mapi_MessageModifiedNotification_MID = -1;
+static gint hf_mapi_MessageModifiedNotification_TagCount = -1;
+static gint hf_mapi_MessageModifiedNotification_Tags = -1;
+static gint hf_mapi_MessageMoveCopyNotification_FID = -1;
+static gint hf_mapi_MessageMoveCopyNotification_MID = -1;
+static gint hf_mapi_MessageMoveCopyNotification_OldFID = -1;
+static gint hf_mapi_MessageMoveCopyNotification_OldMID = -1;
+static gint hf_mapi_ModifyPermissionsFlags_ModifyPerms_IncludeFreeBusy = -1;
+static gint hf_mapi_ModifyPermissionsFlags_ModifyPerms_ReplaceRows = -1;
+static gint hf_mapi_ModifyPermissions_req_rowList = -1;
+static gint hf_mapi_ModifyRecipientRow_RecipClass = -1;
+static gint hf_mapi_ModifyRecipientRow_RecipientRow = -1;
+static gint hf_mapi_ModifyRecipientRow_idx = -1;
+static gint hf_mapi_ModifyRecipients_req_RecipientRow = -1;
+static gint hf_mapi_ModifyRecipients_req_cValues = -1;
+static gint hf_mapi_ModifyRecipients_req_prop_count = -1;
+static gint hf_mapi_ModifyRecipients_req_properties = -1;
+static gint hf_mapi_ModifyRulesFlag_ModifyRulesFlag_Replace = -1;
+static gint hf_mapi_ModifyRules_req_ModifyRulesFlags = -1;
+static gint hf_mapi_ModifyRules_req_RulesCount = -1;
+static gint hf_mapi_ModifyRules_req_RulesData = -1;
+static gint hf_mapi_MoveCopyMessages_repl_PartialCompletion = -1;
+static gint hf_mapi_MoveCopyMessages_req_WantAsynchronous = -1;
+static gint hf_mapi_MoveCopyMessages_req_WantCopy = -1;
+static gint hf_mapi_MoveCopyMessages_req_count = -1;
+static gint hf_mapi_MoveCopyMessages_req_message_id = -1;
+static gint hf_mapi_MoveCopy_Action_FolderEID = -1;
+static gint hf_mapi_MoveCopy_Action_FolderInThisStore = -1;
+static gint hf_mapi_MoveCopy_Action_StoreEID = -1;
+static gint hf_mapi_MoveFolder_repl_PartialCompletion = -1;
+static gint hf_mapi_MoveFolder_req_FolderId = -1;
+static gint hf_mapi_MoveFolder_req_NewFolderName = -1;
+static gint hf_mapi_MoveFolder_req_UseUnicode = -1;
+static gint hf_mapi_MoveFolder_req_WantAsynchronous = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_ASSOCIATED = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_FROMME = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_HASATTACH = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_NRN_PENDING = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_READ = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_RESEND = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_RN_PENDING = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_SUBMIT = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_UNMODIFIED = -1;
+static gint hf_mapi_MsgFlags_MSGFLAG_UNSENT = -1;
+static gint hf_mapi_NewMailNotification_FID = -1;
+static gint hf_mapi_NewMailNotification_MID = -1;
+static gint hf_mapi_NewMailNotification_MessageClass = -1;
+static gint hf_mapi_NewMailNotification_MessageFlags = -1;
+static gint hf_mapi_NewMailNotification_UnicodeFlag = -1;
+static gint hf_mapi_NotificationData_ContentsTableChange = -1;
+static gint hf_mapi_NotificationData_FolderCopyNotification = -1;
+static gint hf_mapi_NotificationData_FolderCreatedNotification = -1;
+static gint hf_mapi_NotificationData_FolderDeletedNotification = -1;
+static gint hf_mapi_NotificationData_FolderModifiedNotification_10 = -1;
+static gint hf_mapi_NotificationData_FolderModifiedNotification_1010 = -1;
+static gint hf_mapi_NotificationData_FolderModifiedNotification_2010 = -1;
+static gint hf_mapi_NotificationData_FolderModifiedNotification_3010 = -1;
+static gint hf_mapi_NotificationData_FolderMoveNotification = -1;
+static gint hf_mapi_NotificationData_HierarchyTableChange = -1;
+static gint hf_mapi_NotificationData_IcsNotification = -1;
+static gint hf_mapi_NotificationData_MessageCopyNotification = -1;
+static gint hf_mapi_NotificationData_MessageCreatedNotification = -1;
+static gint hf_mapi_NotificationData_MessageDeletedNotification = -1;
+static gint hf_mapi_NotificationData_MessageModifiedNotification = -1;
+static gint hf_mapi_NotificationData_MessageMoveNotification = -1;
+static gint hf_mapi_NotificationData_NewMailNotification = -1;
+static gint hf_mapi_NotificationData_NewMessageNotification = -1;
+static gint hf_mapi_NotificationData_SearchCompleteNotification = -1;
+static gint hf_mapi_NotificationData_SearchMessageCreatedNotification = -1;
+static gint hf_mapi_NotificationData_SearchMessageModifiedNotification = -1;
+static gint hf_mapi_NotificationData_SearchMessageRemovedNotification = -1;
+static gint hf_mapi_NotificationData_SearchTableChange = -1;
+static gint hf_mapi_Notify_repl_LogonId = -1;
+static gint hf_mapi_Notify_repl_NotificationData = -1;
+static gint hf_mapi_Notify_repl_NotificationHandle = -1;
+static gint hf_mapi_Notify_repl_NotificationType = -1;
+static gint hf_mapi_OpenAttach_req_AttachmentID = -1;
+static gint hf_mapi_OpenAttach_req_OpenAttachmentFlags = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_ColumnCount = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_HasNamedProperties = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_MessageId = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_NormalizedSubject = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_RecipientColumns = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_RecipientCount = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_RecipientRows = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_Reserved = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_RowCount = -1;
+static gint hf_mapi_OpenEmbeddedMessage_repl_SubjectPrefix = -1;
+static gint hf_mapi_OpenEmbeddedMessage_req_CodePageId = -1;
+static gint hf_mapi_OpenEmbeddedMessage_req_OpenModeFlags = -1;
+static gint hf_mapi_OpenFlags_ALTERNATE_SERVER = -1;
+static gint hf_mapi_OpenFlags_HOME_LOGON = -1;
+static gint hf_mapi_OpenFlags_IGNORE_HOME_MDB = -1;
+static gint hf_mapi_OpenFlags_NO_MAIL = -1;
+static gint hf_mapi_OpenFlags_PUBLIC = -1;
+static gint hf_mapi_OpenFlags_TAKE_OWNERSHIP = -1;
+static gint hf_mapi_OpenFlags_USE_PER_MDB_REPLID_MAPPING = -1;
+static gint hf_mapi_OpenFolder_Replicas_CheapServerCount = -1;
+static gint hf_mapi_OpenFolder_Replicas_ServerCount = -1;
+static gint hf_mapi_OpenFolder_Replicas_Servers = -1;
+static gint hf_mapi_OpenFolder_Success_Ghost = -1;
+static gint hf_mapi_OpenFolder_Success_HasRules = -1;
+static gint hf_mapi_OpenFolder_Success_IsGhosted = -1;
+static gint hf_mapi_OpenFolder_repl_OutputHandleIndex = -1;
+static gint hf_mapi_OpenFolder_repl_ReturnValue = -1;
+static gint hf_mapi_OpenFolder_repl_repl = -1;
+static gint hf_mapi_OpenFolder_repl_status_Success = -1;
+static gint hf_mapi_OpenFolder_req_FolderId = -1;
+static gint hf_mapi_OpenFolder_req_OpenModeFlags = -1;
+static gint hf_mapi_OpenMessage_Success_ColumnCount = -1;
+static gint hf_mapi_OpenMessage_Success_HasNamedProperties = -1;
+static gint hf_mapi_OpenMessage_Success_NormalizedSubject = -1;
+static gint hf_mapi_OpenMessage_Success_RecipientColumns = -1;
+static gint hf_mapi_OpenMessage_Success_RecipientCount = -1;
+static gint hf_mapi_OpenMessage_Success_RowCount = -1;
+static gint hf_mapi_OpenMessage_Success_SubjectPrefix = -1;
+static gint hf_mapi_OpenMessage_Success_recipients = -1;
static gint hf_mapi_OpenMessage_recipients_RecipClass = -1;
+static gint hf_mapi_OpenMessage_recipients_RecipientRow = -1;
+static gint hf_mapi_OpenMessage_recipients_Reserved = -1;
static gint hf_mapi_OpenMessage_recipients_codepage = -1;
-static gint hf_mapi_OpenMessage_recipients_recipients_headers = -1;
-static gint hf_mapi_OpenMessage_recipients_recipients_headers_ = -1;
-static gint hf_mapi_OpenMessage_req_folder_handle_idx = -1;
-static gint hf_mapi_OpenMessage_req_folder_id = -1;
-static gint hf_mapi_OpenMessage_req_max_data = -1;
-static gint hf_mapi_OpenMessage_req_message_id = -1;
-static gint hf_mapi_OpenMessage_req_message_permissions = -1;
+static gint hf_mapi_OpenMessage_repl_OutputHandleIndex = -1;
+static gint hf_mapi_OpenMessage_repl_ReturnValue = -1;
+static gint hf_mapi_OpenMessage_repl_repl = -1;
+static gint hf_mapi_OpenMessage_repl_status_Success = -1;
+static gint hf_mapi_OpenMessage_req_CodePageId = -1;
+static gint hf_mapi_OpenMessage_req_FolderId = -1;
+static gint hf_mapi_OpenMessage_req_MessageId = -1;
+static gint hf_mapi_OpenMessage_req_OpenModeFlags = -1;
+static gint hf_mapi_OpenPublicFolderByName_repl_Ghost = -1;
+static gint hf_mapi_OpenPublicFolderByName_repl_HasRules = -1;
+static gint hf_mapi_OpenPublicFolderByName_repl_IsGhosted = -1;
+static gint hf_mapi_OpenPublicFolderByName_req_handle_idx = -1;
+static gint hf_mapi_OpenPublicFolderByName_req_name = -1;
+static gint hf_mapi_OpenRecipientRow_CodePageId = -1;
+static gint hf_mapi_OpenRecipientRow_InputHandleIndex = -1;
+static gint hf_mapi_OpenRecipientRow_LogonId = -1;
+static gint hf_mapi_OpenRecipientRow_RecipientRow = -1;
+static gint hf_mapi_OpenRecipientRow_RecipientType = -1;
+static gint hf_mapi_OpenRecipientRow_Reserved = -1;
+static gint hf_mapi_OpenStream_repl_StreamSize = -1;
+static gint hf_mapi_OpenStream_req_OpenModeFlags = -1;
+static gint hf_mapi_OpenStream_req_PropertyTag = -1;
+static gint hf_mapi_OptionsData_HelpFileName_HelpFileName = -1;
+static gint hf_mapi_OptionsData_repl_HelpFile = -1;
+static gint hf_mapi_OptionsData_repl_HelpFileName = -1;
+static gint hf_mapi_OptionsData_repl_HelpFileSize = -1;
+static gint hf_mapi_OptionsData_repl_OptionsInfo = -1;
+static gint hf_mapi_OptionsData_repl_Reserved = -1;
+static gint hf_mapi_OptionsData_req_AddressType = -1;
+static gint hf_mapi_OptionsData_req_WantWin32 = -1;
+static gint hf_mapi_OutputHandleIndex = -1;
+static gint hf_mapi_Pending_repl_SessionIndex = -1;
+static gint hf_mapi_PermissionData_PermissionDataFlags = -1;
+static gint hf_mapi_PermissionData_lpProps = -1;
+static gint hf_mapi_PermissionsTableFlags_IncludeFreeBusy = -1;
+static gint hf_mapi_Progress_repl_CompletedTaskCount = -1;
+static gint hf_mapi_Progress_repl_TotalTaskCount = -1;
+static gint hf_mapi_Progress_req_WantCancel = -1;
+static gint hf_mapi_PropertyProblem_error_code = -1;
+static gint hf_mapi_PropertyProblem_index = -1;
+static gint hf_mapi_PropertyProblem_property_tag = -1;
+static gint hf_mapi_PublicFolderIsGhosted_repl_Ghost = -1;
+static gint hf_mapi_PublicFolderIsGhosted_repl_IsGhosted = -1;
+static gint hf_mapi_PublicFolderIsGhosted_req_FolderId = -1;
+static gint hf_mapi_QueryColumnsAll_repl_PropertyTagCount = -1;
+static gint hf_mapi_QueryColumnsAll_repl_PropertyTags = -1;
+static gint hf_mapi_QueryFlags_NoIds = -1;
+static gint hf_mapi_QueryFlags_NoStrings = -1;
+static gint hf_mapi_QueryNamedProperties_guid_guid = -1;
+static gint hf_mapi_QueryNamedProperties_repl_IdCount = -1;
+static gint hf_mapi_QueryNamedProperties_repl_PropertyIds = -1;
+static gint hf_mapi_QueryNamedProperties_repl_PropertyNames = -1;
+static gint hf_mapi_QueryNamedProperties_req_HasGuid = -1;
+static gint hf_mapi_QueryNamedProperties_req_PropertyGuid = -1;
+static gint hf_mapi_QueryNamedProperties_req_QueryFlags = -1;
+static gint hf_mapi_QueryPosition_repl_Denominator = -1;
+static gint hf_mapi_QueryPosition_repl_Numerator = -1;
+static gint hf_mapi_QueryRows_repl_Origin = -1;
+static gint hf_mapi_QueryRows_repl_RowCount = -1;
+static gint hf_mapi_QueryRows_repl_RowData = -1;
+static gint hf_mapi_QueryRows_req_ForwardRead = -1;
+static gint hf_mapi_QueryRows_req_QueryRowsFlags = -1;
+static gint hf_mapi_QueryRows_req_RowCount = -1;
+static gint hf_mapi_ROPInputBuffer_objectHandles = -1;
+static gint hf_mapi_ROPInputBuffer_rop = -1;
+static gint hf_mapi_ROPInputBuffer_ropSize = -1;
+static gint hf_mapi_ROPOutputBuffer_objectHandles = -1;
+static gint hf_mapi_ROPOutputBuffer_rop = -1;
+static gint hf_mapi_ROPOutputBuffer_ropSize = -1;
+static gint hf_mapi_RPC_HEADER_EXT_Flags = -1;
+static gint hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Compressed = -1;
+static gint hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Last = -1;
+static gint hf_mapi_RPC_HEADER_EXT_Flags_RHEF_XorMagic = -1;
+static gint hf_mapi_RPC_HEADER_EXT_Size = -1;
+static gint hf_mapi_RPC_HEADER_EXT_SizeActual = -1;
+static gint hf_mapi_RPC_HEADER_EXT_Version = -1;
+static gint hf_mapi_ReadPerUserInformation_repl_Data = -1;
+static gint hf_mapi_ReadPerUserInformation_repl_HasFinished = -1;
+static gint hf_mapi_ReadPerUserInformation_req_DataOffset = -1;
+static gint hf_mapi_ReadPerUserInformation_req_FolderId = -1;
+static gint hf_mapi_ReadPerUserInformation_req_MaxDataSize = -1;
+static gint hf_mapi_ReadPerUserInformation_req_WhatIfChanged = -1;
+static gint hf_mapi_ReadRecipientRow_CodePageId = -1;
+static gint hf_mapi_ReadRecipientRow_RecipientRow = -1;
+static gint hf_mapi_ReadRecipientRow_RecipientType = -1;
+static gint hf_mapi_ReadRecipientRow_RowId = -1;
+static gint hf_mapi_ReadRecipientRow_ulReserved = -1;
+static gint hf_mapi_ReadRecipients_repl_RecipientRows = -1;
+static gint hf_mapi_ReadRecipients_repl_RowCount = -1;
+static gint hf_mapi_ReadRecipients_req_RowId = -1;
+static gint hf_mapi_ReadRecipients_req_ulReserved = -1;
+static gint hf_mapi_ReadStream_repl_data = -1;
+static gint hf_mapi_ReadStream_req_ByteCount = -1;
+static gint hf_mapi_ReadStream_req_MaximumByteCount = -1;
+static gint hf_mapi_ReceiveFolder_fid = -1;
+static gint hf_mapi_ReceiveFolder_lpszMessageClass = -1;
+static gint hf_mapi_ReceiveFolder_modiftime = -1;
+static gint hf_mapi_ReceiveFolder_unknown = -1;
static gint hf_mapi_RecipExchange_addr_type = -1;
static gint hf_mapi_RecipExchange_organization_length = -1;
-static gint hf_mapi_SPropValue_CTR_b = -1;
-static gint hf_mapi_SPropValue_CTR_d = -1;
-static gint hf_mapi_SPropValue_CTR_dbl = -1;
-static gint hf_mapi_SPropValue_CTR_err = -1;
-static gint hf_mapi_SPropValue_CTR_ft = -1;
-static gint hf_mapi_SPropValue_CTR_i = -1;
-static gint hf_mapi_SPropValue_CTR_l = -1;
-static gint hf_mapi_SPropValue_CTR_lpguid = -1;
-static gint hf_mapi_SPropValue_CTR_lpszA = -1;
-static gint hf_mapi_SPropValue_CTR_lpszW = -1;
-static gint hf_mapi_SPropValue_ulPropTag = -1;
-static gint hf_mapi_SRow_ulRowFlags = -1;
+static gint hf_mapi_RecipExchange_username = -1;
+static gint hf_mapi_RecipientBlock_PropertyValue = -1;
+static gint hf_mapi_RecipientBlock_Reserved = -1;
+static gint hf_mapi_RecipientRow_DisplayName = -1;
+static gint hf_mapi_RecipientRow_EmailAddress = -1;
+static gint hf_mapi_RecipientRow_RecipientFlags = -1;
+static gint hf_mapi_RecipientRow_SimpleDisplayName = -1;
+static gint hf_mapi_RecipientRow_TransmittableDisplayName = -1;
+static gint hf_mapi_RecipientRow_layout = -1;
+static gint hf_mapi_RecipientRow_prop_count = -1;
+static gint hf_mapi_RecipientRow_prop_values = -1;
+static gint hf_mapi_RecipientRow_type = -1;
+static gint hf_mapi_RegisterNotification_req_layout = -1;
+static gint hf_mapi_RegisterNotification_req_notificationFlags = -1;
+static gint hf_mapi_RegisterNotification_req_u = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_HasNamedProperties = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_NormalizedSubject = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_RecipientColumns = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_RecipientCount = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_RecipientRows = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_RowCount = -1;
+static gint hf_mapi_ReloadCachedInformation_repl_SubjectPrefix = -1;
+static gint hf_mapi_ReloadCachedInformation_req_Reserved = -1;
+static gint hf_mapi_RemoveAllRecipients_req_ulReserved = -1;
+static gint hf_mapi_ReplyOOF_Action_ReplyTemplateFID = -1;
+static gint hf_mapi_ReplyOOF_Action_ReplyTemplateGUID = -1;
+static gint hf_mapi_ReplyOOF_Action_ReplyTemplateMID = -1;
+static gint hf_mapi_ResponseFlags_ResponseFlags_OOF = -1;
+static gint hf_mapi_ResponseFlags_ResponseFlags_OwnerRight = -1;
+static gint hf_mapi_ResponseFlags_ResponseFlags_Reserved = -1;
+static gint hf_mapi_ResponseFlags_ResponseFlags_SendAsRight = -1;
+static gint hf_mapi_ResponseHandleIndex = -1;
+static gint hf_mapi_Restrict_repl_TableStatus = -1;
+static gint hf_mapi_Restrict_req_handle_idx = -1;
+static gint hf_mapi_Restrict_req_restrictions = -1;
+static gint hf_mapi_RestrictionVariable_res = -1;
+static gint hf_mapi_RgbInSize = -1;
+static gint hf_mapi_RgbIn_RpcHeaderExtension = -1;
+static gint hf_mapi_RgbIn_ropIn = -1;
+static gint hf_mapi_RgbOutSize = -1;
+static gint hf_mapi_RgbOut_RpcHeaderExtension = -1;
+static gint hf_mapi_RgbOut_ropOut = -1;
+static gint hf_mapi_RopBufferTooSmall_repl_SizeNeeded = -1;
+static gint hf_mapi_RopInput_RopId = -1;
+static gint hf_mapi_RopInput_u = -1;
+static gint hf_mapi_RopOutput_RopId = -1;
+static gint hf_mapi_RopOutput_u = -1;
+static gint hf_mapi_RopReply_Abort = -1;
+static gint hf_mapi_RopReply_AbortSubmit = -1;
+static gint hf_mapi_RopReply_AddressTypes = -1;
+static gint hf_mapi_RopReply_Advise = -1;
+static gint hf_mapi_RopReply_CloneStream = -1;
+static gint hf_mapi_RopReply_CollapseRow = -1;
+static gint hf_mapi_RopReply_CommitStream = -1;
+static gint hf_mapi_RopReply_CopyFolder = -1;
+static gint hf_mapi_RopReply_CopyProperties = -1;
+static gint hf_mapi_RopReply_CopyTo = -1;
+static gint hf_mapi_RopReply_CopyToStream = -1;
+static gint hf_mapi_RopReply_CreateAttach = -1;
+static gint hf_mapi_RopReply_CreateBookmark = -1;
+static gint hf_mapi_RopReply_CreateFolder = -1;
+static gint hf_mapi_RopReply_CreateMessage = -1;
+static gint hf_mapi_RopReply_DeleteAttach = -1;
+static gint hf_mapi_RopReply_DeleteFolder = -1;
+static gint hf_mapi_RopReply_DeleteMessages = -1;
+static gint hf_mapi_RopReply_DeletePropertiesNoReplicate = -1;
+static gint hf_mapi_RopReply_DeleteProps = -1;
+static gint hf_mapi_RopReply_EmptyFolder = -1;
+static gint hf_mapi_RopReply_ExpandRow = -1;
+static gint hf_mapi_RopReply_FastTransferSourceGetBuffer = -1;
+static gint hf_mapi_RopReply_FindRow = -1;
+static gint hf_mapi_RopReply_FreeBookmark = -1;
+static gint hf_mapi_RopReply_GetAttachmentTable = -1;
+static gint hf_mapi_RopReply_GetCollapseState = -1;
+static gint hf_mapi_RopReply_GetContentsTable = -1;
+static gint hf_mapi_RopReply_GetHierarchyTable = -1;
+static gint hf_mapi_RopReply_GetIDsFromNames = -1;
+static gint hf_mapi_RopReply_GetLocalReplicaIds = -1;
+static gint hf_mapi_RopReply_GetNamesFromIDs = -1;
+static gint hf_mapi_RopReply_GetOwningServers = -1;
+static gint hf_mapi_RopReply_GetPerUserGuid = -1;
+static gint hf_mapi_RopReply_GetPerUserLongTermIds = -1;
+static gint hf_mapi_RopReply_GetPermissionsTable = -1;
+static gint hf_mapi_RopReply_GetPropList = -1;
+static gint hf_mapi_RopReply_GetProps = -1;
+static gint hf_mapi_RopReply_GetPropsAll = -1;
+static gint hf_mapi_RopReply_GetReceiveFolder = -1;
+static gint hf_mapi_RopReply_GetReceiveFolderTable = -1;
+static gint hf_mapi_RopReply_GetRulesTable = -1;
+static gint hf_mapi_RopReply_GetSearchCriteria = -1;
+static gint hf_mapi_RopReply_GetStatus = -1;
+static gint hf_mapi_RopReply_GetStoreState = -1;
+static gint hf_mapi_RopReply_GetStreamSize = -1;
+static gint hf_mapi_RopReply_GetTransportFolder = -1;
+static gint hf_mapi_RopReply_GetValidAttachments = -1;
+static gint hf_mapi_RopReply_HardDeleteMessages = -1;
+static gint hf_mapi_RopReply_HardDeleteMessagesAndSubfolders = -1;
+static gint hf_mapi_RopReply_IdFromLongTermId = -1;
+static gint hf_mapi_RopReply_LockRegionStream = -1;
+static gint hf_mapi_RopReply_Logon = -1;
+static gint hf_mapi_RopReply_LongTermIdFromId = -1;
+static gint hf_mapi_RopReply_ModifyPermissions = -1;
+static gint hf_mapi_RopReply_ModifyRecipients = -1;
+static gint hf_mapi_RopReply_ModifyRules = -1;
+static gint hf_mapi_RopReply_MoveCopyMessages = -1;
+static gint hf_mapi_RopReply_MoveFolder = -1;
+static gint hf_mapi_RopReply_Notify = -1;
+static gint hf_mapi_RopReply_OpenAttach = -1;
+static gint hf_mapi_RopReply_OpenEmbeddedMessage = -1;
+static gint hf_mapi_RopReply_OpenFolder = -1;
+static gint hf_mapi_RopReply_OpenMessage = -1;
+static gint hf_mapi_RopReply_OpenPublicFolderByName = -1;
+static gint hf_mapi_RopReply_OpenStream = -1;
+static gint hf_mapi_RopReply_OptionsData = -1;
+static gint hf_mapi_RopReply_Pending = -1;
+static gint hf_mapi_RopReply_Progress = -1;
+static gint hf_mapi_RopReply_PublicFolderIsGhosted = -1;
+static gint hf_mapi_RopReply_QueryColumnsAll = -1;
+static gint hf_mapi_RopReply_QueryNamedProperties = -1;
+static gint hf_mapi_RopReply_QueryPosition = -1;
+static gint hf_mapi_RopReply_QueryRows = -1;
+static gint hf_mapi_RopReply_ReadPerUserInformation = -1;
+static gint hf_mapi_RopReply_ReadRecipients = -1;
+static gint hf_mapi_RopReply_ReadStream = -1;
+static gint hf_mapi_RopReply_Release = -1;
+static gint hf_mapi_RopReply_ReloadCachedInformation = -1;
+static gint hf_mapi_RopReply_RemoveAllRecipients = -1;
+static gint hf_mapi_RopReply_ResetTable = -1;
+static gint hf_mapi_RopReply_Restrict = -1;
+static gint hf_mapi_RopReply_RopBufferTooSmall = -1;
+static gint hf_mapi_RopReply_SaveChangesAttachment = -1;
+static gint hf_mapi_RopReply_SaveChangesMessage = -1;
+static gint hf_mapi_RopReply_SeekRow = -1;
+static gint hf_mapi_RopReply_SeekRowApprox = -1;
+static gint hf_mapi_RopReply_SeekRowBookmark = -1;
+static gint hf_mapi_RopReply_SeekStream = -1;
+static gint hf_mapi_RopReply_SetCollapseState = -1;
+static gint hf_mapi_RopReply_SetColumns = -1;
+static gint hf_mapi_RopReply_SetMessageReadFlag = -1;
+static gint hf_mapi_RopReply_SetMessageStatus = -1;
+static gint hf_mapi_RopReply_SetPropertiesNoReplicate = -1;
+static gint hf_mapi_RopReply_SetProps = -1;
+static gint hf_mapi_RopReply_SetReadFlags = -1;
+static gint hf_mapi_RopReply_SetReceiveFolder = -1;
+static gint hf_mapi_RopReply_SetSearchCriteria = -1;
+static gint hf_mapi_RopReply_SetSpooler = -1;
+static gint hf_mapi_RopReply_SetStreamSize = -1;
+static gint hf_mapi_RopReply_SetSyncNotificationGuid = -1;
+static gint hf_mapi_RopReply_SortTable = -1;
+static gint hf_mapi_RopReply_SpoolerLockMessage = -1;
+static gint hf_mapi_RopReply_SubmitMessage = -1;
+static gint hf_mapi_RopReply_SyncConfigure = -1;
+static gint hf_mapi_RopReply_SyncGetTransferState = -1;
+static gint hf_mapi_RopReply_SyncImportDeletes = -1;
+static gint hf_mapi_RopReply_SyncImportHierarchyChange = -1;
+static gint hf_mapi_RopReply_SyncImportMessageChange = -1;
+static gint hf_mapi_RopReply_SyncImportMessageMove = -1;
+static gint hf_mapi_RopReply_SyncImportReadStateChanges = -1;
+static gint hf_mapi_RopReply_SyncOpenCollector = -1;
+static gint hf_mapi_RopReply_SyncUploadStateStreamBegin = -1;
+static gint hf_mapi_RopReply_SyncUploadStateStreamContinue = -1;
+static gint hf_mapi_RopReply_SyncUploadStateStreamEnd = -1;
+static gint hf_mapi_RopReply_TransportNewMail = -1;
+static gint hf_mapi_RopReply_TransportSend = -1;
+static gint hf_mapi_RopReply_UnlockRegionStream = -1;
+static gint hf_mapi_RopReply_UpdateDeferredActionMessages = -1;
+static gint hf_mapi_RopReply_WriteAndCommitStream = -1;
+static gint hf_mapi_RopReply_WriteStream = -1;
+static gint hf_mapi_RopRequest_Abort = -1;
+static gint hf_mapi_RopRequest_AbortSubmit = -1;
+static gint hf_mapi_RopRequest_AddressTypes = -1;
+static gint hf_mapi_RopRequest_Advise = -1;
+static gint hf_mapi_RopRequest_CloneStream = -1;
+static gint hf_mapi_RopRequest_CollapseRow = -1;
+static gint hf_mapi_RopRequest_CommitStream = -1;
+static gint hf_mapi_RopRequest_CopyFolder = -1;
+static gint hf_mapi_RopRequest_CopyProperties = -1;
+static gint hf_mapi_RopRequest_CopyTo = -1;
+static gint hf_mapi_RopRequest_CopyToStream = -1;
+static gint hf_mapi_RopRequest_CreateAttach = -1;
+static gint hf_mapi_RopRequest_CreateBookmark = -1;
+static gint hf_mapi_RopRequest_CreateFolder = -1;
+static gint hf_mapi_RopRequest_CreateMessage = -1;
+static gint hf_mapi_RopRequest_DeleteAttach = -1;
+static gint hf_mapi_RopRequest_DeleteFolder = -1;
+static gint hf_mapi_RopRequest_DeleteMessages = -1;
+static gint hf_mapi_RopRequest_DeletePropertiesNoReplicate = -1;
+static gint hf_mapi_RopRequest_DeleteProps = -1;
+static gint hf_mapi_RopRequest_EmptyFolder = -1;
+static gint hf_mapi_RopRequest_ExpandRow = -1;
+static gint hf_mapi_RopRequest_FastTransferSourceGetBuffer = -1;
+static gint hf_mapi_RopRequest_FindRow = -1;
+static gint hf_mapi_RopRequest_FreeBookmark = -1;
+static gint hf_mapi_RopRequest_GetAttachmentTable = -1;
+static gint hf_mapi_RopRequest_GetCollapseState = -1;
+static gint hf_mapi_RopRequest_GetContentsTable = -1;
+static gint hf_mapi_RopRequest_GetHierarchyTable = -1;
+static gint hf_mapi_RopRequest_GetIDsFromNames = -1;
+static gint hf_mapi_RopRequest_GetLocalReplicaIds = -1;
+static gint hf_mapi_RopRequest_GetMessageStatus = -1;
+static gint hf_mapi_RopRequest_GetNamesFromIDs = -1;
+static gint hf_mapi_RopRequest_GetOwningServers = -1;
+static gint hf_mapi_RopRequest_GetPerUserGuid = -1;
+static gint hf_mapi_RopRequest_GetPerUserLongTermIds = -1;
+static gint hf_mapi_RopRequest_GetPermissionsTable = -1;
+static gint hf_mapi_RopRequest_GetPropList = -1;
+static gint hf_mapi_RopRequest_GetProps = -1;
+static gint hf_mapi_RopRequest_GetPropsAll = -1;
+static gint hf_mapi_RopRequest_GetReceiveFolder = -1;
+static gint hf_mapi_RopRequest_GetReceiveFolderTable = -1;
+static gint hf_mapi_RopRequest_GetRulesTable = -1;
+static gint hf_mapi_RopRequest_GetSearchCriteria = -1;
+static gint hf_mapi_RopRequest_GetStatus = -1;
+static gint hf_mapi_RopRequest_GetStoreState = -1;
+static gint hf_mapi_RopRequest_GetStreamSize = -1;
+static gint hf_mapi_RopRequest_GetTransportFolder = -1;
+static gint hf_mapi_RopRequest_GetValidAttachments = -1;
+static gint hf_mapi_RopRequest_HardDeleteMessages = -1;
+static gint hf_mapi_RopRequest_HardDeleteMessagesAndSubfolders = -1;
+static gint hf_mapi_RopRequest_IdFromLongTermId = -1;
+static gint hf_mapi_RopRequest_LockRegionStream = -1;
+static gint hf_mapi_RopRequest_Logon = -1;
+static gint hf_mapi_RopRequest_LongTermIdFromId = -1;
+static gint hf_mapi_RopRequest_ModifyPermissions = -1;
+static gint hf_mapi_RopRequest_ModifyRecipients = -1;
+static gint hf_mapi_RopRequest_ModifyRules = -1;
+static gint hf_mapi_RopRequest_MoveCopyMessages = -1;
+static gint hf_mapi_RopRequest_MoveFolder = -1;
+static gint hf_mapi_RopRequest_OpenAttach = -1;
+static gint hf_mapi_RopRequest_OpenEmbeddedMessage = -1;
+static gint hf_mapi_RopRequest_OpenFolder = -1;
+static gint hf_mapi_RopRequest_OpenMessage = -1;
+static gint hf_mapi_RopRequest_OpenPublicFolderByName = -1;
+static gint hf_mapi_RopRequest_OpenStream = -1;
+static gint hf_mapi_RopRequest_OptionsData = -1;
+static gint hf_mapi_RopRequest_Progress = -1;
+static gint hf_mapi_RopRequest_PublicFolderIsGhosted = -1;
+static gint hf_mapi_RopRequest_QueryColumnsAll = -1;
+static gint hf_mapi_RopRequest_QueryNamedProperties = -1;
+static gint hf_mapi_RopRequest_QueryPosition = -1;
+static gint hf_mapi_RopRequest_QueryRows = -1;
+static gint hf_mapi_RopRequest_ReadPerUserInformation = -1;
+static gint hf_mapi_RopRequest_ReadRecipients = -1;
+static gint hf_mapi_RopRequest_ReadStream = -1;
+static gint hf_mapi_RopRequest_Release = -1;
+static gint hf_mapi_RopRequest_ReloadCachedInformation = -1;
+static gint hf_mapi_RopRequest_RemoveAllRecipients = -1;
+static gint hf_mapi_RopRequest_ResetTable = -1;
+static gint hf_mapi_RopRequest_Restrict = -1;
+static gint hf_mapi_RopRequest_SaveChangesAttachment = -1;
+static gint hf_mapi_RopRequest_SaveChangesMessage = -1;
+static gint hf_mapi_RopRequest_SeekRow = -1;
+static gint hf_mapi_RopRequest_SeekRowApprox = -1;
+static gint hf_mapi_RopRequest_SeekRowBookmark = -1;
+static gint hf_mapi_RopRequest_SeekStream = -1;
+static gint hf_mapi_RopRequest_SetCollapseState = -1;
+static gint hf_mapi_RopRequest_SetColumns = -1;
+static gint hf_mapi_RopRequest_SetMessageReadFlag = -1;
+static gint hf_mapi_RopRequest_SetMessageStatus = -1;
+static gint hf_mapi_RopRequest_SetPropertiesNoReplicate = -1;
+static gint hf_mapi_RopRequest_SetProps = -1;
+static gint hf_mapi_RopRequest_SetReadFlags = -1;
+static gint hf_mapi_RopRequest_SetReceiveFolder = -1;
+static gint hf_mapi_RopRequest_SetSearchCriteria = -1;
+static gint hf_mapi_RopRequest_SetSpooler = -1;
+static gint hf_mapi_RopRequest_SetStreamSize = -1;
+static gint hf_mapi_RopRequest_SetSyncNotificationGuid = -1;
+static gint hf_mapi_RopRequest_SortTable = -1;
+static gint hf_mapi_RopRequest_SpoolerLockMessage = -1;
+static gint hf_mapi_RopRequest_SubmitMessage = -1;
+static gint hf_mapi_RopRequest_SyncConfigure = -1;
+static gint hf_mapi_RopRequest_SyncGetTransferState = -1;
+static gint hf_mapi_RopRequest_SyncImportDeletes = -1;
+static gint hf_mapi_RopRequest_SyncImportHierarchyChange = -1;
+static gint hf_mapi_RopRequest_SyncImportMessageChange = -1;
+static gint hf_mapi_RopRequest_SyncImportMessageMove = -1;
+static gint hf_mapi_RopRequest_SyncImportReadStateChanges = -1;
+static gint hf_mapi_RopRequest_SyncOpenCollector = -1;
+static gint hf_mapi_RopRequest_SyncUploadStateStreamBegin = -1;
+static gint hf_mapi_RopRequest_SyncUploadStateStreamContinue = -1;
+static gint hf_mapi_RopRequest_SyncUploadStateStreamEnd = -1;
+static gint hf_mapi_RopRequest_TransportNewMail = -1;
+static gint hf_mapi_RopRequest_TransportSend = -1;
+static gint hf_mapi_RopRequest_UnlockRegionStream = -1;
+static gint hf_mapi_RopRequest_UpdateDeferredActionMessages = -1;
+static gint hf_mapi_RopRequest_WriteAndCommitStream = -1;
+static gint hf_mapi_RopRequest_WriteStream = -1;
+static gint hf_mapi_RpcExt2Flags_Chain = -1;
+static gint hf_mapi_RpcExt2Flags_NoCompression = -1;
+static gint hf_mapi_RpcExt2Flags_NoXorMagic = -1;
+static gint hf_mapi_RuleAction_ActionBlock = -1;
+static gint hf_mapi_RuleAction_count = -1;
+static gint hf_mapi_RuleData_PropertyValues = -1;
+static gint hf_mapi_RuleData_RuleDataFlags = -1;
+static gint hf_mapi_RulesTableFlags_RulesTableFlags_Unicode = -1;
+static gint hf_mapi_SBinary_short_cb = -1;
+static gint hf_mapi_SBinary_short_lpb = -1;
+static gint hf_mapi_SRestriction_and_res = -1;
+static gint hf_mapi_SRestriction_and_rt = -1;
+static gint hf_mapi_SRestriction_comment_res = -1;
+static gint hf_mapi_SRestriction_comment_rt = -1;
+static gint hf_mapi_SRestriction_or_res = -1;
+static gint hf_mapi_SRestriction_or_rt = -1;
+static gint hf_mapi_SRestriction_sub_res = -1;
+static gint hf_mapi_SRestriction_sub_rt = -1;
+static gint hf_mapi_SSortOrderSet_aSort = -1;
+static gint hf_mapi_SSortOrderSet_cCategories = -1;
+static gint hf_mapi_SSortOrderSet_cExpanded = -1;
+static gint hf_mapi_SSortOrderSet_cSorts = -1;
+static gint hf_mapi_SSortOrder_ulOrder = -1;
+static gint hf_mapi_SSortOrder_ulPropTag = -1;
+static gint hf_mapi_SaveChangesAttachment_req_SaveFlags = -1;
+static gint hf_mapi_SaveChangesMessage_repl_MessageId = -1;
+static gint hf_mapi_SaveChangesMessage_repl_handle_idx = -1;
+static gint hf_mapi_SaveChangesMessage_req_SaveFlags = -1;
+static gint hf_mapi_SearchCompleteNotification_FID = -1;
+static gint hf_mapi_SearchFlags_BACKGROUND_SEARCH = -1;
+static gint hf_mapi_SearchFlags_CONTENT_INDEXED_SEARCH = -1;
+static gint hf_mapi_SearchFlags_FOREGROUND_SEARCH = -1;
+static gint hf_mapi_SearchFlags_NON_CONTENT_INDEXED_SEARCH = -1;
+static gint hf_mapi_SearchFlags_RECURSIVE_SEARCH = -1;
+static gint hf_mapi_SearchFlags_RESTART_SEARCH = -1;
+static gint hf_mapi_SearchFlags_SHALLOW_SEARCH = -1;
+static gint hf_mapi_SearchFlags_STATIC_SEARCH = -1;
+static gint hf_mapi_SearchFlags_STOP_SEARCH = -1;
+static gint hf_mapi_SearchMessageCreatedNotification_FID = -1;
+static gint hf_mapi_SearchMessageCreatedNotification_MID = -1;
+static gint hf_mapi_SearchMessageCreatedNotification_SearchFID = -1;
+static gint hf_mapi_SearchMessageCreatedNotification_TagCount = -1;
+static gint hf_mapi_SearchMessageCreatedNotification_Tags = -1;
+static gint hf_mapi_SearchMessageModifiedNotification_FID = -1;
+static gint hf_mapi_SearchMessageModifiedNotification_MID = -1;
+static gint hf_mapi_SearchMessageModifiedNotification_TagCount = -1;
+static gint hf_mapi_SearchMessageModifiedNotification_Tags = -1;
+static gint hf_mapi_SearchMessageRemovedNotification_FID = -1;
+static gint hf_mapi_SearchMessageRemovedNotification_MID = -1;
+static gint hf_mapi_SearchMessageRemovedNotification_SearchFID = -1;
+static gint hf_mapi_SeekRowApprox_req_ulDenominator = -1;
+static gint hf_mapi_SeekRowApprox_req_ulNumerator = -1;
+static gint hf_mapi_SeekRowBookmark_repl_HasSoughtLess = -1;
+static gint hf_mapi_SeekRowBookmark_repl_RowNoLongerVisible = -1;
+static gint hf_mapi_SeekRowBookmark_repl_RowsSought = -1;
+static gint hf_mapi_SeekRowBookmark_req_Bookmark = -1;
+static gint hf_mapi_SeekRowBookmark_req_RowCount = -1;
+static gint hf_mapi_SeekRowBookmark_req_WantRowMovedCount = -1;
+static gint hf_mapi_SeekRow_repl_HasSoughtLess = -1;
+static gint hf_mapi_SeekRow_repl_RowsSought = -1;
+static gint hf_mapi_SeekRow_req_WantRowMovedCount = -1;
+static gint hf_mapi_SeekRow_req_offset = -1;
+static gint hf_mapi_SeekRow_req_origin = -1;
+static gint hf_mapi_SeekStream_repl_NewPosition = -1;
+static gint hf_mapi_SeekStream_req_Offset = -1;
+static gint hf_mapi_SeekStream_req_Origin = -1;
+static gint hf_mapi_SendOptions_SendOptions_ForUpload = -1;
+static gint hf_mapi_SendOptions_SendOptions_ForceUnicode = -1;
+static gint hf_mapi_SendOptions_SendOptions_Partial = -1;
+static gint hf_mapi_SendOptions_SendOptions_RecoverMode = -1;
+static gint hf_mapi_SendOptions_SendOptions_Unicode = -1;
+static gint hf_mapi_SetCollapseState_repl_bookmark = -1;
+static gint hf_mapi_SetCollapseState_req_CollapseState = -1;
+static gint hf_mapi_SetColumns_repl_TableStatus = -1;
+static gint hf_mapi_SetColumns_req_SetColumnsFlags = -1;
+static gint hf_mapi_SetColumns_req_prop_count = -1;
+static gint hf_mapi_SetColumns_req_properties = -1;
+static gint hf_mapi_SetMessageReadFlag_ClientData_ClientData = -1;
+static gint hf_mapi_SetMessageReadFlag_LogonId_LogonId = -1;
+static gint hf_mapi_SetMessageReadFlag_repl_ClientData = -1;
+static gint hf_mapi_SetMessageReadFlag_repl_LogonId = -1;
+static gint hf_mapi_SetMessageReadFlag_repl_ReadStatusChanged = -1;
+static gint hf_mapi_SetMessageReadFlag_req_ReadFlags = -1;
+static gint hf_mapi_SetMessageReadFlag_req_clientdata = -1;
+static gint hf_mapi_SetMessageStatus_repl_ulOldStatus = -1;
+static gint hf_mapi_SetMessageStatus_req_msgid = -1;
+static gint hf_mapi_SetMessageStatus_req_ulNewStatus = -1;
+static gint hf_mapi_SetMessageStatus_req_ulNewStatusMask = -1;
+static gint hf_mapi_SetPropertiesNoReplicate_repl_PropertyProblem = -1;
+static gint hf_mapi_SetPropertiesNoReplicate_repl_PropertyProblemCount = -1;
+static gint hf_mapi_SetPropertiesNoReplicate_req_values = -1;
+static gint hf_mapi_SetProps_repl_PropertyProblem = -1;
+static gint hf_mapi_SetProps_repl_PropertyProblemCount = -1;
+static gint hf_mapi_SetProps_req_values = -1;
+static gint hf_mapi_SetReadFlags_repl_PartialCompletion = -1;
+static gint hf_mapi_SetReadFlags_req_MessageIdCount = -1;
+static gint hf_mapi_SetReadFlags_req_MessageIds = -1;
+static gint hf_mapi_SetReadFlags_req_ReadFlags = -1;
+static gint hf_mapi_SetReadFlags_req_WantAsynchronous = -1;
+static gint hf_mapi_SetReceiveFolder_req_fid = -1;
+static gint hf_mapi_SetReceiveFolder_req_lpszMessageClass = -1;
+static gint hf_mapi_SetSearchCriteria_req_FolderIdCount = -1;
+static gint hf_mapi_SetSearchCriteria_req_FolderIds = -1;
+static gint hf_mapi_SetSearchCriteria_req_SearchFlags = -1;
+static gint hf_mapi_SetSearchCriteria_req_res = -1;
+static gint hf_mapi_SetStreamSize_req_SizeStream = -1;
+static gint hf_mapi_SetSyncNotificationGuid_req_NotificationGuid = -1;
+static gint hf_mapi_ShortArray_r_cValues = -1;
+static gint hf_mapi_ShortArray_r_lpi = -1;
+static gint hf_mapi_SortTable_repl_TableStatus = -1;
+static gint hf_mapi_SortTable_req_SortTableFlags = -1;
+static gint hf_mapi_SortTable_req_lpSortCriteria = -1;
+static gint hf_mapi_SpoolerLockMessage_req_LockState = -1;
+static gint hf_mapi_SpoolerLockMessage_req_MessageId = -1;
+static gint hf_mapi_StoreState_STORE_HAS_SEARCHES = -1;
+static gint hf_mapi_String_lpszA = -1;
+static gint hf_mapi_String_lpszW = -1;
+static gint hf_mapi_String_lpszW_reduced = -1;
+static gint hf_mapi_SubmitMessage_req_SubmitFlags = -1;
+static gint hf_mapi_SyncConfigure_req_PropertyTags = -1;
+static gint hf_mapi_SyncConfigure_req_RestrictionData = -1;
+static gint hf_mapi_SyncConfigure_req_SendOptions = -1;
+static gint hf_mapi_SyncConfigure_req_SynchronizationExtraFlags = -1;
+static gint hf_mapi_SyncConfigure_req_SynchronizationFlag = -1;
+static gint hf_mapi_SyncConfigure_req_SynchronizationType = -1;
+static gint hf_mapi_SyncImportDeletes_req_IsHierarchy = -1;
+static gint hf_mapi_SyncImportDeletes_req_PropertyValues = -1;
+static gint hf_mapi_SyncImportHierarchyChange_repl_FolderId = -1;
+static gint hf_mapi_SyncImportHierarchyChange_req_HierarchyValues = -1;
+static gint hf_mapi_SyncImportHierarchyChange_req_PropertyValues = -1;
+static gint hf_mapi_SyncImportMessageChange_repl_MessageId = -1;
+static gint hf_mapi_SyncImportMessageChange_req_ImportFlag = -1;
+static gint hf_mapi_SyncImportMessageChange_req_PropertyValues = -1;
+static gint hf_mapi_SyncImportMessageMove_repl_MessageId = -1;
+static gint hf_mapi_SyncImportMessageMove_req_ChangeNumberSize = -1;
+static gint hf_mapi_SyncImportMessageMove_req_ChangeNumberValue = -1;
+static gint hf_mapi_SyncImportMessageMove_req_DestinationMessageIdSize = -1;
+static gint hf_mapi_SyncImportMessageMove_req_DestinationMessageIdValue = -1;
+static gint hf_mapi_SyncImportMessageMove_req_PredecessorChangeListSize = -1;
+static gint hf_mapi_SyncImportMessageMove_req_PredecessorChangeListValue = -1;
+static gint hf_mapi_SyncImportMessageMove_req_SourceFolderIdSize = -1;
+static gint hf_mapi_SyncImportMessageMove_req_SourceFolderIdValue = -1;
+static gint hf_mapi_SyncImportMessageMove_req_SourceMessageIdSize = -1;
+static gint hf_mapi_SyncImportMessageMove_req_SourceMessageIdValue = -1;
+static gint hf_mapi_SyncImportReadStateChanges_req_MessageStates = -1;
+static gint hf_mapi_SyncOpenCollector_req_IsContentsCollector = -1;
+static gint hf_mapi_SyncUploadStateStreamBegin_req_StateProperty = -1;
+static gint hf_mapi_SyncUploadStateStreamBegin_req_TransferBufferSize = -1;
+static gint hf_mapi_SyncUploadStateStreamContinue_req_StreamDataSize = -1;
+static gint hf_mapi_SyncUploadStateStreamContinue_req_StreamDataValue = -1;
+static gint hf_mapi_SynchronizationExtraFlags_Cn = -1;
+static gint hf_mapi_SynchronizationExtraFlags_Eid = -1;
+static gint hf_mapi_SynchronizationExtraFlags_MessageSize = -1;
+static gint hf_mapi_SynchronizationExtraFlags_OrderByDeliveryTime = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_BestBody = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_FAI = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_IgnoreSpecifiedOnFAI = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_NoDeletions = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_NoForeignIdentifiers = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_NoSoftDeletions = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_Normal = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_OnlySpecifiedProperties = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_Progress = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_ReadState = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_Reserved = -1;
+static gint hf_mapi_SynchronizationFlag_SynchronizationFlag_Unicode = -1;
+static gint hf_mapi_TableFlags_TableFlags_DeferredErrors = -1;
+static gint hf_mapi_TableFlags_TableFlags_Depth = -1;
+static gint hf_mapi_TableFlags_TableFlags_NoNotifications = -1;
+static gint hf_mapi_TableFlags_TableFlags_SoftDeletes = -1;
+static gint hf_mapi_TableFlags_TableFlags_SuppressNotifications = -1;
+static gint hf_mapi_TableFlags_TableFlags_UseUnicode = -1;
+static gint hf_mapi_TransportNewMail_req_FolderId = -1;
+static gint hf_mapi_TransportNewMail_req_MessageClass = -1;
+static gint hf_mapi_TransportNewMail_req_MessageFlags = -1;
+static gint hf_mapi_TransportNewMail_req_MessageId = -1;
+static gint hf_mapi_TransportSend_lpProps_lpProps = -1;
+static gint hf_mapi_TransportSend_repl_NoPropertiesReturned = -1;
+static gint hf_mapi_TransportSend_repl_properties = -1;
+static gint hf_mapi_TypedString_String = -1;
+static gint hf_mapi_TypedString_StringType = -1;
+static gint hf_mapi_UnlockRegionStream_req_LockFlags = -1;
+static gint hf_mapi_UnlockRegionStream_req_RegionOffset = -1;
+static gint hf_mapi_UnlockRegionStream_req_RegionSize = -1;
+static gint hf_mapi_UpdateDeferredActionMessages_req_ClientEntryId = -1;
+static gint hf_mapi_UpdateDeferredActionMessages_req_ServerEntryId = -1;
+static gint hf_mapi_WriteAndCommitStream_repl_WrittenSize = -1;
+static gint hf_mapi_WriteAndCommitStream_req_data = -1;
+static gint hf_mapi_WriteStream_repl_WrittenSize = -1;
+static gint hf_mapi_WriteStream_req_data = -1;
static gint hf_mapi_decrypted_data = -1;
-static gint hf_mapi_handle = -1;
-static gint hf_mapi_input_locale_language = -1;
-static gint hf_mapi_input_locale_method = -1;
-static gint hf_mapi_mapi_request_mapi_req = -1;
-static gint hf_mapi_mapi_response_mapi_repl = -1;
+static gint hf_mapi_fuzzyLevel_FL_IGNORECASE = -1;
+static gint hf_mapi_fuzzyLevel_FL_IGNORENONSPACE = -1;
+static gint hf_mapi_fuzzyLevel_FL_LOOSE = -1;
+static gint hf_mapi_fuzzyLevel_FL_PREFIX = -1;
+static gint hf_mapi_fuzzyLevel_FL_SUBSTRING = -1;
+static gint hf_mapi_hyperbool_ID = -1;
+static gint hf_mapi_mapi_EcDoAsyncConnectEx_cxh = -1;
+static gint hf_mapi_mapi_EcDoAsyncConnectEx_pacxh = -1;
+static gint hf_mapi_mapi_EcDoAsyncConnect_cxh = -1;
+static gint hf_mapi_mapi_EcDoAsyncConnect_pacxh = -1;
+static gint hf_mapi_mapi_EcDoAsyncWait_cxh = -1;
+static gint hf_mapi_mapi_EcDoAsyncWait_pulFlagsOut = -1;
+static gint hf_mapi_mapi_EcDoAsyncWait_ulFlagsIn = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_cbAuxIn = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_cbLimit = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_handle = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_pcRetry = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_pcbAuxOut = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_pcmsPollsMax = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_pcmsRetryDelay = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_picxr = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_pulTimeStamp = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_rgbAuxIn = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_rgbAuxOut = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_rgwBestVersion = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_rgwClientVersion = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_rgwServerVersion = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_szDNPrefix = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_szDisplayName = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_szUserDN = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_ulConMod = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_ulCpid = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_ulFlags = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_ulIcxrLink = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_ulLcidSort = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_ulLcidString = -1;
+static gint hf_mapi_mapi_EcDoConnectEx_usFCanConvertCodePages = -1;
+static gint hf_mapi_mapi_EcDoConnect_cbLimit = -1;
+static gint hf_mapi_mapi_EcDoConnect_hBinding = -1;
+static gint hf_mapi_mapi_EcDoConnect_pcRetry = -1;
+static gint hf_mapi_mapi_EcDoConnect_pcmsPollsMax = -1;
+static gint hf_mapi_mapi_EcDoConnect_pcmsRetryDelay = -1;
+static gint hf_mapi_mapi_EcDoConnect_picxr = -1;
+static gint hf_mapi_mapi_EcDoConnect_pullTimeStamp = -1;
+static gint hf_mapi_mapi_EcDoConnect_rgwBestVersion = -1;
+static gint hf_mapi_mapi_EcDoConnect_rgwClientVersion = -1;
+static gint hf_mapi_mapi_EcDoConnect_rgwServerVersion = -1;
+static gint hf_mapi_mapi_EcDoConnect_szDNPrefix = -1;
+static gint hf_mapi_mapi_EcDoConnect_szDisplayName = -1;
+static gint hf_mapi_mapi_EcDoConnect_szUserDN = -1;
+static gint hf_mapi_mapi_EcDoConnect_ulConMod = -1;
+static gint hf_mapi_mapi_EcDoConnect_ulCpid = -1;
+static gint hf_mapi_mapi_EcDoConnect_ulFlags = -1;
+static gint hf_mapi_mapi_EcDoConnect_ulIcxrLink = -1;
+static gint hf_mapi_mapi_EcDoConnect_ulLcidSort = -1;
+static gint hf_mapi_mapi_EcDoConnect_ulLcidString = -1;
+static gint hf_mapi_mapi_EcDoConnect_usFCanConvertCodePages = -1;
+static gint hf_mapi_mapi_EcDoDisconnect_pcxh = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_cbAuxIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_cbIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_pcbAuxOut = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_pcbOut = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_pcxh = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_pulFlags = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_pulTransTime = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_rgbAuxIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_rgbAuxOut = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_rgbIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt2_rgbOut = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_cbAuxIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_cbIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_pcbOut = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_pcxh = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_pulFlags = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_pulTransTime = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_rgbAuxIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_rgbIn = -1;
+static gint hf_mapi_mapi_EcDoRpcExt_rgbOut = -1;
+static gint hf_mapi_mapi_EcDoRpc_handle = -1;
+static gint hf_mapi_mapi_EcDoRpc_length = -1;
+static gint hf_mapi_mapi_EcDoRpc_mapi_request = -1;
+static gint hf_mapi_mapi_EcDoRpc_mapi_response = -1;
+static gint hf_mapi_mapi_EcDoRpc_max_data = -1;
+static gint hf_mapi_mapi_EcDoRpc_offset = -1;
+static gint hf_mapi_mapi_EcDoRpc_size = -1;
+static gint hf_mapi_mapi_EcGetMoreRpc_pcxh = -1;
+static gint hf_mapi_mapi_EcGetMoreRpc_pusLength = -1;
+static gint hf_mapi_mapi_EcGetMoreRpc_rgb = -1;
+static gint hf_mapi_mapi_EcGetMoreRpc_usSize = -1;
+static gint hf_mapi_mapi_EcRGetDCName_handle = -1;
+static gint hf_mapi_mapi_EcRGetDCName_rgchDomainController = -1;
+static gint hf_mapi_mapi_EcRGetDCName_szDomainName = -1;
+static gint hf_mapi_mapi_EcRNetGetDCName_rgchDomainController = -1;
+static gint hf_mapi_mapi_EcRNetGetDCName_szDomainName = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_cbCallbackAddress = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_cbContext = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_grbitMapiAdviseBits = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_hNotification = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_handle = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_iRpc = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_rgbCallbackAddress = -1;
+static gint hf_mapi_mapi_EcRRegisterPushNotification_rgbContext = -1;
+static gint hf_mapi_mapi_EcRUnregisterPushNotification_hNotification = -1;
+static gint hf_mapi_mapi_EcRUnregisterPushNotification_handle = -1;
+static gint hf_mapi_mapi_EcRUnregisterPushNotification_iRpc = -1;
+static gint hf_mapi_mapi_LPSTR_lppszA = -1;
+static gint hf_mapi_mapi_LPWSTR_lppszW = -1;
+static gint hf_mapi_mapi_MV_LONG_STRUCT_cValues = -1;
+static gint hf_mapi_mapi_MV_LONG_STRUCT_lpl = -1;
+static gint hf_mapi_mapi_PermissionsData_ModifyCount = -1;
+static gint hf_mapi_mapi_PermissionsData_ModifyFlags = -1;
+static gint hf_mapi_mapi_PermissionsData_PermissionsData = -1;
+static gint hf_mapi_mapi_SAndRestriction_cRes = -1;
+static gint hf_mapi_mapi_SAndRestriction_res = -1;
+static gint hf_mapi_mapi_SBinaryArray_bin = -1;
+static gint hf_mapi_mapi_SBinaryArray_cValues = -1;
+static gint hf_mapi_mapi_SBitmaskRestriction_relMBR = -1;
+static gint hf_mapi_mapi_SBitmaskRestriction_ulMask = -1;
+static gint hf_mapi_mapi_SBitmaskRestriction_ulPropTag = -1;
+static gint hf_mapi_mapi_SCommentRestriction_Restriction = -1;
+static gint hf_mapi_mapi_SCommentRestriction_RestrictionPresent = -1;
+static gint hf_mapi_mapi_SCommentRestriction_TaggedValues = -1;
+static gint hf_mapi_mapi_SCommentRestriction_TaggedValuesCount = -1;
+static gint hf_mapi_mapi_SCompareProps_relop = -1;
+static gint hf_mapi_mapi_SCompareProps_ulPropTag1 = -1;
+static gint hf_mapi_mapi_SCompareProps_ulPropTag2 = -1;
+static gint hf_mapi_mapi_SContentRestriction_fuzzy = -1;
+static gint hf_mapi_mapi_SContentRestriction_lpProp = -1;
+static gint hf_mapi_mapi_SContentRestriction_ulPropTag = -1;
+static gint hf_mapi_mapi_SExistRestriction_ulPropTag = -1;
+static gint hf_mapi_mapi_SGuidArray_cValues = -1;
+static gint hf_mapi_mapi_SGuidArray_lpguid = -1;
+static gint hf_mapi_mapi_SLPSTRArray_cValues = -1;
+static gint hf_mapi_mapi_SLPSTRArray_strings = -1;
+static gint hf_mapi_mapi_SNotRestriction_res = -1;
+static gint hf_mapi_mapi_SOrRestriction_cRes = -1;
+static gint hf_mapi_mapi_SOrRestriction_res = -1;
+static gint hf_mapi_mapi_SPLSTRArrayW_cValues = -1;
+static gint hf_mapi_mapi_SPLSTRArrayW_strings = -1;
+static gint hf_mapi_mapi_SPropTagArray_aulPropTag = -1;
+static gint hf_mapi_mapi_SPropTagArray_cValues = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVbin = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVft = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVguid = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVi = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVl = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVszA = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_MVszW = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_Restrictions = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_RuleAction = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_b = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_bin = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_d = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_dbl = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_err = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_ft = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_i = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_l = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_lpguid = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_lpszA = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_lpszW = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_null = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_object = -1;
+static gint hf_mapi_mapi_SPropValue_CTR_svreid = -1;
+static gint hf_mapi_mapi_SPropValue_array_cValues = -1;
+static gint hf_mapi_mapi_SPropValue_array_lpProps = -1;
+static gint hf_mapi_mapi_SPropValue_array_wrap_wrap = -1;
+static gint hf_mapi_mapi_SPropValue_ulPropTag = -1;
+static gint hf_mapi_mapi_SPropValue_value = -1;
+static gint hf_mapi_mapi_SPropValue_wrap_wrap = -1;
+static gint hf_mapi_mapi_SPropertyRestriction_lpProp = -1;
+static gint hf_mapi_mapi_SPropertyRestriction_relop = -1;
+static gint hf_mapi_mapi_SPropertyRestriction_ulPropTag = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resAnd = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resBitmask = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resComment = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resCompareProps = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resContent = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resExist = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resNot = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resOr = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resProperty = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resSize = -1;
+static gint hf_mapi_mapi_SRestriction_CTR_resSub = -1;
+static gint hf_mapi_mapi_SRestriction_res = -1;
+static gint hf_mapi_mapi_SRestriction_rt = -1;
+static gint hf_mapi_mapi_SRestriction_wrap_wrap = -1;
+static gint hf_mapi_mapi_SSizeRestriction_relop = -1;
+static gint hf_mapi_mapi_SSizeRestriction_size = -1;
+static gint hf_mapi_mapi_SSizeRestriction_ulPropTag = -1;
+static gint hf_mapi_mapi_SSubRestriction_res = -1;
+static gint hf_mapi_mapi_SSubRestriction_ulSubObject = -1;
+static gint hf_mapi_mapi_name_Name = -1;
+static gint hf_mapi_mapi_name_NameSize = -1;
+static gint hf_mapi_mapi_request_handles = -1;
+static gint hf_mapi_mapi_request_length = -1;
+static gint hf_mapi_mapi_request_mapi_len = -1;
+static gint hf_mapi_mapi_request_rpcRequest = -1;
+static gint hf_mapi_mapi_response_handles = -1;
+static gint hf_mapi_mapi_response_length = -1;
+static gint hf_mapi_mapi_response_mapi_len = -1;
+static gint hf_mapi_mapi_response_rpcResponse = -1;
static gint hf_mapi_opnum = -1;
-static gint hf_mapi_pdu_len = -1;
-static gint hf_mapi_property_types = -1;
-static gint hf_mapi_recipient_displayname_7bit_lpszA = -1;
-static gint hf_mapi_recipient_type = -1;
+static gint hf_mapi_recipient_DisplayName_lpszA = -1;
+static gint hf_mapi_recipient_DisplayName_lpszW = -1;
+static gint hf_mapi_recipient_EmailAddress_lpszA = -1;
+static gint hf_mapi_recipient_EmailAddress_lpszW = -1;
+static gint hf_mapi_recipient_SimpleDisplayName_lpszA = -1;
+static gint hf_mapi_recipient_SimpleDisplayName_lpszW = -1;
+static gint hf_mapi_recipient_TransmittableDisplayName_lpszA = -1;
+static gint hf_mapi_recipient_TransmittableDisplayName_lpszW = -1;
static gint hf_mapi_recipient_type_EXCHANGE = -1;
static gint hf_mapi_recipient_type_SMTP = -1;
-static gint hf_mapi_recipients_headers_bitmask = -1;
-static gint hf_mapi_recipients_headers_layout = -1;
-static gint hf_mapi_recipients_headers_prop_count = -1;
-static gint hf_mapi_recipients_headers_prop_values = -1;
-static gint hf_mapi_recipients_headers_username = -1;
-static gint hf_mapi_ulEventType_fnevCriticalError = -1;
-static gint hf_mapi_ulEventType_fnevExtended = -1;
-static gint hf_mapi_ulEventType_fnevNewMail = -1;
-static gint hf_mapi_ulEventType_fnevObjectCopied = -1;
-static gint hf_mapi_ulEventType_fnevObjectCreated = -1;
-static gint hf_mapi_ulEventType_fnevObjectDeleted = -1;
-static gint hf_mapi_ulEventType_fnevObjectModified = -1;
-static gint hf_mapi_ulEventType_fnevObjectMoved = -1;
-static gint hf_mapi_ulEventType_fnevReservedForMapi = -1;
-static gint hf_mapi_ulEventType_fnevSearchComplete = -1;
-static gint hf_mapi_ulEventType_fnevStatusObjectModified = -1;
-static gint hf_mapi_ulEventType_fnevTableModified = -1;
+static gint hf_mapi_ulMessageStatus_MSGSTATUS_DELMARKED = -1;
+static gint hf_mapi_ulMessageStatus_MSGSTATUS_HIDDEN = -1;
+static gint hf_mapi_ulMessageStatus_MSGSTATUS_HIGHLIGHTED = -1;
+static gint hf_mapi_ulMessageStatus_MSGSTATUS_REMOTE_DELETE = -1;
+static gint hf_mapi_ulMessageStatus_MSGSTATUS_REMOTE_DOWNLOAD = -1;
+static gint hf_mapi_ulMessageStatus_MSGSTATUS_TAGGED = -1;
+static gint hf_mapi_werror = -1;
static gint proto_dcerpc_mapi = -1;
/* Version information */
@@ -177,6 +1920,80 @@ static e_guid_t uuid_dcerpc_mapi = {
};
static guint16 ver_dcerpc_mapi = 0;
+const value_string mapi_MAPISTATUS_vals[] = {
+ { MAPI_E_SUCCESS, "MAPI_E_SUCCESS" },
+ { MAPI_E_NO_SUPPORT, "MAPI_E_NO_SUPPORT" },
+ { MAPI_E_BAD_CHARWIDTH, "MAPI_E_BAD_CHARWIDTH" },
+ { MAPI_E_STRING_TOO_LONG, "MAPI_E_STRING_TOO_LONG" },
+ { MAPI_E_UNKNOWN_FLAGS, "MAPI_E_UNKNOWN_FLAGS" },
+ { MAPI_E_INVALID_ENTRYID, "MAPI_E_INVALID_ENTRYID" },
+ { MAPI_E_INVALID_OBJECT, "MAPI_E_INVALID_OBJECT" },
+ { MAPI_E_OBJECT_CHANGED, "MAPI_E_OBJECT_CHANGED" },
+ { MAPI_E_OBJECT_DELETED, "MAPI_E_OBJECT_DELETED" },
+ { MAPI_E_BUSY, "MAPI_E_BUSY" },
+ { MAPI_E_NOT_ENOUGH_DISK, "MAPI_E_NOT_ENOUGH_DISK" },
+ { MAPI_E_NOT_ENOUGH_RESOURCES, "MAPI_E_NOT_ENOUGH_RESOURCES" },
+ { MAPI_E_NOT_FOUND, "MAPI_E_NOT_FOUND" },
+ { MAPI_E_VERSION, "MAPI_E_VERSION" },
+ { MAPI_E_LOGON_FAILED, "MAPI_E_LOGON_FAILED" },
+ { MAPI_E_SESSION_LIMIT, "MAPI_E_SESSION_LIMIT" },
+ { MAPI_E_USER_CANCEL, "MAPI_E_USER_CANCEL" },
+ { MAPI_E_UNABLE_TO_ABORT, "MAPI_E_UNABLE_TO_ABORT" },
+ { MAPI_E_NETWORK_ERROR, "MAPI_E_NETWORK_ERROR" },
+ { MAPI_E_DISK_ERROR, "MAPI_E_DISK_ERROR" },
+ { MAPI_E_TOO_COMPLEX, "MAPI_E_TOO_COMPLEX" },
+ { MAPI_E_BAD_COLUMN, "MAPI_E_BAD_COLUMN" },
+ { MAPI_E_EXTENDED_ERROR, "MAPI_E_EXTENDED_ERROR" },
+ { MAPI_E_COMPUTED, "MAPI_E_COMPUTED" },
+ { MAPI_E_CORRUPT_DATA, "MAPI_E_CORRUPT_DATA" },
+ { MAPI_E_UNCONFIGURED, "MAPI_E_UNCONFIGURED" },
+ { MAPI_E_FAILONEPROVIDER, "MAPI_E_FAILONEPROVIDER" },
+ { MAPI_E_UNKNOWN_CPID, "MAPI_E_UNKNOWN_CPID" },
+ { MAPI_E_UNKNOWN_LCID, "MAPI_E_UNKNOWN_LCID" },
+ { MAPI_E_PASSWORD_CHANGE_REQUIRED, "MAPI_E_PASSWORD_CHANGE_REQUIRED" },
+ { MAPI_E_PASSWORD_EXPIRED, "MAPI_E_PASSWORD_EXPIRED" },
+ { MAPI_E_INVALID_WORKSTATION_ACCOUNT, "MAPI_E_INVALID_WORKSTATION_ACCOUNT" },
+ { MAPI_E_INVALID_ACCESS_TIME, "MAPI_E_INVALID_ACCESS_TIME" },
+ { MAPI_E_ACCOUNT_DISABLED, "MAPI_E_ACCOUNT_DISABLED" },
+ { MAPI_E_END_OF_SESSION, "MAPI_E_END_OF_SESSION" },
+ { MAPI_E_UNKNOWN_ENTRYID, "MAPI_E_UNKNOWN_ENTRYID" },
+ { MAPI_E_MISSING_REQUIRED_COLUMN, "MAPI_E_MISSING_REQUIRED_COLUMN" },
+ { MAPI_W_NO_SERVICE, "MAPI_W_NO_SERVICE" },
+ { MAPI_E_BAD_VALUE, "MAPI_E_BAD_VALUE" },
+ { MAPI_E_INVALID_TYPE, "MAPI_E_INVALID_TYPE" },
+ { MAPI_E_TYPE_NO_SUPPORT, "MAPI_E_TYPE_NO_SUPPORT" },
+ { MAPI_E_UNEXPECTED_TYPE, "MAPI_E_UNEXPECTED_TYPE" },
+ { MAPI_E_TOO_BIG, "MAPI_E_TOO_BIG" },
+ { MAPI_E_DECLINE_COPY, "MAPI_E_DECLINE_COPY" },
+ { MAPI_E_UNEXPECTED_ID, "MAPI_E_UNEXPECTED_ID" },
+ { MAPI_W_ERRORS_RETURNED, "MAPI_W_ERRORS_RETURNED" },
+ { MAPI_E_UNABLE_TO_COMPLETE, "MAPI_E_UNABLE_TO_COMPLETE" },
+ { MAPI_E_TIMEOUT, "MAPI_E_TIMEOUT" },
+ { MAPI_E_TABLE_EMPTY, "MAPI_E_TABLE_EMPTY" },
+ { MAPI_E_TABLE_TOO_BIG, "MAPI_E_TABLE_TOO_BIG" },
+ { MAPI_E_INVALID_BOOKMARK, "MAPI_E_INVALID_BOOKMARK" },
+ { MAPI_W_POSITION_CHANGED, "MAPI_W_POSITION_CHANGED" },
+ { MAPI_W_APPROX_COUNT, "MAPI_W_APPROX_COUNT" },
+ { MAPI_E_WAIT, "MAPI_E_WAIT" },
+ { MAPI_E_CANCEL, "MAPI_E_CANCEL" },
+ { MAPI_E_NOT_ME, "MAPI_E_NOT_ME" },
+ { MAPI_W_CANCEL_MESSAGE, "MAPI_W_CANCEL_MESSAGE" },
+ { MAPI_E_CORRUPT_STORE, "MAPI_E_CORRUPT_STORE" },
+ { MAPI_E_NOT_IN_QUEUE, "MAPI_E_NOT_IN_QUEUE" },
+ { MAPI_E_NO_SUPPRESS, "MAPI_E_NO_SUPPRESS" },
+ { MAPI_E_COLLISION, "MAPI_E_COLLISION" },
+ { MAPI_E_NOT_INITIALIZED, "MAPI_E_NOT_INITIALIZED" },
+ { MAPI_E_NON_STANDARD, "MAPI_E_NON_STANDARD" },
+ { MAPI_E_NO_RECIPIENTS, "MAPI_E_NO_RECIPIENTS" },
+ { MAPI_E_SUBMITTED, "MAPI_E_SUBMITTED" },
+ { MAPI_E_HAS_FOLDERS, "MAPI_E_HAS_FOLDERS" },
+ { MAPI_E_HAS_MESSAGES, "MAPI_E_HAS_MESSAGES" },
+ { MAPI_E_FOLDER_CYCLE, "MAPI_E_FOLDER_CYCLE" },
+ { MAPI_W_PARTIAL_COMPLETION, "MAPI_W_PARTIAL_COMPLETION" },
+ { MAPI_E_AMBIGUOUS_RECIP, "MAPI_E_AMBIGUOUS_RECIP" },
+ { MAPI_E_RESERVED, "MAPI_E_RESERVED" },
+{ 0, NULL }
+};
const value_string mapi_MAPITAGS_vals[] = {
{ PR_ACKNOWLEDGEMENT_MODE, "PR_ACKNOWLEDGEMENT_MODE" },
{ PR_ACKNOWLEDGEMENT_MODE_ERROR, "PR_ACKNOWLEDGEMENT_MODE_ERROR" },
@@ -3573,85 +5390,9 @@ const value_string mapi_MAPITAGS_vals[] = {
{ MAPI_PROP_RESERVED, "MAPI_PROP_RESERVED" },
{ 0, NULL }
};
-const value_string mapi_MAPISTATUS_vals[] = {
- { MAPI_E_SUCCESS, "MAPI_E_SUCCESS" },
- { MAPI_E_NO_SUPPORT, "MAPI_E_NO_SUPPORT" },
- { MAPI_E_BAD_CHARWIDTH, "MAPI_E_BAD_CHARWIDTH" },
- { MAPI_E_STRING_TOO_LONG, "MAPI_E_STRING_TOO_LONG" },
- { MAPI_E_UNKNOWN_FLAGS, "MAPI_E_UNKNOWN_FLAGS" },
- { MAPI_E_INVALID_ENTRYID, "MAPI_E_INVALID_ENTRYID" },
- { MAPI_E_INVALID_OBJECT, "MAPI_E_INVALID_OBJECT" },
- { MAPI_E_OBJECT_CHANGED, "MAPI_E_OBJECT_CHANGED" },
- { MAPI_E_OBJECT_DELETED, "MAPI_E_OBJECT_DELETED" },
- { MAPI_E_BUSY, "MAPI_E_BUSY" },
- { MAPI_E_NOT_ENOUGH_DISK, "MAPI_E_NOT_ENOUGH_DISK" },
- { MAPI_E_NOT_ENOUGH_RESOURCES, "MAPI_E_NOT_ENOUGH_RESOURCES" },
- { MAPI_E_NOT_FOUND, "MAPI_E_NOT_FOUND" },
- { MAPI_E_VERSION, "MAPI_E_VERSION" },
- { MAPI_E_LOGON_FAILED, "MAPI_E_LOGON_FAILED" },
- { MAPI_E_SESSION_LIMIT, "MAPI_E_SESSION_LIMIT" },
- { MAPI_E_USER_CANCEL, "MAPI_E_USER_CANCEL" },
- { MAPI_E_UNABLE_TO_ABORT, "MAPI_E_UNABLE_TO_ABORT" },
- { MAPI_E_NETWORK_ERROR, "MAPI_E_NETWORK_ERROR" },
- { MAPI_E_DISK_ERROR, "MAPI_E_DISK_ERROR" },
- { MAPI_E_TOO_COMPLEX, "MAPI_E_TOO_COMPLEX" },
- { MAPI_E_BAD_COLUMN, "MAPI_E_BAD_COLUMN" },
- { MAPI_E_EXTENDED_ERROR, "MAPI_E_EXTENDED_ERROR" },
- { MAPI_E_COMPUTED, "MAPI_E_COMPUTED" },
- { MAPI_E_CORRUPT_DATA, "MAPI_E_CORRUPT_DATA" },
- { MAPI_E_UNCONFIGURED, "MAPI_E_UNCONFIGURED" },
- { MAPI_E_FAILONEPROVIDER, "MAPI_E_FAILONEPROVIDER" },
- { MAPI_E_UNKNOWN_CPID, "MAPI_E_UNKNOWN_CPID" },
- { MAPI_E_UNKNOWN_LCID, "MAPI_E_UNKNOWN_LCID" },
- { MAPI_E_PASSWORD_CHANGE_REQUIRED, "MAPI_E_PASSWORD_CHANGE_REQUIRED" },
- { MAPI_E_PASSWORD_EXPIRED, "MAPI_E_PASSWORD_EXPIRED" },
- { MAPI_E_INVALID_WORKSTATION_ACCOUNT, "MAPI_E_INVALID_WORKSTATION_ACCOUNT" },
- { MAPI_E_INVALID_ACCESS_TIME, "MAPI_E_INVALID_ACCESS_TIME" },
- { MAPI_E_ACCOUNT_DISABLED, "MAPI_E_ACCOUNT_DISABLED" },
- { MAPI_E_END_OF_SESSION, "MAPI_E_END_OF_SESSION" },
- { MAPI_E_UNKNOWN_ENTRYID, "MAPI_E_UNKNOWN_ENTRYID" },
- { MAPI_E_MISSING_REQUIRED_COLUMN, "MAPI_E_MISSING_REQUIRED_COLUMN" },
- { MAPI_W_NO_SERVICE, "MAPI_W_NO_SERVICE" },
- { MAPI_E_BAD_VALUE, "MAPI_E_BAD_VALUE" },
- { MAPI_E_INVALID_TYPE, "MAPI_E_INVALID_TYPE" },
- { MAPI_E_TYPE_NO_SUPPORT, "MAPI_E_TYPE_NO_SUPPORT" },
- { MAPI_E_UNEXPECTED_TYPE, "MAPI_E_UNEXPECTED_TYPE" },
- { MAPI_E_TOO_BIG, "MAPI_E_TOO_BIG" },
- { MAPI_E_DECLINE_COPY, "MAPI_E_DECLINE_COPY" },
- { MAPI_E_UNEXPECTED_ID, "MAPI_E_UNEXPECTED_ID" },
- { MAPI_W_ERRORS_RETURNED, "MAPI_W_ERRORS_RETURNED" },
- { MAPI_E_UNABLE_TO_COMPLETE, "MAPI_E_UNABLE_TO_COMPLETE" },
- { MAPI_E_TIMEOUT, "MAPI_E_TIMEOUT" },
- { MAPI_E_TABLE_EMPTY, "MAPI_E_TABLE_EMPTY" },
- { MAPI_E_TABLE_TOO_BIG, "MAPI_E_TABLE_TOO_BIG" },
- { MAPI_E_INVALID_BOOKMARK, "MAPI_E_INVALID_BOOKMARK" },
- { MAPI_W_POSITION_CHANGED, "MAPI_W_POSITION_CHANGED" },
- { MAPI_W_APPROX_COUNT, "MAPI_W_APPROX_COUNT" },
- { MAPI_E_WAIT, "MAPI_E_WAIT" },
- { MAPI_E_CANCEL, "MAPI_E_CANCEL" },
- { MAPI_E_NOT_ME, "MAPI_E_NOT_ME" },
- { MAPI_W_CANCEL_MESSAGE, "MAPI_W_CANCEL_MESSAGE" },
- { MAPI_E_CORRUPT_STORE, "MAPI_E_CORRUPT_STORE" },
- { MAPI_E_NOT_IN_QUEUE, "MAPI_E_NOT_IN_QUEUE" },
- { MAPI_E_NO_SUPPRESS, "MAPI_E_NO_SUPPRESS" },
- { MAPI_E_COLLISION, "MAPI_E_COLLISION" },
- { MAPI_E_NOT_INITIALIZED, "MAPI_E_NOT_INITIALIZED" },
- { MAPI_E_NON_STANDARD, "MAPI_E_NON_STANDARD" },
- { MAPI_E_NO_RECIPIENTS, "MAPI_E_NO_RECIPIENTS" },
- { MAPI_E_SUBMITTED, "MAPI_E_SUBMITTED" },
- { MAPI_E_HAS_FOLDERS, "MAPI_E_HAS_FOLDERS" },
- { MAPI_E_HAS_MESSAGES, "MAPI_E_HAS_MESSAGES" },
- { MAPI_E_FOLDER_CYCLE, "MAPI_E_FOLDER_CYCLE" },
- { MAPI_W_PARTIAL_COMPLETION, "MAPI_W_PARTIAL_COMPLETION" },
- { MAPI_E_AMBIGUOUS_RECIP, "MAPI_E_AMBIGUOUS_RECIP" },
- { MAPI_E_RESERVED, "MAPI_E_RESERVED" },
-{ 0, NULL }
-};
static int mapi_dissect_element_DATA_BLOB_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_DATA_BLOB_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_DATA_BLOB_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_input_locale_language(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_input_locale_method(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
const value_string mapi_MAPI_OBJTYPE_vals[] = {
{ MAPI_STORE, "MAPI_STORE" },
{ MAPI_ADDRBOOK, "MAPI_ADDRBOOK" },
@@ -3690,123 +5431,365 @@ const value_string mapi_ACLRIGHTS_vals[] = {
{ RoleOwner, "RoleOwner" },
{ 0, NULL }
};
-const value_string mapi_MAPI_OPNUM_vals[] = {
- { op_MAPI_Release, "op_MAPI_Release" },
- { op_MAPI_OpenFolder, "op_MAPI_OpenFolder" },
- { op_MAPI_OpenMessage, "op_MAPI_OpenMessage" },
- { op_MAPI_GetHierarchyTable, "op_MAPI_GetHierarchyTable" },
- { op_MAPI_GetContentsTable, "op_MAPI_GetContentsTable" },
- { op_MAPI_CreateMessage, "op_MAPI_CreateMessage" },
- { op_MAPI_GetProps, "op_MAPI_GetProps" },
- { op_MAPI_GetPropsAll, "op_MAPI_GetPropsAll" },
- { op_MAPI_GetPropList, "op_MAPI_GetPropList" },
- { op_MAPI_SetProps, "op_MAPI_SetProps" },
- { op_MAPI_DeleteProps, "op_MAPI_DeleteProps" },
- { op_MAPI_SaveChangesMessage, "op_MAPI_SaveChangesMessage" },
- { op_MAPI_ModifyRecipients, "op_MAPI_ModifyRecipients" },
- { op_MAPI_SetReadFlags, "op_MAPI_SetReadFlags" },
- { op_MAPI_SetColumns, "op_MAPI_SetColumns" },
- { op_MAPI_SortTable, "op_MAPI_SortTable" },
- { op_MAPI_Restrict, "op_MAPI_Restrict" },
- { op_MAPI_QueryRows, "op_MAPI_QueryRows" },
- { op_MAPI_GetRowCount, "op_MAPI_GetRowCount" },
- { op_MAPI_SeekRow, "op_MAPI_SeekRow" },
- { op_MAPI_SeekRowBookmark, "op_MAPI_SeekRowBookmark" },
- { op_MAPI_SeekRowApprox, "op_MAPI_SeekRowApprox" },
- { op_MAPI_CreateBookmark, "op_MAPI_CreateBookmark" },
- { op_MAPI_CreateFolder, "op_MAPI_CreateFolder" },
- { op_MAPI_DeleteFolder, "op_MAPI_DeleteFolder" },
- { op_MAPI_DeleteMessages, "op_MAPI_DeleteMessages" },
- { op_MAPI_GetMessageStatus, "op_MAPI_GetMessageStatus" },
- { op_MAPI_SetMessageStatus, "op_MAPI_SetMessageStatus" },
- { op_MAPI_GetAttachmentTable, "op_MAPI_GetAttachmentTable" },
- { op_MAPI_OpenAttach, "op_MAPI_OpenAttach" },
- { op_MAPI_CreateAttach, "op_MAPI_CreateAttach" },
- { op_MAPI_DeleteAttach, "op_MAPI_DeleteAttach" },
- { op_MAPI_SaveChanges, "op_MAPI_SaveChanges" },
- { op_MAPI_SetReceiveFolder, "op_MAPI_SetReceiveFolder" },
- { op_MAPI_GetReceiveFolder, "op_MAPI_GetReceiveFolder" },
- { op_MAPI_Advise, "op_MAPI_Advise" },
- { op_MAPI_Notify, "op_MAPI_Notify" },
- { op_MAPI_OpenStream, "op_MAPI_OpenStream" },
- { op_MAPI_ReadStream, "op_MAPI_ReadStream" },
- { op_MAPI_WriteStream, "op_MAPI_WriteStream" },
- { op_MAPI_SetSearchCriteria, "op_MAPI_SetSearchCriteria" },
- { op_MAPI_GetSearchCriteria, "op_MAPI_GetSearchCriteria" },
- { op_MAPI_SubmitMessage, "op_MAPI_SubmitMessage" },
- { op_MAPI_CopyMessages, "op_MAPI_CopyMessages" },
- { op_MAPI_QueryColumns, "op_MAPI_QueryColumns" },
- { op_MAPI_GetTable, "op_MAPI_GetTable" },
- { op_MAPI_ModifyTable, "op_MAPI_ModifyTable" },
- { op_MAPI_FindRow, "op_MAPI_FindRow" },
- { op_MAPI_AddressTypes, "op_MAPI_AddressTypes" },
- { op_MAPI_GetNamesFromIDs, "op_MAPI_GetNamesFromIDs" },
- { op_MAPI_GetIDsFromNames, "op_MAPI_GetIDsFromNames" },
- { op_MAPI_EmptyFolder, "op_MAPI_EmptyFolder" },
- { op_MAPI_QueryNamesFromIDs, "op_MAPI_QueryNamesFromIDs" },
- { op_MAPI_GetReceiveFolderTable, "op_MAPI_GetReceiveFolderTable" },
- { op_MAPI_OpenMsgStore, "op_MAPI_OpenMsgStore" },
+const value_string mapi_ROP_OPNUM_vals[] = {
+ { RopNone, "RopNone" },
+ { RopRelease, "RopRelease" },
+ { RopOpenFolder, "RopOpenFolder" },
+ { RopOpenMessage, "RopOpenMessage" },
+ { RopGetHierarchyTable, "RopGetHierarchyTable" },
+ { RopGetContentsTable, "RopGetContentsTable" },
+ { RopCreateMessage, "RopCreateMessage" },
+ { RopGetPropertiesSpecific, "RopGetPropertiesSpecific" },
+ { RopGetPropertiesAll, "RopGetPropertiesAll" },
+ { RopGetPropertiesList, "RopGetPropertiesList" },
+ { RopSetProperties, "RopSetProperties" },
+ { RopDeleteProperties, "RopDeleteProperties" },
+ { RopSaveChangesMessage, "RopSaveChangesMessage" },
+ { RopRemoveAllRecipients, "RopRemoveAllRecipients" },
+ { RopModifyRecipients, "RopModifyRecipients" },
+ { RopReadRecipients, "RopReadRecipients" },
+ { RopReloadCachedInformation, "RopReloadCachedInformation" },
+ { RopSetMessageReadFlag, "RopSetMessageReadFlag" },
+ { RopSetColumns, "RopSetColumns" },
+ { RopSortTable, "RopSortTable" },
+ { RopRestrict, "RopRestrict" },
+ { RopQueryRows, "RopQueryRows" },
+ { RopGetStatus, "RopGetStatus" },
+ { RopQueryPosition, "RopQueryPosition" },
+ { RopSeekRow, "RopSeekRow" },
+ { RopSeekRowBookmark, "RopSeekRowBookmark" },
+ { RopSeekRowFractional, "RopSeekRowFractional" },
+ { RopCreateBookmark, "RopCreateBookmark" },
+ { RopCreateFolder, "RopCreateFolder" },
+ { RopDeleteFolder, "RopDeleteFolder" },
+ { RopDeleteMessages, "RopDeleteMessages" },
+ { RopGetMessageStatus, "RopGetMessageStatus" },
+ { RopSetMessageStatus, "RopSetMessageStatus" },
+ { RopGetAttachmentTable, "RopGetAttachmentTable" },
+ { RopOpenAttachment, "RopOpenAttachment" },
+ { RopCreateAttachment, "RopCreateAttachment" },
+ { RopDeleteAttachment, "RopDeleteAttachment" },
+ { RopSaveChangesAttachment, "RopSaveChangesAttachment" },
+ { RopSetReceiveFolder, "RopSetReceiveFolder" },
+ { RopGetReceiveFolder, "RopGetReceiveFolder" },
+ { RopSpoolerRules, "RopSpoolerRules" },
+ { RopRegisterNotification, "RopRegisterNotification" },
+ { RopNotify, "RopNotify" },
+ { RopOpenStream, "RopOpenStream" },
+ { RopReadStream, "RopReadStream" },
+ { RopWriteStream, "RopWriteStream" },
+ { RopSeekStream, "RopSeekStream" },
+ { RopSetStreamSize, "RopSetStreamSize" },
+ { RopSetSearchCriteria, "RopSetSearchCriteria" },
+ { RopGetSearchCriteria, "RopGetSearchCriteria" },
+ { RopSubmitMessage, "RopSubmitMessage" },
+ { RopMoveCopyMessages, "RopMoveCopyMessages" },
+ { RopAbortSubmit, "RopAbortSubmit" },
+ { RopMoveFolder, "RopMoveFolder" },
+ { RopCopyFolder, "RopCopyFolder" },
+ { RopQueryColumnsAll, "RopQueryColumnsAll" },
+ { RopAbort, "RopAbort" },
+ { RopCopyTo, "RopCopyTo" },
+ { RopCopyToStream, "RopCopyToStream" },
+ { RopCloneStream, "RopCloneStream" },
+ { RopRegisterTableNotification, "RopRegisterTableNotification" },
+ { RopDeregisterTableNotification, "RopDeregisterTableNotification" },
+ { RopGetPermissionsTable, "RopGetPermissionsTable" },
+ { RopGetRulesTable, "RopGetRulesTable" },
+ { RopModifyPermissions, "RopModifyPermissions" },
+ { RopModifyRules, "RopModifyRules" },
+ { RopGetOwningServers, "RopGetOwningServers" },
+ { RopLongTermIdFromId, "RopLongTermIdFromId" },
+ { RopIdFromLongTermId, "RopIdFromLongTermId" },
+ { RopPublicFolderIsGhosted, "RopPublicFolderIsGhosted" },
+ { RopOpenEmbeddedMessage, "RopOpenEmbeddedMessage" },
+ { RopSetSpooler, "RopSetSpooler" },
+ { RopSpoolerLockMessage, "RopSpoolerLockMessage" },
+ { RopGetAddressTypes, "RopGetAddressTypes" },
+ { RopTransportSend, "RopTransportSend" },
+ { RopFastTransferSourceCopyMessages, "RopFastTransferSourceCopyMessages" },
+ { RopFastTransferSourceCopyFolder, "RopFastTransferSourceCopyFolder" },
+ { RopFastTransferSourceCopyTo, "RopFastTransferSourceCopyTo" },
+ { RopFastTransferSourceGetBuffer, "RopFastTransferSourceGetBuffer" },
+ { RopFindRow, "RopFindRow" },
+ { RopProgress, "RopProgress" },
+ { RopTransportNewMail, "RopTransportNewMail" },
+ { RopGetValidAttachments, "RopGetValidAttachments" },
+ { RopFastTransferDestinationConfigure, "RopFastTransferDestinationConfigure" },
+ { RopFastTransferDestinationPutBuffer, "RopFastTransferDestinationPutBuffer" },
+ { RopGetNamesFromPropertyIds, "RopGetNamesFromPropertyIds" },
+ { RopGetPropertyIdsFromNames, "RopGetPropertyIdsFromNames" },
+ { RopUpdateDeferredActionMessages, "RopUpdateDeferredActionMessages" },
+ { RopEmptyFolder, "RopEmptyFolder" },
+ { RopExpandRow, "RopExpandRow" },
+ { RopCollapseRow, "RopCollapseRow" },
+ { RopLockRegionStream, "RopLockRegionStream" },
+ { RopUnlockRegionStream, "RopUnlockRegionStream" },
+ { RopCommitStream, "RopCommitStream" },
+ { RopGetStreamSize, "RopGetStreamSize" },
+ { RopQueryNamedProperties, "RopQueryNamedProperties" },
+ { RopGetPerUserLongTermIds, "RopGetPerUserLongTermIds" },
+ { RopGetPerUserGuid, "RopGetPerUserGuid" },
+ { RopFlushPerUser, "RopFlushPerUser" },
+ { RopReadPerUserInformation, "RopReadPerUserInformation" },
+ { RopWritePerUserInformation, "RopWritePerUserInformation" },
+ { RopCacheCcnRead, "RopCacheCcnRead" },
+ { RopSetReadFlags, "RopSetReadFlags" },
+ { RopCopyProperties, "RopCopyProperties" },
+ { RopGetReceiveFolderTable, "RopGetReceiveFolderTable" },
+ { RopFastTransferSourceCopyProperties, "RopFastTransferSourceCopyProperties" },
+ { RopFastTransferDestinationCopyProperties, "RopFastTransferDestinationCopyProperties" },
+ { RopGetCollapseState, "RopGetCollapseState" },
+ { RopSetCollapseState, "RopSetCollapseState" },
+ { RopGetTransportFolder, "RopGetTransportFolder" },
+ { RopPending, "RopPending" },
+ { RopOptionsData, "RopOptionsData" },
+ { RopSynchronizationConfigure, "RopSynchronizationConfigure" },
+ { RopIncrState, "RopIncrState" },
+ { RopSynchronizationImportMessageChange, "RopSynchronizationImportMessageChange" },
+ { RopSynchronizationImportHierarchyChange, "RopSynchronizationImportHierarchyChange" },
+ { RopSynchronizationImportDeletes, "RopSynchronizationImportDeletes" },
+ { RopSynchronizationUploadStateStreamBegin, "RopSynchronizationUploadStateStreamBegin" },
+ { RopSynchronizationUploadStateStreamContinue, "RopSynchronizationUploadStateStreamContinue" },
+ { RopSynchronizationUploadStateStreamEnd, "RopSynchronizationUploadStateStreamEnd" },
+ { RopSynchronizationImportMessageMove, "RopSynchronizationImportMessageMove" },
+ { RopSetPropertiesNoReplicate, "RopSetPropertiesNoReplicate" },
+ { RopDeletePropertiesNoReplicate, "RopDeletePropertiesNoReplicate" },
+ { RopGetStoreState, "RopGetStoreState" },
+ { RopGetRights, "RopGetRights" },
+ { RopGetAllPerUserLtids, "RopGetAllPerUserLtids" },
+ { RopSynchronizationOpenCollector, "RopSynchronizationOpenCollector" },
+ { RopGetLocalReplicaIds, "RopGetLocalReplicaIds" },
+ { RopSynchronizationImportReadStateChanges, "RopSynchronizationImportReadStateChanges" },
+ { RopResetTable, "RopResetTable" },
+ { RopSynchronizationGetTransferState, "RopSynchronizationGetTransferState" },
+ { RopOpenAdvisor, "RopOpenAdvisor" },
+ { RopRegICSNotifs, "RopRegICSNotifs" },
+ { RopOpenCStream, "RopOpenCStream" },
+ { RopTellVersion, "RopTellVersion" },
+ { RopOpenPublicFolderByName, "RopOpenPublicFolderByName" },
+ { RopSetSyncNotificationGuid, "RopSetSyncNotificationGuid" },
+ { RopFreeBookmark, "RopFreeBookmark" },
+ { RopWriteAndCommitStream, "RopWriteAndCommitStream" },
+ { RopHardDeleteMessages, "RopHardDeleteMessages" },
+ { RopHardDeleteMessagesAndSubfolders, "RopHardDeleteMessagesAndSubfolders" },
+ { RopSetLocalReplicaMidsetDeleted, "RopSetLocalReplicaMidsetDeleted" },
+ { RopTransportDeliverMessage, "RopTransportDeliverMessage" },
+ { RopTransportDoneWithMessage, "RopTransportDoneWithMessage" },
+ { RopIdFromLegacyDN, "RopIdFromLegacyDN" },
+ { RopSetAuthenticatedContext, "RopSetAuthenticatedContext" },
+ { RopCopyToEx, "RopCopyToEx" },
+ { RopImportMsgChangePartial, "RopImportMsgChangePartial" },
+ { RopSetMessageFlags, "RopSetMessageFlags" },
+ { RopMoveCopyMessagesEx, "RopMoveCopyMessagesEx" },
+ { RopFXSrcGetBufferEx, "RopFXSrcGetBufferEx" },
+ { RopFXDstPutBufferEx, "RopFXDstPutBufferEx" },
+ { RopTransportDeliverMessage2, "RopTransportDeliverMessage2" },
+ { RopCreateMessageEx, "RopCreateMessageEx" },
+ { RopMoveCopyMessagesEID, "RopMoveCopyMessagesEID" },
+ { RopTransportDupDlvCheck, "RopTransportDupDlvCheck" },
+ { RopPrereadMessages, "RopPrereadMessages" },
+ { RopWriteStreamExtended, "RopWriteStreamExtended" },
+ { RopGetContentsTableExtended, "RopGetContentsTableExtended" },
+ { RopStartScope, "RopStartScope" },
+ { RopEndScope, "RopEndScope" },
+ { RopEchoString, "RopEchoString" },
+ { RopEchoInt, "RopEchoInt" },
+ { RopEchoBinary, "RopEchoBinary" },
+ { RopBackoff, "RopBackoff" },
+ { RopExtendedError, "RopExtendedError" },
+ { RopBookmarkReturned, "RopBookmarkReturned" },
+ { RopFidReturned, "RopFidReturned" },
+ { RopHsotReturned, "RopHsotReturned" },
+ { RopLogon, "RopLogon" },
+ { RopBufferTooSmall, "RopBufferTooSmall" },
{ 0, NULL }
};
-static int mapi_dissect_element_FILETIME_dwLowDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_FILETIME_dwHighDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBinary_short_cb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBinary_short_lpb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBinary_short_lpb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MV_LONG_STRUCT_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MV_LONG_STRUCT_lpl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MV_LONG_STRUCT_lpl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_LPSTR_lppszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-const value_string mapi_property_types_vals[] = {
- { PT_UNSPECIFIED, "PT_UNSPECIFIED" },
- { PT_NULL, "PT_NULL" },
- { PT_I2, "PT_I2" },
- { PT_LONG, "PT_LONG" },
- { PT_R4, "PT_R4" },
- { PT_DOUBLE, "PT_DOUBLE" },
- { PT_CURRENCY, "PT_CURRENCY" },
- { PT_APPTIME, "PT_APPTIME" },
- { PT_ERROR, "PT_ERROR" },
- { PT_BOOLEAN, "PT_BOOLEAN" },
- { PT_OBJECT, "PT_OBJECT" },
- { PT_I8, "PT_I8" },
- { PT_STRING8, "PT_STRING8" },
- { PT_UNICODE, "PT_UNICODE" },
- { PT_SYSTIME, "PT_SYSTIME" },
- { PT_CLSID, "PT_CLSID" },
- { PT_BINARY, "PT_BINARY" },
- { PT_MV_I2, "PT_MV_I2" },
- { PT_MV_LONG, "PT_MV_LONG" },
- { PT_MV_R4, "PT_MV_R4" },
- { PT_MV_DOUBLE, "PT_MV_DOUBLE" },
- { PT_MV_CURRENCY, "PT_MV_CURRENCY" },
- { PT_MV_APPTIME, "PT_MV_APPTIME" },
- { PT_MV_I8, "PT_MV_I8" },
- { PT_MV_STRING8, "PT_MV_STRING8" },
- { PT_MV_UNICODE, "PT_MV_UNICODE" },
- { PT_MV_SYSTIME, "PT_MV_SYSTIME" },
- { PT_MV_CLSID, "PT_MV_CLSID" },
- { PT_MV_BINARY, "PT_MV_BINARY" },
+static int mapi_dissect_element_SLPSTRArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SLPSTRArray_strings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SLPSTRArray_strings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LPWSTR_lppszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPLSTRArrayW_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPLSTRArrayW_strings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPLSTRArrayW_strings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBinaryArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBinaryArray_bin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBinaryArray_bin_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SGuidArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SGuidArray_lpguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SGuidArray_lpguid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_wrap_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_wrap_wrap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_wrap_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_wrap_wrap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_array_wrap_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_array_wrap_wrap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_ActionType_vals[] = {
+ { ActionType_OP_MOVE, "ActionType_OP_MOVE" },
+ { ActionType_OP_COPY, "ActionType_OP_COPY" },
+ { ActionType_OP_REPLY, "ActionType_OP_REPLY" },
+ { ActionType_OP_OOF_REPLY, "ActionType_OP_OOF_REPLY" },
+ { ActionType_OP_DEFER_ACTION, "ActionType_OP_DEFER_ACTION" },
+ { ActionType_OP_BOUNCE, "ActionType_OP_BOUNCE" },
+ { ActionType_OP_FORWARD, "ActionType_OP_FORWARD" },
+ { ActionType_OP_DELEGATE, "ActionType_OP_DELEGATE" },
+ { ActionType_OP_TAG, "ActionType_OP_TAG" },
+ { ActionType_OP_DELETE, "ActionType_OP_DELETE" },
+ { ActionType_OP_MARK_AS_READ, "ActionType_OP_MARK_AS_READ" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_MoveCopy_Action_FolderInThisStore(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopy_Action_StoreEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopy_Action_FolderEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReplyOOF_Action_ReplyTemplateFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReplyOOF_Action_ReplyTemplateMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReplyOOF_Action_ReplyTemplateGUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientBlock_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientBlock_PropertyValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_BounceCode_vals[] = {
+ { BOUNCE_MESSAGE_TOO_LARGE, "BOUNCE_MESSAGE_TOO_LARGE" },
+ { BOUNCE_MESSAGE_NOT_DISPLAYED, "BOUNCE_MESSAGE_NOT_DISPLAYED" },
+ { BOUNCE_MESSAGE_DENIED, "BOUNCE_MESSAGE_DENIED" },
{ 0, NULL }
};
+static int mapi_dissect_element_ForwardDelegate_Action_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ForwardDelegate_Action_RecipientBlock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ForwardDelegate_Action_RecipientBlock_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_MoveAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_CopyAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_ReplyAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_ReplyOOFAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_DeferAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_BounceCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_PropValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_ForwardAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionData_DelegateAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionBlockData_ActionType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ActionType);
+static int mapi_dissect_element_ActionBlockData_ActionFlavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionBlockData_ActionFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ActionBlockData_ActionDataBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ActionType);
+static int mapi_dissect_element_ActionBlock_ActionBlockData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RuleAction_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RuleAction_ActionBlock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RuleAction_ActionBlock_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ShortArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ShortArray_r_lpi(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ShortArray_r_lpi_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ShortArray_r_lpi__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongArray_r_lpl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongArray_r_lpl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongArray_r_lpl__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_BinaryArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_BinaryArray_r_lpbin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_BinaryArray_r_lpbin_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_BinaryArray_r_lpbin__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DateTimeArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DateTimeArray_r_lpft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DateTimeArray_r_lpft_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DateTimeArray_r_lpft__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Binary_r_cb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Binary_r_lpb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Binary_r_lpb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Binary_r_lpb__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_i(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_l(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_dbl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_SPropValue_CTR_err(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_b(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_d(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_lpszA_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_bin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_svreid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_SPropValue_CTR_ft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_lpszW_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_CTR_lpguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_lpguid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_Restrictions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_RuleAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_ft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_err(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVi(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVbin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_MVft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_CTR_object(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_SPropValue_value(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_array_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_array_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropValue_array_lpProps_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropTagArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropTagArray_aulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropTagArray_aulPropTag_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
const value_string mapi_ulRowFlags_vals[] = {
{ ROW_ADD, "ROW_ADD" },
{ ROW_MODIFY, "ROW_MODIFY" },
{ ROW_REMOVE, "ROW_REMOVE" },
{ 0, NULL }
};
-static int mapi_dissect_element_SRow_ulRowFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_req_folder_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_req_max_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_req_folder_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_req_message_permissions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_req_message_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Release_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Release_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_OpenFolder_OpenModeFlags_vals[] = {
+ { OpenModeFlags_Folder, "OpenModeFlags_Folder" },
+ { OpenModeFlags_SoftDeleted, "OpenModeFlags_SoftDeleted" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_OpenFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_Replicas_ServerCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_Replicas_CheapServerCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_Replicas_Servers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_Replicas_Servers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IsGhosted_Replicas(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_Success_HasRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_Success_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_OpenFolder_Success_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_OpenFolder_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenFolder_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_OpenFolder_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+const value_string mapi_StringType_vals[] = {
+ { StringType_NONE, "StringType_NONE" },
+ { StringType_EMPTY, "StringType_EMPTY" },
+ { StringType_STRING8, "StringType_STRING8" },
+ { StringType_UNICODE_REDUCED, "StringType_UNICODE_REDUCED" },
+ { StringType_UNICODE, "StringType_UNICODE" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_String_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_String_lpszW_reduced(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_String_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TypedString_StringType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *StringType);
+static int mapi_dissect_element_TypedString_String(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *StringType);
+const value_string mapi_OpenMessage_OpenModeFlags_vals[] = {
+ { ReadOnly, "ReadOnly" },
+ { ReadWrite, "ReadWrite" },
+ { Create, "Create" },
+ { OpenSoftDelete, "OpenSoftDelete" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_OpenMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_req_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
const value_string mapi_CODEPAGEID_vals[] = {
{ CP_USASCII, "CP_USASCII" },
{ CP_UNICODE, "CP_UNICODE" },
@@ -3830,522 +5813,3038 @@ const value_string mapi_addr_type_vals[] = {
};
static int mapi_dissect_element_RecipExchange_organization_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_RecipExchange_addr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-const value_string mapi_OM_recipient_type_vals[] = {
- { EXCHANGE, "EXCHANGE" },
- { SMTP, "SMTP" },
-{ 0, NULL }
-};
+static int mapi_dissect_element_RecipExchange_username(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_recipient_type_EXCHANGE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_recipient_type_SMTP(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-const value_string mapi_OM_recipient_displayname_7bit_vals[] = {
- { DISPLAYNAME, "DISPLAYNAME" },
-{ 0, NULL }
-};
-static int mapi_dissect_element_recipient_displayname_7bit_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_recipients_headers_bitmask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_recipients_headers_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_recipients_headers_username(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_recipients_headers_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_recipients_headers_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_recipients_headers_prop_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_SimpleDisplayName_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_SimpleDisplayName_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_TransmittableDisplayName_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_TransmittableDisplayName_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_DisplayName_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_DisplayName_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_EmailAddress_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_recipient_EmailAddress_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_RecipientFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_EmailAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_DisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_SimpleDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_TransmittableDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RecipientRow_prop_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_OpenMessage_recipients_RecipClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_OpenMessage_recipients_codepage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_recipients_recipients_headers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_OpenMessage_recipients_recipients_headers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static const true_false_string ulEventType_fnevCriticalError_tfs = {
- "fnevCriticalError is SET",
- "fnevCriticalError is NOT SET",
-};
-static const true_false_string ulEventType_fnevNewMail_tfs = {
- "fnevNewMail is SET",
- "fnevNewMail is NOT SET",
-};
-static const true_false_string ulEventType_fnevObjectCreated_tfs = {
- "fnevObjectCreated is SET",
- "fnevObjectCreated is NOT SET",
-};
-static const true_false_string ulEventType_fnevObjectDeleted_tfs = {
- "fnevObjectDeleted is SET",
- "fnevObjectDeleted is NOT SET",
-};
-static const true_false_string ulEventType_fnevObjectModified_tfs = {
- "fnevObjectModified is SET",
- "fnevObjectModified is NOT SET",
-};
-static const true_false_string ulEventType_fnevObjectMoved_tfs = {
- "fnevObjectMoved is SET",
- "fnevObjectMoved is NOT SET",
-};
-static const true_false_string ulEventType_fnevObjectCopied_tfs = {
- "fnevObjectCopied is SET",
- "fnevObjectCopied is NOT SET",
-};
-static const true_false_string ulEventType_fnevSearchComplete_tfs = {
- "fnevSearchComplete is SET",
- "fnevSearchComplete is NOT SET",
-};
-static const true_false_string ulEventType_fnevTableModified_tfs = {
- "fnevTableModified is SET",
- "fnevTableModified is NOT SET",
-};
-static const true_false_string ulEventType_fnevStatusObjectModified_tfs = {
- "fnevStatusObjectModified is SET",
- "fnevStatusObjectModified is NOT SET",
-};
-static const true_false_string ulEventType_fnevReservedForMapi_tfs = {
- "fnevReservedForMapi is SET",
- "fnevReservedForMapi is NOT SET",
-};
-static const true_false_string ulEventType_fnevExtended_tfs = {
- "fnevExtended is SET",
- "fnevExtended is NOT SET",
-};
-static int mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_OpenMsgStore(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_code_page(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_input_locale(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_unknown4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_session_nb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_session_nb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_org_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_org_group_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_user(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_user_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_store_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_store_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_emsmdb_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_emsmdb_client_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_alloc_space(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoConnect_alloc_space_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoDisconnect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoDisconnect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_recipients_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_recipients_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_HasNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_SubjectPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_NormalizedSubject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_ColumnCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_RecipientColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_recipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_Success_recipients_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenMessage_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_OpenMessage_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static const true_false_string TableFlags_TableFlags_Depth_tfs = {
+ "TableFlags_Depth is SET",
+ "TableFlags_Depth is NOT SET",
+};
+static const true_false_string TableFlags_TableFlags_DeferredErrors_tfs = {
+ "TableFlags_DeferredErrors is SET",
+ "TableFlags_DeferredErrors is NOT SET",
+};
+static const true_false_string TableFlags_TableFlags_NoNotifications_tfs = {
+ "TableFlags_NoNotifications is SET",
+ "TableFlags_NoNotifications is NOT SET",
+};
+static const true_false_string TableFlags_TableFlags_SoftDeletes_tfs = {
+ "TableFlags_SoftDeletes is SET",
+ "TableFlags_SoftDeletes is NOT SET",
+};
+static const true_false_string TableFlags_TableFlags_UseUnicode_tfs = {
+ "TableFlags_UseUnicode is SET",
+ "TableFlags_UseUnicode is NOT SET",
+};
+static const true_false_string TableFlags_TableFlags_SuppressNotifications_tfs = {
+ "TableFlags_SuppressNotifications is SET",
+ "TableFlags_SuppressNotifications is NOT SET",
+};
+static int mapi_dissect_element_GetHierarchyTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_repl_success_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetHierarchyTable_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetHierarchyTable_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetContentsTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_repl_success_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetContentsTable_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetContentsTable_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_CreateMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_req_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_req_AssociatedFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_MessageId_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_repl_success_HasMessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasMessageId);
+static int mapi_dissect_element_CreateMessage_repl_success_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasMessageId);
+static int mapi_dissect_element_CreateMessage_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateMessage_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_CreateMessage_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetProps_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_req_PropertySizeLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_req_WantUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_req_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_req_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_req_properties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_repl_success_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_repl_success_prop_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_repl_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetProps_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetProps_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetPropsAll_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_req_PropertySizeLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_req_WantUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_repl_success_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_repl_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropsAll_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetPropsAll_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_GetPropList_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropList_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropList_repl_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropList_repl_tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPropList_repl_tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PropertyProblem_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PropertyProblem_property_tag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PropertyProblem_error_code(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetProps_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetProps_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetProps_req_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetProps_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetProps_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetProps_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_req_PropertyTagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_req_tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_req_tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteProps_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_SaveFlags_vals[] = {
+ { KeepOpenReadOnly, "KeepOpenReadOnly" },
+ { KeepOpenReadWrite, "KeepOpenReadWrite" },
+ { ForceSave, "ForceSave" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SaveChangesMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesMessage_req_ResponseHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesMessage_req_SaveFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesMessage_repl_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesMessage_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RemoveAllRecipients_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RemoveAllRecipients_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RemoveAllRecipients_req_ulReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_modrecip_vals[] = {
+ { MODRECIP_NULL, "MODRECIP_NULL" },
+ { MODRECIP_INVALID, "MODRECIP_INVALID" },
+ { MODRECIP_ADD, "MODRECIP_ADD" },
+ { MODRECIP_MODIFY, "MODRECIP_MODIFY" },
+ { MODRECIP_REMOVE, "MODRECIP_REMOVE" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_ModifyRecipientRow_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipientRow_RecipClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipientRow_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_properties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRecipients_req_RecipientRow_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_req_RowId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_req_ulReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipientRow_RowId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipientRow_RecipientType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipientRow_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipientRow_ulReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipientRow_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_repl_RecipientRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadRecipients_repl_RecipientRows_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenRecipientRow_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenRecipientRow_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenRecipientRow_RecipientType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenRecipientRow_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenRecipientRow_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenRecipientRow_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_req_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_HasNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_SubjectPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_NormalizedSubject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_RecipientColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_RecipientRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReloadCachedInformation_repl_RecipientRows_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string MSGFLAG_READ_SUPPRESS_RECEIPT_tfs = {
+ "SUPPRESS_RECEIPT is SET",
+ "SUPPRESS_RECEIPT is NOT SET",
+};
+static const true_false_string MSGFLAG_READ_CLEAR_READ_FLAG_tfs = {
+ "CLEAR_READ_FLAG is SET",
+ "CLEAR_READ_FLAG is NOT SET",
+};
+static const true_false_string MSGFLAG_READ_MAPI_DEFERRED_ERRORS_tfs = {
+ "MAPI_DEFERRED_ERRORS is SET",
+ "MAPI_DEFERRED_ERRORS is NOT SET",
+};
+static const true_false_string MSGFLAG_READ_GENERATE_RECEIPT_ONLY_tfs = {
+ "GENERATE_RECEIPT_ONLY is SET",
+ "GENERATE_RECEIPT_ONLY is NOT SET",
+};
+static const true_false_string MSGFLAG_READ_CLEAR_RN_PENDING_tfs = {
+ "CLEAR_RN_PENDING is SET",
+ "CLEAR_RN_PENDING is NOT SET",
+};
+static const true_false_string MSGFLAG_READ_CLEAR_NRN_PENDING_tfs = {
+ "CLEAR_NRN_PENDING is SET",
+ "CLEAR_NRN_PENDING is NOT SET",
+};
+static int mapi_dissect_element_SetMessageReadFlag_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_req_ResponseHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_req_ReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_req_clientdata(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_LogonId_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_ClientData_ClientData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_ClientData_ClientData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageReadFlag_repl_ReadStatusChanged(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ReadStatusChanged);
+static int mapi_dissect_element_SetMessageReadFlag_repl_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ReadStatusChanged);
+static int mapi_dissect_element_SetMessageReadFlag_repl_ClientData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ReadStatusChanged);
+const value_string mapi_SetColumnsFlags_vals[] = {
+ { SetColumns_TBL_SYNC, "SetColumns_TBL_SYNC" },
+ { SetColumns_TBL_ASYNC, "SetColumns_TBL_ASYNC" },
+{ 0, NULL }
+};
+const value_string mapi_TableStatus_vals[] = {
+ { TBLSTAT_COMPLETE, "TBLSTAT_COMPLETE" },
+ { TBLSTAT_SORTING, "TBLSTAT_SORTING" },
+ { TBLSTAT_SORT_ERROR, "TBLSTAT_SORT_ERROR" },
+ { TBLSTAT_SETTING_COLS, "TBLSTAT_SETTING_COLS" },
+ { TBLSTAT_SETCOL_ERROR, "TBLSTAT_SETCOL_ERROR" },
+ { TBLSTAT_RESTRICTING, "TBLSTAT_RESTRICTING" },
+ { TBLSTAT_RESTRICT_ERROR, "TBLSTAT_RESTRICT_ERROR" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SetColumns_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetColumns_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetColumns_req_SetColumnsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetColumns_req_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetColumns_req_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetColumns_req_properties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetColumns_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_TBL_FLAGS_vals[] = {
+ { TBL_ASYNC, "TBL_ASYNC" },
+ { TBL_BATCH, "TBL_BATCH" },
+{ 0, NULL }
+};
+const value_string mapi_TABLE_SORT_vals[] = {
+ { TABLE_SORT_ASCEND, "TABLE_SORT_ASCEND" },
+ { TABLE_SORT_COMBINE, "TABLE_SORT_COMBINE" },
+ { TABLE_SORT_DESCEND, "TABLE_SORT_DESCEND" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SSortOrder_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSortOrder_ulOrder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSortOrderSet_cSorts(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSortOrderSet_cCategories(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSortOrderSet_cExpanded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSortOrderSet_aSort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSortOrderSet_aSort_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SortTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SortTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SortTable_req_SortTableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SortTable_req_lpSortCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SortTable_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SAndRestriction_cRes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SAndRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SAndRestriction_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SOrRestriction_cRes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SOrRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SOrRestriction_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SNotRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string fuzzyLevel_FL_SUBSTRING_tfs = {
+ "FL_SUBSTRING is SET",
+ "FL_SUBSTRING is NOT SET",
+};
+static const true_false_string fuzzyLevel_FL_PREFIX_tfs = {
+ "FL_PREFIX is SET",
+ "FL_PREFIX is NOT SET",
+};
+static const true_false_string fuzzyLevel_FL_IGNORECASE_tfs = {
+ "FL_IGNORECASE is SET",
+ "FL_IGNORECASE is NOT SET",
+};
+static const true_false_string fuzzyLevel_FL_IGNORENONSPACE_tfs = {
+ "FL_IGNORENONSPACE is SET",
+ "FL_IGNORENONSPACE is NOT SET",
+};
+static const true_false_string fuzzyLevel_FL_LOOSE_tfs = {
+ "FL_LOOSE is SET",
+ "FL_LOOSE is NOT SET",
+};
+static int mapi_dissect_element_SContentRestriction_fuzzy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SContentRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SContentRestriction_lpProp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_relMBR_vals[] = {
+ { BMR_EQZ, "BMR_EQZ" },
+ { BMR_NEZ, "BMR_NEZ" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SBitmaskRestriction_relMBR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBitmaskRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SBitmaskRestriction_ulMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_CompareRelop_vals[] = {
+ { RELOP_LT, "RELOP_LT" },
+ { RELOP_LE, "RELOP_LE" },
+ { RELOP_GT, "RELOP_GT" },
+ { RELOP_GE, "RELOP_GE" },
+ { RELOP_EQ, "RELOP_EQ" },
+ { RELOP_NE, "RELOP_NE" },
+ { RELOP_RE, "RELOP_RE" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SSizeRestriction_relop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSizeRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSizeRestriction_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropertyRestriction_relop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropertyRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SPropertyRestriction_lpProp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCompareProps_relop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCompareProps_ulPropTag1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCompareProps_ulPropTag2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SExistRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSubRestriction_ulSubObject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSubRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SSubRestriction_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RestrictionVariable_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RestrictionVariable_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCommentRestriction_TaggedValuesCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCommentRestriction_TaggedValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCommentRestriction_TaggedValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SCommentRestriction_RestrictionPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RestrictionPresent);
+static int mapi_dissect_element_SCommentRestriction_Restriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RestrictionPresent);
+static int mapi_dissect_element_SRestriction_CTR_resAnd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resOr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resNot(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resContent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resCompareProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resBitmask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resExist(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resSub(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_CTR_resComment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SRestriction_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_and_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_and_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_or_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_or_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_sub_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_sub_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_comment_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_SRestriction_comment_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt);
+static int mapi_dissect_element_Restrict_req_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Restrict_req_restrictions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Restrict_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_QueryRowsFlags_vals[] = {
+ { TBL_ADVANCE, "TBL_ADVANCE" },
+ { TBL_NOADVANCE, "TBL_NOADVANCE" },
+ { TBL_ENABLEPACKEDBUFFERS, "TBL_ENABLEPACKEDBUFFERS" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_QueryRows_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_req_QueryRowsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_req_ForwardRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_req_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_repl_Origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryRows_repl_RowData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStatus_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStatus_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStatus_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryPosition_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryPosition_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryPosition_repl_Numerator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryPosition_repl_Denominator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_BOOKMARK_vals[] = {
+ { BOOKMARK_BEGINNING, "BOOKMARK_BEGINNING" },
+ { BOOKMARK_CURRENT, "BOOKMARK_CURRENT" },
+ { BOOKMARK_END, "BOOKMARK_END" },
+ { BOOKMARK_USER, "BOOKMARK_USER" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SeekRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRow_req_origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRow_req_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRow_req_WantRowMovedCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRow_repl_HasSoughtLess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRow_repl_RowsSought(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_req_Bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_req_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_req_WantRowMovedCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_repl_RowNoLongerVisible(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_repl_HasSoughtLess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowBookmark_repl_RowsSought(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowApprox_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowApprox_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowApprox_req_ulNumerator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekRowApprox_req_ulDenominator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateBookmark_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateBookmark_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateBookmark_repl_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_FOLDER_TYPE_vals[] = {
+ { FOLDER_GENERIC, "FOLDER_GENERIC" },
+ { FOLDER_SEARCH, "FOLDER_SEARCH" },
+{ 0, NULL }
+};
+const value_string mapi_FOLDER_STRING_vals[] = {
+ { MAPI_FOLDER_ANSI, "MAPI_FOLDER_ANSI" },
+ { MAPI_FOLDER_UNICODE, "MAPI_FOLDER_UNICODE" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_LPTSTR_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LPTSTR_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_FOLDER_FLAGS_vals[] = {
+ { NONE, "NONE" },
+ { OPEN_IF_EXISTS, "OPEN_IF_EXISTS" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_CreateFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_req_ulFolderType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_req_ulType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulType);
+static int mapi_dissect_element_CreateFolder_req_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_req_FolderName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulType);
+static int mapi_dissect_element_CreateFolder_req_FolderComment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulType);
+static int mapi_dissect_element_CreateFolder_GhostInfo_HasRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_GhostInfo_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_CreateFolder_GhostInfo_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_CreateFolder_GhostUnion_GhostInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_repl_folder_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateFolder_repl_IsExistingFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsExistingFolder);
+static int mapi_dissect_element_CreateFolder_repl_GhostUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsExistingFolder);
+static const true_false_string DeleteFolderFlags_DEL_MESSAGES_tfs = {
+ "DEL_MESSAGES is SET",
+ "DEL_MESSAGES is NOT SET",
+};
+static const true_false_string DeleteFolderFlags_DEL_FOLDERS_tfs = {
+ "DEL_FOLDERS is SET",
+ "DEL_FOLDERS is NOT SET",
+};
+static const true_false_string DeleteFolderFlags_DELETE_HARD_DELETE_tfs = {
+ "DELETE_HARD_DELETE is SET",
+ "DELETE_HARD_DELETE is NOT SET",
+};
+static int mapi_dissect_element_DeleteFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteFolder_req_DeleteFolderFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_NotifyNonRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_cn_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_message_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_req_message_ids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteMessages_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetMessageStatus_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetMessageStatus_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetMessageStatus_req_msgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string ulMessageStatus_MSGSTATUS_HIGHLIGHTED_tfs = {
+ "MSGSTATUS_HIGHLIGHTED is SET",
+ "MSGSTATUS_HIGHLIGHTED is NOT SET",
+};
+static const true_false_string ulMessageStatus_MSGSTATUS_TAGGED_tfs = {
+ "MSGSTATUS_TAGGED is SET",
+ "MSGSTATUS_TAGGED is NOT SET",
+};
+static const true_false_string ulMessageStatus_MSGSTATUS_HIDDEN_tfs = {
+ "MSGSTATUS_HIDDEN is SET",
+ "MSGSTATUS_HIDDEN is NOT SET",
+};
+static const true_false_string ulMessageStatus_MSGSTATUS_DELMARKED_tfs = {
+ "MSGSTATUS_DELMARKED is SET",
+ "MSGSTATUS_DELMARKED is NOT SET",
+};
+static const true_false_string ulMessageStatus_MSGSTATUS_REMOTE_DOWNLOAD_tfs = {
+ "MSGSTATUS_REMOTE_DOWNLOAD is SET",
+ "MSGSTATUS_REMOTE_DOWNLOAD is NOT SET",
+};
+static const true_false_string ulMessageStatus_MSGSTATUS_REMOTE_DELETE_tfs = {
+ "MSGSTATUS_REMOTE_DELETE is SET",
+ "MSGSTATUS_REMOTE_DELETE is NOT SET",
+};
+static int mapi_dissect_element_SetMessageStatus_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageStatus_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageStatus_req_msgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageStatus_req_ulNewStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageStatus_req_ulNewStatusMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetMessageStatus_repl_ulOldStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetAttachmentTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetAttachmentTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetAttachmentTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetAttachmentTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_OpenAttachmentFlags_vals[] = {
+ { OpenAttachmentFlags_ReadOnly, "OpenAttachmentFlags_ReadOnly" },
+ { OpenAttachmentFlags_ReadWrite, "OpenAttachmentFlags_ReadWrite" },
+ { OpenAttachmentFlags_BestAccess, "OpenAttachmentFlags_BestAccess" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_OpenAttach_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenAttach_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenAttach_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenAttach_req_OpenAttachmentFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenAttach_req_AttachmentID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateAttach_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateAttach_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateAttach_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CreateAttach_repl_AttachmentID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteAttach_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteAttach_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeleteAttach_req_AttachmentID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesAttachment_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesAttachment_req_ResponseHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesAttachment_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SaveChangesAttachment_req_SaveFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReceiveFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReceiveFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReceiveFolder_req_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReceiveFolder_req_lpszMessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolder_req_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolder_repl_folder_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolder_repl_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_NotificationFlags_vals[] = {
+ { fnevCriticalError, "fnevCriticalError" },
+ { fnevNewMail, "fnevNewMail" },
+ { fnevObjectCreated, "fnevObjectCreated" },
+ { fnevObjectDeleted, "fnevObjectDeleted" },
+ { fnevObjectModified, "fnevObjectModified" },
+ { fnevObjectMoved, "fnevObjectMoved" },
+ { fnevObjectCopied, "fnevObjectCopied" },
+ { fnevSearchComplete, "fnevSearchComplete" },
+ { fnevTableModified, "fnevTableModified" },
+ { fnevStatusObjectModified, "fnevStatusObjectModified" },
+ { fnevReserved, "fnevReserved" },
+ { fnevTbit, "fnevTbit" },
+ { fnevUbit, "fnevUbit" },
+ { fnevSbit, "fnevSbit" },
+ { fnevMbit, "fnevMbit" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_hyperbool_ID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RegisterNotification_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RegisterNotification_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RegisterNotification_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RegisterNotification_req_notificationFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RegisterNotification_req_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *layout);
+static int mapi_dissect_element_RegisterNotification_req_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *layout);
+static const true_false_string MsgFlags_MSGFLAG_READ_tfs = {
+ "MSGFLAG_READ is SET",
+ "MSGFLAG_READ is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_UNMODIFIED_tfs = {
+ "MSGFLAG_UNMODIFIED is SET",
+ "MSGFLAG_UNMODIFIED is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_SUBMIT_tfs = {
+ "MSGFLAG_SUBMIT is SET",
+ "MSGFLAG_SUBMIT is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_UNSENT_tfs = {
+ "MSGFLAG_UNSENT is SET",
+ "MSGFLAG_UNSENT is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_HASATTACH_tfs = {
+ "MSGFLAG_HASATTACH is SET",
+ "MSGFLAG_HASATTACH is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_FROMME_tfs = {
+ "MSGFLAG_FROMME is SET",
+ "MSGFLAG_FROMME is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_ASSOCIATED_tfs = {
+ "MSGFLAG_ASSOCIATED is SET",
+ "MSGFLAG_ASSOCIATED is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_RESEND_tfs = {
+ "MSGFLAG_RESEND is SET",
+ "MSGFLAG_RESEND is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_RN_PENDING_tfs = {
+ "MSGFLAG_RN_PENDING is SET",
+ "MSGFLAG_RN_PENDING is NOT SET",
+};
+static const true_false_string MsgFlags_MSGFLAG_NRN_PENDING_tfs = {
+ "MSGFLAG_NRN_PENDING is SET",
+ "MSGFLAG_NRN_PENDING is NOT SET",
+};
+static int mapi_dissect_element_MessageClass_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageClass_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GID_DatabaseGUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GID_GlobalCounter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GID_GlobalCounter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_RichTableNotificationType_vals[] = {
+ { TABLE_CHANGED, "TABLE_CHANGED" },
+ { TABLE_ROW_ADDED, "TABLE_ROW_ADDED" },
+ { TABLE_ROW_DELETED, "TABLE_ROW_DELETED" },
+ { TABLE_ROW_MODIFIED, "TABLE_ROW_MODIFIED" },
+ { TABLE_RESTRICT_DONE, "TABLE_RESTRICT_DONE" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_NewMailNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NewMailNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NewMailNotification_MessageFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NewMailNotification_UnicodeFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UnicodeFlag);
+static int mapi_dissect_element_NewMailNotification_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UnicodeFlag);
+static int mapi_dissect_element_FolderCreatedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderCreatedNotification_ParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderCreatedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderCreatedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderCreatedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderDeletedNotification_ParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_10_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_10_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_10_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_10_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderMoveCopyNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderMoveCopyNotification_ParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderMoveCopyNotification_OldFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderMoveCopyNotification_OldParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchCompleteNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowAddedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowAddedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowAddedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowModifiedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyRowModifiedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowAddedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HierarchyTableChange_TableEvent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent);
+static int mapi_dissect_element_HierarchyTableChange_HierarchyTableChangeUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent);
+static int mapi_dissect_element_IcsNotification_HierChanged(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IcsNotification_GIDCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IcsNotification_GID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IcsNotification_GID_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_1010_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_1010_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_1010_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_1010_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_1010_TotalMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_2010_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_2010_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_2010_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_2010_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_2010_UnreadMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_3010_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_3010_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_3010_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_3010_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_3010_TotalMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FolderModifiedNotification_3010_UnreadMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageCreatedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageCreatedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageCreatedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageCreatedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageCreatedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageDeletedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageModifiedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageModifiedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageModifiedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageModifiedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageMoveCopyNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageMoveCopyNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageMoveCopyNotification_OldFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MessageMoveCopyNotification_OldMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_Instance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_InsertAfterMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_InsertAfterInstance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowAddedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowDeletedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowDeletedNotification_Instance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_Instance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterInstance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsRowModifiedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsTableChangeUnion_ContentsRowAddedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsTableChangeUnion_ContentsRowDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsTableChangeUnion_ContentsRowModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ContentsTableChange_TableEvent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent);
+static int mapi_dissect_element_ContentsTableChange_ContentsTableChangeUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent);
+static int mapi_dissect_element_SearchMessageCreatedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageCreatedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageCreatedNotification_SearchFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageCreatedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageCreatedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageCreatedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageRemovedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageRemovedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageRemovedNotification_SearchFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageModifiedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageModifiedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageModifiedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SearchMessageModifiedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_NewMailNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderModifiedNotification_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderMoveNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderCopyNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_SearchCompleteNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_HierarchyTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_IcsNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderModifiedNotification_1010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderModifiedNotification_2010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_FolderModifiedNotification_3010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_NewMessageNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_MessageCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_MessageDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_MessageModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_MessageMoveNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_MessageCopyNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_ContentsTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_SearchMessageCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_SearchMessageRemovedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_SearchMessageModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_NotificationData_SearchTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Notify_repl_NotificationHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Notify_repl_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Notify_repl_NotificationType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *NotificationType);
+static int mapi_dissect_element_Notify_repl_NotificationData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *NotificationType);
+const value_string mapi_OpenStream_OpenModeFlags_vals[] = {
+ { OpenStream_ReadOnly, "OpenStream_ReadOnly" },
+ { OpenStream_ReadWrite, "OpenStream_ReadWrite" },
+ { OpenStream_Create, "OpenStream_Create" },
+ { OpenStream_BestAccess, "OpenStream_BestAccess" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_OpenStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenStream_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenStream_req_PropertyTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenStream_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenStream_repl_StreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MaximumByteCount_value(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadStream_req_ByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *ByteCount);
+static int mapi_dissect_element_ReadStream_req_MaximumByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *ByteCount);
+static int mapi_dissect_element_ReadStream_repl_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteStream_req_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteStream_repl_WrittenSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekStream_req_Origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekStream_req_Offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SeekStream_repl_NewPosition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetStreamSize_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetStreamSize_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetStreamSize_req_SizeStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string SearchFlags_STOP_SEARCH_tfs = {
+ "STOP_SEARCH is SET",
+ "STOP_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_RESTART_SEARCH_tfs = {
+ "RESTART_SEARCH is SET",
+ "RESTART_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_RECURSIVE_SEARCH_tfs = {
+ "RECURSIVE_SEARCH is SET",
+ "RECURSIVE_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_SHALLOW_SEARCH_tfs = {
+ "SHALLOW_SEARCH is SET",
+ "SHALLOW_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_FOREGROUND_SEARCH_tfs = {
+ "FOREGROUND_SEARCH is SET",
+ "FOREGROUND_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_BACKGROUND_SEARCH_tfs = {
+ "BACKGROUND_SEARCH is SET",
+ "BACKGROUND_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_CONTENT_INDEXED_SEARCH_tfs = {
+ "CONTENT_INDEXED_SEARCH is SET",
+ "CONTENT_INDEXED_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_NON_CONTENT_INDEXED_SEARCH_tfs = {
+ "NON_CONTENT_INDEXED_SEARCH is SET",
+ "NON_CONTENT_INDEXED_SEARCH is NOT SET",
+};
+static const true_false_string SearchFlags_STATIC_SEARCH_tfs = {
+ "STATIC_SEARCH is SET",
+ "STATIC_SEARCH is NOT SET",
+};
+static int mapi_dissect_element_SetSearchCriteria_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSearchCriteria_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSearchCriteria_req_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSearchCriteria_req_FolderIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSearchCriteria_req_FolderIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSearchCriteria_req_FolderIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSearchCriteria_req_SearchFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_req_UseUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_req_IncludeRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_req_IncludeFolders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_repl_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_repl_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_repl_FolderIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_repl_FolderIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_repl_FolderIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetSearchCriteria_repl_SearchFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_SubmitFlags_vals[] = {
+ { None, "None" },
+ { PreProcess, "PreProcess" },
+ { NeedsSpooler, "NeedsSpooler" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SubmitMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SubmitMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SubmitMessage_req_SubmitFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_req_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_req_message_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_req_message_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_req_WantCopy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveCopyMessages_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AbortSubmit_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AbortSubmit_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AbortSubmit_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AbortSubmit_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Folder_name_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Folder_name_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveFolder_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveFolder_req_UseUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode);
+static int mapi_dissect_element_MoveFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MoveFolder_req_NewFolderName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode);
+static int mapi_dissect_element_MoveFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyFolder_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyFolder_req_WantRecursive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyFolder_req_UseUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode);
+static int mapi_dissect_element_CopyFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyFolder_req_NewFolderName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode);
+static int mapi_dissect_element_CopyFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryColumnsAll_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryColumnsAll_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryColumnsAll_repl_PropertyTagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryColumnsAll_repl_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryColumnsAll_repl_PropertyTags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Abort_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Abort_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Abort_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string CopyFlags_CopyFlagsMove_tfs = {
+ "CopyFlagsMove is SET",
+ "CopyFlagsMove is NOT SET",
+};
+static const true_false_string CopyFlags_CopyFlagsNoOverwrite_tfs = {
+ "CopyFlagsNoOverwrite is SET",
+ "CopyFlagsNoOverwrite is NOT SET",
+};
+static int mapi_dissect_element_CopyTo_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_req_WantSubObjects(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_req_CopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_req_ExcludedTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyTo_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyToStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyToStream_req_ByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyToStream_repl_ReadByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyToStream_repl_WrittenByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CloneStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CloneStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CloneStream_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string PermissionsTableFlags_IncludeFreeBusy_tfs = {
+ "IncludeFreeBusy is SET",
+ "IncludeFreeBusy is NOT SET",
+};
+static int mapi_dissect_element_GetPermissionsTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPermissionsTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPermissionsTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPermissionsTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string RulesTableFlags_RulesTableFlags_Unicode_tfs = {
+ "RulesTableFlags_Unicode is SET",
+ "RulesTableFlags_Unicode is NOT SET",
+};
+static int mapi_dissect_element_GetRulesTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetRulesTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetRulesTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetRulesTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string ModifyPermissionsFlags_ModifyPerms_IncludeFreeBusy_tfs = {
+ "ModifyPerms_IncludeFreeBusy is SET",
+ "ModifyPerms_IncludeFreeBusy is NOT SET",
+};
+static const true_false_string ModifyPermissionsFlags_ModifyPerms_ReplaceRows_tfs = {
+ "ModifyPerms_ReplaceRows is SET",
+ "ModifyPerms_ReplaceRows is NOT SET",
+};
+static int mapi_dissect_element_PermissionData_PermissionDataFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PermissionData_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PermissionsData_ModifyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PermissionsData_ModifyCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PermissionsData_PermissionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PermissionsData_PermissionsData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyPermissions_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyPermissions_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyPermissions_req_rowList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RuleData_RuleDataFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RuleData_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string ModifyRulesFlag_ModifyRulesFlag_Replace_tfs = {
+ "ModifyRulesFlag_Replace is SET",
+ "ModifyRulesFlag_Replace is NOT SET",
+};
+static int mapi_dissect_element_ModifyRules_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRules_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRules_req_ModifyRulesFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRules_req_RulesCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRules_req_RulesData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ModifyRules_req_RulesData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_repl_OwningServersCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_repl_CheapServersCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_repl_OwningServers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetOwningServers_repl_OwningServers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_req_Id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermId_DatabaseGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermId_GlobalCounter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermId_GlobalCounter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermId_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_repl_Success_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_repl_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LongTermIdFromId_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_LongTermIdFromId_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue);
+static int mapi_dissect_element_IdFromLongTermId_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IdFromLongTermId_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IdFromLongTermId_req_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_IdFromLongTermId_repl_Id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PublicFolderIsGhosted_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PublicFolderIsGhosted_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PublicFolderIsGhosted_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_PublicFolderIsGhosted_repl_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_PublicFolderIsGhosted_repl_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+const value_string mapi_OpenEmbeddedMessage_OpenModeFlags_vals[] = {
+ { MAPI_READONLY, "MAPI_READONLY" },
+ { MAPI_READWRITE, "MAPI_READWRITE" },
+ { MAPI_CREATE, "MAPI_CREATE" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_OpenEmbeddedMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_req_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_HasNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_SubjectPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_NormalizedSubject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_ColumnCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientColumns_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientRows_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSpooler_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetSpooler_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_LockState_vals[] = {
+ { LockState_1stLock, "LockState_1stLock" },
+ { LockState_1stUnlock, "LockState_1stUnlock" },
+ { LockState_1stFinished, "LockState_1stFinished" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SpoolerLockMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SpoolerLockMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SpoolerLockMessage_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SpoolerLockMessage_req_LockState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AddressTypes_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AddressTypes_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AddressTypes_repl_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AddressTypes_repl_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AddressTypes_repl_transport(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AddressTypes_repl_transport_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportSend_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportSend_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportSend_lpProps_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportSend_repl_NoPropertiesReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *NoPropertiesReturned);
+static int mapi_dissect_element_TransportSend_repl_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *NoPropertiesReturned);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_req_BufferSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_TransferStatus_vals[] = {
+ { TransferStatus_Error, "TransferStatus_Error" },
+ { TransferStatus_Partial, "TransferStatus_Partial" },
+ { TransferStatus_NoRoom, "TransferStatus_NoRoom" },
+ { TransferStatus_Done, "TransferStatus_Done" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_FastTransferSourceGetBuffer_repl_TransferStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_repl_InProgressCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_repl_TotalStepCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_repl_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FastTransferSourceGetBuffer_repl_TransferBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_FindRow_ulFlags_vals[] = {
+ { DIR_FORWARD, "DIR_FORWARD" },
+ { DIR_BACKWARD, "DIR_BACKWARD" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_FindRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_req_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_req_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_req_origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_req_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_repl_RowNoLongerVisible(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_repl_HasRowData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FindRow_repl_row(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Progress_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Progress_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Progress_req_WantCancel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Progress_repl_CompletedTaskCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Progress_repl_TotalTaskCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportNewMail_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportNewMail_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportNewMail_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportNewMail_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportNewMail_req_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_TransportNewMail_req_MessageFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetValidAttachments_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetValidAttachments_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetValidAttachments_repl_AttachmentIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetValidAttachments_repl_AttachmentIdArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetValidAttachments_repl_AttachmentIdArray_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_ulKind_vals[] = {
+ { MNID_ID, "MNID_ID" },
+ { MNID_STRING, "MNID_STRING" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_name_NameSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_name_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Kind_lid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Kind_lpwstr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MAPINAMEID_ulKind(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulKind);
+static int mapi_dissect_element_MAPINAMEID_lpguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_MAPINAMEID_kind(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulKind);
+static int mapi_dissect_element_GetNamesFromIDs_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_req_PropertyIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_req_PropertyIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_req_PropertyIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_repl_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_repl_nameid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetNamesFromIDs_repl_nameid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_req_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_req_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_req_nameid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_req_nameid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_repl_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_repl_propID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetIDsFromNames_repl_propID_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UpdateDeferredActionMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UpdateDeferredActionMessages_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UpdateDeferredActionMessages_req_ServerEntryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UpdateDeferredActionMessages_req_ClientEntryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EmptyFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EmptyFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EmptyFolder_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EmptyFolder_req_WantDeleteAssociated(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EmptyFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_req_MaxRowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_req_CategoryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_repl_ExpandedRowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ExpandRow_repl_RowData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CollapseRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CollapseRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CollapseRow_req_CategoryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CollapseRow_repl_CollapsedRowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LockRegionStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LockRegionStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LockRegionStream_req_RegionOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LockRegionStream_req_RegionSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LockRegionStream_req_LockFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UnlockRegionStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UnlockRegionStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UnlockRegionStream_req_RegionOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UnlockRegionStream_req_RegionSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_UnlockRegionStream_req_LockFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CommitStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CommitStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStreamSize_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStreamSize_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStreamSize_repl_StreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string QueryFlags_NoStrings_tfs = {
+ "NoStrings is SET",
+ "NoStrings is NOT SET",
+};
+static const true_false_string QueryFlags_NoIds_tfs = {
+ "NoIds is SET",
+ "NoIds is NOT SET",
+};
+static int mapi_dissect_element_QueryNamedProperties_guid_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_req_QueryFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_req_HasGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasGuid);
+static int mapi_dissect_element_QueryNamedProperties_req_PropertyGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasGuid);
+static int mapi_dissect_element_QueryNamedProperties_repl_IdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_repl_PropertyIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_repl_PropertyIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_repl_PropertyNames(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_QueryNamedProperties_repl_PropertyNames_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserLongTermIds_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserLongTermIds_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserLongTermIds_req_DatabaseGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserGuid_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserGuid_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserGuid_req_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetPerUserGuid_repl_DatabaseGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_FolderId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_WhatIfChanged(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_DataOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_req_MaxDataSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_repl_HasFinished(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReadPerUserInformation_repl_Data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_ReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_MessageIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_MessageIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_req_MessageIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetReadFlags_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_req_CopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_req_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_CopyProperties_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FILETIME_dwLowDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FILETIME_dwHighDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReceiveFolder_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReceiveFolder_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReceiveFolder_lpszMessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ReceiveFolder_modiftime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolderTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolderTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolderTable_repl_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolderTable_repl_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetReceiveFolderTable_repl_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetCollapseState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetCollapseState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetCollapseState_req_RowId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetCollapseState_req_RowInstanceNumber(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetCollapseState_repl_CollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetCollapseState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetCollapseState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetCollapseState_req_CollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetCollapseState_repl_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetTransportFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetTransportFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetTransportFolder_repl_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Pending_repl_SessionIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_req_AddressType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_req_WantWin32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_HelpFileName_HelpFileName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_repl_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_repl_OptionsInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_repl_HelpFileSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *HelpFileSize);
+static int mapi_dissect_element_OptionsData_repl_HelpFile(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_repl_HelpFile_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OptionsData_repl_HelpFileName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *HelpFileSize);
+const value_string mapi_SynchronizationType_vals[] = {
+ { Contents, "Contents" },
+ { Hierarchy, "Hierarchy" },
+{ 0, NULL }
+};
+static const true_false_string SendOptions_SendOptions_Unicode_tfs = {
+ "SendOptions_Unicode is SET",
+ "SendOptions_Unicode is NOT SET",
+};
+static const true_false_string SendOptions_SendOptions_ForUpload_tfs = {
+ "SendOptions_ForUpload is SET",
+ "SendOptions_ForUpload is NOT SET",
+};
+static const true_false_string SendOptions_SendOptions_RecoverMode_tfs = {
+ "SendOptions_RecoverMode is SET",
+ "SendOptions_RecoverMode is NOT SET",
+};
+static const true_false_string SendOptions_SendOptions_ForceUnicode_tfs = {
+ "SendOptions_ForceUnicode is SET",
+ "SendOptions_ForceUnicode is NOT SET",
+};
+static const true_false_string SendOptions_SendOptions_Partial_tfs = {
+ "SendOptions_Partial is SET",
+ "SendOptions_Partial is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_Unicode_tfs = {
+ "SynchronizationFlag_Unicode is SET",
+ "SynchronizationFlag_Unicode is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_NoDeletions_tfs = {
+ "SynchronizationFlag_NoDeletions is SET",
+ "SynchronizationFlag_NoDeletions is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_NoSoftDeletions_tfs = {
+ "SynchronizationFlag_NoSoftDeletions is SET",
+ "SynchronizationFlag_NoSoftDeletions is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_ReadState_tfs = {
+ "SynchronizationFlag_ReadState is SET",
+ "SynchronizationFlag_ReadState is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_FAI_tfs = {
+ "SynchronizationFlag_FAI is SET",
+ "SynchronizationFlag_FAI is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_Normal_tfs = {
+ "SynchronizationFlag_Normal is SET",
+ "SynchronizationFlag_Normal is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_OnlySpecifiedProperties_tfs = {
+ "SynchronizationFlag_OnlySpecifiedProperties is SET",
+ "SynchronizationFlag_OnlySpecifiedProperties is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_NoForeignIdentifiers_tfs = {
+ "SynchronizationFlag_NoForeignIdentifiers is SET",
+ "SynchronizationFlag_NoForeignIdentifiers is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_Reserved_tfs = {
+ "SynchronizationFlag_Reserved is SET",
+ "SynchronizationFlag_Reserved is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_BestBody_tfs = {
+ "SynchronizationFlag_BestBody is SET",
+ "SynchronizationFlag_BestBody is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_IgnoreSpecifiedOnFAI_tfs = {
+ "SynchronizationFlag_IgnoreSpecifiedOnFAI is SET",
+ "SynchronizationFlag_IgnoreSpecifiedOnFAI is NOT SET",
+};
+static const true_false_string SynchronizationFlag_SynchronizationFlag_Progress_tfs = {
+ "SynchronizationFlag_Progress is SET",
+ "SynchronizationFlag_Progress is NOT SET",
+};
+static const true_false_string SynchronizationExtraFlags_Eid_tfs = {
+ "Eid is SET",
+ "Eid is NOT SET",
+};
+static const true_false_string SynchronizationExtraFlags_MessageSize_tfs = {
+ "MessageSize is SET",
+ "MessageSize is NOT SET",
+};
+static const true_false_string SynchronizationExtraFlags_Cn_tfs = {
+ "Cn is SET",
+ "Cn is NOT SET",
+};
+static const true_false_string SynchronizationExtraFlags_OrderByDeliveryTime_tfs = {
+ "OrderByDeliveryTime is SET",
+ "OrderByDeliveryTime is NOT SET",
+};
+static int mapi_dissect_element_SyncConfigure_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_SynchronizationType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_SendOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_SynchronizationFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_RestrictionData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_SynchronizationExtraFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncConfigure_req_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string ImportFlag_ImportFlag_Associated_tfs = {
+ "ImportFlag_Associated is SET",
+ "ImportFlag_Associated is NOT SET",
+};
+static const true_false_string ImportFlag_ImportFlag_FailOnConflict_tfs = {
+ "ImportFlag_FailOnConflict is SET",
+ "ImportFlag_FailOnConflict is NOT SET",
+};
+static int mapi_dissect_element_SyncImportMessageChange_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageChange_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageChange_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageChange_req_ImportFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageChange_req_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageChange_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportHierarchyChange_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportHierarchyChange_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportHierarchyChange_req_HierarchyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportHierarchyChange_req_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportHierarchyChange_repl_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportDeletes_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportDeletes_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportDeletes_req_IsHierarchy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportDeletes_req_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_StateProperty_vals[] = {
+ { PidTagIdsetGiven, "PidTagIdsetGiven" },
+ { PidTagCnsetSeen, "PidTagCnsetSeen" },
+ { PidTagCnsetSeenFAI, "PidTagCnsetSeenFAI" },
+ { PidTagCnsetRead, "PidTagCnsetRead" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_SyncUploadStateStreamBegin_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamBegin_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamBegin_req_StateProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamBegin_req_TransferBufferSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamContinue_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamContinue_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamEnd_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncUploadStateStreamEnd_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageMove_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageMove_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportMessageMove_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetPropertiesNoReplicate_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetPropertiesNoReplicate_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetPropertiesNoReplicate_req_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeletePropertiesNoReplicate_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeletePropertiesNoReplicate_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeletePropertiesNoReplicate_req_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string StoreState_STORE_HAS_SEARCHES_tfs = {
+ "STORE_HAS_SEARCHES is SET",
+ "STORE_HAS_SEARCHES is NOT SET",
+};
+static int mapi_dissect_element_GetStoreState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStoreState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetStoreState_repl_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncOpenCollector_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncOpenCollector_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncOpenCollector_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncOpenCollector_req_IsContentsCollector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetLocalReplicaIds_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetLocalReplicaIds_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetLocalReplicaIds_req_IdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetLocalReplicaIds_repl_ReplGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetLocalReplicaIds_repl_GlobalCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_GetLocalReplicaIds_repl_GlobalCount_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportReadStateChanges_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportReadStateChanges_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncImportReadStateChanges_req_MessageStates(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ResetTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ResetTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncGetTransferState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncGetTransferState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_SyncGetTransferState_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenPublicFolderByName_req_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenPublicFolderByName_req_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenPublicFolderByName_repl_HasRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_OpenPublicFolderByName_repl_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_OpenPublicFolderByName_repl_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted);
+static int mapi_dissect_element_SetSyncNotificationGuid_req_NotificationGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FreeBookmark_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FreeBookmark_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_FreeBookmark_req_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteAndCommitStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteAndCommitStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteAndCommitStream_req_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_WriteAndCommitStream_repl_WrittenSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_NotifyNonRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_MessageIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_MessageIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_req_MessageIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessages_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_WantDeleteAssociated(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_HardDeleteMessagesAndSubfolders_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_LogonFlags_vals[] = {
+ { LogonPrivate, "LogonPrivate" },
+ { UnderCover, "UnderCover" },
+ { Ghosted, "Ghosted" },
+ { SpIProcess, "SpIProcess" },
+{ 0, NULL }
+};
+static const true_false_string OpenFlags_PUBLIC_tfs = {
+ "PUBLIC is SET",
+ "PUBLIC is NOT SET",
+};
+static const true_false_string OpenFlags_HOME_LOGON_tfs = {
+ "HOME_LOGON is SET",
+ "HOME_LOGON is NOT SET",
+};
+static const true_false_string OpenFlags_TAKE_OWNERSHIP_tfs = {
+ "TAKE_OWNERSHIP is SET",
+ "TAKE_OWNERSHIP is NOT SET",
+};
+static const true_false_string OpenFlags_ALTERNATE_SERVER_tfs = {
+ "ALTERNATE_SERVER is SET",
+ "ALTERNATE_SERVER is NOT SET",
+};
+static const true_false_string OpenFlags_IGNORE_HOME_MDB_tfs = {
+ "IGNORE_HOME_MDB is SET",
+ "IGNORE_HOME_MDB is NOT SET",
+};
+static const true_false_string OpenFlags_NO_MAIL_tfs = {
+ "NO_MAIL is SET",
+ "NO_MAIL is NOT SET",
+};
+static const true_false_string OpenFlags_USE_PER_MDB_REPLID_MAPPING_tfs = {
+ "USE_PER_MDB_REPLID_MAPPING is SET",
+ "USE_PER_MDB_REPLID_MAPPING is NOT SET",
+};
+const value_string mapi_DayOfWeek_vals[] = {
+ { DayOfWeek_Sunday, "DayOfWeek_Sunday" },
+ { DayOfWeek_Monday, "DayOfWeek_Monday" },
+ { DayOfWeek_Tuesday, "DayOfWeek_Tuesday" },
+ { DayOfWeek_Wednesday, "DayOfWeek_Wednesday" },
+ { DayOfWeek_Thursday, "DayOfWeek_Thursday" },
+ { DayOfWeek_Friday, "DayOfWeek_Friday" },
+ { DayOfWeek_Saturday, "DayOfWeek_Saturday" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_LogonTime_Seconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LogonTime_Minutes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LogonTime_Hour(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LogonTime_DayOfWeek(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LogonTime_Day(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LogonTime_Month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_LogonTime_Year(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string ResponseFlags_ResponseFlags_Reserved_tfs = {
+ "ResponseFlags_Reserved is SET",
+ "ResponseFlags_Reserved is NOT SET",
+};
+static const true_false_string ResponseFlags_ResponseFlags_OwnerRight_tfs = {
+ "ResponseFlags_OwnerRight is SET",
+ "ResponseFlags_OwnerRight is NOT SET",
+};
+static const true_false_string ResponseFlags_ResponseFlags_SendAsRight_tfs = {
+ "ResponseFlags_SendAsRight is SET",
+ "ResponseFlags_SendAsRight is NOT SET",
+};
+static const true_false_string ResponseFlags_ResponseFlags_OOF_tfs = {
+ "ResponseFlags_OOF is SET",
+ "ResponseFlags_OOF is NOT SET",
+};
+static int mapi_dissect_element_Logon_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_req_LogonFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_req_OpenFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_req_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_req_EssdnSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_req_EssDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_FolderIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_FolderIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_ResponseFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_MailboxGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_ReplId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_ReplGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_LogonTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_GwartTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_PerUserGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_ServerNameSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_Logon_repl_ServerName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopBufferTooSmall_repl_SizeNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OpenMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetHierarchyTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetContentsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CreateMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetPropsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetPropList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_DeleteProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SaveChangesMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetMessageReadFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ReloadCachedInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SortTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_Restrict(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_RemoveAllRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ModifyRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ReadRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_QueryRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_QueryPosition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SeekRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SeekRowBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SeekRowApprox(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CreateBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CreateFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_DeleteFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_DeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetAttachmentTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OpenAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CreateAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_DeleteAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SaveChangesAttachment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_Advise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OpenStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ReadStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_WriteStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SeekStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SubmitMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_MoveCopyMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_AbortSubmit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_MoveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CopyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_QueryColumnsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_Abort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CopyTo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CopyToStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CloneStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetPermissionsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetRulesTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ModifyPermissions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ModifyRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetOwningServers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_LongTermIdFromId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_IdFromLongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_PublicFolderIsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OpenEmbeddedMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetSpooler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SpoolerLockMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_AddressTypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_TransportSend(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_FastTransferSourceGetBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_FindRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_Progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_TransportNewMail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetValidAttachments(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetNamesFromIDs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetIDsFromNames(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_UpdateDeferredActionMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_EmptyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ExpandRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CollapseRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_LockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_UnlockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_QueryNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetPerUserLongTermIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetPerUserGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ReadPerUserInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_CopyProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetReceiveFolderTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetTransportFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OptionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncConfigure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncImportMessageChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncImportHierarchyChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncImportDeletes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncUploadStateStreamBegin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncUploadStateStreamContinue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncUploadStateStreamEnd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncImportMessageMove(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetPropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_DeletePropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetStoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncOpenCollector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_GetLocalReplicaIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncImportReadStateChanges(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_ResetTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SyncGetTransferState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_OpenPublicFolderByName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_SetSyncNotificationGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_FreeBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_WriteAndCommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_HardDeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_HardDeleteMessagesAndSubfolders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopRequest_Logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OpenMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetHierarchyTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetContentsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CreateMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetPropsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetPropList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_DeleteProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SaveChangesMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_RemoveAllRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ModifyRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ReadRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetMessageReadFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ReloadCachedInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SortTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Restrict(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_QueryRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_QueryPosition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SeekRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SeekRowBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SeekRowApprox(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CreateBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CreateFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_DeleteFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_DeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetAttachmentTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OpenAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CreateAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_DeleteAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SaveChangesAttachment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Advise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Notify(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OpenStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ReadStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_WriteStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SeekStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SubmitMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_MoveCopyMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_AbortSubmit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_MoveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CopyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_QueryColumnsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Abort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CopyTo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CopyToStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CloneStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetPermissionsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetRulesTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ModifyPermissions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ModifyRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetOwningServers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_LongTermIdFromId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_IdFromLongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_PublicFolderIsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OpenEmbeddedMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetSpooler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SpoolerLockMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_AddressTypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_TransportSend(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_FastTransferSourceGetBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_FindRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_TransportNewMail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetValidAttachments(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetNamesFromIDs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetIDsFromNames(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_UpdateDeferredActionMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_EmptyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ExpandRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CollapseRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_LockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_UnlockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_QueryNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetPerUserLongTermIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetPerUserGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ReadPerUserInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_CopyProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetReceiveFolderTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Pending(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetTransportFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OptionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncConfigure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncImportMessageChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncImportHierarchyChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncImportDeletes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncUploadStateStreamBegin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncUploadStateStreamContinue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncUploadStateStreamEnd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncImportMessageMove(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetPropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_DeletePropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetStoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncOpenCollector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_GetLocalReplicaIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncImportReadStateChanges(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_ResetTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SyncGetTransferState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_OpenPublicFolderByName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_SetSyncNotificationGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_FreeBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_WriteAndCommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_HardDeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_HardDeleteMessagesAndSubfolders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_Logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopReply_RopBufferTooSmall(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcMapiRequest_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *opnum);
+static int mapi_dissect_element_EcDoRpcMapiResponse_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *opnum);
+static int mapi_dissect_element_request_rpcRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_response_rpcResponse(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_AUX_HEADER_TYPE_1_vals[] = {
+ { AUX_TYPE_PERF_REQUESTID, "AUX_TYPE_PERF_REQUESTID" },
+ { AUX_TYPE_PERF_CLIENTINFO, "AUX_TYPE_PERF_CLIENTINFO" },
+ { AUX_TYPE_PERF_SERVERINFO, "AUX_TYPE_PERF_SERVERINFO" },
+ { AUX_TYPE_PERF_SESSIONINFO, "AUX_TYPE_PERF_SESSIONINFO" },
+ { AUX_TYPE_PERF_DEFMDB_SUCCESS, "AUX_TYPE_PERF_DEFMDB_SUCCESS" },
+ { AUX_TYPE_PERF_DEFGC_SUCCESS, "AUX_TYPE_PERF_DEFGC_SUCCESS" },
+ { AUX_TYPE_PERF_MDB_SUCCESS, "AUX_TYPE_PERF_MDB_SUCCESS" },
+ { AUX_TYPE_PERF_GC_SUCCESS, "AUX_TYPE_PERF_GC_SUCCESS" },
+ { AUX_TYPE_PERF_FAILURE, "AUX_TYPE_PERF_FAILURE" },
+ { AUX_TYPE_CLIENT_CONTROL, "AUX_TYPE_CLIENT_CONTROL" },
+ { AUX_TYPE_PERF_PROCESSINFO, "AUX_TYPE_PERF_PROCESSINFO" },
+ { AUX_TYPE_PERF_BG_DEFMDB_SUCCESS, "AUX_TYPE_PERF_BG_DEFMDB_SUCCESS" },
+ { AUX_TYPE_PERF_BG_DEFGC_SUCCESS, "AUX_TYPE_PERF_BG_DEFGC_SUCCESS" },
+ { AUX_TYPE_PERF_BG_MDB_SUCCESS, "AUX_TYPE_PERF_BG_MDB_SUCCESS" },
+ { AUX_TYPE_PERF_BG_GC_SUCCESS, "AUX_TYPE_PERF_BG_GC_SUCCESS" },
+ { AUX_TYPE_PERF_BG_FAILURE, "AUX_TYPE_PERF_BG_FAILURE" },
+ { AUX_TYPE_PERF_FG_DEFMDB_SUCCESS, "AUX_TYPE_PERF_FG_DEFMDB_SUCCESS" },
+ { AUX_TYPE_PERF_FG_DEFGC_SUCCESS, "AUX_TYPE_PERF_FG_DEFGC_SUCCESS" },
+ { AUX_TYPE_PERF_FG_MDB_SUCCESS, "AUX_TYPE_PERF_FG_MDB_SUCCESS" },
+ { AUX_TYPE_PERF_FG_GC_SUCCESS, "AUX_TYPE_PERF_FG_GC_SUCCESS" },
+ { AUX_TYPE_PERF_FG_FAILURE, "AUX_TYPE_PERF_FG_FAILURE" },
+ { AUX_TYPE_OSVERSIONINFO, "AUX_TYPE_OSVERSIONINFO" },
+ { AUX_TYPE_EXORGINFO, "AUX_TYPE_EXORGINFO" },
+ { AUX_TYPE_PERF_ACCOUNTINFO, "AUX_TYPE_PERF_ACCOUNTINFO" },
+ { AUX_TYPE_SERVER_CAPABILITIES, "AUX_TYPE_SERVER_CAPABILITIES" },
+ { AUX_TYPE_ENDPOINT_CAPABILITIES, "AUX_TYPE_ENDPOINT_CAPABILITIES" },
+ { AUX_CLIENT_CONNECTION_INFO, "AUX_CLIENT_CONNECTION_INFO" },
+ { AUX_SERVER_SESSION_INFO, "AUX_SERVER_SESSION_INFO" },
+ { AUX_PROTOCOL_DEVICE_IDENTIFICATION, "AUX_PROTOCOL_DEVICE_IDENTIFICATION" },
+{ 0, NULL }
+};
+const value_string mapi_AUX_HEADER_TYPE_2_vals[] = {
+ { AUX_TYPE_PERF_SESSIONINFO_2, "AUX_TYPE_PERF_SESSIONINFO_2" },
+ { AUX_TYPE_PERF_MDB_SUCCESS_2, "AUX_TYPE_PERF_MDB_SUCCESS_2" },
+ { AUX_TYPE_PERF_GC_SUCCESS_2, "AUX_TYPE_PERF_GC_SUCCESS_2" },
+ { AUX_TYPE_PERF_FAILURE_2, "AUX_TYPE_PERF_FAILURE_2" },
+ { AUX_TYPE_PERF_PROCESSINFO_2, "AUX_TYPE_PERF_PROCESSINFO_2" },
+ { AUX_TYPE_PERF_BG_MDB_SUCCESS_2, "AUX_TYPE_PERF_BG_MDB_SUCCESS_2" },
+ { AUX_TYPE_PERF_BG_GC_SUCCESS_2, "AUX_TYPE_PERF_BG_GC_SUCCESS_2" },
+ { AUX_TYPE_PERF_BG_FAILURE_2, "AUX_TYPE_PERF_BG_FAILURE_2" },
+ { AUX_TYPE_PERF_FG_MDB_SUCCESS_2, "AUX_TYPE_PERF_FG_MDB_SUCCESS_2" },
+ { AUX_TYPE_PERF_FG_GC_SUCCESS_2, "AUX_TYPE_PERF_FG_GC_SUCCESS_2" },
+ { AUX_TYPE_PERF_FG_FAILURE_2, "AUX_TYPE_PERF_FG_FAILURE_2" },
+{ 0, NULL }
+};
+const value_string mapi_AUX_VERSION_vals[] = {
+ { AUX_VERSION_1, "AUX_VERSION_1" },
+ { AUX_VERSION_2, "AUX_VERSION_2" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_AUX_PERF_REQUESTID_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_REQUESTID_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_ClientMode_vals[] = {
+ { CLIENTMODE_UNKNOWN, "CLIENTMODE_UNKNOWN" },
+ { CLIENTMODE_CLASSIC, "CLIENTMODE_CLASSIC" },
+ { CLIENTMODE_CACHED, "CLIENTMODE_CACHED" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_AUX_PERF_CLIENTINFO_AdapterSpeed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_CLIENTINFO_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_CLIENTINFO_ClientMode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_CLIENTINFO_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string mapi_SERVERINFO_ServerType_vals[] = {
+ { SERVERTYPE_UNKNOWN, "SERVERTYPE_UNKNOWN" },
+ { SERVERTYPE_PRIVATE, "SERVERTYPE_PRIVATE" },
+ { SERVERTYPE_PUBLIC, "SERVERTYPE_PUBLIC" },
+ { SERVERTYPE_DIRECTORY, "SERVERTYPE_DIRECTORY" },
+ { SERVERTYPE_REFERRAL, "SERVERTYPE_REFERRAL" },
+{ 0, NULL }
+};
+static int mapi_dissect_element_AUX_PERF_SERVERINFO_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SERVERINFO_ServerType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SERVERINFO_ServerDNOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SERVERINFO_ServerNameOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SERVERINFO_ServerDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SERVERINFO_ServerName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_SessionGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_SessionGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_ConnectionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_Reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_Reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_TimeToFailRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_ResultCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_Reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_TimeToFailRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_ResultCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOSERVER_tfs = {
+ "ENABLE_PERF_SENDTOSERVER is SET",
+ "ENABLE_PERF_SENDTOSERVER is NOT SET",
+};
+static const true_false_string CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOMAILBOX_tfs = {
+ "ENABLE_PERF_SENDTOMAILBOX is SET",
+ "ENABLE_PERF_SENDTOMAILBOX is NOT SET",
+};
+static const true_false_string CLIENT_CONTROL_EnableFlags_ENABLE_COMPRESSION_tfs = {
+ "ENABLE_COMPRESSION is SET",
+ "ENABLE_COMPRESSION is NOT SET",
+};
+static const true_false_string CLIENT_CONTROL_EnableFlags_ENABLE_HTTP_TUNNELING_tfs = {
+ "ENABLE_HTTP_TUNNELING is SET",
+ "ENABLE_HTTP_TUNNELING is NOT SET",
+};
+static const true_false_string CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDGCDATA_tfs = {
+ "ENABLE_PERF_SENDGCDATA is SET",
+ "ENABLE_PERF_SENDGCDATA is NOT SET",
+};
+static int mapi_dissect_element_AUX_CLIENT_CONTROL_EnableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_CLIENT_CONTROL_ExpiryTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_PROCESSINFO_Reserved1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessNameOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_PROCESSINFO_Reserved2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_OSVersionInfoSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_MajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_MinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_BuildNumber(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_Reserved_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_ServicePackMajor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_ServicePackMinor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_OSVERSIONINFO_Reserved_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string EXORGINFO_OrgFlags_PUBLIC_FOLDERS_ENABLED_tfs = {
+ "PUBLIC_FOLDERS_ENABLED is SET",
+ "PUBLIC_FOLDERS_ENABLED is NOT SET",
+};
+static int mapi_dissect_element_AUX_EXORGINFO_OrgFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfRequestId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfServerInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfSessionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryClientControl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfProcessInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerFGGCSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryOSVersionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_AuxiliaryEXOrgInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion1_Payload(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfRequestId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfServerInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfSessioninfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfProcessInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerFGGCSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryOSVersionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_AuxiliaryEXOrgInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxDataVersion2_Payload(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AUX_HEADER_Version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *Version);
+static const true_false_string RPC_HEADER_EXT_Flags_RHEF_Compressed_tfs = {
+ "RHEF_Compressed is SET",
+ "RHEF_Compressed is NOT SET",
+};
+static const true_false_string RPC_HEADER_EXT_Flags_RHEF_XorMagic_tfs = {
+ "RHEF_XorMagic is SET",
+ "RHEF_XorMagic is NOT SET",
+};
+static const true_false_string RPC_HEADER_EXT_Flags_RHEF_Last_tfs = {
+ "RHEF_Last is SET",
+ "RHEF_Last is NOT SET",
+};
+static int mapi_dissect_element_RPC_HEADER_EXT_Version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RPC_HEADER_EXT_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RPC_HEADER_EXT_Size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RPC_HEADER_EXT_SizeActual(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxInfo_auxHeader(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxInfoOut_RpcHeaderExtension(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxInfoOut_auxHeader(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_AuxInfoOut_auxHeader_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string RpcExt2Flags_NoCompression_tfs = {
+ "NoCompression is SET",
+ "NoCompression is NOT SET",
+};
+static const true_false_string RpcExt2Flags_NoXorMagic_tfs = {
+ "NoXorMagic is SET",
+ "NoXorMagic is NOT SET",
+};
+static const true_false_string RpcExt2Flags_Chain_tfs = {
+ "Chain is SET",
+ "Chain is NOT SET",
+};
+static int mapi_dissect_element_RopInput_RopId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId);
+static int mapi_dissect_element_RopInput_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId);
+static int mapi_dissect_element_ROPInputBuffer_ropSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPInputBuffer_rop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPInputBuffer_rop_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPInputBuffer_objectHandles(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPInputBuffer_objectHandles_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_RopOutput_RopId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId);
+static int mapi_dissect_element_RopOutput_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId);
+static int mapi_dissect_element_ROPOutputBuffer_ropSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPOutputBuffer_rop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPOutputBuffer_rop_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPOutputBuffer_objectHandles(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_ROPOutputBuffer_objectHandles_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_hBinding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_hBinding_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szUserDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_ulConMod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_cbLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_ulCpid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_ulLcidString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_ulLcidSort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_ulIcxrLink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_usFCanConvertCodePages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pcmsPollsMax(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pcmsPollsMax_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pcRetry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pcRetry_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pcmsRetryDelay(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pcmsRetryDelay_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_picxr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_picxr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szDNPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szDNPrefix_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szDNPrefix__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szDisplayName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_szDisplayName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_rgwClientVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_rgwServerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_rgwBestVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pullTimeStamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnect_pullTimeStamp_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoDisconnect_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoDisconnect_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpc_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_request_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_request__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpc_offset_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_response_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcDoRpc_response__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_length_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcDoRpc_max_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_rgb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_rgb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_rgb__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_pusLength(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_pusLength_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcGetMoreRpc_usSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcRRegisterPushNotification_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcRRegisterPushNotification_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_ulEventMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_notifkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_notifkey_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_notif_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_sockaddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_sockaddr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_sockaddr_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_retval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRRegisterPushNotification_retval_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_iRpc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_rgbContext(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_rgbContext_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_rgbContext__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_cbContext(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_grbitMapiAdviseBits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_cbCallbackAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_hNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRRegisterPushNotification_hNotification_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcRUnregisterPushNotification_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
static int mapi_dissect_element_EcRUnregisterPushNotification_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRUnregisterPushNotification_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
-static int mapi_dissect_element_EcRUnregisterPushNotification_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRUnregisterPushNotification_iRpc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRUnregisterPushNotification_hNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRGetDCName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRGetDCName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRGetDCName_szDomainName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRGetDCName_szDomainName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRGetDCName_rgchDomainController(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRGetDCName_rgchDomainController_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRNetGetDCName_szDomainName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRNetGetDCName_szDomainName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRNetGetDCName_rgchDomainController(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcRNetGetDCName_rgchDomainController_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pulFlags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_rgbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_rgbIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_cbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_rgbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_rgbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pcbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pcbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_rgbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_rgbAuxIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_cbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pulTransTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt_pulTransTime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szUserDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_ulConMod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_cbLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_ulCpid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_ulLcidString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_ulLcidSort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_ulIcxrLink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_usFCanConvertCodePages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcmsPollsMax(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcmsPollsMax_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcRetry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcRetry_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcmsRetryDelay(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcmsRetryDelay_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_picxr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_picxr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szDNPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szDNPrefix_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szDNPrefix__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szDisplayName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_szDisplayName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgwClientVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgwServerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgwBestVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pulTimeStamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pulTimeStamp_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgbAuxIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_cbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_rgbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoConnectEx_pcbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pulFlags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_cbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pcbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pcbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbAuxIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_cbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_rgbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pcbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pcbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pulTransTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoRpcExt2_pulTransTime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnect_cxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnect_cxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnect_pacxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnect_pacxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncWait_cxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncWait_cxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncWait_ulFlagsIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncWait_pulFlagsOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncWait_pulFlagsOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnectEx_cxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnectEx_cxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnectEx_pacxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int mapi_dissect_element_EcDoAsyncConnectEx_pacxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+tvbuff_t *
+mapi_deobfuscate(tvbuff_t *tvb, int offset, packet_info *pinfo, guint32 size)
+{
+ tvbuff_t *deob_tvb = NULL;
+ guint8 *decrypted_data;
+ const guint8 *ptr;
+ gint reported_len;
+ reported_len = tvb_reported_length_remaining(tvb, offset);
+ if ((guint32) reported_len > size) {
+ reported_len = size;
+ }
+ if (size > (guint32) reported_len) {
+ size = reported_len;
+ }
+ ptr = tvb_get_ptr(tvb, offset, size);
+ decrypted_data = (guint8 *)wmem_alloc0(pinfo->pool, size);
+ for (guint32 i = 0; i < size; i++) {
+ decrypted_data[i] = ptr[i] ^ 0xA5;
+ }
+ deob_tvb = tvb_new_child_real_data(tvb, decrypted_data, size, reported_len);
+ return deob_tvb;
+}
+/* [MS-OXCRPC] 3.1.4.1.3.1 Version Number Comparison
+*/
static int
-cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, guint32 param _U_, int hfindex)
+normalize_version(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree, int hf_index, const gchar * str)
{
- offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hfindex, NULL);
- return offset;
+ guint16 version_0, build_major, product_major, product_minor;
+ gchar *value;
+ version_0= tvb_get_letohs(tvb, offset);
+ build_major= tvb_get_letohs(tvb, offset + 2);
+ if(build_major & 0x8000){
+ product_major = (version_0 & 0xFF00) >> 8;
+ product_minor = (version_0 & 0xFF);
+ build_major = (build_major & 0x7FFF);
+ } else {
+ product_major = version_0;
+ product_minor = 0;
+ }
+ value = wmem_strdup_printf( pinfo->pool
+ , "%d.%d.%d.%d"
+ , product_major
+ , product_minor
+ , build_major
+ , tvb_get_letohs(tvb, offset + 4));
+ proto_tree_add_string_format( tree
+ , hf_index
+ , tvb
+ , offset
+ , 6
+ , value
+ , "%s: %s"
+ , str
+ , value
+ );
+ return offset + 6;
+}
+static int
+mapi_dissect_element_EcDoConnect_rgwClientVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return normalize_version(tvb, pinfo, offset, tree, hf_mapi_mapi_EcDoConnect_rgwClientVersion, "rgwClientVersion");
+}
+static int
+mapi_dissect_element_EcDoConnect_rgwServerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return normalize_version(tvb, pinfo, offset, tree, hf_mapi_mapi_EcDoConnect_rgwServerVersion, "rgwServerVersion");
+}
+static int
+mapi_dissect_element_EcDoConnect_rgwBestVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return normalize_version(tvb, pinfo, offset, tree, hf_mapi_mapi_EcDoConnect_rgwBestVersion, "rgwBestVersion");
+}
+static int
+mapi_dissect_element_EcDoConnectEx_rgwClientVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return normalize_version(tvb, pinfo, offset, tree, hf_mapi_mapi_EcDoConnectEx_rgwClientVersion, "rgwClientVersion");
+}
+static int
+mapi_dissect_element_EcDoConnectEx_rgwServerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return normalize_version(tvb, pinfo, offset, tree, hf_mapi_mapi_EcDoConnectEx_rgwServerVersion, "rgwServerVersion");
+}
+static int
+mapi_dissect_element_EcDoConnectEx_rgwBestVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return normalize_version(tvb, pinfo, offset, tree, hf_mapi_mapi_EcDoConnectEx_rgwBestVersion, "rgwBestVersion");
+}
+static int
+mapi_dissect_element_EcDoRpc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return mapi_dissect_struct_request(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_mapi_request, 0);
+}
+static int
+mapi_dissect_element_EcDoRpc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return mapi_dissect_struct_response(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_mapi_response, 0);
}
/**
* Analyze mapi_request MAPI Handles
*/
-static int mapi_dissect_element_request_handles_cnf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+static int
+mapi_dissect_element_handles_cnf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, int hf_index _U_, guint8 *drep _U_)
{
gint reported_len;
- gint i;
gint handles_cnt = 0;
guint32 value;
proto_tree *tr = NULL;
reported_len = tvb_reported_length_remaining(tvb, offset);
handles_cnt = reported_len / 4;
tr = proto_tree_add_subtree_format(tree, tvb, offset, reported_len, ett_mapi_mapi_request, NULL, "MAPI Handles: %d", handles_cnt);
- for (i = 0; i < handles_cnt; i++) {
+ for (gint i = 0; i < handles_cnt; i++) {
value = tvb_get_letohl(tvb, offset);
- proto_tree_add_uint_format(tr, hf_mapi_MAPI_handle, tvb, offset, 4, value, "[%.2d] MAPI handle: 0x%.8x", i, value);
+ proto_tree_add_uint_format(tr, hf_index, tvb, offset, 4, value, "[%.2d] MAPI handle: 0x%.8x", i, value);
offset += 4;
}
return offset;
}
-static int
-mapi_dissect_struct_EcDoRpc_MAPI_REQ(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- guint8 opnum;
- old_offset = offset;
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_mapi_EcDoRpc_MAPI_REQ);
- }
- opnum = tvb_get_guint8(tvb, offset);
- proto_tree_add_item(tree, hf_mapi_MAPI_OPNUM, tvb, offset, 1, ENC_NA);
- offset += 1;
- col_append_fstr(pinfo->cinfo, COL_INFO, " + %s", val_to_str(opnum, mapi_MAPI_OPNUM_vals, "Unknown MAPI operation"));
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_mapi_flags, tvb, offset, 1, ENC_NA);
- offset += 1;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_handle_index, tvb, offset, 1, ENC_NA);
- offset += 1;
- switch(opnum) {
- case op_MAPI_Release:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_Release(tvb, offset, pinfo, tree, di, drep);
- break;
- case op_MAPI_OpenFolder:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_OpenFolder(tvb, offset, pinfo, tree, di, drep);
- break;
- case op_MAPI_GetProps:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_GetProps(tvb, offset, pinfo, tree, di, drep);
- break;
- case op_MAPI_OpenMsgStore:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_OpenMsgStore(tvb, offset, pinfo, tree, di, drep);
- break;
- default:
- offset += param - 3;
+int
+mapi_dissect_struct_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int start_offset = offset;
+ tvbuff_t *decrypted_tvb;
+ guint32 size;
+ guint16 pdu_len;
+ ALIGN_TO_5_BYTES;
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, start_offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_response);
+ }
+ offset = dissect_ndr_uint32(tvb, start_offset, pinfo, tree, di, drep, hf_mapi_mapi_response_mapi_len, &size);
+ decrypted_tvb = mapi_deobfuscate(tvb, offset, pinfo, size);
+ if (!decrypted_tvb || tvb_reported_length(decrypted_tvb) != size) {
+ return offset;
+ }
+ offset += size;
+ proto_item_set_len(item, offset - start_offset);
+ {
+ add_new_data_source(pinfo, decrypted_tvb, "Decrypted MAPI Response");
+ tree = proto_tree_add_subtree(tree, decrypted_tvb, 0, size, ett_mapi_mapi_response, NULL, "Decrypted MAPI Response PDU");
+ pdu_len = tvb_get_letohs(decrypted_tvb, 0);
+ proto_tree_add_uint(tree, hf_mapi_mapi_response_length, decrypted_tvb, 0, sizeof(guint16), pdu_len);
+ proto_tree_add_item(tree, hf_mapi_decrypted_data, decrypted_tvb, sizeof(guint16), pdu_len - sizeof(guint16), ENC_NA);
+ /* analyze contents */
+ mapi_dissect_element_response_rpcResponse(decrypted_tvb, sizeof(guint16), pinfo, tree, di, drep);
+ mapi_dissect_element_handles_cnf(decrypted_tvb, pdu_len, pinfo, tree, di, hf_mapi_mapi_response_handles, drep);
+ }
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
}
- proto_item_set_len(item, offset-old_offset);
return offset;
}
static int
-mapi_dissect_element_EcDoRpc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AuxInfo_auxHeader(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_element_EcDoRpc_request_(tvb, offset, pinfo, tree, di, drep);
+ guint total_length = tvb_reported_length(tvb);
+ if(di->conformant_run){
+ return offset;
+ }
+ while(offset >= 0 && (guint)offset < total_length){
+ offset = mapi_dissect_struct_AUX_HEADER(tvb,offset,pinfo,tree,di,drep,di->ptype == PDU_REQ ? hf_mapi_AuxInfo_auxHeader : hf_mapi_AuxInfoOut_auxHeader ,0);
+ }
return offset;
}
+int
+dissect_EcDoConnectEx_AuxInfoOut(tvbuff_t *tvb _U_, int offset _U_, int length _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ if (length == 0){
+ return offset;
+ }
+ return mapi_dissect_struct_AuxInfo(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_mapi_EcDoConnectEx_rgbAuxOut, 0);
+}
static int
-mapi_dissect_element_EcDoRpc_request_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcDoConnectEx_rgbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- guint32 size;
- int start_offset = offset;
- guint8 *decrypted_data;
- tvbuff_t *decrypted_tvb;
- const guint8 *ptr;
- gint reported_len;
- guint16 pdu_len;
- guint32 i;
- proto_tree *tr = NULL;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpc_mapi_request, &size);
- proto_tree_add_uint(tree, hf_mapi_EcDoRpc_subcontext_size, tvb, start_offset, offset - start_offset + size, size);
- reported_len = tvb_reported_length_remaining(tvb, offset);
- if ((guint32) reported_len > size) {
- reported_len = size;
+ return dissect_ndr_ucvarray_block(tvb, offset, pinfo, tree, di, drep, &dissect_EcDoConnectEx_AuxInfoOut);
+}
+int
+dissect_EcDoRpcExt2_AuxInfoOut(tvbuff_t *tvb _U_, int offset _U_, int length _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ if (length == 0){
+ return offset;
}
- if (size > (guint32) reported_len) {
- size = reported_len;
+ return mapi_dissect_struct_AuxInfo(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_rgbAuxOut, 0);
+}
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return dissect_ndr_ucvarray_block(tvb, offset, pinfo, tree, di, drep, &dissect_EcDoRpcExt2_AuxInfoOut);
+}
+int
+mapi_dissect_struct_AUX_PERF_CLIENTINFO(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset, cur_end_offset;
+ guint16 MachineNameOffset;
+ guint16 UserNameOffset;
+ guint16 ClientIPSize;
+ guint16 ClientIPOffset;
+ guint16 ClientIPMaskSize;
+ guint16 ClientIPMaskOffset;
+ guint16 AdapterNameOffset;
+ guint16 MacAddressSize;
+ guint16 MacAddressOffset;
+ di->no_align = TRUE;
+ old_offset = offset;
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_CLIENTINFO);
}
- ptr = tvb_get_ptr(tvb, offset, size);
- decrypted_data = (guint8 *)wmem_alloc(pinfo->pool, size);
- for (i = 0; i < size; i++) {
- decrypted_data[i] = ptr[i] ^ 0xA5;
+ offset = mapi_dissect_element_AUX_PERF_CLIENTINFO_AdapterSpeed(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_AUX_PERF_CLIENTINFO_ClientID(tvb, offset, pinfo, tree, di, drep);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_MachineNameOffset, 0, &MachineNameOffset);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_UserNameOffset, 0, &UserNameOffset);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPSize, 0, &ClientIPSize);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPOffset, 0, &ClientIPOffset);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMaskSize, 0, &ClientIPMaskSize);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMaskOffset, 0, &ClientIPMaskOffset);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_AdapterNameOffset, 0, &AdapterNameOffset);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_MacAddressSize, 0, &MacAddressSize);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_MacAddressOffset, 0, &MacAddressOffset);
+ offset = mapi_dissect_element_AUX_PERF_CLIENTINFO_ClientMode(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_AUX_PERF_CLIENTINFO_Reserved(tvb, offset, pinfo, tree, di, drep);
+ if (MachineNameOffset > 0){
+ cur_end_offset = dissect_null_term_wstring(tvb, MachineNameOffset, pinfo, tree, drep, hf_mapi_AUX_PERF_CLIENTINFO_MachineName , 0);
+ if (cur_end_offset > offset)
+ offset = cur_end_offset;
}
- decrypted_tvb = tvb_new_child_real_data(tvb, decrypted_data, size, reported_len);
- add_new_data_source(pinfo, decrypted_tvb, "Decrypted MAPI");
- tr = proto_tree_add_subtree(tree, decrypted_tvb, 0, size, ett_mapi_mapi_request, NULL, "Decrypted MAPI PDU");
- pdu_len = tvb_get_letohs(decrypted_tvb, 0);
- proto_tree_add_uint(tr, hf_mapi_pdu_len, decrypted_tvb, 0, 2, pdu_len);
- proto_tree_add_item(tr, hf_mapi_decrypted_data, decrypted_tvb, 2, pdu_len - 2, ENC_NA);
- /* analyze contents */
- offset = mapi_dissect_element_EcDoRpc_request__(decrypted_tvb, 0, pinfo, tr, di, drep);
- /* analyze mapi handles */
- offset = mapi_dissect_element_request_handles_cnf(decrypted_tvb, offset, pinfo, tr, di, drep);
- /* append ptr size (4) */
- return start_offset + offset + 4;
-}
-/*
- * Analyze mapi_request real contents
- */
-static int mapi_dissect_element_EcDoRpc_request__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
-{
- guint16 length;
- length = tvb_get_letohs(tvb, offset);
- offset += 2;
- while (offset < length) {
- offset = mapi_dissect_struct_EcDoRpc_MAPI_REQ(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_request_mapi_req, length - offset);
+ if (UserNameOffset > 0){
+ cur_end_offset = dissect_null_term_wstring(tvb, UserNameOffset, pinfo, tree, drep, hf_mapi_AUX_PERF_CLIENTINFO_UserName , 0);
+ if (cur_end_offset > offset)
+ offset = cur_end_offset;
+ }
+ if (ClientIPOffset > 0 && ClientIPSize > 0){
+ if(ClientIPSize == 4){
+ proto_tree_add_item(tree, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPV4, tvb, ClientIPOffset, 4, ENC_NA);
+ } else if(ClientIPSize == 16){
+ proto_tree_add_item(tree, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPV6, tvb, ClientIPOffset, 16, ENC_NA);
+ }
+ cur_end_offset = ClientIPOffset + ClientIPSize;
+ if (cur_end_offset > offset)
+ offset = cur_end_offset;
}
+ if (ClientIPMaskOffset > 0 && ClientIPMaskSize > 0){
+ for (int i = 0; i < ClientIPMaskSize; i++)
+ cur_end_offset = PIDL_dissect_uint8(tvb, ClientIPMaskOffset+i, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMask, 0);
+ if (cur_end_offset > offset)
+ offset = cur_end_offset;
+ }
+ if (AdapterNameOffset > 0){
+ cur_end_offset = dissect_null_term_wstring(tvb, AdapterNameOffset, pinfo, tree, drep, hf_mapi_AUX_PERF_CLIENTINFO_AdapterName , 0);
+ if (cur_end_offset > offset)
+ offset = cur_end_offset;
+ }
+ if (MacAddressOffset > 0 && MacAddressSize > 0){
+ if(MacAddressSize == 6){
+ proto_tree_add_item(tree, hf_mapi_AUX_PERF_CLIENTINFO_MacAddressEther, tvb, MacAddressOffset, 6, ENC_NA);
+ }
+ cur_end_offset = MacAddressOffset + MacAddressSize;
+ if (cur_end_offset > offset)
+ offset = cur_end_offset;
+ }
+ proto_item_set_len(item, offset-old_offset);
+ di->no_align = oldalign;
return offset;
}
-/*
static int
-mapi_dissect_struct_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_AuxDataVersion1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);
+static int
+mapi_dissect_AuxDataVersion2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);
+static int
+mapi_dissect_AUX_DATA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 Version, int hf_index _U_, guint8 hdrType)
+{
+ switch(Version) {
+ case AUX_VERSION_1:
+ return mapi_dissect_AuxDataVersion1(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_AUX_DATA_Version1, hdrType);
+ case AUX_VERSION_2:
+ return mapi_dissect_AuxDataVersion2(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_AUX_DATA_Version2, hdrType);
+ default:
+ return offset;
+ }
+}
+int
+mapi_dissect_AUX_HEADER_TYPE_ENUM(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 Version, int hf_index _U_, guint8 *hdrType)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
+ switch(Version) {
+ case AUX_VERSION_1:
+ return PIDL_dissect_uint8_val(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_AUX_HEADER_TYPE_ENUM_Type, 0, hdrType);
+ case AUX_VERSION_2:
+ return PIDL_dissect_uint8_val(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_AUX_HEADER_TYPE_ENUM_Type_2, 0, hdrType);
+ default:
+ return offset;
+ }
+}
+int
+mapi_dissect_struct_AUX_HEADER(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint16 auxSize = 0;
+ guint8 Version = 0;
+ guint8 hdrType = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ di->no_align = TRUE;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_mapi_mapi_request);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_HEADER);
}
- offset = mapi_dissect_struct_EcDoRpc_MAPI_REQ(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_request_mapi_req, 0);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_HEADER_Size, 0, &auxSize);
+ offset = mapi_dissect_element_AUX_HEADER_Version(tvb, offset, pinfo, tree, di, drep, &Version);
+ offset = mapi_dissect_AUX_HEADER_TYPE_ENUM(tvb, offset, pinfo, tree, di, drep, Version, hf_mapi_AUX_HEADER_hdrType, &hdrType);
+ offset = mapi_dissect_AUX_DATA(tvb, offset, pinfo, tree, di, drep, Version, hf_mapi_AUX_HEADER_AuxData, hdrType);
+ proto_item_set_len(item, auxSize);
+ di->no_align = oldalign;
return offset;
}
-*/
-/*************************/
-/* EcDoRpc Function 0x2 */
-static int
-mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+int
+mapi_dissect_struct_EcDoRpcMapiRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int origin_offset;
- origin_offset = offset;
+ guint8 opnum = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+ di->no_align = TRUE;
+ old_offset = offset;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_OpenFolder, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_OpenFolder_req);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_EcDoRpcMapiRequest);
}
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_handle_index, tvb, offset, 1, ENC_NA);
- offset += 1;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_folder_id, tvb, offset, 8, ENC_LITTLE_ENDIAN);
- offset += 8;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_unknown2, tvb, offset, 1, ENC_NA);
- offset += 1;
- proto_item_set_len(item, offset - origin_offset);
+ offset = PIDL_dissect_uint8_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpcMapiRequest_opnum, param, &opnum);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " + %s", val_to_str(opnum, mapi_ROP_OPNUM_vals, "Unknown MAPI operation"));
+ offset = mapi_dissect_element_EcDoRpcMapiRequest_u(tvb, offset, pinfo, tree, di, drep, &opnum);
+ proto_item_set_len(item, offset-old_offset);
+ di->no_align = oldalign;
return offset;
}
-/*************************/
-/* EcDoRpc Function 0x7 */
-static int
-mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+int
+mapi_dissect_struct_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int origin_offset;
- guint16 i;
- /**** Function parameters ****/
- guint16 prop_count;
- guint32 mapitag;
- origin_offset = offset;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int start_offset = offset;;
+ tvbuff_t *decrypted_tvb = NULL;
+ guint16 pdu_len;
+ guint32 size;
+ ALIGN_TO_5_BYTES;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_GetProps, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_GetProps_req);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_request);
}
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_unknown3, tvb, offset, 4, ENC_LITTLE_ENDIAN);
- offset += 4;
- prop_count = tvb_get_letohs(tvb, offset);
- proto_tree_add_uint(tree, hf_mapi_EcDoRpc_prop_count, tvb, offset, 2, prop_count);
- offset += 2;
- for (i = 0; i < prop_count; i++) {
- mapitag = tvb_get_letohl(tvb, offset);
- proto_tree_add_uint_format(tree, hf_mapi_EcDoRpc_mapi_tag, tvb, offset, 4, mapitag, "[%.2d] %s", i, val_to_str(mapitag, mapi_MAPITAGS_vals, "Unknown MAPITAGS"));
- offset += 4;
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_request_mapi_len, &size);
+ decrypted_tvb = mapi_deobfuscate(tvb, offset, pinfo, size);
+ if (!decrypted_tvb || tvb_reported_length(decrypted_tvb) != size) {
+ return offset;
+ }
+ offset += size;
+ proto_item_set_len(item, offset - start_offset);
+ {
+ add_new_data_source(pinfo, decrypted_tvb, "Decrypted MAPI Request");
+ tree = proto_tree_add_subtree(tree, decrypted_tvb, 0, size, ett_mapi_mapi_request, NULL, "Decrypted MAPI Request PDU");
+ pdu_len = tvb_get_letohs(decrypted_tvb, 0);
+ proto_tree_add_uint(tree, hf_mapi_mapi_request_length, decrypted_tvb, 0, 2, pdu_len);
+ proto_tree_add_item(tree, hf_mapi_decrypted_data, decrypted_tvb, 2, pdu_len - 2, ENC_NA);
+ /* analyze contents */
+ mapi_dissect_element_request_rpcRequest(decrypted_tvb, 2, pinfo, tree, di, drep);
+ mapi_dissect_element_handles_cnf(decrypted_tvb, pdu_len, pinfo, tree, di, hf_mapi_mapi_request_handles, drep);
+ }
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
}
- proto_item_set_len(item, offset - origin_offset);
return offset;
}
-/*************************/
-/* EcDoRpc Function 0xFE */
static int
-mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_OpenMsgStore(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcDoConnect_szUserDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int origin_offset;
- /**** Function parameters ****/
- guint16 str_len;
- origin_offset = offset;
+ char *data= NULL;
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcDoConnect_szUserDN, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " DN: %s", data);
+ return offset;
+}
+static int
+mapi_dissect_element_EcDoConnectEx_szUserDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data= NULL;
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcDoConnectEx_szUserDN, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " DN: %s", data);
+ return offset;
+}
+int
+mapi_dissect_struct_EcDoRpcMapiResponse(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 opnum = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset= offset;
+ di->no_align = TRUE;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_OpenMsgStore, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_OpenMsgStore_req);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_EcDoRpcMapiResponse);
}
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_codepage, tvb, offset, 4, ENC_LITTLE_ENDIAN);
- offset += 4;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_padding, tvb, offset, 4, ENC_LITTLE_ENDIAN);
- offset += 4;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_row, tvb, offset, 1, ENC_NA);
- offset += 1;
- str_len = tvb_get_letohs(tvb, offset);
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_str_length, tvb, offset, 2, ENC_LITTLE_ENDIAN);
- offset += 2;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_mailbox, tvb, offset, str_len, ENC_ASCII|ENC_NA);
- offset += str_len;
- proto_item_set_len(item, offset - origin_offset);
+ offset = PIDL_dissect_uint8_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpcMapiResponse_opnum, param, &opnum);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " + %s", val_to_str(opnum, mapi_ROP_OPNUM_vals, "Unknown MAPI operation"));
+ offset = mapi_dissect_element_EcDoRpcMapiResponse_u(tvb, offset, pinfo, tree, di, drep, &opnum);
+ proto_item_set_len(item, offset-old_offset);
+ di->no_align = oldalign;
return offset;
}
-static int
-mapi_dissect_struct_EcDoRpc_MAPI_REPL(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+int
+uint32_size_uint8_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, dcerpc_info* di, guint8 *drep, int hf_size_index, int hf_buffer_index, guint32 param)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- guint8 opnum;
- guint32 retval;
- old_offset = offset;
+ guint32 size= 0;
+ offset = PIDL_dissect_uint32_val(tvb, offset, pinfo, parent_tree, di, drep, hf_size_index, param, &size);
+ proto_tree_add_item(parent_tree, hf_buffer_index, tvb, offset, size, ENC_NA);
+ return offset+size;
+}
+int
+mapi_dissect_struct_SyncUploadStateStreamContinue_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset= offset;
+ di->no_align = TRUE;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_EcDoRpc_MAPI_REPL);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncUploadStateStreamContinue_req);
}
- opnum = tvb_get_guint8(tvb, offset);
- proto_tree_add_item(tree, hf_mapi_MAPI_OPNUM, tvb, offset, 1, ENC_NA);
- offset += 1;
- col_append_fstr(pinfo->cinfo, COL_INFO, " + %s", val_to_str(opnum, mapi_MAPI_OPNUM_vals, "Unknown MAPI operation: 0x%02x"));
- if (opnum != op_MAPI_Notify) {
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_handle_index, tvb, offset, 1, ENC_NA);
- offset += 1;
- retval = tvb_get_letohl(tvb, offset);
- proto_tree_add_item(tree, hf_mapi_MAPISTATUS_status, tvb, offset, 4, ENC_LITTLE_ENDIAN);
- offset += 4;
- if (retval == MAPI_E_SUCCESS) {
- switch(opnum) {
- case op_MAPI_Release:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_Release(tvb, offset, pinfo, tree, di, drep);
- break;
- case op_MAPI_OpenFolder:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_OpenFolder(tvb, offset, pinfo, tree, di, drep);
- break;
- case op_MAPI_GetProps:
- offset = mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_GetProps(tvb, offset, pinfo, tree, di, drep);
- break;
-/* case op_MAPI_OpenMsgStore: */
-/* offset = mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_OpenMsgStore(tvb, offset, pinfo, tree, di, drep); */
-/* break; */
- default:
- offset += param - 6;
- }
- }
- } else {
- /* we don't decode notifications within the dissector yet */
- offset += param - 1;
+ offset = mapi_dissect_element_SyncUploadStateStreamContinue_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_SyncUploadStateStreamContinue_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+ offset = uint32_size_uint8_buffer(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncUploadStateStreamContinue_req_StreamDataSize, hf_mapi_SyncUploadStateStreamContinue_req_StreamDataValue, 0);
+ proto_item_set_len(item, offset-old_offset);
+ di->no_align = oldalign;
+ return offset;
+}
+int
+mapi_dissect_struct_SyncImportMessageMove_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset = offset;
+ di->no_align = TRUE;
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportMessageMove_req);
}
- proto_item_set_len(item, offset - old_offset);
+ offset = mapi_dissect_element_SyncImportMessageMove_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_SyncImportMessageMove_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+ offset = uint32_size_uint8_buffer(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageMove_req_SourceFolderIdSize, hf_mapi_SyncImportMessageMove_req_SourceFolderIdValue, 0);
+ offset = uint32_size_uint8_buffer(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageMove_req_SourceMessageIdSize, hf_mapi_SyncImportMessageMove_req_SourceMessageIdValue, 0);
+ offset = uint32_size_uint8_buffer(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageMove_req_PredecessorChangeListSize, hf_mapi_SyncImportMessageMove_req_PredecessorChangeListValue, 0);
+ offset = uint32_size_uint8_buffer(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageMove_req_DestinationMessageIdSize, hf_mapi_SyncImportMessageMove_req_DestinationMessageIdValue, 0);
+ offset = uint32_size_uint8_buffer(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageMove_req_ChangeNumberSize, hf_mapi_SyncImportMessageMove_req_ChangeNumberValue, 0);
+ proto_item_set_len(item, offset-old_offset);
+ di->no_align = oldalign;
return offset;
}
-static int
-mapi_dissect_element_EcDoRpc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+/* IDL: bitmap { */
+/* IDL: PUBLIC = 0x2 , */
+/* IDL: HOME_LOGON = 0x4 , */
+/* IDL: TAKE_OWNERSHIP = 0x8 , */
+/* IDL: ALTERNATE_SERVER = 0x100 , */
+/* IDL: IGNORE_HOME_MDB = 0x200 , */
+/* IDL: NO_MAIL = 0x400 , */
+/* IDL: USE_PER_MDB_REPLID_MAPPING = 0x010000000 , */
+/* IDL: } */
+int
+mapi_dissect_bitmap_OpenFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- offset = mapi_dissect_element_EcDoRpc_response_(tvb, offset, pinfo, tree, di, drep);
+ proto_item *item= NULL;
+ static int * const mapi_OpenFlags_fields[] = {
+ &hf_mapi_OpenFlags_PUBLIC,
+ &hf_mapi_OpenFlags_HOME_LOGON,
+ &hf_mapi_OpenFlags_TAKE_OWNERSHIP,
+ &hf_mapi_OpenFlags_ALTERNATE_SERVER,
+ &hf_mapi_OpenFlags_IGNORE_HOME_MDB,
+ &hf_mapi_OpenFlags_NO_MAIL,
+ &hf_mapi_OpenFlags_USE_PER_MDB_REPLID_MAPPING,
+ NULL
+ };
+ guint32 flags;
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_OpenFlags, mapi_OpenFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+ if (flags & (~0x1000070e)) {
+ flags &= (~0x1000070e);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
return offset;
}
-static int
-mapi_dissect_element_EcDoRpc_response_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+int
+mapi_dissect_bitmap_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- guint32 size;
- int start_offset = offset;
- guint8 *decrypted_data;
- tvbuff_t *decrypted_tvb;
- const guint8 *ptr;
- gint reported_len;
- guint16 pdu_len;
- guint32 i;
- proto_tree *tr = NULL;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpc_mapi_response, &size);
- proto_tree_add_uint(tree, hf_mapi_EcDoRpc_subcontext_size, tvb, start_offset, offset - start_offset + size, size);
- reported_len = tvb_reported_length_remaining(tvb, offset);
- if ((guint32) reported_len > size) {
- reported_len = size;
+ proto_item *item;
+ static int * const mapi_StoreState_fields[] = {
+ &hf_mapi_StoreState_STORE_HAS_SEARCHES,
+ NULL
+ };
+ guint32 flags;
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_StoreState, mapi_StoreState_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+ if (flags & (~0x10000000)) {
+ flags &= (~0x10000000);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
}
- if (size > (guint32) reported_len) {
- size = reported_len;
+ return offset;
+}
+int
+mapi_dissect_struct_Logon_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset= offset;
+ guint32 returnValue;
+ di->no_align = TRUE;
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Logon_repl);
}
- ptr = tvb_get_ptr(tvb, offset, size);
- decrypted_data = (guint8 *)wmem_alloc(pinfo->pool, size);
- for (i = 0; i < size; i++) {
- decrypted_data[i] = ptr[i] ^ 0xA5;
+ offset = mapi_dissect_element_Logon_repl_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+ offset = PIDL_dissect_uint32_val(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_ReturnValue, 0, &returnValue);
+ if (returnValue == 0x0){
+ // 2.2.3.1.2 RopLogon ROP Success Response Buffer
+ guint8 LogonFlags= 0;
+ offset = mapi_dissect_enum_LogonFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_LogonFlags, &LogonFlags);
+ if (LogonFlags == 0x1){
+ // Private
+ offset = mapi_dissect_element_Logon_repl_FolderIds(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_ResponseFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_MailboxGuid(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_ReplId(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_ReplGuid(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_LogonTime(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_GwartTime(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_StoreState(tvb, offset, pinfo, tree, di, drep);
+ } else {
+ // Public
+ offset = mapi_dissect_element_Logon_repl_FolderIds(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_ReplId(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_ReplGuid(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_PerUserGuid(tvb, offset, pinfo, tree, di, drep);
+ }
+ } else if (returnValue == 0x00000478){
+ // 2.2.1.1.2 RopLogon ROP Redirect Response Buffer
+ offset = mapi_dissect_enum_LogonFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_LogonFlags, 0);
+ offset = mapi_dissect_element_Logon_repl_ServerNameSize(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Logon_repl_ServerName(tvb, offset, pinfo, tree, di, drep);
}
- decrypted_tvb = tvb_new_child_real_data(tvb, decrypted_data, size, reported_len);
- add_new_data_source(pinfo, decrypted_tvb, "Decrypted MAPI");
- tr = proto_tree_add_subtree(tree, decrypted_tvb, 0, size, ett_mapi_mapi_response, NULL, "Decrypted MAPI PDU");
- pdu_len = tvb_get_letohs(decrypted_tvb, 0);
- proto_tree_add_uint(tr, hf_mapi_pdu_len, decrypted_tvb, 0, 2, pdu_len);
- proto_tree_add_item(tr, hf_mapi_decrypted_data, decrypted_tvb, 2, pdu_len - 2, ENC_NA);
- /* Analyze contents */
- offset = mapi_dissect_element_EcDoRpc_response__(decrypted_tvb, 0, pinfo, tr, di, drep);
- /* Analyze mapi handles */
- offset = mapi_dissect_element_request_handles_cnf(decrypted_tvb, offset, pinfo, tr, di, drep);
- return start_offset + offset + 4;
+ proto_item_set_len(item, offset-old_offset);
+ di->no_align = oldalign;
+ return offset;
}
-static int
-mapi_dissect_element_EcDoRpc_response__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+ #define RHEF_Compressed 0x0001
+ #define RHEF_XorMagic 0x0002
+ #define RHEF_Last 0x0004
+int dissect_RPC_HEADER_EXT(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, dcerpc_info* di, guint8 *drep, int hf_index, tvbuff_t **ppUncomp_tvb)
{
- guint16 length;
- tvbuff_t *subtvb;
- length = tvb_get_letohs(tvb, offset);
- subtvb = tvb_new_subset_length_caplen(tvb, offset, length, length);
- offset += 2;
- while (offset < length) {
- offset = mapi_dissect_struct_EcDoRpc_MAPI_REPL(subtvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_response_mapi_repl, length - offset);
+ proto_tree *hTree = NULL;
+ proto_item *rpcItem = NULL;
+ guint16 flags;
+ guint16 compressedSize= 0, uncompressedSize= 0;
+ int old_offset= offset;
+ ALIGN_TO_2_BYTES;
+ if (parent_tree) {
+ rpcItem = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ hTree = proto_item_add_subtree(rpcItem, ett_mapi_RPC_HEADER_EXT);
+ }
+ offset = mapi_dissect_element_RPC_HEADER_EXT_Version(tvb, offset, pinfo, hTree, di, drep);
+ proto_item *flagItem;
+ static int * const mapi_RPC_HEADER_EXT_Flags_fields[] = {
+ &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Compressed,
+ &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_XorMagic,
+ &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Last,
+ NULL
+ };
+ ALIGN_TO_2_BYTES;
+ flagItem = proto_tree_add_bitmask_with_flags(hTree, tvb, offset, hf_mapi_RPC_HEADER_EXT_Flags,
+ ett_mapi_RPC_HEADER_EXT_Flags, mapi_RPC_HEADER_EXT_Flags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, hTree, di, drep, -1, &flags);
+ if (!flags)
+ proto_item_append_text(flagItem, ": (No values set)");
+ if (flags & (~0x00000007)) {
+ flags &= (~0x00000007);
+ proto_item_append_text(flagItem, "Unknown bitmap value 0x%x", flags);
+ }
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, hTree, di, drep, hf_mapi_RPC_HEADER_EXT_Size, 0, &compressedSize);
+ offset = PIDL_dissect_uint16_val(tvb, offset, pinfo, hTree, di, drep, hf_mapi_RPC_HEADER_EXT_SizeActual, 0, &uncompressedSize);
+ proto_item_set_len(flagItem, 2);
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_2_BYTES;
}
+ bool last = RHEF_Last == (flags & RHEF_Last);
+ bool compressed = RHEF_Compressed == (flags & RHEF_Compressed);
+ bool xored = RHEF_XorMagic == (flags & RHEF_XorMagic);
+ if (!last){
+ // TODO: Currently we don't support multiple buffers of RPC_HEADER_EXT.
+ return offset;
+ }
+ if (compressed && xored){
+ // TODO: Currently we don't support both compressed and Xored
+ return offset;
+ }
+ if (compressed){
+ *ppUncomp_tvb= tvb_child_uncompress_lz77(tvb, tvb, offset, compressedSize);
+ } else if (xored){
+ *ppUncomp_tvb= mapi_deobfuscate(tvb, offset, pinfo, uncompressedSize);
+ } else if (!compressed && !xored) {
+ *ppUncomp_tvb = tvb_new_subset_length(tvb, offset, uncompressedSize);
+ } else {
+ return offset;
+ }
+ if (!(*ppUncomp_tvb) || tvb_reported_length(*ppUncomp_tvb) != uncompressedSize) {
+ *ppUncomp_tvb= NULL;
+ return offset;
+ }
+ offset += compressedSize;
+ proto_item_set_len(rpcItem, offset-old_offset);
return offset;
}
-/*************************/
-/* EcDoRpc Function 0x2 */
-static int
-mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+int
+mapi_dissect_struct_AuxInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int origin_offset;
- origin_offset = offset;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset= offset;
+ tvbuff_t *uncomp_tvb = NULL;
+ ALIGN_TO_4_BYTES;
+ if(di->conformant_run){
+ return offset;
+ }
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_OpenFolder, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_OpenFolder_repl);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AuxInfo);
+ }
+ if (di->ptype == PDU_REQ){
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AuxInfo_auxInSize, NULL);
+ }
+ offset = dissect_RPC_HEADER_EXT(tvb, offset, pinfo, tree, di, drep, di->ptype == PDU_REQ ? hf_mapi_AuxInfo_RpcHeaderExtension : hf_mapi_AuxInfoOut_RpcHeaderExtension, &uncomp_tvb);
+ if (!uncomp_tvb) {
+ return offset;
+ }
+ proto_item_set_len(item, offset-old_offset);
+ add_new_data_source(pinfo, uncomp_tvb, "Decrypted MAPI AuxInfo");
+ {
+ tree = proto_tree_add_subtree(tree, uncomp_tvb, 0, tvb_reported_length(uncomp_tvb), ett_mapi_connect_request, NULL, "Decrypted MAPI AuxInfo");
+ mapi_dissect_element_AuxInfo_auxHeader(uncomp_tvb, 0, pinfo, tree, di, drep);
+ }
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
}
- old_offset = offset;
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_unknown1, tvb, old_offset, 2, ENC_LITTLE_ENDIAN);
- offset += 2;
- proto_item_set_len(item, offset - origin_offset);
return offset;
}
-/*************************/
-/* EcDoRpc Function 0x7 */
-static int
-mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+int
+mapi_dissect_RgbInOut(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, dcerpc_info* di, guint8 *drep, int hf_index)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int origin_offset;
- /**** Function parameters ****/
- guint16 length;
- origin_offset = offset;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset= offset;
+ tvbuff_t *uncomp_tvb = NULL;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_GetProps, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_GetProps_repl);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, di->ptype == PDU_REQ ? ett_mapi_RgbIn : ett_mapi_RgbOut);
+ }
+ if (di->ptype == PDU_REQ){
+ offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, di->ptype == PDU_REQ ? hf_mapi_RgbInSize : hf_mapi_RgbOutSize, NULL);
+ }
+ offset = dissect_RPC_HEADER_EXT(tvb, offset, pinfo, tree, di, drep, di->ptype == PDU_REQ ? hf_mapi_RgbIn_RpcHeaderExtension : hf_mapi_RgbOut_RpcHeaderExtension, &uncomp_tvb);
+ if (!uncomp_tvb) {
+ return offset;
+ }
+ proto_item_set_len(item, offset-old_offset);
+ add_new_data_source(pinfo, uncomp_tvb, di->ptype == PDU_REQ ? "Decrypted MAPI ROPIn PDU" : "Decrypted MAPI ROPOut PDU");
+ {
+ int uncompressed_offset= 0;
+ guint16 total_length;
+ item = proto_tree_add_item(tree, di->ptype == PDU_REQ ? hf_mapi_RgbIn_ropIn : hf_mapi_RgbOut_ropOut, uncomp_tvb, 0, tvb_reported_length(uncomp_tvb), ENC_NA);
+ tree = proto_item_add_subtree(item, di->ptype == PDU_REQ ? ett_mapi_RgbIn : ett_mapi_RgbOut);
+ uncompressed_offset = PIDL_dissect_uint16_val(uncomp_tvb, uncompressed_offset, pinfo, tree, di, drep, di->ptype == PDU_REQ ? hf_mapi_ROPInputBuffer_ropSize : hf_mapi_ROPOutputBuffer_ropSize, 0, &total_length);
+ while((guint)(uncompressed_offset) < total_length){
+ if (di->ptype == PDU_REQ){
+ uncompressed_offset = mapi_dissect_struct_RopInput(uncomp_tvb, uncompressed_offset,pinfo,tree,di,drep,hf_mapi_ROPInputBuffer_rop,0);
+ } else {
+ uncompressed_offset = mapi_dissect_struct_RopOutput(uncomp_tvb, uncompressed_offset,pinfo,tree,di,drep,hf_mapi_ROPOutputBuffer_rop,0);
+ }
+ }
}
- proto_tree_add_item(tree, hf_mapi_EcDoRpc_layout, tvb, offset, 1, ENC_NA);
- offset += 1;
- length = tvb_reported_length_remaining(tvb, offset);
- proto_tree_add_uint(tree, hf_mapi_EcDoRpc_prop_count, tvb, offset, 0, length);
- offset += length;
- proto_item_set_len(item, offset - origin_offset);
+ ALIGN_TO_5_BYTES
return offset;
}
-/*************************/
-/* EcDoRpc Function 0xFE */
-/* static int
-mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_OpenMsgStore(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+int
+mapi_dissect_struct_RgbIn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, dcerpc_info* di, guint8 *drep, int hf_index, guint32 param _U_)
{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int origin_offset;
- origin_offset = offset;
- old_offset = offset;
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_OpenMsgStore, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_mapi_OpenMsgStore_repl);
+ return mapi_dissect_RgbInOut(tvb, offset, pinfo, parent_tree, di, drep, hf_index);
+}
+int
+dissect_EcDoRpcExt2_RgbOut(tvbuff_t *tvb _U_, int offset _U_, int length _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ if (length == 0){
+ return offset;
+ }
+ return mapi_dissect_struct_RgbOut(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_rgbOut, 0);
+}
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return dissect_ndr_ucvarray_block(tvb, offset, pinfo, tree, di, drep, &dissect_EcDoRpcExt2_RgbOut);
+}
+int
+dissect_EcDoRpcExt_RgbOut(tvbuff_t *tvb _U_, int offset _U_, int length _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ if (length == 0){
+ return offset;
+ }
+ return mapi_dissect_struct_RgbOut(tvb, offset, pinfo, parent_tree, di, drep, hf_mapi_mapi_EcDoRpcExt_rgbOut, 0);
+}
+static int
+mapi_dissect_element_EcDoRpcExt_rgbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ return dissect_ndr_ucvarray_block(tvb, offset, pinfo, tree, di, drep, &dissect_EcDoRpcExt_RgbOut);
+}
+int
+mapi_dissect_struct_RgbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ return mapi_dissect_RgbInOut(tvb, offset, pinfo, parent_tree, di, drep, hf_index);
+}
+
+
+/* IDL: enum { */
+/* IDL: MAPI_E_SUCCESS=0x00000000, */
+/* IDL: MAPI_E_NO_SUPPORT=0x80040102, */
+/* IDL: MAPI_E_BAD_CHARWIDTH=0x80040103, */
+/* IDL: MAPI_E_STRING_TOO_LONG=0x80040105, */
+/* IDL: MAPI_E_UNKNOWN_FLAGS=0x80040106, */
+/* IDL: MAPI_E_INVALID_ENTRYID=0x80040107, */
+/* IDL: MAPI_E_INVALID_OBJECT=0x80040108, */
+/* IDL: MAPI_E_OBJECT_CHANGED=0x80040109, */
+/* IDL: MAPI_E_OBJECT_DELETED=0x8004010A, */
+/* IDL: MAPI_E_BUSY=0x8004010B, */
+/* IDL: MAPI_E_NOT_ENOUGH_DISK=0x8004010D, */
+/* IDL: MAPI_E_NOT_ENOUGH_RESOURCES=0x8004010E, */
+/* IDL: MAPI_E_NOT_FOUND=0x8004010F, */
+/* IDL: MAPI_E_VERSION=0x80040110, */
+/* IDL: MAPI_E_LOGON_FAILED=0x80040111, */
+/* IDL: MAPI_E_SESSION_LIMIT=0x80040112, */
+/* IDL: MAPI_E_USER_CANCEL=0x80040113, */
+/* IDL: MAPI_E_UNABLE_TO_ABORT=0x80040114, */
+/* IDL: MAPI_E_NETWORK_ERROR=0x80040115, */
+/* IDL: MAPI_E_DISK_ERROR=0x80040116, */
+/* IDL: MAPI_E_TOO_COMPLEX=0x80040117, */
+/* IDL: MAPI_E_BAD_COLUMN=0x80040118, */
+/* IDL: MAPI_E_EXTENDED_ERROR=0x80040119, */
+/* IDL: MAPI_E_COMPUTED=0x8004011A, */
+/* IDL: MAPI_E_CORRUPT_DATA=0x8004011B, */
+/* IDL: MAPI_E_UNCONFIGURED=0x8004011C, */
+/* IDL: MAPI_E_FAILONEPROVIDER=0x8004011D, */
+/* IDL: MAPI_E_UNKNOWN_CPID=0x8004011E, */
+/* IDL: MAPI_E_UNKNOWN_LCID=0x8004011F, */
+/* IDL: MAPI_E_PASSWORD_CHANGE_REQUIRED=0x80040120, */
+/* IDL: MAPI_E_PASSWORD_EXPIRED=0x80040121, */
+/* IDL: MAPI_E_INVALID_WORKSTATION_ACCOUNT=0x80040122, */
+/* IDL: MAPI_E_INVALID_ACCESS_TIME=0x80040123, */
+/* IDL: MAPI_E_ACCOUNT_DISABLED=0x80040124, */
+/* IDL: MAPI_E_END_OF_SESSION=0x80040200, */
+/* IDL: MAPI_E_UNKNOWN_ENTRYID=0x80040201, */
+/* IDL: MAPI_E_MISSING_REQUIRED_COLUMN=0x80040202, */
+/* IDL: MAPI_W_NO_SERVICE=0x80040203, */
+/* IDL: MAPI_E_BAD_VALUE=0x80040301, */
+/* IDL: MAPI_E_INVALID_TYPE=0x80040302, */
+/* IDL: MAPI_E_TYPE_NO_SUPPORT=0x80040303, */
+/* IDL: MAPI_E_UNEXPECTED_TYPE=0x80040304, */
+/* IDL: MAPI_E_TOO_BIG=0x80040305, */
+/* IDL: MAPI_E_DECLINE_COPY=0x80040306, */
+/* IDL: MAPI_E_UNEXPECTED_ID=0x80040307, */
+/* IDL: MAPI_W_ERRORS_RETURNED=0x80040380, */
+/* IDL: MAPI_E_UNABLE_TO_COMPLETE=0x80040400, */
+/* IDL: MAPI_E_TIMEOUT=0x80040401, */
+/* IDL: MAPI_E_TABLE_EMPTY=0x80040402, */
+/* IDL: MAPI_E_TABLE_TOO_BIG=0x80040403, */
+/* IDL: MAPI_E_INVALID_BOOKMARK=0x80040405, */
+/* IDL: MAPI_W_POSITION_CHANGED=0x80040481, */
+/* IDL: MAPI_W_APPROX_COUNT=0x80040482, */
+/* IDL: MAPI_E_WAIT=0x80040500, */
+/* IDL: MAPI_E_CANCEL=0x80040501, */
+/* IDL: MAPI_E_NOT_ME=0x80040502, */
+/* IDL: MAPI_W_CANCEL_MESSAGE=0x80040580, */
+/* IDL: MAPI_E_CORRUPT_STORE=0x80040600, */
+/* IDL: MAPI_E_NOT_IN_QUEUE=0x80040601, */
+/* IDL: MAPI_E_NO_SUPPRESS=0x80040602, */
+/* IDL: MAPI_E_COLLISION=0x80040604, */
+/* IDL: MAPI_E_NOT_INITIALIZED=0x80040605, */
+/* IDL: MAPI_E_NON_STANDARD=0x80040606, */
+/* IDL: MAPI_E_NO_RECIPIENTS=0x80040607, */
+/* IDL: MAPI_E_SUBMITTED=0x80040608, */
+/* IDL: MAPI_E_HAS_FOLDERS=0x80040609, */
+/* IDL: MAPI_E_HAS_MESSAGES=0x8004060A, */
+/* IDL: MAPI_E_FOLDER_CYCLE=0x8004060B, */
+/* IDL: MAPI_W_PARTIAL_COMPLETION=0x80040680, */
+/* IDL: MAPI_E_AMBIGUOUS_RECIP=0x80040700, */
+/* IDL: MAPI_E_RESERVED=0xFFFFFFFF, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_MAPISTATUS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
+{
+ guint32 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
}
- offset = mapi_dissect_element_OpenMsgStore_repl_PR_OBJECT_TYPE(tvb, offset, pinfo, tree, di, drep);
- proto_item_set_len(item, offset - origin_offset);
return offset;
- }*/
+}
/* IDL: enum { */
@@ -7759,95 +12258,6 @@ mapi_dissect_enum_MAPITAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo
}
-/* IDL: enum { */
-/* IDL: MAPI_E_SUCCESS=0x00000000, */
-/* IDL: MAPI_E_NO_SUPPORT=0x80040102, */
-/* IDL: MAPI_E_BAD_CHARWIDTH=0x80040103, */
-/* IDL: MAPI_E_STRING_TOO_LONG=0x80040105, */
-/* IDL: MAPI_E_UNKNOWN_FLAGS=0x80040106, */
-/* IDL: MAPI_E_INVALID_ENTRYID=0x80040107, */
-/* IDL: MAPI_E_INVALID_OBJECT=0x80040108, */
-/* IDL: MAPI_E_OBJECT_CHANGED=0x80040109, */
-/* IDL: MAPI_E_OBJECT_DELETED=0x8004010A, */
-/* IDL: MAPI_E_BUSY=0x8004010B, */
-/* IDL: MAPI_E_NOT_ENOUGH_DISK=0x8004010D, */
-/* IDL: MAPI_E_NOT_ENOUGH_RESOURCES=0x8004010E, */
-/* IDL: MAPI_E_NOT_FOUND=0x8004010F, */
-/* IDL: MAPI_E_VERSION=0x80040110, */
-/* IDL: MAPI_E_LOGON_FAILED=0x80040111, */
-/* IDL: MAPI_E_SESSION_LIMIT=0x80040112, */
-/* IDL: MAPI_E_USER_CANCEL=0x80040113, */
-/* IDL: MAPI_E_UNABLE_TO_ABORT=0x80040114, */
-/* IDL: MAPI_E_NETWORK_ERROR=0x80040115, */
-/* IDL: MAPI_E_DISK_ERROR=0x80040116, */
-/* IDL: MAPI_E_TOO_COMPLEX=0x80040117, */
-/* IDL: MAPI_E_BAD_COLUMN=0x80040118, */
-/* IDL: MAPI_E_EXTENDED_ERROR=0x80040119, */
-/* IDL: MAPI_E_COMPUTED=0x8004011A, */
-/* IDL: MAPI_E_CORRUPT_DATA=0x8004011B, */
-/* IDL: MAPI_E_UNCONFIGURED=0x8004011C, */
-/* IDL: MAPI_E_FAILONEPROVIDER=0x8004011D, */
-/* IDL: MAPI_E_UNKNOWN_CPID=0x8004011E, */
-/* IDL: MAPI_E_UNKNOWN_LCID=0x8004011F, */
-/* IDL: MAPI_E_PASSWORD_CHANGE_REQUIRED=0x80040120, */
-/* IDL: MAPI_E_PASSWORD_EXPIRED=0x80040121, */
-/* IDL: MAPI_E_INVALID_WORKSTATION_ACCOUNT=0x80040122, */
-/* IDL: MAPI_E_INVALID_ACCESS_TIME=0x80040123, */
-/* IDL: MAPI_E_ACCOUNT_DISABLED=0x80040124, */
-/* IDL: MAPI_E_END_OF_SESSION=0x80040200, */
-/* IDL: MAPI_E_UNKNOWN_ENTRYID=0x80040201, */
-/* IDL: MAPI_E_MISSING_REQUIRED_COLUMN=0x80040202, */
-/* IDL: MAPI_W_NO_SERVICE=0x80040203, */
-/* IDL: MAPI_E_BAD_VALUE=0x80040301, */
-/* IDL: MAPI_E_INVALID_TYPE=0x80040302, */
-/* IDL: MAPI_E_TYPE_NO_SUPPORT=0x80040303, */
-/* IDL: MAPI_E_UNEXPECTED_TYPE=0x80040304, */
-/* IDL: MAPI_E_TOO_BIG=0x80040305, */
-/* IDL: MAPI_E_DECLINE_COPY=0x80040306, */
-/* IDL: MAPI_E_UNEXPECTED_ID=0x80040307, */
-/* IDL: MAPI_W_ERRORS_RETURNED=0x80040380, */
-/* IDL: MAPI_E_UNABLE_TO_COMPLETE=0x80040400, */
-/* IDL: MAPI_E_TIMEOUT=0x80040401, */
-/* IDL: MAPI_E_TABLE_EMPTY=0x80040402, */
-/* IDL: MAPI_E_TABLE_TOO_BIG=0x80040403, */
-/* IDL: MAPI_E_INVALID_BOOKMARK=0x80040405, */
-/* IDL: MAPI_W_POSITION_CHANGED=0x80040481, */
-/* IDL: MAPI_W_APPROX_COUNT=0x80040482, */
-/* IDL: MAPI_E_WAIT=0x80040500, */
-/* IDL: MAPI_E_CANCEL=0x80040501, */
-/* IDL: MAPI_E_NOT_ME=0x80040502, */
-/* IDL: MAPI_W_CANCEL_MESSAGE=0x80040580, */
-/* IDL: MAPI_E_CORRUPT_STORE=0x80040600, */
-/* IDL: MAPI_E_NOT_IN_QUEUE=0x80040601, */
-/* IDL: MAPI_E_NO_SUPPRESS=0x80040602, */
-/* IDL: MAPI_E_COLLISION=0x80040604, */
-/* IDL: MAPI_E_NOT_INITIALIZED=0x80040605, */
-/* IDL: MAPI_E_NON_STANDARD=0x80040606, */
-/* IDL: MAPI_E_NO_RECIPIENTS=0x80040607, */
-/* IDL: MAPI_E_SUBMITTED=0x80040608, */
-/* IDL: MAPI_E_HAS_FOLDERS=0x80040609, */
-/* IDL: MAPI_E_HAS_MESSAGES=0x8004060A, */
-/* IDL: MAPI_E_FOLDER_CYCLE=0x8004060B, */
-/* IDL: MAPI_W_PARTIAL_COMPLETION=0x80040680, */
-/* IDL: MAPI_E_AMBIGUOUS_RECIP=0x80040700, */
-/* IDL: MAPI_E_RESERVED=0xFFFFFFFF, */
-/* IDL: } */
-
-int
-mapi_dissect_enum_MAPISTATUS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
-{
- guint32 parameter=0;
- if (param) {
- parameter = *param;
- }
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
- if (param) {
- *param = parameter;
- }
- return offset;
-}
-
-
/* IDL: struct datablob { */
/* IDL: [unique(1)] uint8 *data; */
/* IDL: uint8 length; */
@@ -7909,59 +12319,6 @@ mapi_dissect_struct_DATA_BLOB(tvbuff_t *tvb _U_, int offset _U_, packet_info *pi
}
-/* IDL: struct { */
-/* IDL: uint32 language; */
-/* IDL: uint32 method; */
-/* IDL: } */
-
-static int
-mapi_dissect_element_input_locale_language(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
-{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_input_locale_language, 0);
-
- return offset;
-}
-
-static int
-mapi_dissect_element_input_locale_method(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
-{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_input_locale_method, 0);
-
- return offset;
-}
-
-int
-mapi_dissect_struct_input_locale(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- ALIGN_TO_4_BYTES;
-
- old_offset = offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_input_locale);
- }
-
- offset = mapi_dissect_element_input_locale_language(tvb, offset, pinfo, tree, di, drep);
-
- offset = mapi_dissect_element_input_locale_method(tvb, offset, pinfo, tree, di, drep);
-
-
- proto_item_set_len(item, offset-old_offset);
-
-
- if (di->call_data->flags & DCERPC_IS_NDR64) {
- ALIGN_TO_4_BYTES;
- }
-
- return offset;
-}
-
-
/* IDL: enum { */
/* IDL: MAPI_STORE=0x1, */
/* IDL: MAPI_ADDRBOOK=0x2, */
@@ -8031,65 +12388,181 @@ mapi_dissect_enum_ACLRIGHTS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinf
/* IDL: enum { */
-/* IDL: op_MAPI_Release=0x1, */
-/* IDL: op_MAPI_OpenFolder=0x2, */
-/* IDL: op_MAPI_OpenMessage=0x3, */
-/* IDL: op_MAPI_GetHierarchyTable=0x4, */
-/* IDL: op_MAPI_GetContentsTable=0x5, */
-/* IDL: op_MAPI_CreateMessage=0x6, */
-/* IDL: op_MAPI_GetProps=0x7, */
-/* IDL: op_MAPI_GetPropsAll=0x8, */
-/* IDL: op_MAPI_GetPropList=0x9, */
-/* IDL: op_MAPI_SetProps=0xa, */
-/* IDL: op_MAPI_DeleteProps=0xb, */
-/* IDL: op_MAPI_SaveChangesMessage=0xc, */
-/* IDL: op_MAPI_ModifyRecipients=0xe, */
-/* IDL: op_MAPI_SetReadFlags=0x11, */
-/* IDL: op_MAPI_SetColumns=0x12, */
-/* IDL: op_MAPI_SortTable=0x13, */
-/* IDL: op_MAPI_Restrict=0x14, */
-/* IDL: op_MAPI_QueryRows=0x15, */
-/* IDL: op_MAPI_GetRowCount=0x17, */
-/* IDL: op_MAPI_SeekRow=0x18, */
-/* IDL: op_MAPI_SeekRowBookmark=0x19, */
-/* IDL: op_MAPI_SeekRowApprox=0x1a, */
-/* IDL: op_MAPI_CreateBookmark=0x1b, */
-/* IDL: op_MAPI_CreateFolder=0x1c, */
-/* IDL: op_MAPI_DeleteFolder=0x1d, */
-/* IDL: op_MAPI_DeleteMessages=0x1e, */
-/* IDL: op_MAPI_GetMessageStatus=0x1f, */
-/* IDL: op_MAPI_SetMessageStatus=0x20, */
-/* IDL: op_MAPI_GetAttachmentTable=0x21, */
-/* IDL: op_MAPI_OpenAttach=0x22, */
-/* IDL: op_MAPI_CreateAttach=0x23, */
-/* IDL: op_MAPI_DeleteAttach=0x24, */
-/* IDL: op_MAPI_SaveChanges=0x25, */
-/* IDL: op_MAPI_SetReceiveFolder=0x26, */
-/* IDL: op_MAPI_GetReceiveFolder=0x27, */
-/* IDL: op_MAPI_Advise=0x29, */
-/* IDL: op_MAPI_Notify=0x2a, */
-/* IDL: op_MAPI_OpenStream=0x2b, */
-/* IDL: op_MAPI_ReadStream=0x2c, */
-/* IDL: op_MAPI_WriteStream=0x2d, */
-/* IDL: op_MAPI_SetSearchCriteria=0x30, */
-/* IDL: op_MAPI_GetSearchCriteria=0x31, */
-/* IDL: op_MAPI_SubmitMessage=0x32, */
-/* IDL: op_MAPI_CopyMessages=0x33, */
-/* IDL: op_MAPI_QueryColumns=0x37, */
-/* IDL: op_MAPI_GetTable=0x3e, */
-/* IDL: op_MAPI_ModifyTable=0x40, */
-/* IDL: op_MAPI_FindRow=0x4f, */
-/* IDL: op_MAPI_AddressTypes=0x49, */
-/* IDL: op_MAPI_GetNamesFromIDs=0x55, */
-/* IDL: op_MAPI_GetIDsFromNames=0x56, */
-/* IDL: op_MAPI_EmptyFolder=0x58, */
-/* IDL: op_MAPI_QueryNamesFromIDs=0x5f, */
-/* IDL: op_MAPI_GetReceiveFolderTable=0x68, */
-/* IDL: op_MAPI_OpenMsgStore=0xfe, */
-/* IDL: } */
-
-int
-mapi_dissect_enum_MAPI_OPNUM(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+/* IDL: RopNone=0x00, */
+/* IDL: RopRelease=0x01, */
+/* IDL: RopOpenFolder=0x02, */
+/* IDL: RopOpenMessage=0x03, */
+/* IDL: RopGetHierarchyTable=0x04, */
+/* IDL: RopGetContentsTable=0x05, */
+/* IDL: RopCreateMessage=0x06, */
+/* IDL: RopGetPropertiesSpecific=0x07, */
+/* IDL: RopGetPropertiesAll=0x08, */
+/* IDL: RopGetPropertiesList=0x09, */
+/* IDL: RopSetProperties=0x0a, */
+/* IDL: RopDeleteProperties=0x0b, */
+/* IDL: RopSaveChangesMessage=0x0c, */
+/* IDL: RopRemoveAllRecipients=0x0d, */
+/* IDL: RopModifyRecipients=0x0e, */
+/* IDL: RopReadRecipients=0x0f, */
+/* IDL: RopReloadCachedInformation=0x10, */
+/* IDL: RopSetMessageReadFlag=0x11, */
+/* IDL: RopSetColumns=0x12, */
+/* IDL: RopSortTable=0x13, */
+/* IDL: RopRestrict=0x14, */
+/* IDL: RopQueryRows=0x15, */
+/* IDL: RopGetStatus=0x16, */
+/* IDL: RopQueryPosition=0x17, */
+/* IDL: RopSeekRow=0x18, */
+/* IDL: RopSeekRowBookmark=0x19, */
+/* IDL: RopSeekRowFractional=0x1a, */
+/* IDL: RopCreateBookmark=0x1b, */
+/* IDL: RopCreateFolder=0x1c, */
+/* IDL: RopDeleteFolder=0x1d, */
+/* IDL: RopDeleteMessages=0x1e, */
+/* IDL: RopGetMessageStatus=0x1f, */
+/* IDL: RopSetMessageStatus=0x20, */
+/* IDL: RopGetAttachmentTable=0x21, */
+/* IDL: RopOpenAttachment=0x22, */
+/* IDL: RopCreateAttachment=0x23, */
+/* IDL: RopDeleteAttachment=0x24, */
+/* IDL: RopSaveChangesAttachment=0x25, */
+/* IDL: RopSetReceiveFolder=0x26, */
+/* IDL: RopGetReceiveFolder=0x27, */
+/* IDL: RopSpoolerRules=0x28, */
+/* IDL: RopRegisterNotification=0x29, */
+/* IDL: RopNotify=0x2a, */
+/* IDL: RopOpenStream=0x2b, */
+/* IDL: RopReadStream=0x2c, */
+/* IDL: RopWriteStream=0x2d, */
+/* IDL: RopSeekStream=0x2e, */
+/* IDL: RopSetStreamSize=0x2f, */
+/* IDL: RopSetSearchCriteria=0x30, */
+/* IDL: RopGetSearchCriteria=0x31, */
+/* IDL: RopSubmitMessage=0x32, */
+/* IDL: RopMoveCopyMessages=0x33, */
+/* IDL: RopAbortSubmit=0x34, */
+/* IDL: RopMoveFolder=0x35, */
+/* IDL: RopCopyFolder=0x36, */
+/* IDL: RopQueryColumnsAll=0x37, */
+/* IDL: RopAbort=0x38, */
+/* IDL: RopCopyTo=0x39, */
+/* IDL: RopCopyToStream=0x3a, */
+/* IDL: RopCloneStream=0x3b, */
+/* IDL: RopRegisterTableNotification=0x3c, */
+/* IDL: RopDeregisterTableNotification=0x3d, */
+/* IDL: RopGetPermissionsTable=0x3e, */
+/* IDL: RopGetRulesTable=0x3f, */
+/* IDL: RopModifyPermissions=0x40, */
+/* IDL: RopModifyRules=0x41, */
+/* IDL: RopGetOwningServers=0x42, */
+/* IDL: RopLongTermIdFromId=0x43, */
+/* IDL: RopIdFromLongTermId=0x44, */
+/* IDL: RopPublicFolderIsGhosted=0x45, */
+/* IDL: RopOpenEmbeddedMessage=0x46, */
+/* IDL: RopSetSpooler=0x47, */
+/* IDL: RopSpoolerLockMessage=0x48, */
+/* IDL: RopGetAddressTypes=0x49, */
+/* IDL: RopTransportSend=0x4a, */
+/* IDL: RopFastTransferSourceCopyMessages=0x4b, */
+/* IDL: RopFastTransferSourceCopyFolder=0x4c, */
+/* IDL: RopFastTransferSourceCopyTo=0x4d, */
+/* IDL: RopFastTransferSourceGetBuffer=0x4e, */
+/* IDL: RopFindRow=0x4f, */
+/* IDL: RopProgress=0x50, */
+/* IDL: RopTransportNewMail=0x51, */
+/* IDL: RopGetValidAttachments=0x52, */
+/* IDL: RopFastTransferDestinationConfigure=0x53, */
+/* IDL: RopFastTransferDestinationPutBuffer=0x54, */
+/* IDL: RopGetNamesFromPropertyIds=0x55, */
+/* IDL: RopGetPropertyIdsFromNames=0x56, */
+/* IDL: RopUpdateDeferredActionMessages=0x57, */
+/* IDL: RopEmptyFolder=0x58, */
+/* IDL: RopExpandRow=0x59, */
+/* IDL: RopCollapseRow=0x5a, */
+/* IDL: RopLockRegionStream=0x5b, */
+/* IDL: RopUnlockRegionStream=0x5c, */
+/* IDL: RopCommitStream=0x5d, */
+/* IDL: RopGetStreamSize=0x5e, */
+/* IDL: RopQueryNamedProperties=0x5f, */
+/* IDL: RopGetPerUserLongTermIds=0x60, */
+/* IDL: RopGetPerUserGuid=0x61, */
+/* IDL: RopFlushPerUser=0x62, */
+/* IDL: RopReadPerUserInformation=0x63, */
+/* IDL: RopWritePerUserInformation=0x64, */
+/* IDL: RopCacheCcnRead=0x65, */
+/* IDL: RopSetReadFlags=0x66, */
+/* IDL: RopCopyProperties=0x67, */
+/* IDL: RopGetReceiveFolderTable=0x68, */
+/* IDL: RopFastTransferSourceCopyProperties=0x69, */
+/* IDL: RopFastTransferDestinationCopyProperties=0x6a, */
+/* IDL: RopGetCollapseState=0x6b, */
+/* IDL: RopSetCollapseState=0x6c, */
+/* IDL: RopGetTransportFolder=0x6d, */
+/* IDL: RopPending=0x6e, */
+/* IDL: RopOptionsData=0x6f, */
+/* IDL: RopSynchronizationConfigure=0x70, */
+/* IDL: RopIncrState=0x71, */
+/* IDL: RopSynchronizationImportMessageChange=0x72, */
+/* IDL: RopSynchronizationImportHierarchyChange=0x73, */
+/* IDL: RopSynchronizationImportDeletes=0x74, */
+/* IDL: RopSynchronizationUploadStateStreamBegin=0x75, */
+/* IDL: RopSynchronizationUploadStateStreamContinue=0x76, */
+/* IDL: RopSynchronizationUploadStateStreamEnd=0x77, */
+/* IDL: RopSynchronizationImportMessageMove=0x78, */
+/* IDL: RopSetPropertiesNoReplicate=0x79, */
+/* IDL: RopDeletePropertiesNoReplicate=0x7a, */
+/* IDL: RopGetStoreState=0x7b, */
+/* IDL: RopGetRights=0x7c, */
+/* IDL: RopGetAllPerUserLtids=0x7d, */
+/* IDL: RopSynchronizationOpenCollector=0x7e, */
+/* IDL: RopGetLocalReplicaIds=0x7f, */
+/* IDL: RopSynchronizationImportReadStateChanges=0x80, */
+/* IDL: RopResetTable=0x81, */
+/* IDL: RopSynchronizationGetTransferState=0x82, */
+/* IDL: RopOpenAdvisor=0x83, */
+/* IDL: RopRegICSNotifs=0x84, */
+/* IDL: RopOpenCStream=0x85, */
+/* IDL: RopTellVersion=0x86, */
+/* IDL: RopOpenPublicFolderByName=0x87, */
+/* IDL: RopSetSyncNotificationGuid=0x88, */
+/* IDL: RopFreeBookmark=0x89, */
+/* IDL: RopWriteAndCommitStream=0x90, */
+/* IDL: RopHardDeleteMessages=0x91, */
+/* IDL: RopHardDeleteMessagesAndSubfolders=0x92, */
+/* IDL: RopSetLocalReplicaMidsetDeleted=0x93, */
+/* IDL: RopTransportDeliverMessage=0x94, */
+/* IDL: RopTransportDoneWithMessage=0x95, */
+/* IDL: RopIdFromLegacyDN=0x96, */
+/* IDL: RopSetAuthenticatedContext=0x97, */
+/* IDL: RopCopyToEx=0x98, */
+/* IDL: RopImportMsgChangePartial=0x99, */
+/* IDL: RopSetMessageFlags=0x9a, */
+/* IDL: RopMoveCopyMessagesEx=0x9b, */
+/* IDL: RopFXSrcGetBufferEx=0x9c, */
+/* IDL: RopFXDstPutBufferEx=0x9d, */
+/* IDL: RopTransportDeliverMessage2=0x9e, */
+/* IDL: RopCreateMessageEx=0x9f, */
+/* IDL: RopMoveCopyMessagesEID=0xA0, */
+/* IDL: RopTransportDupDlvCheck=0xA1, */
+/* IDL: RopPrereadMessages=0xA2, */
+/* IDL: RopWriteStreamExtended=0xA3, */
+/* IDL: RopGetContentsTableExtended=0xA4, */
+/* IDL: RopStartScope=0xA5, */
+/* IDL: RopEndScope=0xA6, */
+/* IDL: RopEchoString=0xC8, */
+/* IDL: RopEchoInt=0xC9, */
+/* IDL: RopEchoBinary=0xCA, */
+/* IDL: RopBackoff=0xF9, */
+/* IDL: RopExtendedError=0xFA, */
+/* IDL: RopBookmarkReturned=0xFB, */
+/* IDL: RopFidReturned=0xFC, */
+/* IDL: RopHsotReturned=0xFd, */
+/* IDL: RopLogon=0xFE, */
+/* IDL: RopBufferTooSmall=0xFF, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_ROP_OPNUM(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
{
guint8 parameter=0;
if (param) {
@@ -8104,53 +12577,60 @@ mapi_dissect_enum_MAPI_OPNUM(tvbuff_t *tvb _U_, int offset _U_, packet_info *pin
/* IDL: struct { */
-/* IDL: uint32 dwLowDateTime; */
-/* IDL: uint32 dwHighDateTime; */
+/* IDL: uint16 cb; */
+/* IDL: [flag(NDR_BUFFERS)] [size_is(cb)] uint8 lpb[*]; */
/* IDL: } */
static int
-mapi_dissect_element_FILETIME_dwLowDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_SBinary_short_cb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FILETIME_dwLowDateTime, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SBinary_short_cb, 0);
return offset;
}
static int
-mapi_dissect_element_FILETIME_dwHighDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_SBinary_short_lpb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FILETIME_dwHighDateTime, 0);
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SBinary_short_lpb_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SBinary_short_lpb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SBinary_short_lpb, 0);
return offset;
}
int
-mapi_dissect_struct_FILETIME(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_struct_SBinary_short(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
int old_offset;
- ALIGN_TO_4_BYTES;
+ di->no_align = TRUE;
old_offset = offset;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_FILETIME);
+ tree = proto_item_add_subtree(item, ett_mapi_SBinary_short);
}
- offset = mapi_dissect_element_FILETIME_dwLowDateTime(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_SBinary_short_cb(tvb, offset, pinfo, tree, di, drep);
- offset = mapi_dissect_element_FILETIME_dwHighDateTime(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_SBinary_short_lpb(tvb, offset, pinfo, tree, di, drep);
proto_item_set_len(item, offset-old_offset);
- if (di->call_data->flags & DCERPC_IS_NDR64) {
- ALIGN_TO_4_BYTES;
- }
+ di->no_align = oldalign;
return offset;
}
@@ -8158,9 +12638,64 @@ mapi_dissect_struct_FILETIME(tvbuff_t *tvb _U_, int offset _U_, packet_info *pin
/* IDL: struct { */
/* IDL: uint32 cValues; */
-/* IDL: uint32 lpl[cValues]; */
+/* IDL: [size_is(cValues)] uint32 lpl[*]; */
/* IDL: } */
+static int
+mapi_dissect_element_MV_LONG_STRUCT_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_MV_LONG_STRUCT_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MV_LONG_STRUCT_lpl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_MV_LONG_STRUCT_lpl_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MV_LONG_STRUCT_lpl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_MV_LONG_STRUCT_lpl, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MV_LONG_STRUCT(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_MV_LONG_STRUCT);
+ }
+
+ offset = mapi_dissect_element_MV_LONG_STRUCT_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MV_LONG_STRUCT_lpl(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
/* IDL: struct { */
/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lppszA; */
@@ -8169,7 +12704,7 @@ mapi_dissect_struct_FILETIME(tvbuff_t *tvb _U_, int offset _U_, packet_info *pin
static int
mapi_dissect_element_LPSTR_lppszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_LPSTR_lppszA , 0);
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_mapi_LPSTR_lppszA , 0);
return offset;
}
@@ -8187,7 +12722,7 @@ mapi_dissect_struct_LPSTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_LPSTR);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_LPSTR);
}
offset = mapi_dissect_element_LPSTR_lppszA(tvb, offset, pinfo, tree, di, drep);
@@ -8206,56 +12741,465 @@ mapi_dissect_struct_LPSTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo
/* IDL: struct { */
/* IDL: uint32 cValues; */
-/* IDL: LPSTR strings[cValues]; */
+/* IDL: [size_is(cValues)] mapi_LPSTR strings[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SLPSTRArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SLPSTRArray_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SLPSTRArray_strings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SLPSTRArray_strings_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SLPSTRArray_strings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LPSTR(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SLPSTRArray_strings,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SLPSTRArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SLPSTRArray);
+ }
+
+ offset = mapi_dissect_element_SLPSTRArray_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SLPSTRArray_strings(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string lppszW; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LPWSTR_lppszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_mapi_LPWSTR_lppszW , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LPWSTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_LPWSTR);
+ }
+
+ offset = mapi_dissect_element_LPWSTR_lppszW(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 cValues; */
+/* IDL: [size_is(cValues)] mapi_LPWSTR strings[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SPLSTRArrayW_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPLSTRArrayW_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPLSTRArrayW_strings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SPLSTRArrayW_strings_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPLSTRArrayW_strings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LPWSTR(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPLSTRArrayW_strings,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SPLSTRArrayW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPLSTRArrayW);
+ }
+
+ offset = mapi_dissect_element_SPLSTRArrayW_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SPLSTRArrayW_strings(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 cValues; */
+/* IDL: [size_is(cValues)] SBinary_short bin[*]; */
/* IDL: } */
+static int
+mapi_dissect_element_SBinaryArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SBinaryArray_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SBinaryArray_bin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SBinaryArray_bin_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SBinaryArray_bin_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SBinaryArray_bin,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SBinaryArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SBinaryArray);
+ }
+
+ offset = mapi_dissect_element_SBinaryArray_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SBinaryArray_bin(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
/* IDL: struct { */
/* IDL: uint32 cValues; */
-/* IDL: GUID lpguid[cValues]; */
+/* IDL: [size_is(cValues)] GUID lpguid[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SGuidArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SGuidArray_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SGuidArray_lpguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SGuidArray_lpguid_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SGuidArray_lpguid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SGuidArray_lpguid, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SGuidArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SGuidArray);
+ }
+
+ offset = mapi_dissect_element_SGuidArray_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SGuidArray_lpguid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 wrap[0x8000]; */
/* IDL: } */
+static int
+mapi_dissect_element_SRestriction_wrap_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0x8000; i++)
+ offset = mapi_dissect_element_SRestriction_wrap_wrap_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_wrap_wrap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SRestriction_wrap_wrap, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SRestriction_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SRestriction_wrap);
+ }
+
+ offset = mapi_dissect_element_SRestriction_wrap_wrap(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 wrap[0x8000]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SPropValue_wrap_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0x8000; i++)
+ offset = mapi_dissect_element_SPropValue_wrap_wrap_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_wrap_wrap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_wrap_wrap, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SPropValue_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPropValue_wrap);
+ }
+
+ offset = mapi_dissect_element_SPropValue_wrap_wrap(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 wrap[0x8000]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SPropValue_array_wrap_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0x8000; i++)
+ offset = mapi_dissect_element_SPropValue_array_wrap_wrap_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_array_wrap_wrap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_array_wrap_wrap, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SPropValue_array_wrap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPropValue_array_wrap);
+ }
+
+ offset = mapi_dissect_element_SPropValue_array_wrap_wrap(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
/* IDL: enum { */
-/* IDL: PT_UNSPECIFIED=0x0000, */
-/* IDL: PT_NULL=0x0001, */
-/* IDL: PT_I2=0x0002, */
-/* IDL: PT_LONG=0x0003, */
-/* IDL: PT_R4=0x0004, */
-/* IDL: PT_DOUBLE=0x0005, */
-/* IDL: PT_CURRENCY=0x0006, */
-/* IDL: PT_APPTIME=0x0007, */
-/* IDL: PT_ERROR=0x000a, */
-/* IDL: PT_BOOLEAN=0x000b, */
-/* IDL: PT_OBJECT=0x000d, */
-/* IDL: PT_I8=0x0014, */
-/* IDL: PT_STRING8=0x001e, */
-/* IDL: PT_UNICODE=0x001f, */
-/* IDL: PT_SYSTIME=0x0040, */
-/* IDL: PT_CLSID=0x0048, */
-/* IDL: PT_BINARY=0x0102, */
-/* IDL: PT_MV_I2=0x1002, */
-/* IDL: PT_MV_LONG=0x1003, */
-/* IDL: PT_MV_R4=0x1004, */
-/* IDL: PT_MV_DOUBLE=0x1005, */
-/* IDL: PT_MV_CURRENCY=0x1006, */
-/* IDL: PT_MV_APPTIME=0x1007, */
-/* IDL: PT_MV_I8=0x1014, */
-/* IDL: PT_MV_STRING8=0x101e, */
-/* IDL: PT_MV_UNICODE=0x101f, */
-/* IDL: PT_MV_SYSTIME=0x1040, */
-/* IDL: PT_MV_CLSID=0x1048, */
-/* IDL: PT_MV_BINARY=0x1102, */
-/* IDL: } */
-
-int
-mapi_dissect_enum_property_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
+/* IDL: ActionType_OP_MOVE=0x1, */
+/* IDL: ActionType_OP_COPY=0x2, */
+/* IDL: ActionType_OP_REPLY=0x3, */
+/* IDL: ActionType_OP_OOF_REPLY=0x4, */
+/* IDL: ActionType_OP_DEFER_ACTION=0x5, */
+/* IDL: ActionType_OP_BOUNCE=0x6, */
+/* IDL: ActionType_OP_FORWARD=0x7, */
+/* IDL: ActionType_OP_DELEGATE=0x8, */
+/* IDL: ActionType_OP_TAG=0x9, */
+/* IDL: ActionType_OP_DELETE=0xA, */
+/* IDL: ActionType_OP_MARK_AS_READ=0xB, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_ActionType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
{
- guint32 parameter=0;
+ guint8 parameter=0;
if (param) {
parameter = *param;
}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
if (param) {
*param = parameter;
}
@@ -8263,47 +13207,980 @@ mapi_dissect_enum_property_types(tvbuff_t *tvb _U_, int offset _U_, packet_info
}
-/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [switch_type(property_types)] union { */
-/* IDL: [case(PT_I2)] [case(PT_I2)] uint16 i; */
-/* IDL: [case(PT_LONG)] [case(PT_LONG)] uint32 l; */
-/* IDL: [case(PT_DOUBLE)] [case(PT_DOUBLE)] dlong dbl; */
-/* IDL: [case(PT_ERROR)] [case(PT_ERROR)] uint32 err; */
-/* IDL: [case(PT_BOOLEAN)] [case(PT_BOOLEAN)] uint8 b; */
-/* IDL: [case(PT_I8)] [case(PT_I8)] dlong d; */
-/* IDL: [case(PT_STRING8)] [case(PT_STRING8)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
-/* IDL: [case(PT_UNICODE)] [case(PT_UNICODE)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
-/* IDL: [case(PT_SYSTIME)] [case(PT_SYSTIME)] FILETIME ft; */
-/* IDL: [case(PT_CLSID)] [case(PT_CLSID)] GUID lpguid; */
+/* IDL: struct { */
+/* IDL: uint8 FolderInThisStore; */
+/* IDL: SBinary_short StoreEID; */
+/* IDL: SBinary_short FolderEID; */
/* IDL: } */
static int
-mapi_dissect_element_SPropValue_CTR_i(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_MoveCopy_Action_FolderInThisStore(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_i, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveCopy_Action_FolderInThisStore, 0);
return offset;
}
static int
-mapi_dissect_element_SPropValue_CTR_l(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_MoveCopy_Action_StoreEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_l, 0);
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_MoveCopy_Action_StoreEID,0);
return offset;
}
static int
-mapi_dissect_element_SPropValue_CTR_dbl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_MoveCopy_Action_FolderEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_dbl, NULL);
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_MoveCopy_Action_FolderEID,0);
return offset;
}
+int
+mapi_dissect_struct_MoveCopy_Action(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MoveCopy_Action);
+ }
+
+ offset = mapi_dissect_element_MoveCopy_Action_FolderInThisStore(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveCopy_Action_StoreEID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveCopy_Action_FolderEID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper ReplyTemplateFID; */
+/* IDL: hyper ReplyTemplateMID; */
+/* IDL: GUID ReplyTemplateGUID; */
+/* IDL: } */
+
static int
-mapi_dissect_element_SPropValue_CTR_err(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_ReplyOOF_Action_ReplyTemplateFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReplyOOF_Action_ReplyTemplateFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReplyOOF_Action_ReplyTemplateMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReplyOOF_Action_ReplyTemplateMID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReplyOOF_Action_ReplyTemplateGUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReplyOOF_Action_ReplyTemplateGUID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReplyOOF_Action(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReplyOOF_Action);
+ }
+
+ offset = mapi_dissect_element_ReplyOOF_Action_ReplyTemplateFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReplyOOF_Action_ReplyTemplateMID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReplyOOF_Action_ReplyTemplateGUID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 Reserved; */
+/* IDL: mapi_SPropValue_array_wrap PropertyValue; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RecipientBlock_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientBlock_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientBlock_PropertyValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array_wrap(tvb,offset,pinfo,tree,di,drep,hf_mapi_RecipientBlock_PropertyValue,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RecipientBlock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RecipientBlock);
+ }
+
+ offset = mapi_dissect_element_RecipientBlock_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientBlock_PropertyValue(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: BOUNCE_MESSAGE_TOO_LARGE=0x0000000d, */
+/* IDL: BOUNCE_MESSAGE_NOT_DISPLAYED=0x0000001f, */
+/* IDL: BOUNCE_MESSAGE_DENIED=0x00000026, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_BounceCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
+{
+ guint1632 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 RecipientCount; */
+/* IDL: [size_is(RecipientCount)] RecipientBlock RecipientBlock[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ForwardDelegate_Action_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ForwardDelegate_Action_RecipientCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ForwardDelegate_Action_RecipientBlock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ForwardDelegate_Action_RecipientBlock_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ForwardDelegate_Action_RecipientBlock_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipientBlock(tvb,offset,pinfo,tree,di,drep,hf_mapi_ForwardDelegate_Action_RecipientBlock,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ForwardDelegate_Action(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_err, 0);
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ForwardDelegate_Action);
+ }
+
+ offset = mapi_dissect_element_ForwardDelegate_Action_RecipientCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ForwardDelegate_Action_RecipientBlock(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(ActionType_OP_MOVE)] [case(ActionType_OP_MOVE)] MoveCopy_Action MoveAction; */
+/* IDL: [case(ActionType_OP_COPY)] [case(ActionType_OP_COPY)] MoveCopy_Action CopyAction; */
+/* IDL: [case(ActionType_OP_REPLY)] [case(ActionType_OP_REPLY)] ReplyOOF_Action ReplyAction; */
+/* IDL: [case(ActionType_OP_OOF_REPLY)] [case(ActionType_OP_OOF_REPLY)] ReplyOOF_Action ReplyOOFAction; */
+/* IDL: [case(ActionType_OP_DEFER_ACTION)] [case(ActionType_OP_DEFER_ACTION)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB DeferAction; */
+/* IDL: [case(ActionType_OP_BOUNCE)] [case(ActionType_OP_BOUNCE)] BounceCode BounceCode; */
+/* IDL: [case(ActionType_OP_TAG)] [case(ActionType_OP_TAG)] mapi_SPropValue_wrap PropValue; */
+/* IDL: [case(ActionType_OP_FORWARD)] [case(ActionType_OP_FORWARD)] ForwardDelegate_Action ForwardAction; */
+/* IDL: [case(ActionType_OP_DELEGATE)] [case(ActionType_OP_DELEGATE)] ForwardDelegate_Action DelegateAction; */
+/* IDL: [case(ActionType_OP_DELETE)] [case(ActionType_OP_DELETE)] EMPTY ; */
+/* IDL: [case(ActionType_OP_MARK_AS_READ)] [case(ActionType_OP_MARK_AS_READ)] EMPTY ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ActionData_MoveAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MoveCopy_Action(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_MoveAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_CopyAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MoveCopy_Action(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_CopyAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_ReplyAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReplyOOF_Action(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_ReplyAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_ReplyOOFAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReplyOOF_Action(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_ReplyOOFAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_DeferAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_ActionData_DeferAction, 1);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_BounceCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_BounceCode(tvb, offset, pinfo, tree, di, drep, hf_mapi_ActionData_BounceCode, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_PropValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_wrap(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_PropValue,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_ForwardAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ForwardDelegate_Action(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_ForwardAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionData_DelegateAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ForwardDelegate_Action(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionData_DelegateAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_ActionData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_ActionData, &item, "ActionData");
+ }
+
+ switch(level) {
+ case ActionType_OP_MOVE:
+ offset = mapi_dissect_element_ActionData_MoveAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_COPY:
+ offset = mapi_dissect_element_ActionData_CopyAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_REPLY:
+ offset = mapi_dissect_element_ActionData_ReplyAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_OOF_REPLY:
+ offset = mapi_dissect_element_ActionData_ReplyOOFAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_DEFER_ACTION:
+ offset = mapi_dissect_element_ActionData_DeferAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_BOUNCE:
+ offset = mapi_dissect_element_ActionData_BounceCode(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_TAG:
+ offset = mapi_dissect_element_ActionData_PropValue(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_FORWARD:
+ offset = mapi_dissect_element_ActionData_ForwardAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_DELEGATE:
+ offset = mapi_dissect_element_ActionData_DelegateAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case ActionType_OP_DELETE:
+ break;
+
+ case ActionType_OP_MARK_AS_READ:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: ActionType ActionType; */
+/* IDL: uint32 ActionFlavor; */
+/* IDL: uint32 ActionFlags; */
+/* IDL: [switch_is(ActionType)] ActionData ActionDataBuffer; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ActionBlockData_ActionType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ActionType)
+{
+ offset = mapi_dissect_enum_ActionType(tvb, offset, pinfo, tree, di, drep, hf_mapi_ActionBlockData_ActionType, ActionType);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionBlockData_ActionFlavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ActionBlockData_ActionFlavor, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionBlockData_ActionFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ActionBlockData_ActionFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ActionBlockData_ActionDataBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ActionType)
+{
+ offset = mapi_dissect_ActionData(tvb, offset, pinfo, tree, di, drep, hf_mapi_ActionBlockData_ActionDataBuffer, *ActionType);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ActionBlockData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 ActionType = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ActionBlockData);
+ }
+
+ offset = mapi_dissect_element_ActionBlockData_ActionType(tvb, offset, pinfo, tree, di, drep, &ActionType);
+
+ offset = mapi_dissect_element_ActionBlockData_ActionFlavor(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ActionBlockData_ActionFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ActionBlockData_ActionDataBuffer(tvb, offset, pinfo, tree, di, drep, &ActionType);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] ActionBlockData ActionBlockData; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ActionBlock_ActionBlockData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ActionBlockData(tvb,offset,pinfo,tree,di,drep,hf_mapi_ActionBlock_ActionBlockData,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ActionBlock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ActionBlock);
+ }
+
+ offset = mapi_dissect_element_ActionBlock_ActionBlockData(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 count; */
+/* IDL: [size_is(count)] ActionBlock ActionBlock[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RuleAction_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RuleAction_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RuleAction_ActionBlock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_RuleAction_ActionBlock_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RuleAction_ActionBlock_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ActionBlock(tvb,offset,pinfo,tree,di,drep,hf_mapi_RuleAction_ActionBlock,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RuleAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RuleAction);
+ }
+
+ offset = mapi_dissect_element_RuleAction_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RuleAction_ActionBlock(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [range(0,100000)] uint32 cValues; */
+/* IDL: [size_is(cValues)] [unique(1)] uint16 *lpi; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ShortArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ShortArray_r_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ShortArray_r_lpi(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ShortArray_r_lpi_, NDR_POINTER_UNIQUE, "Pointer to Lpi (uint16)",hf_mapi_ShortArray_r_lpi);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ShortArray_r_lpi_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ShortArray_r_lpi__);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ShortArray_r_lpi__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ShortArray_r_lpi, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ShortArray_r(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ShortArray_r);
+ }
+
+ offset = mapi_dissect_element_ShortArray_r_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ShortArray_r_lpi(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [range(0,100000)] uint32 cValues; */
+/* IDL: [size_is(cValues)] [unique(1)] uint32 *lpl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LongArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongArray_r_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongArray_r_lpl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_LongArray_r_lpl_, NDR_POINTER_UNIQUE, "Pointer to Lpl (uint32)",hf_mapi_LongArray_r_lpl);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongArray_r_lpl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_LongArray_r_lpl__);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongArray_r_lpl__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongArray_r_lpl, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LongArray_r(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LongArray_r);
+ }
+
+ offset = mapi_dissect_element_LongArray_r_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LongArray_r_lpl(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [range(0,100000)] uint32 cValues; */
+/* IDL: [size_is(cValues)] [unique(1)] Binary_r *lpbin; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_BinaryArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_BinaryArray_r_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_BinaryArray_r_lpbin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_BinaryArray_r_lpbin_, NDR_POINTER_UNIQUE, "Pointer to Lpbin (Binary_r)",hf_mapi_BinaryArray_r_lpbin);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_BinaryArray_r_lpbin_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_BinaryArray_r_lpbin__);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_BinaryArray_r_lpbin__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Binary_r(tvb,offset,pinfo,tree,di,drep,hf_mapi_BinaryArray_r_lpbin,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_BinaryArray_r(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_BinaryArray_r);
+ }
+
+ offset = mapi_dissect_element_BinaryArray_r_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_BinaryArray_r_lpbin(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [range(0,100000)] uint32 cValues; */
+/* IDL: [size_is(cValues)] [unique(1)] FILETIME *lpft; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DateTimeArray_r_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_DateTimeArray_r_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DateTimeArray_r_lpft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_DateTimeArray_r_lpft_, NDR_POINTER_UNIQUE, "Pointer to Lpft (FILETIME)",hf_mapi_DateTimeArray_r_lpft);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DateTimeArray_r_lpft_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_DateTimeArray_r_lpft__);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DateTimeArray_r_lpft__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FILETIME(tvb,offset,pinfo,tree,di,drep,hf_mapi_DateTimeArray_r_lpft,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DateTimeArray_r(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DateTimeArray_r);
+ }
+
+ offset = mapi_dissect_element_DateTimeArray_r_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DateTimeArray_r_lpft(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [range(0,2097152)] uint32 cb; */
+/* IDL: [size_is(cb)] [unique(1)] uint8 *lpb; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Binary_r_cb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_Binary_r_cb, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Binary_r_lpb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_Binary_r_lpb_, NDR_POINTER_UNIQUE, "Pointer to Lpb (uint8)",hf_mapi_Binary_r_lpb);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Binary_r_lpb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_Binary_r_lpb__);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Binary_r_lpb__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Binary_r_lpb, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Binary_r(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Binary_r);
+ }
+
+ offset = mapi_dissect_element_Binary_r_cb(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Binary_r_lpb(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: [switch_type(uint32)] union { */
+/* IDL: [case(0x2)] [case(0x2)] uint16 i; */
+/* IDL: [case(0x3)] [case(0x3)] uint32 l; */
+/* IDL: [case(0x5)] [case(0x5)] dlong dbl; */
+/* IDL: [case(0xb)] [case(0xb)] uint8 b; */
+/* IDL: [case(0x14)] [case(0x14)] dlong d; */
+/* IDL: [case(0x1e)] [case(0x1e)] [charset(DOS)] [unique(1)] uint8 *lpszA; */
+/* IDL: [case(0x102)] [case(0x102)] Binary_r bin; */
+/* IDL: [case(0xFB)] [case(0xFB)] SBinary_short svreid; */
+/* IDL: [case(0x1f)] [case(0x1f)] [charset(UTF16)] [unique(1)] uint16 *lpszW; */
+/* IDL: [case(0x48)] [case(0x48)] [unique(1)] GUID *lpguid; */
+/* IDL: [case(0xFD)] [case(0xFD)] mapi_SRestriction_wrap Restrictions; */
+/* IDL: [case(0xFE)] [case(0xFE)] RuleAction RuleAction; */
+/* IDL: [case(0x40)] [case(0x40)] FILETIME ft; */
+/* IDL: [case(0xa)] [case(0xa)] MAPISTATUS err; */
+/* IDL: [case(PT_MV_I2)] [case(PT_MV_I2)] ShortArray_r MVi; */
+/* IDL: [case(PT_MV_LONG)] [case(PT_MV_LONG)] LongArray_r MVl; */
+/* IDL: [case(PT_MV_STRING8)] [case(PT_MV_STRING8)] mapi_SLPSTRArray MVszA; */
+/* IDL: [case(PT_MV_BINARY)] [case(PT_MV_BINARY)] mapi_SBinaryArray MVbin; */
+/* IDL: [case(PT_MV_CLSID)] [case(PT_MV_CLSID)] mapi_SGuidArray MVguid; */
+/* IDL: [case(PT_MV_UNICODE)] [case(PT_MV_UNICODE)] mapi_SPLSTRArrayW MVszW; */
+/* IDL: [case(PT_MV_SYSTIME)] [case(PT_MV_SYSTIME)] DateTimeArray_r MVft; */
+/* IDL: [case(0x1)] [case(0x1)] uint32 null; */
+/* IDL: [case(0xd)] [case(0xd)] uint32 object; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SPropValue_CTR_i(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_i, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_l(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_l, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_dbl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_dbl, NULL);
return offset;
}
@@ -8311,7 +14188,7 @@ mapi_dissect_element_SPropValue_CTR_err(tvbuff_t *tvb _U_, int offset _U_, packe
static int
mapi_dissect_element_SPropValue_CTR_b(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_b, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_b, 0);
return offset;
}
@@ -8319,7 +14196,7 @@ mapi_dissect_element_SPropValue_CTR_b(tvbuff_t *tvb _U_, int offset _U_, packet_
static int
mapi_dissect_element_SPropValue_CTR_d(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_d, NULL);
+ offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_d, NULL);
return offset;
}
@@ -8327,7 +14204,34 @@ mapi_dissect_element_SPropValue_CTR_d(tvbuff_t *tvb _U_, int offset _U_, packet_
static int
mapi_dissect_element_SPropValue_CTR_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_SPropValue_CTR_lpszA , 0);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SPropValue_CTR_lpszA_, NDR_POINTER_UNIQUE, "Pointer to LpszA (uint8)",hf_mapi_mapi_SPropValue_CTR_lpszA);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_lpszA_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_SPropValue_CTR_lpszA, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_bin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Binary_r(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_bin,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_svreid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_svreid,0);
return offset;
}
@@ -8335,15 +14239,18 @@ mapi_dissect_element_SPropValue_CTR_lpszA(tvbuff_t *tvb _U_, int offset _U_, pac
static int
mapi_dissect_element_SPropValue_CTR_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_SPropValue_CTR_lpszW , 0);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SPropValue_CTR_lpszW_, NDR_POINTER_UNIQUE, "Pointer to LpszW (uint16)",hf_mapi_mapi_SPropValue_CTR_lpszW);
return offset;
}
static int
-mapi_dissect_element_SPropValue_CTR_ft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_SPropValue_CTR_lpszW_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_struct_FILETIME(tvb,offset,pinfo,tree,di,drep,hf_mapi_SPropValue_CTR_ft,0);
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_mapi_mapi_SPropValue_CTR_lpszW, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
@@ -8351,7 +14258,119 @@ mapi_dissect_element_SPropValue_CTR_ft(tvbuff_t *tvb _U_, int offset _U_, packet
static int
mapi_dissect_element_SPropValue_CTR_lpguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_CTR_lpguid, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SPropValue_CTR_lpguid_, NDR_POINTER_UNIQUE, "Pointer to Lpguid (GUID)",hf_mapi_mapi_SPropValue_CTR_lpguid);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_lpguid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_lpguid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_Restrictions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction_wrap(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_Restrictions,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_RuleAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RuleAction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_RuleAction,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_ft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FILETIME(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_ft,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_err(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPISTATUS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_err, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVi(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ShortArray_r(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVi,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongArray_r(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVl,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SLPSTRArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVszA,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVbin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinaryArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVbin,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SGuidArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVguid,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPLSTRArrayW(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVszW,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_MVft(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DateTimeArray_r(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_CTR_MVft,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_null, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_CTR_object(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_CTR_object, 0);
return offset;
}
@@ -8366,51 +14385,103 @@ mapi_dissect_SPropValue_CTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinf
old_offset = offset;
if (parent_tree) {
- tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_SPropValue_CTR, &item, "SPropValue_CTR");
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_mapi_SPropValue_CTR, &item, "mapi_SPropValue_CTR");
}
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
- ALIGN_TO_4_BYTES;
+ ALIGN_TO_8_BYTES;
switch(level) {
- case PT_I2:
+ case 0x2:
offset = mapi_dissect_element_SPropValue_CTR_i(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_LONG:
+ case 0x3:
offset = mapi_dissect_element_SPropValue_CTR_l(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_DOUBLE:
+ case 0x5:
offset = mapi_dissect_element_SPropValue_CTR_dbl(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_ERROR:
- offset = mapi_dissect_element_SPropValue_CTR_err(tvb, offset, pinfo, tree, di, drep);
- break;
-
- case PT_BOOLEAN:
+ case 0xb:
offset = mapi_dissect_element_SPropValue_CTR_b(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_I8:
+ case 0x14:
offset = mapi_dissect_element_SPropValue_CTR_d(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_STRING8:
+ case 0x1e:
offset = mapi_dissect_element_SPropValue_CTR_lpszA(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_UNICODE:
+ case 0x102:
+ offset = mapi_dissect_element_SPropValue_CTR_bin(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xFB:
+ offset = mapi_dissect_element_SPropValue_CTR_svreid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1f:
offset = mapi_dissect_element_SPropValue_CTR_lpszW(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_SYSTIME:
+ case 0x48:
+ offset = mapi_dissect_element_SPropValue_CTR_lpguid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xFD:
+ offset = mapi_dissect_element_SPropValue_CTR_Restrictions(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xFE:
+ offset = mapi_dissect_element_SPropValue_CTR_RuleAction(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x40:
offset = mapi_dissect_element_SPropValue_CTR_ft(tvb, offset, pinfo, tree, di, drep);
break;
- case PT_CLSID:
- offset = mapi_dissect_element_SPropValue_CTR_lpguid(tvb, offset, pinfo, tree, di, drep);
+ case 0xa:
+ offset = mapi_dissect_element_SPropValue_CTR_err(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_I2:
+ offset = mapi_dissect_element_SPropValue_CTR_MVi(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_LONG:
+ offset = mapi_dissect_element_SPropValue_CTR_MVl(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_STRING8:
+ offset = mapi_dissect_element_SPropValue_CTR_MVszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_BINARY:
+ offset = mapi_dissect_element_SPropValue_CTR_MVbin(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_CLSID:
+ offset = mapi_dissect_element_SPropValue_CTR_MVguid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_UNICODE:
+ offset = mapi_dissect_element_SPropValue_CTR_MVszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case PT_MV_SYSTIME:
+ offset = mapi_dissect_element_SPropValue_CTR_MVft(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_SPropValue_CTR_null(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xd:
+ offset = mapi_dissect_element_SPropValue_CTR_object(tvb, offset, pinfo, tree, di, drep);
break;
}
proto_item_set_len(item, offset-old_offset);
@@ -8421,13 +14492,13 @@ mapi_dissect_SPropValue_CTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinf
/* IDL: struct { */
/* IDL: MAPITAGS ulPropTag; */
-/* IDL: [switch_is(ulPropTag&0xFFFF)] SPropValue_CTR value; */
+/* IDL: [switch_is(ulPropTag&0xFFFF)] mapi_SPropValue_CTR value; */
/* IDL: } */
static int
mapi_dissect_element_SPropValue_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_SPropValue_ulPropTag, 0);
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_ulPropTag, 0);
return offset;
}
@@ -8435,7 +14506,7 @@ mapi_dissect_element_SPropValue_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, pac
static int
mapi_dissect_element_SPropValue_value(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_SPropValue_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_property_types, 0);
+ offset = mapi_dissect_SPropValue_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_value, 0);
return offset;
}
@@ -8454,7 +14525,7 @@ mapi_dissect_struct_SPropValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *p
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_SPropValue);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPropValue);
}
offset = mapi_dissect_element_SPropValue_ulPropTag(tvb, offset, pinfo, tree, di, drep);
@@ -8473,15 +14544,123 @@ mapi_dissect_struct_SPropValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *p
/* IDL: struct { */
/* IDL: uint16 cValues; */
-/* IDL: [flag(LIBNDR_FLAG_REMAINING)] SPropValue lpProps[cValues]; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [size_is(cValues)] mapi_SPropValue lpProps[*]; */
/* IDL: } */
+static int
+mapi_dissect_element_SPropValue_array_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropValue_array_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_array_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SPropValue_array_lpProps_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropValue_array_lpProps_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropValue_array_lpProps,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SPropValue_array(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPropValue_array);
+ }
+
+ offset = mapi_dissect_element_SPropValue_array_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SPropValue_array_lpProps(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
/* IDL: struct { */
/* IDL: uint16 cValues; */
-/* IDL: MAPITAGS aulPropTag[cValues]; */
+/* IDL: [size_is(cValues)] MAPITAGS aulPropTag[*]; */
/* IDL: } */
+static int
+mapi_dissect_element_SPropTagArray_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropTagArray_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropTagArray_aulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SPropTagArray_aulPropTag_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropTagArray_aulPropTag_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropTagArray_aulPropTag, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SPropTagArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPropTagArray);
+ }
+
+ offset = mapi_dissect_element_SPropTagArray_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SPropTagArray_aulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
/* IDL: enum { */
/* IDL: ROW_ADD=0x1, */
@@ -8505,19 +14684,28 @@ mapi_dissect_enum_ulRowFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pin
/* IDL: struct { */
-/* IDL: ulRowFlags ulRowFlags; */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
/* IDL: } */
static int
-mapi_dissect_element_SRow_ulRowFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_Release_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Release_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_enum_ulRowFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRow_ulRowFlags, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
return offset;
}
int
-mapi_dissect_struct_SRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_struct_Release_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
@@ -8530,10 +14718,40 @@ mapi_dissect_struct_SRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_SRow);
+ tree = proto_item_add_subtree(item, ett_mapi_Release_req);
}
- offset = mapi_dissect_element_SRow_ulRowFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_Release_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Release_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_Release_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
proto_item_set_len(item, offset-old_offset);
@@ -8545,20 +14763,154 @@ mapi_dissect_struct_SRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _
}
+/* IDL: enum { */
+/* IDL: OpenModeFlags_Folder=0x0, */
+/* IDL: OpenModeFlags_SoftDeleted=0x4, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_OpenFolder_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
/* IDL: struct { */
-/* IDL: uint8 padding; */
-/* IDL: uint16 cEntries; */
-/* IDL: SRow aEntries[cEntries]; */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: hyper FolderId; */
+/* IDL: OpenFolder_OpenModeFlags OpenModeFlags; */
/* IDL: } */
+static int
+mapi_dissect_element_OpenFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_req_FolderId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_OpenFolder_OpenModeFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_req_OpenModeFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenFolder_req);
+ }
+
+ offset = mapi_dissect_element_OpenFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_req_OpenModeFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
/* IDL: struct { */
+/* IDL: uint16 ServerCount; */
+/* IDL: uint16 CheapServerCount; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [size_is(ServerCount)] string Servers[*]; */
/* IDL: } */
+static int
+mapi_dissect_element_OpenFolder_Replicas_ServerCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_Replicas_ServerCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_Replicas_CheapServerCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_Replicas_CheapServerCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_Replicas_Servers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_OpenFolder_Replicas_Servers_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_Replicas_Servers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_OpenFolder_Replicas_Servers , 0);
+
+ return offset;
+}
+
int
-mapi_dissect_struct_Release_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_struct_OpenFolder_Replicas(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
+ proto_tree *tree = NULL;
gboolean oldalign = di->no_align;
int old_offset;
@@ -8568,8 +14920,15 @@ mapi_dissect_struct_Release_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenFolder_Replicas);
}
+ offset = mapi_dissect_element_OpenFolder_Replicas_ServerCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_Replicas_CheapServerCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_Replicas_Servers(tvb, offset, pinfo, tree, di, drep);
+
proto_item_set_len(item, offset-old_offset);
@@ -8580,13 +14939,82 @@ mapi_dissect_struct_Release_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *
}
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] OpenFolder_Replicas Replicas; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_IsGhosted_Replicas(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenFolder_Replicas(tvb,offset,pinfo,tree,di,drep,hf_mapi_IsGhosted_Replicas,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_IsGhosted, &item, "IsGhosted");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_IsGhosted_Replicas(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
/* IDL: struct { */
+/* IDL: uint8 HasRules; */
+/* IDL: uint8 IsGhosted; */
+/* IDL: [switch_is(IsGhosted)] IsGhosted Ghost; */
/* IDL: } */
+static int
+mapi_dissect_element_OpenFolder_Success_HasRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_Success_HasRules, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_Success_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_Success_IsGhosted, *IsGhosted);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_Success_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = mapi_dissect_IsGhosted(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_Success_Ghost, *IsGhosted);
+
+ return offset;
+}
+
int
-mapi_dissect_struct_Release_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_struct_OpenFolder_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
+ guint8 IsGhosted = 0;
proto_item *item = NULL;
+ proto_tree *tree = NULL;
gboolean oldalign = di->no_align;
int old_offset;
@@ -8596,8 +15024,15 @@ mapi_dissect_struct_Release_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenFolder_Success);
}
+ offset = mapi_dissect_element_OpenFolder_Success_HasRules(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_Success_IsGhosted(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
+ offset = mapi_dissect_element_OpenFolder_Success_Ghost(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
proto_item_set_len(item, offset-old_offset);
@@ -8608,62 +15043,340 @@ mapi_dissect_struct_Release_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info
}
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] OpenFolder_Success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenFolder_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenFolder_Success(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenFolder_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_OpenFolder_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_OpenFolder_repl_status, &item, "OpenFolder_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_OpenFolder_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
/* IDL: struct { */
-/* IDL: uint8 handle_idx; */
-/* IDL: hyper folder_id; */
-/* IDL: uint8 unknown; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] OpenFolder_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenFolder_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_repl_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenFolder_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_OpenFolder_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenFolder_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenFolder_repl);
+ }
+
+ offset = mapi_dissect_element_OpenFolder_repl_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenFolder_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_OpenFolder_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: StringType_NONE=0x0, */
+/* IDL: StringType_EMPTY=0x1, */
+/* IDL: StringType_STRING8=0x2, */
+/* IDL: StringType_UNICODE_REDUCED=0x3, */
+/* IDL: StringType_UNICODE=0x4, */
/* IDL: } */
+int
+mapi_dissect_enum_StringType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] EMPTY ; */
+/* IDL: [case(0x2)] [case(0x2)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x3)] [case(0x3)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszW_reduced; */
+/* IDL: [case(0x4)] [case(0x4)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_String_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_String_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_String_lpszW_reduced(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_String_lpszW_reduced , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_String_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_String_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_String(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_String, &item, "String");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ break;
+
+ case 0x2:
+ offset = mapi_dissect_element_String_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x3:
+ offset = mapi_dissect_element_String_lpszW_reduced(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x4:
+ offset = mapi_dissect_element_String_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
/* IDL: struct { */
-/* IDL: uint16 unknown; */
+/* IDL: StringType StringType; */
+/* IDL: [switch_is(StringType)] String String; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_TypedString_StringType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *StringType)
+{
+ offset = mapi_dissect_enum_StringType(tvb, offset, pinfo, tree, di, drep, hf_mapi_TypedString_StringType, StringType);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TypedString_String(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *StringType)
+{
+ offset = mapi_dissect_String(tvb, offset, pinfo, tree, di, drep, hf_mapi_TypedString_String, *StringType);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_TypedString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 StringType = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_TypedString);
+ }
+
+ offset = mapi_dissect_element_TypedString_StringType(tvb, offset, pinfo, tree, di, drep, &StringType);
+
+ offset = mapi_dissect_element_TypedString_String(tvb, offset, pinfo, tree, di, drep, &StringType);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: ReadOnly=0x0, */
+/* IDL: ReadWrite=0x1, */
+/* IDL: Create=0x3, */
+/* IDL: OpenSoftDelete=0x4, */
/* IDL: } */
+int
+mapi_dissect_enum_OpenMessage_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
/* IDL: struct { */
-/* IDL: uint8 folder_handle_idx; */
-/* IDL: uint16 max_data; */
-/* IDL: hyper folder_id; */
-/* IDL: uint8 message_permissions; */
-/* IDL: hyper message_id; */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint16 CodePageId; */
+/* IDL: hyper FolderId; */
+/* IDL: OpenMessage_OpenModeFlags OpenModeFlags; */
+/* IDL: hyper MessageId; */
/* IDL: } */
static int
-mapi_dissect_element_OpenMessage_req_folder_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_OpenMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_folder_handle_idx, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
return offset;
}
static int
-mapi_dissect_element_OpenMessage_req_max_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_OpenMessage_req_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_max_data, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_CodePageId, 0);
return offset;
}
static int
-mapi_dissect_element_OpenMessage_req_folder_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_OpenMessage_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_mapi_OpenMessage_req_folder_id);
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_FolderId, NULL);
return offset;
}
static int
-mapi_dissect_element_OpenMessage_req_message_permissions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_OpenMessage_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_message_permissions, 0);
+ offset = mapi_dissect_enum_OpenMessage_OpenModeFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_OpenModeFlags, 0);
return offset;
}
static int
-mapi_dissect_element_OpenMessage_req_message_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_OpenMessage_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_mapi_OpenMessage_req_message_id);
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_req_MessageId, NULL);
return offset;
}
@@ -8685,15 +15398,19 @@ mapi_dissect_struct_OpenMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_in
tree = proto_item_add_subtree(item, ett_mapi_OpenMessage_req);
}
- offset = mapi_dissect_element_OpenMessage_req_folder_handle_idx(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_OpenMessage_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
- offset = mapi_dissect_element_OpenMessage_req_max_data(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_OpenMessage_req_CodePageId(tvb, offset, pinfo, tree, di, drep);
- offset = mapi_dissect_element_OpenMessage_req_folder_id(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_OpenMessage_req_FolderId(tvb, offset, pinfo, tree, di, drep);
- offset = mapi_dissect_element_OpenMessage_req_message_permissions(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_OpenMessage_req_OpenModeFlags(tvb, offset, pinfo, tree, di, drep);
- offset = mapi_dissect_element_OpenMessage_req_message_id(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_OpenMessage_req_MessageId(tvb, offset, pinfo, tree, di, drep);
proto_item_set_len(item, offset-old_offset);
@@ -8715,13 +15432,13 @@ mapi_dissect_struct_OpenMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_in
/* IDL: } */
int
-mapi_dissect_enum_CODEPAGEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
+mapi_dissect_enum_CODEPAGEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
{
- guint32 parameter=0;
+ guint16 parameter=0;
if (param) {
parameter = *param;
}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
if (param) {
*param = parameter;
}
@@ -8774,6 +15491,7 @@ mapi_dissect_enum_addr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinf
/* IDL: struct { */
/* IDL: uint8 organization_length; */
/* IDL: addr_type addr_type; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string username; */
/* IDL: } */
static int
@@ -8792,6 +15510,14 @@ mapi_dissect_element_RecipExchange_addr_type(tvbuff_t *tvb _U_, int offset _U_,
return offset;
}
+static int
+mapi_dissect_element_RecipExchange_username(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_RecipExchange_username , 0);
+
+ return offset;
+}
+
int
mapi_dissect_struct_RecipExchange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
@@ -8813,6 +15539,8 @@ mapi_dissect_struct_RecipExchange(tvbuff_t *tvb _U_, int offset _U_, packet_info
offset = mapi_dissect_element_RecipExchange_addr_type(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_RecipExchange_username(tvb, offset, pinfo, tree, di, drep);
+
proto_item_set_len(item, offset-old_offset);
@@ -8851,13 +15579,6389 @@ mapi_dissect_struct_RecipSMTP(tvbuff_t *tvb _U_, int offset _U_, packet_info *pi
}
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x1)] [case(0x1)] RecipExchange EXCHANGE; */
+/* IDL: [case(0x3)] [case(0x3)] RecipSMTP SMTP; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_recipient_type_EXCHANGE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipExchange(tvb,offset,pinfo,tree,di,drep,hf_mapi_recipient_type_EXCHANGE,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_recipient_type_SMTP(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipSMTP(tvb,offset,pinfo,tree,di,drep,hf_mapi_recipient_type_SMTP,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_recipient_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_type, &item, "recipient_type");
+ }
+
+ switch(level) {
+ case 0x1:
+ offset = mapi_dissect_element_recipient_type_EXCHANGE(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x3:
+ offset = mapi_dissect_element_recipient_type_SMTP(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x400)] [case(0x400)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x600)] [case(0x600)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_recipient_SimpleDisplayName_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_SimpleDisplayName_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_recipient_SimpleDisplayName_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_SimpleDisplayName_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_recipient_SimpleDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_SimpleDisplayName, &item, "recipient_SimpleDisplayName");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x400:
+ offset = mapi_dissect_element_recipient_SimpleDisplayName_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x600:
+ offset = mapi_dissect_element_recipient_SimpleDisplayName_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x60)] [case(0x60)] EMPTY ; */
+/* IDL: [case(0x260)] [case(0x260)] EMPTY ; */
+/* IDL: [case(0x20)] [case(0x20)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x220)] [case(0x220)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_recipient_TransmittableDisplayName_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_TransmittableDisplayName_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_recipient_TransmittableDisplayName_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_TransmittableDisplayName_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_recipient_TransmittableDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_TransmittableDisplayName, &item, "recipient_TransmittableDisplayName");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x60:
+ break;
+
+ case 0x260:
+ break;
+
+ case 0x20:
+ offset = mapi_dissect_element_recipient_TransmittableDisplayName_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x220:
+ offset = mapi_dissect_element_recipient_TransmittableDisplayName_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x10)] [case(0x10)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x210)] [case(0x210)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_recipient_DisplayName_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_DisplayName_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_recipient_DisplayName_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_DisplayName_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_recipient_DisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_DisplayName, &item, "recipient_DisplayName");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x10:
+ offset = mapi_dissect_element_recipient_DisplayName_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x210:
+ offset = mapi_dissect_element_recipient_DisplayName_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x8)] [case(0x8)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x208)] [case(0x208)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_recipient_EmailAddress_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_EmailAddress_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_recipient_EmailAddress_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_EmailAddress_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_recipient_EmailAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_EmailAddress, &item, "recipient_EmailAddress");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x8:
+ offset = mapi_dissect_element_recipient_EmailAddress_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x208:
+ offset = mapi_dissect_element_recipient_EmailAddress_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint16 RecipientFlags; */
+/* IDL: [switch_is(RecipientFlags&0x7)] recipient_type type; */
+/* IDL: [switch_is(RecipientFlags&0x208)] recipient_EmailAddress EmailAddress; */
+/* IDL: [switch_is(RecipientFlags&0x210)] recipient_DisplayName DisplayName; */
+/* IDL: [switch_is(RecipientFlags&0x600)] recipient_SimpleDisplayName SimpleDisplayName; */
+/* IDL: [switch_is(RecipientFlags&0x260)] recipient_TransmittableDisplayName TransmittableDisplayName; */
+/* IDL: uint16 prop_count; */
+/* IDL: uint8 layout; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB prop_values; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RecipientRow_RecipientFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_RecipientFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_recipient_type(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_type, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_EmailAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_recipient_EmailAddress(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_EmailAddress, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_DisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_recipient_DisplayName(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_DisplayName, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_SimpleDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_recipient_SimpleDisplayName(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_SimpleDisplayName, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_TransmittableDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_recipient_TransmittableDisplayName(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_TransmittableDisplayName, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_prop_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_layout, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RecipientRow_prop_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_RecipientRow_prop_values, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RecipientRow);
+ }
+
+ offset = mapi_dissect_element_RecipientRow_RecipientFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_type(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_EmailAddress(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_DisplayName(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_SimpleDisplayName(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_TransmittableDisplayName(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_prop_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_layout(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RecipientRow_prop_values(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: ulRecipClass RecipClass; */
+/* IDL: CODEPAGEID codepage; */
+/* IDL: uint16 Reserved; */
+/* IDL: [represent_as(uint16)] RecipientRow RecipientRow; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenMessage_recipients_RecipClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ulRecipClass(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_recipients_RecipClass, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_recipients_codepage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_CODEPAGEID(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_recipients_codepage, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_recipients_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_recipients_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_recipients_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_recipients_RecipientRow,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenMessage_recipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenMessage_recipients);
+ }
+
+ offset = mapi_dissect_element_OpenMessage_recipients_RecipClass(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_recipients_codepage(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_recipients_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_recipients_RecipientRow(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HasNamedProperties; */
+/* IDL: TypedString SubjectPrefix; */
+/* IDL: TypedString NormalizedSubject; */
+/* IDL: uint16 RecipientCount; */
+/* IDL: uint16 ColumnCount; */
+/* IDL: mapi_SPropTagArray RecipientColumns; */
+/* IDL: uint8 RowCount; */
+/* IDL: [size_is(RowCount)] OpenMessage_recipients recipients[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenMessage_Success_HasNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_Success_HasNamedProperties, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_SubjectPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TypedString(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_Success_SubjectPrefix,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_NormalizedSubject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TypedString(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_Success_NormalizedSubject,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_Success_RecipientCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_ColumnCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_Success_ColumnCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_RecipientColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropTagArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_Success_RecipientColumns,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_Success_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_recipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_OpenMessage_Success_recipients_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_Success_recipients_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenMessage_recipients(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_Success_recipients,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenMessage_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenMessage_Success);
+ }
+
+ offset = mapi_dissect_element_OpenMessage_Success_HasNamedProperties(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_SubjectPrefix(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_NormalizedSubject(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_RecipientCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_ColumnCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_RecipientColumns(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_Success_recipients(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] OpenMessage_Success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenMessage_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenMessage_Success(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_OpenMessage_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_OpenMessage_repl_status, &item, "OpenMessage_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_OpenMessage_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] OpenMessage_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenMessage_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_repl_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenMessage_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_OpenMessage_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenMessage_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenMessage_repl);
+ }
+
+ offset = mapi_dissect_element_OpenMessage_repl_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenMessage_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_OpenMessage_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: TableFlags_Depth = 0x4 , */
+/* IDL: TableFlags_DeferredErrors = 0x8 , */
+/* IDL: TableFlags_NoNotifications = 0x10 , */
+/* IDL: TableFlags_SoftDeletes = 0x20 , */
+/* IDL: TableFlags_UseUnicode = 0x40 , */
+/* IDL: TableFlags_SuppressNotifications = 0x80 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_TableFlags_fields[] = {
+ &hf_mapi_TableFlags_TableFlags_Depth,
+ &hf_mapi_TableFlags_TableFlags_DeferredErrors,
+ &hf_mapi_TableFlags_TableFlags_NoNotifications,
+ &hf_mapi_TableFlags_TableFlags_SoftDeletes,
+ &hf_mapi_TableFlags_TableFlags_UseUnicode,
+ &hf_mapi_TableFlags_TableFlags_SuppressNotifications,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_TableFlags, mapi_TableFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x000000fc)) {
+ flags &= (~0x000000fc);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: TableFlags TableFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetHierarchyTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetHierarchyTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetHierarchyTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetHierarchyTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_TableFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetHierarchyTable_req_TableFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetHierarchyTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetHierarchyTable_req);
+ }
+
+ offset = mapi_dissect_element_GetHierarchyTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetHierarchyTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetHierarchyTable_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetHierarchyTable_req_TableFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 RowCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetHierarchyTable_repl_success_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetHierarchyTable_repl_success_RowCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetHierarchyTable_repl_success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetHierarchyTable_repl_success);
+ }
+
+ offset = mapi_dissect_element_GetHierarchyTable_repl_success_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] GetHierarchyTable_repl_success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetHierarchyTable_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetHierarchyTable_repl_success(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetHierarchyTable_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_GetHierarchyTable_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_GetHierarchyTable_repl_status, &item, "GetHierarchyTable_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_GetHierarchyTable_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] GetHierarchyTable_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetHierarchyTable_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetHierarchyTable_repl_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetHierarchyTable_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetHierarchyTable_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetHierarchyTable_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_GetHierarchyTable_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetHierarchyTable_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetHierarchyTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetHierarchyTable_repl);
+ }
+
+ offset = mapi_dissect_element_GetHierarchyTable_repl_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetHierarchyTable_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_GetHierarchyTable_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: TableFlags TableFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetContentsTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetContentsTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetContentsTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetContentsTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_TableFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetContentsTable_req_TableFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetContentsTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetContentsTable_req);
+ }
+
+ offset = mapi_dissect_element_GetContentsTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetContentsTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetContentsTable_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetContentsTable_req_TableFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 RowCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetContentsTable_repl_success_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetContentsTable_repl_success_RowCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetContentsTable_repl_success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetContentsTable_repl_success);
+ }
+
+ offset = mapi_dissect_element_GetContentsTable_repl_success_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] GetContentsTable_repl_success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetContentsTable_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetContentsTable_repl_success(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetContentsTable_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_GetContentsTable_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_GetContentsTable_repl_status, &item, "GetContentsTable_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_GetContentsTable_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] GetContentsTable_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetContentsTable_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetContentsTable_repl_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetContentsTable_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetContentsTable_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetContentsTable_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_GetContentsTable_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetContentsTable_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetContentsTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetContentsTable_repl);
+ }
+
+ offset = mapi_dissect_element_GetContentsTable_repl_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetContentsTable_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_GetContentsTable_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint16 CodePageId; */
+/* IDL: hyper FolderId; */
+/* IDL: uint8 AssociatedFlag; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_req_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_req_CodePageId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_req_FolderId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_req_AssociatedFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_req_AssociatedFlag, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateMessage_req);
+ }
+
+ offset = mapi_dissect_element_CreateMessage_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateMessage_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateMessage_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateMessage_req_CodePageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateMessage_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateMessage_req_AssociatedFlag(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] hyper MessageId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateMessage_MessageId_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_MessageId_MessageId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_CreateMessage_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_CreateMessage_MessageId, &item, "CreateMessage_MessageId");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_CreateMessage_MessageId_MessageId(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 HasMessageId; */
+/* IDL: [switch_is(HasMessageId)] CreateMessage_MessageId MessageId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateMessage_repl_success_HasMessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasMessageId)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_repl_success_HasMessageId, *HasMessageId);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_repl_success_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasMessageId)
+{
+ offset = mapi_dissect_CreateMessage_MessageId(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_repl_success_MessageId, *HasMessageId);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateMessage_repl_success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 HasMessageId = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateMessage_repl_success);
+ }
+
+ offset = mapi_dissect_element_CreateMessage_repl_success_HasMessageId(tvb, offset, pinfo, tree, di, drep, &HasMessageId);
+
+ offset = mapi_dissect_element_CreateMessage_repl_success_MessageId(tvb, offset, pinfo, tree, di, drep, &HasMessageId);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] CreateMessage_repl_success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateMessage_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateMessage_repl_success(tvb,offset,pinfo,tree,di,drep,hf_mapi_CreateMessage_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_CreateMessage_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_CreateMessage_repl_status, &item, "CreateMessage_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_CreateMessage_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] CreateMessage_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateMessage_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_repl_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateMessage_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_CreateMessage_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateMessage_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateMessage_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateMessage_repl);
+ }
+
+ offset = mapi_dissect_element_CreateMessage_repl_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateMessage_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_CreateMessage_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 PropertySizeLimit; */
+/* IDL: uint16 WantUnicode; */
+/* IDL: uint16 prop_count; */
+/* IDL: [size_is(prop_count)] MAPITAGS properties[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetProps_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_req_PropertySizeLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_req_PropertySizeLimit, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_req_WantUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_req_WantUnicode, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_req_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_req_prop_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_req_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetProps_req_properties_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_req_properties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_req_properties, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetProps_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetProps_req);
+ }
+
+ offset = mapi_dissect_element_GetProps_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_req_PropertySizeLimit(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_req_WantUnicode(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_req_prop_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_req_properties(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 layout; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB prop_data; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetProps_repl_success_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_repl_success_layout, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_repl_success_prop_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_repl_success_prop_data, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetProps_repl_success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetProps_repl_success);
+ }
+
+ offset = mapi_dissect_element_GetProps_repl_success_layout(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_repl_success_prop_data(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] GetProps_repl_success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetProps_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetProps_repl_success(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetProps_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_GetProps_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_GetProps_repl_status, &item, "GetProps_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_GetProps_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] GetProps_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetProps_repl_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_repl_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetProps_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_GetProps_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetProps_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetProps_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetProps_repl);
+ }
+
+ offset = mapi_dissect_element_GetProps_repl_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetProps_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_GetProps_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 PropertySizeLimit; */
+/* IDL: uint16 WantUnicode; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPropsAll_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropsAll_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropsAll_req_PropertySizeLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropsAll_req_PropertySizeLimit, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropsAll_req_WantUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropsAll_req_WantUnicode, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPropsAll_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPropsAll_req);
+ }
+
+ offset = mapi_dissect_element_GetPropsAll_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPropsAll_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPropsAll_req_PropertySizeLimit(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPropsAll_req_WantUnicode(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: mapi_SPropValue_array properties; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPropsAll_repl_success_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetPropsAll_repl_success_properties,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPropsAll_repl_success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPropsAll_repl_success);
+ }
+
+ offset = mapi_dissect_element_GetPropsAll_repl_success_properties(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] GetPropsAll_repl_success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPropsAll_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPropsAll_repl_success(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetPropsAll_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_GetPropsAll_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_GetPropsAll_repl_status, &item, "GetPropsAll_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_GetPropsAll_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] GetPropsAll_repl_status repl; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPropsAll_repl_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropsAll_repl_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropsAll_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropsAll_repl_ReturnValue, *ReturnValue);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropsAll_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
+{
+ offset = mapi_dissect_GetPropsAll_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropsAll_repl_repl, *ReturnValue);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPropsAll_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPropsAll_repl);
+ }
+
+ offset = mapi_dissect_element_GetPropsAll_repl_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPropsAll_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_GetPropsAll_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPropList_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropList_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPropList_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPropList_req);
+ }
+
+ offset = mapi_dissect_element_GetPropList_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPropList_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 count; */
+/* IDL: [size_is(count)] MAPITAGS tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPropList_repl_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropList_repl_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropList_repl_tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetPropList_repl_tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPropList_repl_tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPropList_repl_tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPropList_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPropList_repl);
+ }
+
+ offset = mapi_dissect_element_GetPropList_repl_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPropList_repl_tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 index; */
+/* IDL: MAPITAGS property_tag; */
+/* IDL: MAPISTATUS error_code; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_PropertyProblem_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_PropertyProblem_index, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_PropertyProblem_property_tag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_PropertyProblem_property_tag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_PropertyProblem_error_code(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPISTATUS(tvb, offset, pinfo, tree, di, drep, hf_mapi_PropertyProblem_error_code, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_PropertyProblem);
+ }
+
+ offset = mapi_dissect_element_PropertyProblem_index(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PropertyProblem_property_tag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PropertyProblem_error_code(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [represent_as(uint16)] mapi_SPropValue_array values; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetProps_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetProps_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetProps_req_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetProps_req_values,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetProps_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetProps_req);
+ }
+
+ offset = mapi_dissect_element_SetProps_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetProps_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetProps_req_values(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyProblemCount; */
+/* IDL: [size_is(PropertyProblemCount)] PropertyProblem PropertyProblem[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetProps_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetProps_repl_PropertyProblemCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetProps_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SetProps_repl_PropertyProblem_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetProps_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PropertyProblem(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetProps_repl_PropertyProblem,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetProps_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetProps_repl);
+ }
+
+ offset = mapi_dissect_element_SetProps_repl_PropertyProblemCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetProps_repl_PropertyProblem(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 PropertyTagCount; */
+/* IDL: [size_is(PropertyTagCount)] MAPITAGS tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteProps_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteProps_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteProps_req_PropertyTagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteProps_req_PropertyTagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteProps_req_tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_DeleteProps_req_tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteProps_req_tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteProps_req_tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteProps_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteProps_req);
+ }
+
+ offset = mapi_dissect_element_DeleteProps_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteProps_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteProps_req_PropertyTagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteProps_req_tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyProblemCount; */
+/* IDL: [size_is(PropertyProblemCount)] PropertyProblem PropertyProblem[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteProps_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteProps_repl_PropertyProblemCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteProps_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_DeleteProps_repl_PropertyProblem_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteProps_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PropertyProblem(tvb,offset,pinfo,tree,di,drep,hf_mapi_DeleteProps_repl_PropertyProblem,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteProps_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteProps_repl);
+ }
+
+ offset = mapi_dissect_element_DeleteProps_repl_PropertyProblemCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteProps_repl_PropertyProblem(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: KeepOpenReadOnly=0x9, */
+/* IDL: KeepOpenReadWrite=0xA, */
+/* IDL: ForceSave=0xC, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_SaveFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 ResponseHandleIndex; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 SaveFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SaveChangesMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesMessage_req_ResponseHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ResponseHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesMessage_req_SaveFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SaveChangesMessage_req_SaveFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SaveChangesMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SaveChangesMessage_req);
+ }
+
+ offset = mapi_dissect_element_SaveChangesMessage_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesMessage_req_ResponseHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesMessage_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesMessage_req_SaveFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 handle_idx; */
+/* IDL: hyper MessageId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SaveChangesMessage_repl_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SaveChangesMessage_repl_handle_idx, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesMessage_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SaveChangesMessage_repl_MessageId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SaveChangesMessage_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SaveChangesMessage_repl);
+ }
+
+ offset = mapi_dissect_element_SaveChangesMessage_repl_handle_idx(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesMessage_repl_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 ulReserved; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RemoveAllRecipients_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RemoveAllRecipients_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RemoveAllRecipients_req_ulReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_RemoveAllRecipients_req_ulReserved, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RemoveAllRecipients_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RemoveAllRecipients_req);
+ }
+
+ offset = mapi_dissect_element_RemoveAllRecipients_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RemoveAllRecipients_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RemoveAllRecipients_req_ulReserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_RemoveAllRecipients_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: MODRECIP_NULL=0x0, */
+/* IDL: MODRECIP_INVALID=0x1, */
+/* IDL: MODRECIP_ADD=0x2, */
+/* IDL: MODRECIP_MODIFY=0x4, */
+/* IDL: MODRECIP_REMOVE=0x8, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_modrecip(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 idx; */
+/* IDL: ulRecipClass RecipClass; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] RecipientRow RecipientRow; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ModifyRecipientRow_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRecipientRow_idx, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipientRow_RecipClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ulRecipClass(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRecipientRow_RecipClass, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipientRow_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_ModifyRecipientRow_RecipientRow,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ModifyRecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ModifyRecipientRow);
+ }
+
+ offset = mapi_dissect_element_ModifyRecipientRow_idx(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipientRow_RecipClass(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipientRow_RecipientRow(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 prop_count; */
+/* IDL: [size_is(prop_count)] MAPITAGS properties[*]; */
+/* IDL: uint16 cValues; */
+/* IDL: [size_is(cValues)] ModifyRecipientRow RecipientRow[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ModifyRecipients_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRecipients_req_prop_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ModifyRecipients_req_properties_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_properties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRecipients_req_properties, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRecipients_req_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ModifyRecipients_req_RecipientRow_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRecipients_req_RecipientRow_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyRecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_ModifyRecipients_req_RecipientRow,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ModifyRecipients_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ModifyRecipients_req);
+ }
+
+ offset = mapi_dissect_element_ModifyRecipients_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipients_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipients_req_prop_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipients_req_properties(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipients_req_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRecipients_req_RecipientRow(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_ModifyRecipients_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 RowId; */
+/* IDL: uint16 ulReserved; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadRecipients_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipients_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipients_req_RowId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipients_req_RowId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipients_req_ulReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipients_req_ulReserved, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadRecipients_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadRecipients_req);
+ }
+
+ offset = mapi_dissect_element_ReadRecipients_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipients_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipients_req_RowId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipients_req_ulReserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 RowId; */
+/* IDL: ulRecipClass RecipientType; */
+/* IDL: uint16 CodePageId; */
+/* IDL: uint16 ulReserved; */
+/* IDL: [represent_as(uint16)] RecipientRow RecipientRow; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadRecipientRow_RowId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipientRow_RowId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipientRow_RecipientType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ulRecipClass(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipientRow_RecipientType, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipientRow_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipientRow_CodePageId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipientRow_ulReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipientRow_ulReserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipientRow_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReadRecipientRow_RecipientRow,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadRecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadRecipientRow);
+ }
+
+ offset = mapi_dissect_element_ReadRecipientRow_RowId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipientRow_RecipientType(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipientRow_CodePageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipientRow_ulReserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipientRow_RecipientRow(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 RowCount; */
+/* IDL: [size_is(RowCount)] ReadRecipientRow RecipientRows[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadRecipients_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadRecipients_repl_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipients_repl_RecipientRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ReadRecipients_repl_RecipientRows_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadRecipients_repl_RecipientRows_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadRecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReadRecipients_repl_RecipientRows,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadRecipients_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadRecipients_repl);
+ }
+
+ offset = mapi_dissect_element_ReadRecipients_repl_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadRecipients_repl_RecipientRows(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: ulRecipClass RecipientType; */
+/* IDL: uint16 CodePageId; */
+/* IDL: uint16 Reserved; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] RecipientRow RecipientRow; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenRecipientRow_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenRecipientRow_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenRecipientRow_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenRecipientRow_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenRecipientRow_RecipientType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ulRecipClass(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenRecipientRow_RecipientType, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenRecipientRow_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenRecipientRow_CodePageId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenRecipientRow_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenRecipientRow_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenRecipientRow_RecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenRecipientRow_RecipientRow,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenRecipientRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenRecipientRow);
+ }
+
+ offset = mapi_dissect_element_OpenRecipientRow_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenRecipientRow_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenRecipientRow_RecipientType(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenRecipientRow_CodePageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenRecipientRow_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenRecipientRow_RecipientRow(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 Reserved; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReloadCachedInformation_req_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReloadCachedInformation_req_Reserved, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReloadCachedInformation_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReloadCachedInformation_req);
+ }
+
+ offset = mapi_dissect_element_ReloadCachedInformation_req_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HasNamedProperties; */
+/* IDL: TypedString SubjectPrefix; */
+/* IDL: TypedString NormalizedSubject; */
+/* IDL: uint16 RecipientCount; */
+/* IDL: mapi_SPropTagArray RecipientColumns; */
+/* IDL: uint8 RowCount; */
+/* IDL: [size_is(RowCount)] OpenRecipientRow RecipientRows[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_HasNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReloadCachedInformation_repl_HasNamedProperties, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_SubjectPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TypedString(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReloadCachedInformation_repl_SubjectPrefix,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_NormalizedSubject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TypedString(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReloadCachedInformation_repl_NormalizedSubject,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReloadCachedInformation_repl_RecipientCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_RecipientColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropTagArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReloadCachedInformation_repl_RecipientColumns,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReloadCachedInformation_repl_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_RecipientRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ReloadCachedInformation_repl_RecipientRows_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReloadCachedInformation_repl_RecipientRows_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenRecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReloadCachedInformation_repl_RecipientRows,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReloadCachedInformation_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReloadCachedInformation_repl);
+ }
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_HasNamedProperties(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_SubjectPrefix(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_NormalizedSubject(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_RecipientCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_RecipientColumns(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReloadCachedInformation_repl_RecipientRows(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: SUPPRESS_RECEIPT = 0x01 , */
+/* IDL: CLEAR_READ_FLAG = 0x04 , */
+/* IDL: MAPI_DEFERRED_ERRORS = 0x08 , */
+/* IDL: GENERATE_RECEIPT_ONLY = 0x10 , */
+/* IDL: CLEAR_RN_PENDING = 0x20 , */
+/* IDL: CLEAR_NRN_PENDING = 0x40 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_MSGFLAG_READ(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_MSGFLAG_READ_fields[] = {
+ &hf_mapi_MSGFLAG_READ_SUPPRESS_RECEIPT,
+ &hf_mapi_MSGFLAG_READ_CLEAR_READ_FLAG,
+ &hf_mapi_MSGFLAG_READ_MAPI_DEFERRED_ERRORS,
+ &hf_mapi_MSGFLAG_READ_GENERATE_RECEIPT_ONLY,
+ &hf_mapi_MSGFLAG_READ_CLEAR_RN_PENDING,
+ &hf_mapi_MSGFLAG_READ_CLEAR_NRN_PENDING,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_MSGFLAG_READ, mapi_MSGFLAG_READ_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x0000007d)) {
+ flags &= (~0x0000007d);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 ResponseHandleIndex; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: MSGFLAG_READ ReadFlags; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB clientdata; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetMessageReadFlag_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_req_ResponseHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ResponseHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_req_ReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_MSGFLAG_READ(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_req_ReadFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_req_clientdata(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_req_clientdata, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetMessageReadFlag_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetMessageReadFlag_req);
+ }
+
+ offset = mapi_dissect_element_SetMessageReadFlag_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageReadFlag_req_ResponseHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageReadFlag_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageReadFlag_req_ReadFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageReadFlag_req_clientdata(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] uint8 LogonId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetMessageReadFlag_LogonId_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_LogonId_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_SetMessageReadFlag_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_SetMessageReadFlag_LogonId, &item, "SetMessageReadFlag_LogonId");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_SetMessageReadFlag_LogonId_LogonId(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] uint8 ClientData[24]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetMessageReadFlag_ClientData_ClientData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 24; i++)
+ offset = mapi_dissect_element_SetMessageReadFlag_ClientData_ClientData_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_ClientData_ClientData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_ClientData_ClientData, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_SetMessageReadFlag_ClientData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_SetMessageReadFlag_ClientData, &item, "SetMessageReadFlag_ClientData");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_SetMessageReadFlag_ClientData_ClientData(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 ReadStatusChanged; */
+/* IDL: [switch_is(ReadStatusChanged)] SetMessageReadFlag_LogonId LogonId; */
+/* IDL: [switch_is(ReadStatusChanged)] SetMessageReadFlag_ClientData ClientData; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetMessageReadFlag_repl_ReadStatusChanged(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ReadStatusChanged)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_repl_ReadStatusChanged, *ReadStatusChanged);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_repl_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ReadStatusChanged)
+{
+ offset = mapi_dissect_SetMessageReadFlag_LogonId(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_repl_LogonId, *ReadStatusChanged);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageReadFlag_repl_ClientData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ReadStatusChanged)
+{
+ offset = mapi_dissect_SetMessageReadFlag_ClientData(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageReadFlag_repl_ClientData, *ReadStatusChanged);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetMessageReadFlag_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 ReadStatusChanged = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetMessageReadFlag_repl);
+ }
+
+ offset = mapi_dissect_element_SetMessageReadFlag_repl_ReadStatusChanged(tvb, offset, pinfo, tree, di, drep, &ReadStatusChanged);
+
+ offset = mapi_dissect_element_SetMessageReadFlag_repl_LogonId(tvb, offset, pinfo, tree, di, drep, &ReadStatusChanged);
+
+ offset = mapi_dissect_element_SetMessageReadFlag_repl_ClientData(tvb, offset, pinfo, tree, di, drep, &ReadStatusChanged);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: SetColumns_TBL_SYNC=0x0, */
+/* IDL: SetColumns_TBL_ASYNC=0x1, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_SetColumnsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: TBLSTAT_COMPLETE=0x0, */
+/* IDL: TBLSTAT_SORTING=0x9, */
+/* IDL: TBLSTAT_SORT_ERROR=0xA, */
+/* IDL: TBLSTAT_SETTING_COLS=0xB, */
+/* IDL: TBLSTAT_SETCOL_ERROR=0xD, */
+/* IDL: TBLSTAT_RESTRICTING=0xE, */
+/* IDL: TBLSTAT_RESTRICT_ERROR=0xF, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SetColumnsFlags SetColumnsFlags; */
+/* IDL: uint16 prop_count; */
+/* IDL: [size_is(prop_count)] MAPITAGS properties[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetColumns_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetColumns_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetColumns_req_SetColumnsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_SetColumnsFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetColumns_req_SetColumnsFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetColumns_req_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetColumns_req_prop_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetColumns_req_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SetColumns_req_properties_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetColumns_req_properties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetColumns_req_properties, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetColumns_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetColumns_req);
+ }
+
+ offset = mapi_dissect_element_SetColumns_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetColumns_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetColumns_req_SetColumnsFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetColumns_req_prop_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetColumns_req_properties(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TableStatus TableStatus; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetColumns_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TableStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetColumns_repl_TableStatus, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetColumns_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetColumns_repl);
+ }
+
+ offset = mapi_dissect_element_SetColumns_repl_TableStatus(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: TBL_ASYNC=0x1, */
+/* IDL: TBL_BATCH=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_TBL_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: TABLE_SORT_ASCEND=0x0, */
+/* IDL: TABLE_SORT_COMBINE=0x1, */
+/* IDL: TABLE_SORT_DESCEND=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_TABLE_SORT(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct _SSortOrder { */
+/* IDL: MAPITAGS ulPropTag; */
+/* IDL: TABLE_SORT ulOrder; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SSortOrder_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_SSortOrder_ulPropTag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSortOrder_ulOrder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TABLE_SORT(tvb, offset, pinfo, tree, di, drep, hf_mapi_SSortOrder_ulOrder, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SSortOrder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SSortOrder);
+ }
+
+ offset = mapi_dissect_element_SSortOrder_ulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSortOrder_ulOrder(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct _SSortOrderSet { */
+/* IDL: uint16 cSorts; */
+/* IDL: uint16 cCategories; */
+/* IDL: uint16 cExpanded; */
+/* IDL: [size_is(cSorts)] SSortOrder aSort[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SSortOrderSet_cSorts(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SSortOrderSet_cSorts, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSortOrderSet_cCategories(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SSortOrderSet_cCategories, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSortOrderSet_cExpanded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SSortOrderSet_cExpanded, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSortOrderSet_aSort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SSortOrderSet_aSort_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSortOrderSet_aSort_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SSortOrder(tvb,offset,pinfo,tree,di,drep,hf_mapi_SSortOrderSet_aSort,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SSortOrderSet(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SSortOrderSet);
+ }
+
+ offset = mapi_dissect_element_SSortOrderSet_cSorts(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSortOrderSet_cCategories(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSortOrderSet_cExpanded(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSortOrderSet_aSort(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 SortTableFlags; */
+/* IDL: SSortOrderSet lpSortCriteria; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SortTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SortTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SortTable_req_SortTableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SortTable_req_SortTableFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SortTable_req_lpSortCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SSortOrderSet(tvb,offset,pinfo,tree,di,drep,hf_mapi_SortTable_req_lpSortCriteria,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SortTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SortTable_req);
+ }
+
+ offset = mapi_dissect_element_SortTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SortTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SortTable_req_SortTableFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SortTable_req_lpSortCriteria(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TableStatus TableStatus; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SortTable_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TableStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_SortTable_repl_TableStatus, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SortTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SortTable_repl);
+ }
+
+ offset = mapi_dissect_element_SortTable_repl_TableStatus(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 cRes; */
+/* IDL: [size_is(cRes)] SRestriction_and res[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SAndRestriction_cRes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SAndRestriction_cRes, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SAndRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SAndRestriction_res_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SAndRestriction_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction_and(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SAndRestriction_res,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SAndRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SAndRestriction);
+ }
+
+ offset = mapi_dissect_element_SAndRestriction_cRes(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SAndRestriction_res(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 cRes; */
+/* IDL: [size_is(cRes)] SRestriction_or res[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SOrRestriction_cRes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SOrRestriction_cRes, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SOrRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SOrRestriction_res_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SOrRestriction_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction_or(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SOrRestriction_res,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SOrRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SOrRestriction);
+ }
+
+ offset = mapi_dissect_element_SOrRestriction_cRes(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SOrRestriction_res(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: mapi_SRestriction_wrap res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SNotRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction_wrap(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SNotRestriction_res,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SNotRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SNotRestriction);
+ }
+
+ offset = mapi_dissect_element_SNotRestriction_res(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: FL_FULLSTRING = 0x00000 , */
+/* IDL: FL_SUBSTRING = 0x00001 , */
+/* IDL: FL_PREFIX = 0x00002 , */
+/* IDL: FL_IGNORECASE = 0x10000 , */
+/* IDL: FL_IGNORENONSPACE = 0x20000 , */
+/* IDL: FL_LOOSE = 0x40000 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_fuzzyLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_fuzzyLevel_fields[] = {
+ &hf_mapi_fuzzyLevel_FL_SUBSTRING,
+ &hf_mapi_fuzzyLevel_FL_PREFIX,
+ &hf_mapi_fuzzyLevel_FL_IGNORECASE,
+ &hf_mapi_fuzzyLevel_FL_IGNORENONSPACE,
+ &hf_mapi_fuzzyLevel_FL_LOOSE,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_fuzzyLevel, mapi_fuzzyLevel_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00070003)) {
+ flags &= (~0x00070003);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: fuzzyLevel fuzzy; */
+/* IDL: MAPITAGS ulPropTag; */
+/* IDL: mapi_SPropValue lpProp; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SContentRestriction_fuzzy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_fuzzyLevel(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SContentRestriction_fuzzy, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SContentRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SContentRestriction_ulPropTag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SContentRestriction_lpProp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SContentRestriction_lpProp,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SContentRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SContentRestriction);
+ }
+
+ offset = mapi_dissect_element_SContentRestriction_fuzzy(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SContentRestriction_ulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SContentRestriction_lpProp(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: BMR_EQZ=0x0, */
+/* IDL: BMR_NEZ=0x1, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_relMBR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: relMBR relMBR; */
+/* IDL: MAPITAGS ulPropTag; */
+/* IDL: uint32 ulMask; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SBitmaskRestriction_relMBR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_relMBR(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SBitmaskRestriction_relMBR, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SBitmaskRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SBitmaskRestriction_ulPropTag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SBitmaskRestriction_ulMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SBitmaskRestriction_ulMask, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SBitmaskRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SBitmaskRestriction);
+ }
+
+ offset = mapi_dissect_element_SBitmaskRestriction_relMBR(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SBitmaskRestriction_ulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SBitmaskRestriction_ulMask(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
/* IDL: enum { */
-/* IDL: EXCHANGE=0x0, */
-/* IDL: SMTP=0x1, */
+/* IDL: RELOP_LT=0x0, */
+/* IDL: RELOP_LE=0x1, */
+/* IDL: RELOP_GT=0x2, */
+/* IDL: RELOP_GE=0x3, */
+/* IDL: RELOP_EQ=0x4, */
+/* IDL: RELOP_NE=0x5, */
+/* IDL: RELOP_RE=0x6, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_CompareRelop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: CompareRelop relop; */
+/* IDL: MAPITAGS ulPropTag; */
+/* IDL: uint32 size; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SSizeRestriction_relop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_CompareRelop(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SSizeRestriction_relop, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSizeRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SSizeRestriction_ulPropTag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSizeRestriction_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SSizeRestriction_size, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SSizeRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SSizeRestriction);
+ }
+
+ offset = mapi_dissect_element_SSizeRestriction_relop(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSizeRestriction_ulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSizeRestriction_size(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 relop; */
+/* IDL: MAPITAGS ulPropTag; */
+/* IDL: mapi_SPropValue lpProp; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SPropertyRestriction_relop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropertyRestriction_relop, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropertyRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SPropertyRestriction_ulPropTag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SPropertyRestriction_lpProp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SPropertyRestriction_lpProp,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SPropertyRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SPropertyRestriction);
+ }
+
+ offset = mapi_dissect_element_SPropertyRestriction_relop(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SPropertyRestriction_ulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SPropertyRestriction_lpProp(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: CompareRelop relop; */
+/* IDL: MAPITAGS ulPropTag1; */
+/* IDL: MAPITAGS ulPropTag2; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SCompareProps_relop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_CompareRelop(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SCompareProps_relop, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SCompareProps_ulPropTag1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SCompareProps_ulPropTag1, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SCompareProps_ulPropTag2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SCompareProps_ulPropTag2, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SCompareProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SCompareProps);
+ }
+
+ offset = mapi_dissect_element_SCompareProps_relop(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SCompareProps_ulPropTag1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SCompareProps_ulPropTag2(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: MAPITAGS ulPropTag; */
/* IDL: } */
+static int
+mapi_dissect_element_SExistRestriction_ulPropTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SExistRestriction_ulPropTag, 0);
+
+ return offset;
+}
+
int
-mapi_dissect_enum_OM_recipient_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
+mapi_dissect_struct_SExistRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SExistRestriction);
+ }
+
+ offset = mapi_dissect_element_SExistRestriction_ulPropTag(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: MAPITAGS ulSubObject; */
+/* IDL: [size_is(ulSubObject-ulSubObject+1)] SRestriction_sub res[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SSubRestriction_ulSubObject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SSubRestriction_ulSubObject, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSubRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SSubRestriction_res_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SSubRestriction_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction_sub(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SSubRestriction_res,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SSubRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SSubRestriction);
+ }
+
+ offset = mapi_dissect_element_SSubRestriction_ulSubObject(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SSubRestriction_res(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] [noprint(1)] [nopull(1)] [nopush(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] [unique(1)] SRestriction_comment *res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RestrictionVariable_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_RestrictionVariable_res_, NDR_POINTER_UNIQUE, "Pointer to Res (SRestriction_comment)",hf_mapi_RestrictionVariable_res);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RestrictionVariable_res_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction_comment(tvb,offset,pinfo,tree,di,drep,hf_mapi_RestrictionVariable_res,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_RestrictionVariable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_RestrictionVariable, &item, "RestrictionVariable");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_RestrictionVariable_res(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 TaggedValuesCount; */
+/* IDL: [size_is(TaggedValuesCount)] mapi_SPropValue TaggedValues[*]; */
+/* IDL: uint8 RestrictionPresent; */
+/* IDL: [switch_is(RestrictionPresent)] RestrictionVariable Restriction; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SCommentRestriction_TaggedValuesCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SCommentRestriction_TaggedValuesCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SCommentRestriction_TaggedValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SCommentRestriction_TaggedValues_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SCommentRestriction_TaggedValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SCommentRestriction_TaggedValues,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SCommentRestriction_RestrictionPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RestrictionPresent)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SCommentRestriction_RestrictionPresent, *RestrictionPresent);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SCommentRestriction_Restriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RestrictionPresent)
+{
+ offset = mapi_dissect_RestrictionVariable(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SCommentRestriction_Restriction, *RestrictionPresent);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SCommentRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 RestrictionPresent = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SCommentRestriction);
+ }
+
+ offset = mapi_dissect_element_SCommentRestriction_TaggedValuesCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SCommentRestriction_TaggedValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SCommentRestriction_RestrictionPresent(tvb, offset, pinfo, tree, di, drep, &RestrictionPresent);
+
+ offset = mapi_dissect_element_SCommentRestriction_Restriction(tvb, offset, pinfo, tree, di, drep, &RestrictionPresent);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] [public(1)] union { */
+/* IDL: [case(RES_AND)] [case(RES_AND)] mapi_SAndRestriction resAnd; */
+/* IDL: [case(RES_OR)] [case(RES_OR)] mapi_SOrRestriction resOr; */
+/* IDL: [case(RES_NOT)] [case(RES_NOT)] mapi_SNotRestriction resNot; */
+/* IDL: [case(RES_CONTENT)] [case(RES_CONTENT)] mapi_SContentRestriction resContent; */
+/* IDL: [case(RES_PROPERTY)] [case(RES_PROPERTY)] mapi_SPropertyRestriction resProperty; */
+/* IDL: [case(RES_COMPAREPROPS)] [case(RES_COMPAREPROPS)] mapi_SCompareProps resCompareProps; */
+/* IDL: [case(RES_BITMASK)] [case(RES_BITMASK)] mapi_SBitmaskRestriction resBitmask; */
+/* IDL: [case(RES_SIZE)] [case(RES_SIZE)] mapi_SSizeRestriction resSize; */
+/* IDL: [case(RES_EXIST)] [case(RES_EXIST)] mapi_SExistRestriction resExist; */
+/* IDL: [case(RES_SUBRESTRICTION)] [case(RES_SUBRESTRICTION)] mapi_SSubRestriction resSub; */
+/* IDL: [case(RES_COMMENT)] [case(RES_COMMENT)] mapi_SCommentRestriction resComment; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SRestriction_CTR_resAnd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SAndRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resAnd,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resOr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SOrRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resOr,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resNot(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SNotRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resNot,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resContent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SContentRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resContent,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropertyRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resProperty,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resCompareProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SCompareProps(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resCompareProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resBitmask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBitmaskRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resBitmask,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SSizeRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resSize,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resExist(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SExistRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resExist,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resSub(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SSubRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resSub,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_CTR_resComment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SCommentRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_SRestriction_CTR_resComment,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_SRestriction_CTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_mapi_SRestriction_CTR, &item, "mapi_SRestriction_CTR");
+ }
+
+ switch(level) {
+ case RES_AND:
+ offset = mapi_dissect_element_SRestriction_CTR_resAnd(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_OR:
+ offset = mapi_dissect_element_SRestriction_CTR_resOr(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_NOT:
+ offset = mapi_dissect_element_SRestriction_CTR_resNot(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_CONTENT:
+ offset = mapi_dissect_element_SRestriction_CTR_resContent(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_PROPERTY:
+ offset = mapi_dissect_element_SRestriction_CTR_resProperty(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_COMPAREPROPS:
+ offset = mapi_dissect_element_SRestriction_CTR_resCompareProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_BITMASK:
+ offset = mapi_dissect_element_SRestriction_CTR_resBitmask(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_SIZE:
+ offset = mapi_dissect_element_SRestriction_CTR_resSize(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_EXIST:
+ offset = mapi_dissect_element_SRestriction_CTR_resExist(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_SUBRESTRICTION:
+ offset = mapi_dissect_element_SRestriction_CTR_resSub(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RES_COMMENT:
+ offset = mapi_dissect_element_SRestriction_CTR_resComment(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 rt; */
+/* IDL: [switch_is(rt)] mapi_SRestriction_CTR res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SRestriction_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SRestriction_rt, *rt);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = mapi_dissect_SRestriction_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_SRestriction_res, *rt);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 rt = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_SRestriction);
+ }
+
+ offset = mapi_dissect_element_SRestriction_rt(tvb, offset, pinfo, tree, di, drep, &rt);
+
+ offset = mapi_dissect_element_SRestriction_res(tvb, offset, pinfo, tree, di, drep, &rt);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct _mapi_SRestriction_and { */
+/* IDL: uint8 rt; */
+/* IDL: [switch_is(rt)] mapi_SRestriction_CTR res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SRestriction_and_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_and_rt, *rt);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_and_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = mapi_dissect_SRestriction_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_and_res, *rt);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SRestriction_and(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 rt = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SRestriction_and);
+ }
+
+ offset = mapi_dissect_element_SRestriction_and_rt(tvb, offset, pinfo, tree, di, drep, &rt);
+
+ offset = mapi_dissect_element_SRestriction_and_res(tvb, offset, pinfo, tree, di, drep, &rt);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct _mapi_SRestriction_or { */
+/* IDL: uint8 rt; */
+/* IDL: [switch_is(rt)] mapi_SRestriction_CTR res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SRestriction_or_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_or_rt, *rt);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_or_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = mapi_dissect_SRestriction_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_or_res, *rt);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SRestriction_or(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 rt = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SRestriction_or);
+ }
+
+ offset = mapi_dissect_element_SRestriction_or_rt(tvb, offset, pinfo, tree, di, drep, &rt);
+
+ offset = mapi_dissect_element_SRestriction_or_res(tvb, offset, pinfo, tree, di, drep, &rt);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct _mapi_SRestriction_sub { */
+/* IDL: uint8 rt; */
+/* IDL: [switch_is(rt)] mapi_SRestriction_CTR res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SRestriction_sub_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_sub_rt, *rt);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_sub_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = mapi_dissect_SRestriction_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_sub_res, *rt);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SRestriction_sub(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 rt = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SRestriction_sub);
+ }
+
+ offset = mapi_dissect_element_SRestriction_sub_rt(tvb, offset, pinfo, tree, di, drep, &rt);
+
+ offset = mapi_dissect_element_SRestriction_sub_res(tvb, offset, pinfo, tree, di, drep, &rt);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct _mapi_SRestriction_comment { */
+/* IDL: uint8 rt; */
+/* IDL: [switch_is(rt)] mapi_SRestriction_CTR res; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SRestriction_comment_rt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_comment_rt, *rt);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SRestriction_comment_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *rt)
+{
+ offset = mapi_dissect_SRestriction_CTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_SRestriction_comment_res, *rt);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SRestriction_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 rt = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SRestriction_comment);
+ }
+
+ offset = mapi_dissect_element_SRestriction_comment_rt(tvb, offset, pinfo, tree, di, drep, &rt);
+
+ offset = mapi_dissect_element_SRestriction_comment_res(tvb, offset, pinfo, tree, di, drep, &rt);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 handle_idx; */
+/* IDL: [represent_as(uint16)] mapi_SRestriction restrictions; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Restrict_req_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Restrict_req_handle_idx, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Restrict_req_restrictions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_Restrict_req_restrictions,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Restrict_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Restrict_req);
+ }
+
+ offset = mapi_dissect_element_Restrict_req_handle_idx(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Restrict_req_restrictions(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TableStatus TableStatus; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Restrict_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TableStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_Restrict_repl_TableStatus, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Restrict_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Restrict_repl);
+ }
+
+ offset = mapi_dissect_element_Restrict_repl_TableStatus(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: TBL_ADVANCE=0x0, */
+/* IDL: TBL_NOADVANCE=0x1, */
+/* IDL: TBL_ENABLEPACKEDBUFFERS=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_QueryRowsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: QueryRowsFlags QueryRowsFlags; */
+/* IDL: uint8 ForwardRead; */
+/* IDL: uint16 RowCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryRows_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryRows_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryRows_req_QueryRowsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_QueryRowsFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryRows_req_QueryRowsFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryRows_req_ForwardRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryRows_req_ForwardRead, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryRows_req_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryRows_req_RowCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryRows_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryRows_req);
+ }
+
+ offset = mapi_dissect_element_QueryRows_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryRows_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryRows_req_QueryRowsFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryRows_req_ForwardRead(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryRows_req_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 Origin; */
+/* IDL: uint16 RowCount; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB RowData; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryRows_repl_Origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryRows_repl_Origin, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryRows_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryRows_repl_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryRows_repl_RowData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryRows_repl_RowData, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryRows_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryRows_repl);
+ }
+
+ offset = mapi_dissect_element_QueryRows_repl_Origin(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryRows_repl_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryRows_repl_RowData(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetStatus_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetStatus_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetStatus_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetStatus_req);
+ }
+
+ offset = mapi_dissect_element_GetStatus_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetStatus_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TableStatus TableStatus; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetStatus_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TableStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetStatus_repl_TableStatus, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetStatus_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetStatus_repl);
+ }
+
+ offset = mapi_dissect_element_GetStatus_repl_TableStatus(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryPosition_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryPosition_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryPosition_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryPosition_req);
+ }
+
+ offset = mapi_dissect_element_QueryPosition_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryPosition_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 Numerator; */
+/* IDL: uint32 Denominator; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryPosition_repl_Numerator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryPosition_repl_Numerator, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryPosition_repl_Denominator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryPosition_repl_Denominator, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryPosition_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryPosition_repl);
+ }
+
+ offset = mapi_dissect_element_QueryPosition_repl_Numerator(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryPosition_repl_Denominator(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: BOOKMARK_BEGINNING=0x0, */
+/* IDL: BOOKMARK_CURRENT=0x1, */
+/* IDL: BOOKMARK_END=0x2, */
+/* IDL: BOOKMARK_USER=0x3, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_BOOKMARK(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: BOOKMARK origin; */
+/* IDL: int32 offset; */
+/* IDL: uint8 WantRowMovedCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRow_req_origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_BOOKMARK(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRow_req_origin, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRow_req_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRow_req_offset, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRow_req_WantRowMovedCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRow_req_WantRowMovedCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekRow_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekRow_req);
+ }
+
+ offset = mapi_dissect_element_SeekRow_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRow_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRow_req_origin(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRow_req_offset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRow_req_WantRowMovedCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HasSoughtLess; */
+/* IDL: uint32 RowsSought; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekRow_repl_HasSoughtLess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRow_repl_HasSoughtLess, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRow_repl_RowsSought(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRow_repl_RowsSought, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekRow_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekRow_repl);
+ }
+
+ offset = mapi_dissect_element_SeekRow_repl_HasSoughtLess(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRow_repl_RowsSought(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SBinary_short Bookmark; */
+/* IDL: uint32 RowCount; */
+/* IDL: uint8 WantRowMovedCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekRowBookmark_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowBookmark_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowBookmark_req_Bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_SeekRowBookmark_req_Bookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowBookmark_req_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowBookmark_req_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowBookmark_req_WantRowMovedCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowBookmark_req_WantRowMovedCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekRowBookmark_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekRowBookmark_req);
+ }
+
+ offset = mapi_dissect_element_SeekRowBookmark_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowBookmark_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowBookmark_req_Bookmark(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowBookmark_req_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowBookmark_req_WantRowMovedCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 RowNoLongerVisible; */
+/* IDL: uint8 HasSoughtLess; */
+/* IDL: uint32 RowsSought; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekRowBookmark_repl_RowNoLongerVisible(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowBookmark_repl_RowNoLongerVisible, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowBookmark_repl_HasSoughtLess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowBookmark_repl_HasSoughtLess, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowBookmark_repl_RowsSought(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowBookmark_repl_RowsSought, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekRowBookmark_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekRowBookmark_repl);
+ }
+
+ offset = mapi_dissect_element_SeekRowBookmark_repl_RowNoLongerVisible(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowBookmark_repl_HasSoughtLess(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowBookmark_repl_RowsSought(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 ulNumerator; */
+/* IDL: uint32 ulDenominator; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekRowApprox_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowApprox_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowApprox_req_ulNumerator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowApprox_req_ulNumerator, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekRowApprox_req_ulDenominator(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekRowApprox_req_ulDenominator, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekRowApprox_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekRowApprox_req);
+ }
+
+ offset = mapi_dissect_element_SeekRowApprox_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowApprox_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowApprox_req_ulNumerator(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekRowApprox_req_ulDenominator(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SeekRowApprox_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateBookmark_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateBookmark_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateBookmark_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateBookmark_req);
+ }
+
+ offset = mapi_dissect_element_CreateBookmark_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateBookmark_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: SBinary_short bookmark; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateBookmark_repl_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_CreateBookmark_repl_bookmark,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateBookmark_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateBookmark_repl);
+ }
+
+ offset = mapi_dissect_element_CreateBookmark_repl_bookmark(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: FOLDER_GENERIC=0x1, */
+/* IDL: FOLDER_SEARCH=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_FOLDER_TYPE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: MAPI_FOLDER_ANSI=0x0, */
+/* IDL: MAPI_FOLDER_UNICODE=0x1, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_FOLDER_STRING(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(MAPI_FOLDER_ANSI)] [case(MAPI_FOLDER_ANSI)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(MAPI_FOLDER_UNICODE)] [case(MAPI_FOLDER_UNICODE)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LPTSTR_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_LPTSTR_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LPTSTR_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_LPTSTR_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_LPTSTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_LPTSTR, &item, "LPTSTR");
+ }
+
+ switch(level) {
+ case MAPI_FOLDER_ANSI:
+ offset = mapi_dissect_element_LPTSTR_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case MAPI_FOLDER_UNICODE:
+ offset = mapi_dissect_element_LPTSTR_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: enum { */
+/* IDL: NONE=0x0000, */
+/* IDL: OPEN_IF_EXISTS=0x0001, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_FOLDER_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
{
guint16 parameter=0;
if (param) {
@@ -8871,52 +21975,1634 @@ mapi_dissect_enum_OM_recipient_type(tvbuff_t *tvb _U_, int offset _U_, packet_in
}
-/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [switch_type(OM_recipient_type)] union { */
-/* IDL: [case(0x0)] [case(0x0)] RecipExchange EXCHANGE; */
-/* IDL: [case(0xA)] [case(0xA)] RecipSMTP SMTP; */
-/* IDL: [default] ; */
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: FOLDER_TYPE ulFolderType; */
+/* IDL: FOLDER_STRING ulType; */
+/* IDL: FOLDER_FLAGS ulFlags; */
+/* IDL: [switch_is(ulType)] LPTSTR FolderName; */
+/* IDL: [switch_is(ulType)] LPTSTR FolderComment; */
/* IDL: } */
static int
-mapi_dissect_element_recipient_type_EXCHANGE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_CreateFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_struct_RecipExchange(tvb,offset,pinfo,tree,di,drep,hf_mapi_recipient_type_EXCHANGE,0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
return offset;
}
static int
-mapi_dissect_element_recipient_type_SMTP(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_CreateFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_struct_RecipSMTP(tvb,offset,pinfo,tree,di,drep,hf_mapi_recipient_type_SMTP,0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
return offset;
}
static int
-mapi_dissect_recipient_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_element_CreateFolder_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_req_ulFolderType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_FOLDER_TYPE(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_req_ulFolderType, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_req_ulType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulType)
+{
+ offset = mapi_dissect_enum_FOLDER_STRING(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_req_ulType, ulType);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_req_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
+ offset = mapi_dissect_enum_FOLDER_FLAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_req_ulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_req_FolderName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulType)
+{
+ offset = mapi_dissect_LPTSTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_req_FolderName, *ulType);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_req_FolderComment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulType)
+{
+ offset = mapi_dissect_LPTSTR(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_req_FolderComment, *ulType);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 ulType = 0;
proto_item *item = NULL;
proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
int old_offset;
- guint16 level;
+
+ di->no_align = TRUE;
old_offset = offset;
+
if (parent_tree) {
- tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_type, &item, "recipient_type");
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateFolder_req);
+ }
+
+ offset = mapi_dissect_element_CreateFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_req_ulFolderType(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_req_ulType(tvb, offset, pinfo, tree, di, drep, &ulType);
+
+ offset = mapi_dissect_element_CreateFolder_req_ulFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_req_FolderName(tvb, offset, pinfo, tree, di, drep, &ulType);
+
+ offset = mapi_dissect_element_CreateFolder_req_FolderComment(tvb, offset, pinfo, tree, di, drep, &ulType);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HasRules; */
+/* IDL: uint8 IsGhosted; */
+/* IDL: [switch_is(IsGhosted)] IsGhosted Ghost; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateFolder_GhostInfo_HasRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_GhostInfo_HasRules, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_GhostInfo_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_GhostInfo_IsGhosted, *IsGhosted);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_GhostInfo_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = mapi_dissect_IsGhosted(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_GhostInfo_Ghost, *IsGhosted);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateFolder_GhostInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 IsGhosted = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateFolder_GhostInfo);
+ }
+
+ offset = mapi_dissect_element_CreateFolder_GhostInfo_HasRules(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_GhostInfo_IsGhosted(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
+ offset = mapi_dissect_element_CreateFolder_GhostInfo_Ghost(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] CreateFolder_GhostInfo GhostInfo; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateFolder_GhostUnion_GhostInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateFolder_GhostInfo(tvb,offset,pinfo,tree,di,drep,hf_mapi_CreateFolder_GhostUnion_GhostInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_CreateFolder_GhostUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_CreateFolder_GhostUnion, &item, "CreateFolder_GhostUnion");
}
- offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
switch(level) {
case 0x0:
- offset = mapi_dissect_element_recipient_type_EXCHANGE(tvb, offset, pinfo, tree, di, drep);
break;
- case 0xA:
- offset = mapi_dissect_element_recipient_type_SMTP(tvb, offset, pinfo, tree, di, drep);
+ case 0x1:
+ offset = mapi_dissect_element_CreateFolder_GhostUnion_GhostInfo(tvb, offset, pinfo, tree, di, drep);
break;
+ }
+ proto_item_set_len(item, offset-old_offset);
- default:
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: hyper folder_id; */
+/* IDL: uint8 IsExistingFolder; */
+/* IDL: [switch_is(IsExistingFolder)] CreateFolder_GhostUnion GhostUnion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateFolder_repl_folder_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_repl_folder_id, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_repl_IsExistingFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsExistingFolder)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_repl_IsExistingFolder, *IsExistingFolder);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateFolder_repl_GhostUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsExistingFolder)
+{
+ offset = mapi_dissect_CreateFolder_GhostUnion(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateFolder_repl_GhostUnion, *IsExistingFolder);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 IsExistingFolder = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateFolder_repl);
+ }
+
+ offset = mapi_dissect_element_CreateFolder_repl_folder_id(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateFolder_repl_IsExistingFolder(tvb, offset, pinfo, tree, di, drep, &IsExistingFolder);
+
+ offset = mapi_dissect_element_CreateFolder_repl_GhostUnion(tvb, offset, pinfo, tree, di, drep, &IsExistingFolder);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: DEL_MESSAGES = 0x1 , */
+/* IDL: DEL_FOLDERS = 0x4 , */
+/* IDL: DELETE_HARD_DELETE = 0x10 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_DeleteFolderFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_DeleteFolderFlags_fields[] = {
+ &hf_mapi_DeleteFolderFlags_DEL_MESSAGES,
+ &hf_mapi_DeleteFolderFlags_DEL_FOLDERS,
+ &hf_mapi_DeleteFolderFlags_DELETE_HARD_DELETE,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_DeleteFolderFlags, mapi_DeleteFolderFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000015)) {
+ flags &= (~0x00000015);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: DeleteFolderFlags DeleteFolderFlags; */
+/* IDL: hyper FolderId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteFolder_req_DeleteFolderFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_DeleteFolderFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteFolder_req_DeleteFolderFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteFolder_req_FolderId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteFolder_req);
+ }
+
+ offset = mapi_dissect_element_DeleteFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteFolder_req_DeleteFolderFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteFolder_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteFolder_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteFolder_repl);
+ }
+
+ offset = mapi_dissect_element_DeleteFolder_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 NotifyNonRead; */
+/* IDL: uint16 cn_ids; */
+/* IDL: [size_is(cn_ids)] hyper message_ids[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteMessages_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteMessages_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteMessages_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteMessages_req_NotifyNonRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteMessages_req_NotifyNonRead, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteMessages_req_cn_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteMessages_req_cn_ids, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteMessages_req_message_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_DeleteMessages_req_message_ids_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteMessages_req_message_ids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteMessages_req_message_ids, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteMessages_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteMessages_req);
+ }
+
+ offset = mapi_dissect_element_DeleteMessages_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteMessages_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteMessages_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteMessages_req_NotifyNonRead(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteMessages_req_cn_ids(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteMessages_req_message_ids(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteMessages_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteMessages_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteMessages_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteMessages_repl);
+ }
+
+ offset = mapi_dissect_element_DeleteMessages_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper msgid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetMessageStatus_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetMessageStatus_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetMessageStatus_req_msgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetMessageStatus_req_msgid, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetMessageStatus_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetMessageStatus_req);
+ }
+
+ offset = mapi_dissect_element_GetMessageStatus_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetMessageStatus_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetMessageStatus_req_msgid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: MSGSTATUS_HIGHLIGHTED = 0x1 , */
+/* IDL: MSGSTATUS_TAGGED = 0x2 , */
+/* IDL: MSGSTATUS_HIDDEN = 0x4 , */
+/* IDL: MSGSTATUS_DELMARKED = 0x8 , */
+/* IDL: MSGSTATUS_REMOTE_DOWNLOAD = 0x1000 , */
+/* IDL: MSGSTATUS_REMOTE_DELETE = 0x2000 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_ulMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_ulMessageStatus_fields[] = {
+ &hf_mapi_ulMessageStatus_MSGSTATUS_HIGHLIGHTED,
+ &hf_mapi_ulMessageStatus_MSGSTATUS_TAGGED,
+ &hf_mapi_ulMessageStatus_MSGSTATUS_HIDDEN,
+ &hf_mapi_ulMessageStatus_MSGSTATUS_DELMARKED,
+ &hf_mapi_ulMessageStatus_MSGSTATUS_REMOTE_DOWNLOAD,
+ &hf_mapi_ulMessageStatus_MSGSTATUS_REMOTE_DELETE,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_ulMessageStatus, mapi_ulMessageStatus_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x0000300f)) {
+ flags &= (~0x0000300f);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper msgid; */
+/* IDL: uint32 ulNewStatus; */
+/* IDL: ulMessageStatus ulNewStatusMask; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetMessageStatus_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageStatus_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageStatus_req_msgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageStatus_req_msgid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageStatus_req_ulNewStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageStatus_req_ulNewStatus, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetMessageStatus_req_ulNewStatusMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_ulMessageStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageStatus_req_ulNewStatusMask, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetMessageStatus_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetMessageStatus_req);
+ }
+
+ offset = mapi_dissect_element_SetMessageStatus_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageStatus_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageStatus_req_msgid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageStatus_req_ulNewStatus(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetMessageStatus_req_ulNewStatusMask(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: ulMessageStatus ulOldStatus; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetMessageStatus_repl_ulOldStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_ulMessageStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetMessageStatus_repl_ulOldStatus, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetMessageStatus_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetMessageStatus_repl);
+ }
+
+ offset = mapi_dissect_element_SetMessageStatus_repl_ulOldStatus(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: TableFlags TableFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetAttachmentTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetAttachmentTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetAttachmentTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetAttachmentTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_TableFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetAttachmentTable_req_TableFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetAttachmentTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetAttachmentTable_req);
+ }
+
+ offset = mapi_dissect_element_GetAttachmentTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetAttachmentTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetAttachmentTable_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetAttachmentTable_req_TableFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_GetAttachmentTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: OpenAttachmentFlags_ReadOnly=0x0, */
+/* IDL: OpenAttachmentFlags_ReadWrite=0x1, */
+/* IDL: OpenAttachmentFlags_BestAccess=0x3, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_OpenAttachmentFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: OpenAttachmentFlags OpenAttachmentFlags; */
+/* IDL: uint32 AttachmentID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenAttach_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenAttach_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenAttach_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenAttach_req_OpenAttachmentFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_OpenAttachmentFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenAttach_req_OpenAttachmentFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenAttach_req_AttachmentID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenAttach_req_AttachmentID, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenAttach_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenAttach_req);
+ }
+
+ offset = mapi_dissect_element_OpenAttach_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenAttach_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenAttach_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenAttach_req_OpenAttachmentFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenAttach_req_AttachmentID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_OpenAttach_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateAttach_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateAttach_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CreateAttach_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateAttach_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateAttach_req);
+ }
+
+ offset = mapi_dissect_element_CreateAttach_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateAttach_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CreateAttach_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 AttachmentID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CreateAttach_repl_AttachmentID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_CreateAttach_repl_AttachmentID, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CreateAttach_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CreateAttach_repl);
+ }
+
+ offset = mapi_dissect_element_CreateAttach_repl_AttachmentID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 AttachmentID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeleteAttach_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteAttach_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeleteAttach_req_AttachmentID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeleteAttach_req_AttachmentID, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeleteAttach_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeleteAttach_req);
+ }
+
+ offset = mapi_dissect_element_DeleteAttach_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteAttach_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeleteAttach_req_AttachmentID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_DeleteAttach_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 ResponseHandleIndex; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SaveFlags SaveFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SaveChangesAttachment_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesAttachment_req_ResponseHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ResponseHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesAttachment_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SaveChangesAttachment_req_SaveFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_SaveFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_SaveChangesAttachment_req_SaveFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SaveChangesAttachment_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SaveChangesAttachment_req);
+ }
+
+ offset = mapi_dissect_element_SaveChangesAttachment_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesAttachment_req_ResponseHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesAttachment_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SaveChangesAttachment_req_SaveFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SaveChangesAttachment_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper fid; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszMessageClass; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetReceiveFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReceiveFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReceiveFolder_req_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetReceiveFolder_req_fid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReceiveFolder_req_lpszMessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_SetReceiveFolder_req_lpszMessageClass , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetReceiveFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetReceiveFolder_req);
+ }
+
+ offset = mapi_dissect_element_SetReceiveFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReceiveFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReceiveFolder_req_fid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReceiveFolder_req_lpszMessageClass(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SetReceiveFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string MessageClass; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetReceiveFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetReceiveFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetReceiveFolder_req_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_GetReceiveFolder_req_MessageClass , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetReceiveFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetReceiveFolder_req);
+ }
+
+ offset = mapi_dissect_element_GetReceiveFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetReceiveFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetReceiveFolder_req_MessageClass(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper folder_id; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string MessageClass; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetReceiveFolder_repl_folder_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetReceiveFolder_repl_folder_id, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetReceiveFolder_repl_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_GetReceiveFolder_repl_MessageClass , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetReceiveFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetReceiveFolder_repl);
+ }
+
+ offset = mapi_dissect_element_GetReceiveFolder_repl_folder_id(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetReceiveFolder_repl_MessageClass(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: fnevCriticalError=0x0001, */
+/* IDL: fnevNewMail=0x0002, */
+/* IDL: fnevObjectCreated=0x0004, */
+/* IDL: fnevObjectDeleted=0x0008, */
+/* IDL: fnevObjectModified=0x0010, */
+/* IDL: fnevObjectMoved=0x0020, */
+/* IDL: fnevObjectCopied=0x0040, */
+/* IDL: fnevSearchComplete=0x0080, */
+/* IDL: fnevTableModified=0x0100, */
+/* IDL: fnevStatusObjectModified=0x0200, */
+/* IDL: fnevReserved=0x0400, */
+/* IDL: fnevTbit=0x1000, */
+/* IDL: fnevUbit=0x2000, */
+/* IDL: fnevSbit=0x4000, */
+/* IDL: fnevMbit=0x8000, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_NotificationFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
+{
+ guint16 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] hyper ID; */
+/* IDL: [case(0x1)] [case(0x1)] EMPTY ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_hyperbool_ID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_hyperbool_ID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_hyperbool(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_hyperbool, &item, "hyperbool");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_hyperbool_ID(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1:
break;
}
proto_item_set_len(item, offset-old_offset);
@@ -8925,12 +23611,302 @@ mapi_dissect_recipient_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinf
return offset;
}
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: NotificationFlags notificationFlags; */
+/* IDL: uint8 layout; */
+/* IDL: [switch_is(layout)] hyperbool u; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RegisterNotification_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RegisterNotification_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RegisterNotification_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RegisterNotification_req_notificationFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_NotificationFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_RegisterNotification_req_notificationFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RegisterNotification_req_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *layout)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_RegisterNotification_req_layout, *layout);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RegisterNotification_req_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *layout)
+{
+ offset = mapi_dissect_hyperbool(tvb, offset, pinfo, tree, di, drep, hf_mapi_RegisterNotification_req_u, *layout);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RegisterNotification_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 layout = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RegisterNotification_req);
+ }
+
+ offset = mapi_dissect_element_RegisterNotification_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RegisterNotification_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RegisterNotification_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RegisterNotification_req_notificationFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RegisterNotification_req_layout(tvb, offset, pinfo, tree, di, drep, &layout);
+
+ offset = mapi_dissect_element_RegisterNotification_req_u(tvb, offset, pinfo, tree, di, drep, &layout);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_RegisterNotification_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: MSGFLAG_READ = 0x1 , */
+/* IDL: MSGFLAG_UNMODIFIED = 0x2 , */
+/* IDL: MSGFLAG_SUBMIT = 0x4 , */
+/* IDL: MSGFLAG_UNSENT = 0x8 , */
+/* IDL: MSGFLAG_HASATTACH = 0x10 , */
+/* IDL: MSGFLAG_FROMME = 0x20 , */
+/* IDL: MSGFLAG_ASSOCIATED = 0x40 , */
+/* IDL: MSGFLAG_RESEND = 0x80 , */
+/* IDL: MSGFLAG_RN_PENDING = 0x100 , */
+/* IDL: MSGFLAG_NRN_PENDING = 0x200 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_MsgFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_MsgFlags_fields[] = {
+ &hf_mapi_MsgFlags_MSGFLAG_READ,
+ &hf_mapi_MsgFlags_MSGFLAG_UNMODIFIED,
+ &hf_mapi_MsgFlags_MSGFLAG_SUBMIT,
+ &hf_mapi_MsgFlags_MSGFLAG_UNSENT,
+ &hf_mapi_MsgFlags_MSGFLAG_HASATTACH,
+ &hf_mapi_MsgFlags_MSGFLAG_FROMME,
+ &hf_mapi_MsgFlags_MSGFLAG_ASSOCIATED,
+ &hf_mapi_MsgFlags_MSGFLAG_RESEND,
+ &hf_mapi_MsgFlags_MSGFLAG_RN_PENDING,
+ &hf_mapi_MsgFlags_MSGFLAG_NRN_PENDING,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_MsgFlags, mapi_MsgFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x000003ff)) {
+ flags &= (~0x000003ff);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x1)] [case(0x1)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MessageClass_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_MessageClass_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageClass_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_MessageClass_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_MessageClass, &item, "MessageClass");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_MessageClass_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_MessageClass_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: GUID DatabaseGUID; */
+/* IDL: uint8 GlobalCounter[6]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GID_DatabaseGUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_GID_DatabaseGUID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GID_GlobalCounter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 6; i++)
+ offset = mapi_dissect_element_GID_GlobalCounter_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GID_GlobalCounter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GID_GlobalCounter, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GID);
+ }
+
+ offset = mapi_dissect_element_GID_DatabaseGUID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GID_GlobalCounter(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
/* IDL: enum { */
-/* IDL: DISPLAYNAME=0x400, */
+/* IDL: TABLE_CHANGED=0x1, */
+/* IDL: TABLE_ROW_ADDED=0x3, */
+/* IDL: TABLE_ROW_DELETED=0x4, */
+/* IDL: TABLE_ROW_MODIFIED=0x5, */
+/* IDL: TABLE_RESTRICT_DONE=0x7, */
/* IDL: } */
int
-mapi_dissect_enum_OM_recipient_displayname_7bit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
+mapi_dissect_enum_RichTableNotificationType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
{
guint16 parameter=0;
if (param) {
@@ -8944,38 +23920,5617 @@ mapi_dissect_enum_OM_recipient_displayname_7bit(tvbuff_t *tvb _U_, int offset _U
}
-/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [switch_type(OM_recipient_displayname_7bit)] union { */
-/* IDL: [case(0x400)] [case(0x400)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: MsgFlags MessageFlags; */
+/* IDL: uint8 UnicodeFlag; */
+/* IDL: [switch_is(UnicodeFlag)] MessageClass MessageClass; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_NewMailNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_NewMailNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NewMailNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_NewMailNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NewMailNotification_MessageFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_MsgFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_NewMailNotification_MessageFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NewMailNotification_UnicodeFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UnicodeFlag)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_NewMailNotification_UnicodeFlag, *UnicodeFlag);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NewMailNotification_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UnicodeFlag)
+{
+ offset = mapi_dissect_MessageClass(tvb, offset, pinfo, tree, di, drep, hf_mapi_NewMailNotification_MessageClass, *UnicodeFlag);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_NewMailNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 UnicodeFlag = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_NewMailNotification);
+ }
+
+ offset = mapi_dissect_element_NewMailNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_NewMailNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_NewMailNotification_MessageFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_NewMailNotification_UnicodeFlag(tvb, offset, pinfo, tree, di, drep, &UnicodeFlag);
+
+ offset = mapi_dissect_element_NewMailNotification_MessageClass(tvb, offset, pinfo, tree, di, drep, &UnicodeFlag);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper ParentFID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderCreatedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderCreatedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderCreatedNotification_ParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderCreatedNotification_ParentFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderCreatedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderCreatedNotification_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderCreatedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_FolderCreatedNotification_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderCreatedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderCreatedNotification_Tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderCreatedNotification);
+ }
+
+ offset = mapi_dissect_element_FolderCreatedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderCreatedNotification_ParentFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderCreatedNotification_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderCreatedNotification_Tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper ParentFID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderDeletedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderDeletedNotification_ParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderDeletedNotification_ParentFID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderDeletedNotification);
+ }
+
+ offset = mapi_dissect_element_FolderDeletedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderDeletedNotification_ParentFID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderModifiedNotification_10_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_10_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_10_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_10_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_10_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_FolderModifiedNotification_10_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_10_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_10_Tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderModifiedNotification_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderModifiedNotification_10);
+ }
+
+ offset = mapi_dissect_element_FolderModifiedNotification_10_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_10_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_10_Tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper ParentFID; */
+/* IDL: hyper OldFID; */
+/* IDL: hyper OldParentFID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderMoveCopyNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderMoveCopyNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderMoveCopyNotification_ParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderMoveCopyNotification_ParentFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderMoveCopyNotification_OldFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderMoveCopyNotification_OldFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderMoveCopyNotification_OldParentFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderMoveCopyNotification_OldParentFID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderMoveCopyNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderMoveCopyNotification);
+ }
+
+ offset = mapi_dissect_element_FolderMoveCopyNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderMoveCopyNotification_ParentFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderMoveCopyNotification_OldFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderMoveCopyNotification_OldParentFID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SearchCompleteNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchCompleteNotification_FID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SearchCompleteNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SearchCompleteNotification);
+ }
+
+ offset = mapi_dissect_element_SearchCompleteNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper InsertAfterFID; */
+/* IDL: [represent_as(uint16)] DATA_BLOB Columns; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HierarchyRowAddedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowAddedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyRowAddedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowAddedNotification_InsertAfterFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyRowAddedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowAddedNotification_Columns, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HierarchyRowAddedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HierarchyRowAddedNotification);
+ }
+
+ offset = mapi_dissect_element_HierarchyRowAddedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HierarchyRowAddedNotification_InsertAfterFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HierarchyRowAddedNotification_Columns(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HierarchyRowDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowDeletedNotification_FID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HierarchyRowDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HierarchyRowDeletedNotification);
+ }
+
+ offset = mapi_dissect_element_HierarchyRowDeletedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper InsertAfterFID; */
+/* IDL: [represent_as(uint16)] DATA_BLOB Columns; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HierarchyRowModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowModifiedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyRowModifiedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowModifiedNotification_InsertAfterFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyRowModifiedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyRowModifiedNotification_Columns, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HierarchyRowModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HierarchyRowModifiedNotification);
+ }
+
+ offset = mapi_dissect_element_HierarchyRowModifiedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HierarchyRowModifiedNotification_InsertAfterFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HierarchyRowModifiedNotification_Columns(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] union { */
+/* IDL: [case(TABLE_ROW_ADDED)] [case(TABLE_ROW_ADDED)] HierarchyRowAddedNotification HierarchyRowAddedNotification; */
+/* IDL: [case(TABLE_ROW_DELETED)] [case(TABLE_ROW_DELETED)] HierarchyRowDeletedNotification HierarchyRowDeletedNotification; */
+/* IDL: [case(TABLE_ROW_MODIFIED)] [case(TABLE_ROW_MODIFIED)] HierarchyRowModifiedNotification HierarchyRowModifiedNotification; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowAddedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HierarchyRowAddedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_HierarchyTableChangeUnion_HierarchyRowAddedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HierarchyRowDeletedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_HierarchyTableChangeUnion_HierarchyRowDeletedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HierarchyRowModifiedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_HierarchyTableChangeUnion_HierarchyRowModifiedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_HierarchyTableChangeUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_HierarchyTableChangeUnion, &item, "HierarchyTableChangeUnion");
+ }
+
+ switch(level) {
+ case TABLE_ROW_ADDED:
+ offset = mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowAddedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case TABLE_ROW_DELETED:
+ offset = mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowDeletedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case TABLE_ROW_MODIFIED:
+ offset = mapi_dissect_element_HierarchyTableChangeUnion_HierarchyRowModifiedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: RichTableNotificationType TableEvent; */
+/* IDL: [switch_is(TableEvent)] HierarchyTableChangeUnion HierarchyTableChangeUnion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HierarchyTableChange_TableEvent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent)
+{
+ offset = mapi_dissect_enum_RichTableNotificationType(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyTableChange_TableEvent, TableEvent);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HierarchyTableChange_HierarchyTableChangeUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent)
+{
+ offset = mapi_dissect_HierarchyTableChangeUnion(tvb, offset, pinfo, tree, di, drep, hf_mapi_HierarchyTableChange_HierarchyTableChangeUnion, *TableEvent);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HierarchyTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint16 TableEvent = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HierarchyTableChange);
+ }
+
+ offset = mapi_dissect_element_HierarchyTableChange_TableEvent(tvb, offset, pinfo, tree, di, drep, &TableEvent);
+
+ offset = mapi_dissect_element_HierarchyTableChange_HierarchyTableChangeUnion(tvb, offset, pinfo, tree, di, drep, &TableEvent);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HierChanged; */
+/* IDL: uint32 GIDCount; */
+/* IDL: [size_is(GIDCount)] GID GID[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_IcsNotification_HierChanged(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_IcsNotification_HierChanged, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_IcsNotification_GIDCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_IcsNotification_GIDCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_IcsNotification_GID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_IcsNotification_GID_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_IcsNotification_GID_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GID(tvb,offset,pinfo,tree,di,drep,hf_mapi_IcsNotification_GID,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_IcsNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_IcsNotification);
+ }
+
+ offset = mapi_dissect_element_IcsNotification_HierChanged(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_IcsNotification_GIDCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_IcsNotification_GID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: uint32 TotalMessageCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderModifiedNotification_1010_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_1010_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_1010_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_1010_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_1010_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_FolderModifiedNotification_1010_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_1010_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_1010_Tags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_1010_TotalMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_1010_TotalMessageCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderModifiedNotification_1010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderModifiedNotification_1010);
+ }
+
+ offset = mapi_dissect_element_FolderModifiedNotification_1010_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_1010_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_1010_Tags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_1010_TotalMessageCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: uint32 UnreadMessageCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderModifiedNotification_2010_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_2010_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_2010_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_2010_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_2010_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_FolderModifiedNotification_2010_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_2010_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_2010_Tags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_2010_UnreadMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_2010_UnreadMessageCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderModifiedNotification_2010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderModifiedNotification_2010);
+ }
+
+ offset = mapi_dissect_element_FolderModifiedNotification_2010_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_2010_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_2010_Tags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_2010_UnreadMessageCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: uint32 TotalMessageCount; */
+/* IDL: uint32 UnreadMessageCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FolderModifiedNotification_3010_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_3010_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_3010_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_3010_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_3010_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_FolderModifiedNotification_3010_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_3010_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_3010_Tags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_3010_TotalMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_3010_TotalMessageCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FolderModifiedNotification_3010_UnreadMessageCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FolderModifiedNotification_3010_UnreadMessageCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FolderModifiedNotification_3010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FolderModifiedNotification_3010);
+ }
+
+ offset = mapi_dissect_element_FolderModifiedNotification_3010_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_3010_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_3010_Tags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_3010_TotalMessageCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FolderModifiedNotification_3010_UnreadMessageCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MessageCreatedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageCreatedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageCreatedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageCreatedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageCreatedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageCreatedNotification_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageCreatedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_MessageCreatedNotification_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageCreatedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageCreatedNotification_Tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MessageCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MessageCreatedNotification);
+ }
+
+ offset = mapi_dissect_element_MessageCreatedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageCreatedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageCreatedNotification_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageCreatedNotification_Tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MessageDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageDeletedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageDeletedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageDeletedNotification_MID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MessageDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MessageDeletedNotification);
+ }
+
+ offset = mapi_dissect_element_MessageDeletedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageDeletedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MessageModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageModifiedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageModifiedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageModifiedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageModifiedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageModifiedNotification_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageModifiedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_MessageModifiedNotification_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageModifiedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageModifiedNotification_Tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MessageModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MessageModifiedNotification);
+ }
+
+ offset = mapi_dissect_element_MessageModifiedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageModifiedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageModifiedNotification_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageModifiedNotification_Tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: hyper OldFID; */
+/* IDL: hyper OldMID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MessageMoveCopyNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageMoveCopyNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageMoveCopyNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageMoveCopyNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageMoveCopyNotification_OldFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageMoveCopyNotification_OldFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MessageMoveCopyNotification_OldMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MessageMoveCopyNotification_OldMID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MessageMoveCopyNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MessageMoveCopyNotification);
+ }
+
+ offset = mapi_dissect_element_MessageMoveCopyNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageMoveCopyNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageMoveCopyNotification_OldFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MessageMoveCopyNotification_OldMID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: uint32 Instance; */
+/* IDL: hyper InsertAfterFID; */
+/* IDL: hyper InsertAfterMID; */
+/* IDL: uint32 InsertAfterInstance; */
+/* IDL: [represent_as(uint16)] DATA_BLOB Columns; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_Instance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_Instance, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_InsertAfterFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_InsertAfterMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_InsertAfterMID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_InsertAfterInstance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_InsertAfterInstance, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowAddedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowAddedNotification_Columns, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ContentsRowAddedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ContentsRowAddedNotification);
+ }
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_Instance(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_InsertAfterFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_InsertAfterMID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_InsertAfterInstance(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowAddedNotification_Columns(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: uint32 Instance; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ContentsRowDeletedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowDeletedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowDeletedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowDeletedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowDeletedNotification_Instance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowDeletedNotification_Instance, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ContentsRowDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ContentsRowDeletedNotification);
+ }
+
+ offset = mapi_dissect_element_ContentsRowDeletedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowDeletedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowDeletedNotification_Instance(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: uint32 Instance; */
+/* IDL: hyper InsertAfterFID; */
+/* IDL: hyper InsertAfterMID; */
+/* IDL: uint32 InsertAfterInstance; */
+/* IDL: [represent_as(uint16)] DATA_BLOB Columns; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_Instance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_Instance, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_InsertAfterFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterMID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_InsertAfterMID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterInstance(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_InsertAfterInstance, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsRowModifiedNotification_Columns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsRowModifiedNotification_Columns, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ContentsRowModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ContentsRowModifiedNotification);
+ }
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_Instance(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterMID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_InsertAfterInstance(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ContentsRowModifiedNotification_Columns(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] union { */
+/* IDL: [case(TABLE_ROW_ADDED)] [case(TABLE_ROW_ADDED)] ContentsRowAddedNotification ContentsRowAddedNotification; */
+/* IDL: [case(TABLE_ROW_DELETED)] [case(TABLE_ROW_DELETED)] ContentsRowDeletedNotification ContentsRowDeletedNotification; */
+/* IDL: [case(TABLE_ROW_MODIFIED)] [case(TABLE_ROW_MODIFIED)] ContentsRowModifiedNotification ContentsRowModifiedNotification; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ContentsTableChangeUnion_ContentsRowAddedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ContentsRowAddedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_ContentsTableChangeUnion_ContentsRowAddedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsTableChangeUnion_ContentsRowDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ContentsRowDeletedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_ContentsTableChangeUnion_ContentsRowDeletedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsTableChangeUnion_ContentsRowModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ContentsRowModifiedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_ContentsTableChangeUnion_ContentsRowModifiedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_ContentsTableChangeUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_ContentsTableChangeUnion, &item, "ContentsTableChangeUnion");
+ }
+
+ switch(level) {
+ case TABLE_ROW_ADDED:
+ offset = mapi_dissect_element_ContentsTableChangeUnion_ContentsRowAddedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case TABLE_ROW_DELETED:
+ offset = mapi_dissect_element_ContentsTableChangeUnion_ContentsRowDeletedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case TABLE_ROW_MODIFIED:
+ offset = mapi_dissect_element_ContentsTableChangeUnion_ContentsRowModifiedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: RichTableNotificationType TableEvent; */
+/* IDL: [switch_is(TableEvent)] ContentsTableChangeUnion ContentsTableChangeUnion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ContentsTableChange_TableEvent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent)
+{
+ offset = mapi_dissect_enum_RichTableNotificationType(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsTableChange_TableEvent, TableEvent);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ContentsTableChange_ContentsTableChangeUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *TableEvent)
+{
+ offset = mapi_dissect_ContentsTableChangeUnion(tvb, offset, pinfo, tree, di, drep, hf_mapi_ContentsTableChange_ContentsTableChangeUnion, *TableEvent);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ContentsTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint16 TableEvent = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ContentsTableChange);
+ }
+
+ offset = mapi_dissect_element_ContentsTableChange_TableEvent(tvb, offset, pinfo, tree, di, drep, &TableEvent);
+
+ offset = mapi_dissect_element_ContentsTableChange_ContentsTableChangeUnion(tvb, offset, pinfo, tree, di, drep, &TableEvent);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: hyper SearchFID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SearchMessageCreatedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageCreatedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageCreatedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageCreatedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageCreatedNotification_SearchFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageCreatedNotification_SearchFID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageCreatedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageCreatedNotification_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageCreatedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SearchMessageCreatedNotification_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageCreatedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageCreatedNotification_Tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SearchMessageCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SearchMessageCreatedNotification);
+ }
+
+ offset = mapi_dissect_element_SearchMessageCreatedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageCreatedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageCreatedNotification_SearchFID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageCreatedNotification_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageCreatedNotification_Tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: hyper SearchFID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SearchMessageRemovedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageRemovedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageRemovedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageRemovedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageRemovedNotification_SearchFID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageRemovedNotification_SearchFID, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SearchMessageRemovedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SearchMessageRemovedNotification);
+ }
+
+ offset = mapi_dissect_element_SearchMessageRemovedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageRemovedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageRemovedNotification_SearchFID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FID; */
+/* IDL: hyper MID; */
+/* IDL: uint16 TagCount; */
+/* IDL: [size_is(TagCount)] MAPITAGS Tags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SearchMessageModifiedNotification_FID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageModifiedNotification_FID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageModifiedNotification_MID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageModifiedNotification_MID, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageModifiedNotification_TagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageModifiedNotification_TagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageModifiedNotification_Tags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SearchMessageModifiedNotification_Tags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SearchMessageModifiedNotification_Tags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_SearchMessageModifiedNotification_Tags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SearchMessageModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SearchMessageModifiedNotification);
+ }
+
+ offset = mapi_dissect_element_SearchMessageModifiedNotification_FID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageModifiedNotification_MID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageModifiedNotification_TagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SearchMessageModifiedNotification_Tags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] union { */
+/* IDL: [case(0x0002)] [case(0x0002)] NewMailNotification NewMailNotification; */
+/* IDL: [case(0x0004)] [case(0x0004)] FolderCreatedNotification FolderCreatedNotification; */
+/* IDL: [case(0x0008)] [case(0x0008)] FolderDeletedNotification FolderDeletedNotification; */
+/* IDL: [case(0x0010)] [case(0x0010)] FolderModifiedNotification_10 FolderModifiedNotification_10; */
+/* IDL: [case(0x0020)] [case(0x0020)] FolderMoveCopyNotification FolderMoveNotification; */
+/* IDL: [case(0x0040)] [case(0x0040)] FolderMoveCopyNotification FolderCopyNotification; */
+/* IDL: [case(0x0080)] [case(0x0080)] SearchCompleteNotification SearchCompleteNotification; */
+/* IDL: [case(0x0100)] [case(0x0100)] HierarchyTableChange HierarchyTableChange; */
+/* IDL: [case(0x0200)] [case(0x0200)] IcsNotification IcsNotification; */
+/* IDL: [case(0x1010)] [case(0x1010)] FolderModifiedNotification_1010 FolderModifiedNotification_1010; */
+/* IDL: [case(0x2010)] [case(0x2010)] FolderModifiedNotification_2010 FolderModifiedNotification_2010; */
+/* IDL: [case(0x3010)] [case(0x3010)] FolderModifiedNotification_3010 FolderModifiedNotification_3010; */
+/* IDL: [case(0x8002)] [case(0x8002)] NewMailNotification NewMessageNotification; */
+/* IDL: [case(0x8004)] [case(0x8004)] MessageCreatedNotification MessageCreatedNotification; */
+/* IDL: [case(0x8008)] [case(0x8008)] MessageDeletedNotification MessageDeletedNotification; */
+/* IDL: [case(0x8010)] [case(0x8010)] MessageModifiedNotification MessageModifiedNotification; */
+/* IDL: [case(0x8020)] [case(0x8020)] MessageMoveCopyNotification MessageMoveNotification; */
+/* IDL: [case(0x8040)] [case(0x8040)] MessageMoveCopyNotification MessageCopyNotification; */
+/* IDL: [case(0x8100)] [case(0x8100)] ContentsTableChange ContentsTableChange; */
+/* IDL: [case(0xc004)] [case(0xc004)] SearchMessageCreatedNotification SearchMessageCreatedNotification; */
+/* IDL: [case(0xc008)] [case(0xc008)] SearchMessageRemovedNotification SearchMessageRemovedNotification; */
+/* IDL: [case(0xc010)] [case(0xc010)] SearchMessageModifiedNotification SearchMessageModifiedNotification; */
+/* IDL: [case(0xc100)] [case(0xc100)] ContentsTableChange SearchTableChange; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_NotificationData_NewMailNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_NewMailNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_NewMailNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderCreatedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderCreatedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderDeletedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderDeletedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderModifiedNotification_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderModifiedNotification_10(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderModifiedNotification_10,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderMoveNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderMoveCopyNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderMoveNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderCopyNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderMoveCopyNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderCopyNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_SearchCompleteNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SearchCompleteNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_SearchCompleteNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_HierarchyTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HierarchyTableChange(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_HierarchyTableChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_IcsNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_IcsNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_IcsNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderModifiedNotification_1010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderModifiedNotification_1010(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderModifiedNotification_1010,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderModifiedNotification_2010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderModifiedNotification_2010(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderModifiedNotification_2010,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_FolderModifiedNotification_3010(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FolderModifiedNotification_3010(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_FolderModifiedNotification_3010,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_NewMessageNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_NewMailNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_NewMessageNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_MessageCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MessageCreatedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_MessageCreatedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_MessageDeletedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MessageDeletedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_MessageDeletedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_MessageModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MessageModifiedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_MessageModifiedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_MessageMoveNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MessageMoveCopyNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_MessageMoveNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_MessageCopyNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MessageMoveCopyNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_MessageCopyNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_ContentsTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ContentsTableChange(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_ContentsTableChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_SearchMessageCreatedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SearchMessageCreatedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_SearchMessageCreatedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_SearchMessageRemovedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SearchMessageRemovedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_SearchMessageRemovedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_SearchMessageModifiedNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SearchMessageModifiedNotification(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_SearchMessageModifiedNotification,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_NotificationData_SearchTableChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ContentsTableChange(tvb,offset,pinfo,tree,di,drep,hf_mapi_NotificationData_SearchTableChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_NotificationData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_NotificationData, &item, "NotificationData");
+ }
+
+ switch(level) {
+ case 0x0002:
+ offset = mapi_dissect_element_NotificationData_NewMailNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0004:
+ offset = mapi_dissect_element_NotificationData_FolderCreatedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0008:
+ offset = mapi_dissect_element_NotificationData_FolderDeletedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0010:
+ offset = mapi_dissect_element_NotificationData_FolderModifiedNotification_10(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0020:
+ offset = mapi_dissect_element_NotificationData_FolderMoveNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0040:
+ offset = mapi_dissect_element_NotificationData_FolderCopyNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0080:
+ offset = mapi_dissect_element_NotificationData_SearchCompleteNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0100:
+ offset = mapi_dissect_element_NotificationData_HierarchyTableChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x0200:
+ offset = mapi_dissect_element_NotificationData_IcsNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1010:
+ offset = mapi_dissect_element_NotificationData_FolderModifiedNotification_1010(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x2010:
+ offset = mapi_dissect_element_NotificationData_FolderModifiedNotification_2010(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x3010:
+ offset = mapi_dissect_element_NotificationData_FolderModifiedNotification_3010(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8002:
+ offset = mapi_dissect_element_NotificationData_NewMessageNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8004:
+ offset = mapi_dissect_element_NotificationData_MessageCreatedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8008:
+ offset = mapi_dissect_element_NotificationData_MessageDeletedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8010:
+ offset = mapi_dissect_element_NotificationData_MessageModifiedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8020:
+ offset = mapi_dissect_element_NotificationData_MessageMoveNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8040:
+ offset = mapi_dissect_element_NotificationData_MessageCopyNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x8100:
+ offset = mapi_dissect_element_NotificationData_ContentsTableChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xc004:
+ offset = mapi_dissect_element_NotificationData_SearchMessageCreatedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xc008:
+ offset = mapi_dissect_element_NotificationData_SearchMessageRemovedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xc010:
+ offset = mapi_dissect_element_NotificationData_SearchMessageModifiedNotification(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0xc100:
+ offset = mapi_dissect_element_NotificationData_SearchTableChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint32 NotificationHandle; */
+/* IDL: uint8 LogonId; */
+/* IDL: NotificationFlags NotificationType; */
+/* IDL: [switch_is(NotificationType)] NotificationData NotificationData; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Notify_repl_NotificationHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_Notify_repl_NotificationHandle, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Notify_repl_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Notify_repl_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Notify_repl_NotificationType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *NotificationType)
+{
+ offset = mapi_dissect_enum_NotificationFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_Notify_repl_NotificationType, NotificationType);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Notify_repl_NotificationData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *NotificationType)
+{
+ offset = mapi_dissect_NotificationData(tvb, offset, pinfo, tree, di, drep, hf_mapi_Notify_repl_NotificationData, *NotificationType);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Notify_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint16 NotificationType = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Notify_repl);
+ }
+
+ offset = mapi_dissect_element_Notify_repl_NotificationHandle(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Notify_repl_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Notify_repl_NotificationType(tvb, offset, pinfo, tree, di, drep, &NotificationType);
+
+ offset = mapi_dissect_element_Notify_repl_NotificationData(tvb, offset, pinfo, tree, di, drep, &NotificationType);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: OpenStream_ReadOnly=0x0, */
+/* IDL: OpenStream_ReadWrite=0x1, */
+/* IDL: OpenStream_Create=0x2, */
+/* IDL: OpenStream_BestAccess=0x3, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_OpenStream_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: MAPITAGS PropertyTag; */
+/* IDL: OpenStream_OpenModeFlags OpenModeFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenStream_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenStream_req_PropertyTag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenStream_req_PropertyTag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenStream_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_OpenStream_OpenModeFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenStream_req_OpenModeFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenStream_req);
+ }
+
+ offset = mapi_dissect_element_OpenStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenStream_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenStream_req_PropertyTag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenStream_req_OpenModeFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 StreamSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenStream_repl_StreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenStream_repl_StreamSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenStream_repl);
+ }
+
+ offset = mapi_dissect_element_OpenStream_repl_StreamSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0xBABE)] [case(0xBABE)] uint32 value; */
/* IDL: [default] ; */
/* IDL: } */
static int
-mapi_dissect_element_recipient_displayname_7bit_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_MaximumByteCount_value(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_MaximumByteCount_value, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_MaximumByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_MaximumByteCount, &item, "MaximumByteCount");
+ }
+
+ switch(level) {
+ case 0xBABE:
+ offset = mapi_dissect_element_MaximumByteCount_value(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 ByteCount; */
+/* IDL: [switch_is(ByteCount)] MaximumByteCount MaximumByteCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadStream_req_ByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *ByteCount)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadStream_req_ByteCount, *ByteCount);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadStream_req_MaximumByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *ByteCount)
+{
+ offset = mapi_dissect_MaximumByteCount(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadStream_req_MaximumByteCount, *ByteCount);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint16 ByteCount = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadStream_req);
+ }
+
+ offset = mapi_dissect_element_ReadStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadStream_req_ByteCount(tvb, offset, pinfo, tree, di, drep, &ByteCount);
+
+ offset = mapi_dissect_element_ReadStream_req_MaximumByteCount(tvb, offset, pinfo, tree, di, drep, &ByteCount);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB data; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadStream_repl_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_recipient_displayname_7bit_lpszA , 0);
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadStream_repl_data, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadStream_repl);
+ }
+
+ offset = mapi_dissect_element_ReadStream_repl_data(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB data; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_WriteStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
return offset;
}
static int
-mapi_dissect_recipient_displayname_7bit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_element_WriteStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_WriteStream_req_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_WriteStream_req_data, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_WriteStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
int old_offset;
- guint16 level;
+
+ di->no_align = TRUE;
old_offset = offset;
+
if (parent_tree) {
- tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_recipient_displayname_7bit, &item, "recipient_displayname_7bit");
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_WriteStream_req);
}
- offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
+ offset = mapi_dissect_element_WriteStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_WriteStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_WriteStream_req_data(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 WrittenSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_WriteStream_repl_WrittenSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_WriteStream_repl_WrittenSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_WriteStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_WriteStream_repl);
+ }
+
+ offset = mapi_dissect_element_WriteStream_repl_WrittenSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 Origin; */
+/* IDL: hyper Offset; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekStream_req_Origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekStream_req_Origin, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SeekStream_req_Offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekStream_req_Offset, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekStream_req);
+ }
+
+ offset = mapi_dissect_element_SeekStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekStream_req_Origin(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SeekStream_req_Offset(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper NewPosition; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SeekStream_repl_NewPosition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SeekStream_repl_NewPosition, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SeekStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SeekStream_repl);
+ }
+
+ offset = mapi_dissect_element_SeekStream_repl_NewPosition(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper SizeStream; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetStreamSize_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetStreamSize_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetStreamSize_req_SizeStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetStreamSize_req_SizeStream, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetStreamSize_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetStreamSize_req);
+ }
+
+ offset = mapi_dissect_element_SetStreamSize_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetStreamSize_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetStreamSize_req_SizeStream(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SetStreamSize_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: STOP_SEARCH = 0x00000001 , */
+/* IDL: RESTART_SEARCH = 0x00000002 , */
+/* IDL: RECURSIVE_SEARCH = 0x00000004 , */
+/* IDL: SHALLOW_SEARCH = 0x00000008 , */
+/* IDL: FOREGROUND_SEARCH = 0x00000010 , */
+/* IDL: BACKGROUND_SEARCH = 0x00000020 , */
+/* IDL: CONTENT_INDEXED_SEARCH = 0x00010000 , */
+/* IDL: NON_CONTENT_INDEXED_SEARCH = 0x00020000 , */
+/* IDL: STATIC_SEARCH = 0x00040000 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_SearchFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_SearchFlags_fields[] = {
+ &hf_mapi_SearchFlags_STOP_SEARCH,
+ &hf_mapi_SearchFlags_RESTART_SEARCH,
+ &hf_mapi_SearchFlags_RECURSIVE_SEARCH,
+ &hf_mapi_SearchFlags_SHALLOW_SEARCH,
+ &hf_mapi_SearchFlags_FOREGROUND_SEARCH,
+ &hf_mapi_SearchFlags_BACKGROUND_SEARCH,
+ &hf_mapi_SearchFlags_CONTENT_INDEXED_SEARCH,
+ &hf_mapi_SearchFlags_NON_CONTENT_INDEXED_SEARCH,
+ &hf_mapi_SearchFlags_STATIC_SEARCH,
+ NULL
+ };
+ guint32 flags;
ALIGN_TO_4_BYTES;
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_SearchFlags, mapi_SearchFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x0007003f)) {
+ flags &= (~0x0007003f);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [represent_as(uint16)] mapi_SRestriction res; */
+/* IDL: uint16 FolderIdCount; */
+/* IDL: [size_is(FolderIdCount)] hyper FolderIds[*]; */
+/* IDL: SearchFlags SearchFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetSearchCriteria_req_res,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_FolderIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetSearchCriteria_req_FolderIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_FolderIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SetSearchCriteria_req_FolderIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_FolderIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetSearchCriteria_req_FolderIds, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSearchCriteria_req_SearchFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_SearchFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetSearchCriteria_req_SearchFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetSearchCriteria_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetSearchCriteria_req);
+ }
+
+ offset = mapi_dissect_element_SetSearchCriteria_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetSearchCriteria_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetSearchCriteria_req_res(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetSearchCriteria_req_FolderIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetSearchCriteria_req_FolderIds(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetSearchCriteria_req_SearchFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SetSearchCriteria_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 UseUnicode; */
+/* IDL: uint8 IncludeRestriction; */
+/* IDL: uint8 IncludeFolders; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetSearchCriteria_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_req_UseUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_req_UseUnicode, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_req_IncludeRestriction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_req_IncludeRestriction, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_req_IncludeFolders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_req_IncludeFolders, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetSearchCriteria_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetSearchCriteria_req);
+ }
+
+ offset = mapi_dissect_element_GetSearchCriteria_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_req_UseUnicode(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_req_IncludeRestriction(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_req_IncludeFolders(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [represent_as(uint16)] mapi_SRestriction res; */
+/* IDL: uint8 unknown; */
+/* IDL: uint16 FolderIdCount; */
+/* IDL: [size_is(FolderIdCount)] hyper FolderIds[*]; */
+/* IDL: SearchFlags SearchFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetSearchCriteria_repl_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetSearchCriteria_repl_res,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_repl_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_repl_unknown, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_repl_FolderIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_repl_FolderIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_repl_FolderIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetSearchCriteria_repl_FolderIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_repl_FolderIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_repl_FolderIds, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetSearchCriteria_repl_SearchFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_SearchFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetSearchCriteria_repl_SearchFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetSearchCriteria_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetSearchCriteria_repl);
+ }
+
+ offset = mapi_dissect_element_GetSearchCriteria_repl_res(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_repl_unknown(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_repl_FolderIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_repl_FolderIds(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetSearchCriteria_repl_SearchFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: None=0x0, */
+/* IDL: PreProcess=0x1, */
+/* IDL: NeedsSpooler=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_SubmitFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SubmitFlags SubmitFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SubmitMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SubmitMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SubmitMessage_req_SubmitFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_SubmitFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_SubmitMessage_req_SubmitFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SubmitMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SubmitMessage_req);
+ }
+
+ offset = mapi_dissect_element_SubmitMessage_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SubmitMessage_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SubmitMessage_req_SubmitFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SubmitMessage_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint16 count; */
+/* IDL: [size_is(count)] hyper message_id[*]; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 WantCopy; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MoveCopyMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveCopyMessages_req_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveCopyMessages_req_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveCopyMessages_req_message_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_MoveCopyMessages_req_message_id_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveCopyMessages_req_message_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveCopyMessages_req_message_id, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveCopyMessages_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveCopyMessages_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveCopyMessages_req_WantCopy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveCopyMessages_req_WantCopy, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MoveCopyMessages_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MoveCopyMessages_req);
+ }
+
+ offset = mapi_dissect_element_MoveCopyMessages_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveCopyMessages_req_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveCopyMessages_req_message_id(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveCopyMessages_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveCopyMessages_req_WantCopy(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MoveCopyMessages_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveCopyMessages_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MoveCopyMessages_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MoveCopyMessages_repl);
+ }
+
+ offset = mapi_dissect_element_MoveCopyMessages_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper FolderId; */
+/* IDL: hyper MessageId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AbortSubmit_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AbortSubmit_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AbortSubmit_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_AbortSubmit_req_FolderId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AbortSubmit_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_AbortSubmit_req_MessageId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AbortSubmit_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AbortSubmit_req);
+ }
+
+ offset = mapi_dissect_element_AbortSubmit_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AbortSubmit_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AbortSubmit_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AbortSubmit_req_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_AbortSubmit_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszA; */
+/* IDL: [case(0x1)] [case(0x1)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string lpszW; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Folder_name_lpszA(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_Folder_name_lpszA , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Folder_name_lpszW(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_Folder_name_lpszW , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_Folder_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_Folder_name, &item, "Folder_name");
+ }
+
switch(level) {
- case 0x400:
- offset = mapi_dissect_element_recipient_displayname_7bit_lpszA(tvb, offset, pinfo, tree, di, drep);
+ case 0x0:
+ offset = mapi_dissect_element_Folder_name_lpszA(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_Folder_name_lpszW(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 UseUnicode; */
+/* IDL: hyper FolderId; */
+/* IDL: [switch_is(UseUnicode)] Folder_name NewFolderName; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MoveFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveFolder_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveFolder_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveFolder_req_UseUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveFolder_req_UseUnicode, *UseUnicode);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveFolder_req_FolderId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MoveFolder_req_NewFolderName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode)
+{
+ offset = mapi_dissect_Folder_name(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveFolder_req_NewFolderName, *UseUnicode);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MoveFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 UseUnicode = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MoveFolder_req);
+ }
+
+ offset = mapi_dissect_element_MoveFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveFolder_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveFolder_req_UseUnicode(tvb, offset, pinfo, tree, di, drep, &UseUnicode);
+
+ offset = mapi_dissect_element_MoveFolder_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MoveFolder_req_NewFolderName(tvb, offset, pinfo, tree, di, drep, &UseUnicode);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MoveFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_MoveFolder_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MoveFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MoveFolder_repl);
+ }
+
+ offset = mapi_dissect_element_MoveFolder_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 WantRecursive; */
+/* IDL: uint8 UseUnicode; */
+/* IDL: hyper FolderId; */
+/* IDL: [switch_is(UseUnicode)] Folder_name NewFolderName; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyFolder_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyFolder_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyFolder_req_WantRecursive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyFolder_req_WantRecursive, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyFolder_req_UseUnicode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyFolder_req_UseUnicode, *UseUnicode);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyFolder_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyFolder_req_FolderId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyFolder_req_NewFolderName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *UseUnicode)
+{
+ offset = mapi_dissect_Folder_name(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyFolder_req_NewFolderName, *UseUnicode);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 UseUnicode = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyFolder_req);
+ }
+
+ offset = mapi_dissect_element_CopyFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyFolder_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyFolder_req_WantRecursive(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyFolder_req_UseUnicode(tvb, offset, pinfo, tree, di, drep, &UseUnicode);
+
+ offset = mapi_dissect_element_CopyFolder_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyFolder_req_NewFolderName(tvb, offset, pinfo, tree, di, drep, &UseUnicode);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyFolder_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyFolder_repl);
+ }
+
+ offset = mapi_dissect_element_CopyFolder_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryColumnsAll_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryColumnsAll_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryColumnsAll_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryColumnsAll_req);
+ }
+
+ offset = mapi_dissect_element_QueryColumnsAll_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryColumnsAll_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyTagCount; */
+/* IDL: [size_is(PropertyTagCount)] MAPITAGS PropertyTags[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryColumnsAll_repl_PropertyTagCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryColumnsAll_repl_PropertyTagCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryColumnsAll_repl_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_QueryColumnsAll_repl_PropertyTags_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryColumnsAll_repl_PropertyTags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryColumnsAll_repl_PropertyTags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryColumnsAll_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryColumnsAll_repl);
+ }
+
+ offset = mapi_dissect_element_QueryColumnsAll_repl_PropertyTagCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryColumnsAll_repl_PropertyTags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Abort_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Abort_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Abort_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Abort_req);
+ }
+
+ offset = mapi_dissect_element_Abort_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Abort_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TableStatus TableStatus; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Abort_repl_TableStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TableStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_Abort_repl_TableStatus, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Abort_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Abort_repl);
+ }
+
+ offset = mapi_dissect_element_Abort_repl_TableStatus(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: CopyFlagsMove = 0x1 , */
+/* IDL: CopyFlagsNoOverwrite = 0x2 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_CopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_CopyFlags_fields[] = {
+ &hf_mapi_CopyFlags_CopyFlagsMove,
+ &hf_mapi_CopyFlags_CopyFlagsNoOverwrite,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_CopyFlags, mapi_CopyFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000003)) {
+ flags &= (~0x00000003);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 WantSubObjects; */
+/* IDL: CopyFlags CopyFlags; */
+/* IDL: mapi_SPropTagArray ExcludedTags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyTo_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyTo_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyTo_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyTo_req_WantSubObjects(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyTo_req_WantSubObjects, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyTo_req_CopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_CopyFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyTo_req_CopyFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyTo_req_ExcludedTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropTagArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_CopyTo_req_ExcludedTags,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyTo_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyTo_req);
+ }
+
+ offset = mapi_dissect_element_CopyTo_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyTo_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyTo_req_WantSubObjects(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyTo_req_CopyFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyTo_req_ExcludedTags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyProblemCount; */
+/* IDL: [size_is(PropertyProblemCount)] PropertyProblem PropertyProblem[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyTo_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyTo_repl_PropertyProblemCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyTo_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_CopyTo_repl_PropertyProblem_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyTo_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PropertyProblem(tvb,offset,pinfo,tree,di,drep,hf_mapi_CopyTo_repl_PropertyProblem,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyTo_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyTo_repl);
+ }
+
+ offset = mapi_dissect_element_CopyTo_repl_PropertyProblemCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyTo_repl_PropertyProblem(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: hyper ByteCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyToStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyToStream_req_ByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyToStream_req_ByteCount, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyToStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyToStream_req);
+ }
+
+ offset = mapi_dissect_element_CopyToStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyToStream_req_ByteCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper ReadByteCount; */
+/* IDL: hyper WrittenByteCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyToStream_repl_ReadByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyToStream_repl_ReadByteCount, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyToStream_repl_WrittenByteCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyToStream_repl_WrittenByteCount, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyToStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyToStream_repl);
+ }
+
+ offset = mapi_dissect_element_CopyToStream_repl_ReadByteCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyToStream_repl_WrittenByteCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CloneStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CloneStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CloneStream_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CloneStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CloneStream_req);
+ }
+
+ offset = mapi_dissect_element_CloneStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CloneStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CloneStream_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_CloneStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: IncludeFreeBusy = 0x02 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_PermissionsTableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_PermissionsTableFlags_fields[] = {
+ &hf_mapi_PermissionsTableFlags_IncludeFreeBusy,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_PermissionsTableFlags, mapi_PermissionsTableFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000002)) {
+ flags &= (~0x00000002);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: PermissionsTableFlags TableFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPermissionsTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPermissionsTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPermissionsTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPermissionsTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_PermissionsTableFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPermissionsTable_req_TableFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPermissionsTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPermissionsTable_req);
+ }
+
+ offset = mapi_dissect_element_GetPermissionsTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPermissionsTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPermissionsTable_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPermissionsTable_req_TableFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_GetPermissionsTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: RulesTableFlags_Unicode = 0x40 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_RulesTableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_RulesTableFlags_fields[] = {
+ &hf_mapi_RulesTableFlags_RulesTableFlags_Unicode,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_RulesTableFlags, mapi_RulesTableFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000040)) {
+ flags &= (~0x00000040);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: RulesTableFlags TableFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetRulesTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetRulesTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetRulesTable_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetRulesTable_req_TableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_RulesTableFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetRulesTable_req_TableFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetRulesTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetRulesTable_req);
+ }
+
+ offset = mapi_dissect_element_GetRulesTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetRulesTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetRulesTable_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetRulesTable_req_TableFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_GetRulesTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: ModifyPerms_IncludeFreeBusy = 0x02 , */
+/* IDL: ModifyPerms_ReplaceRows = 0x01 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_ModifyPermissionsFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_ModifyPermissionsFlags_fields[] = {
+ &hf_mapi_ModifyPermissionsFlags_ModifyPerms_IncludeFreeBusy,
+ &hf_mapi_ModifyPermissionsFlags_ModifyPerms_ReplaceRows,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_ModifyPermissionsFlags, mapi_ModifyPermissionsFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000003)) {
+ flags &= (~0x00000003);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: ulRowFlags PermissionDataFlags; */
+/* IDL: mapi_SPropValue_array lpProps; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_PermissionData_PermissionDataFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ulRowFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_PermissionData_PermissionDataFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_PermissionData_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_PermissionData_lpProps,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_PermissionData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_PermissionData);
+ }
+
+ offset = mapi_dissect_element_PermissionData_PermissionDataFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PermissionData_lpProps(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: ModifyPermissionsFlags ModifyFlags; */
+/* IDL: uint16 ModifyCount; */
+/* IDL: [size_is(ModifyCount)] PermissionData PermissionsData[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_PermissionsData_ModifyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_ModifyPermissionsFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_PermissionsData_ModifyFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_PermissionsData_ModifyCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_PermissionsData_ModifyCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_PermissionsData_PermissionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_PermissionsData_PermissionsData_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_PermissionsData_PermissionsData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PermissionData(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_PermissionsData_PermissionsData,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_PermissionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_PermissionsData);
+ }
+
+ offset = mapi_dissect_element_PermissionsData_ModifyFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PermissionsData_ModifyCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PermissionsData_PermissionsData(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: mapi_PermissionsData rowList; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ModifyPermissions_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyPermissions_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyPermissions_req_rowList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PermissionsData(tvb,offset,pinfo,tree,di,drep,hf_mapi_ModifyPermissions_req_rowList,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ModifyPermissions_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ModifyPermissions_req);
+ }
+
+ offset = mapi_dissect_element_ModifyPermissions_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyPermissions_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyPermissions_req_rowList(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_ModifyPermissions_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: ulRowFlags RuleDataFlags; */
+/* IDL: mapi_SPropValue_array PropertyValues; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RuleData_RuleDataFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ulRowFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_RuleData_RuleDataFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RuleData_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_RuleData_PropertyValues,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RuleData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RuleData);
+ }
+
+ offset = mapi_dissect_element_RuleData_RuleDataFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RuleData_PropertyValues(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: ModifyRulesFlag_Replace = 0x01 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_ModifyRulesFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_ModifyRulesFlag_fields[] = {
+ &hf_mapi_ModifyRulesFlag_ModifyRulesFlag_Replace,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_ModifyRulesFlag, mapi_ModifyRulesFlag_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000001)) {
+ flags &= (~0x00000001);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: ModifyRulesFlag ModifyRulesFlags; */
+/* IDL: uint16 RulesCount; */
+/* IDL: [size_is(RulesCount)] RuleData RulesData[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ModifyRules_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRules_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRules_req_ModifyRulesFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_ModifyRulesFlag(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRules_req_ModifyRulesFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRules_req_RulesCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ModifyRules_req_RulesCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRules_req_RulesData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_ModifyRules_req_RulesData_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ModifyRules_req_RulesData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RuleData(tvb,offset,pinfo,tree,di,drep,hf_mapi_ModifyRules_req_RulesData,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ModifyRules_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ModifyRules_req);
+ }
+
+ offset = mapi_dissect_element_ModifyRules_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRules_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRules_req_ModifyRulesFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRules_req_RulesCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ModifyRules_req_RulesData(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_ModifyRules_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper FolderId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetOwningServers_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetOwningServers_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetOwningServers_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetOwningServers_req_FolderId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetOwningServers_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetOwningServers_req);
+ }
+
+ offset = mapi_dissect_element_GetOwningServers_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetOwningServers_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetOwningServers_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 OwningServersCount; */
+/* IDL: uint16 CheapServersCount; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [size_is(OwningServersCount)] string OwningServers[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetOwningServers_repl_OwningServersCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetOwningServers_repl_OwningServersCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetOwningServers_repl_CheapServersCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetOwningServers_repl_CheapServersCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetOwningServers_repl_OwningServers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetOwningServers_repl_OwningServers_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetOwningServers_repl_OwningServers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_GetOwningServers_repl_OwningServers , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetOwningServers_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetOwningServers_repl);
+ }
+
+ offset = mapi_dissect_element_GetOwningServers_repl_OwningServersCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetOwningServers_repl_CheapServersCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetOwningServers_repl_OwningServers(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper Id; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LongTermIdFromId_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongTermIdFromId_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongTermIdFromId_req_Id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermIdFromId_req_Id, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LongTermIdFromId_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LongTermIdFromId_req);
+ }
+
+ offset = mapi_dissect_element_LongTermIdFromId_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LongTermIdFromId_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LongTermIdFromId_req_Id(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: GUID DatabaseGuid; */
+/* IDL: uint8 GlobalCounter[6]; */
+/* IDL: uint16 padding; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LongTermId_DatabaseGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermId_DatabaseGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongTermId_GlobalCounter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 6; i++)
+ offset = mapi_dissect_element_LongTermId_GlobalCounter_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongTermId_GlobalCounter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermId_GlobalCounter, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LongTermId_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermId_padding, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LongTermId);
+ }
+
+ offset = mapi_dissect_element_LongTermId_DatabaseGuid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LongTermId_GlobalCounter(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LongTermId_padding(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: LongTermId LongTermId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LongTermIdFromId_repl_Success_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongTermId(tvb,offset,pinfo,tree,di,drep,hf_mapi_LongTermIdFromId_repl_Success_LongTermId,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LongTermIdFromId_repl_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LongTermIdFromId_repl_Success);
+ }
+
+ offset = mapi_dissect_element_LongTermIdFromId_repl_Success_LongTermId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] LongTermIdFromId_repl_Success Success; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LongTermIdFromId_repl_status_Success(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongTermIdFromId_repl_Success(tvb,offset,pinfo,tree,di,drep,hf_mapi_LongTermIdFromId_repl_status_Success,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_LongTermIdFromId_repl_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_LongTermIdFromId_repl_status, &item, "LongTermIdFromId_repl_status");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_LongTermIdFromId_repl_status_Success(tvb, offset, pinfo, tree, di, drep);
break;
default:
@@ -8988,64 +29543,101 @@ mapi_dissect_recipient_displayname_7bit(tvbuff_t *tvb _U_, int offset _U_, packe
}
/* IDL: struct { */
-/* IDL: uint16 bitmask; */
-/* IDL: [switch_is(bitmask&0xA)] recipient_type type; */
-/* IDL: [switch_is(bitmask&0x400)] recipient_displayname_7bit username; */
-/* IDL: uint16 prop_count; */
-/* IDL: uint8 layout; */
-/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB prop_values; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: [switch_is(ReturnValue)] LongTermIdFromId_repl_status repl; */
/* IDL: } */
static int
-mapi_dissect_element_recipients_headers_bitmask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_LongTermIdFromId_repl_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_recipients_headers_bitmask, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermIdFromId_repl_InputHandleIndex, 0);
return offset;
}
static int
-mapi_dissect_element_recipients_headers_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_LongTermIdFromId_repl_ReturnValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
{
- offset = mapi_dissect_recipient_type(tvb, offset, pinfo, tree, di, drep, hf_mapi_recipient_type, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermIdFromId_repl_ReturnValue, *ReturnValue);
return offset;
}
static int
-mapi_dissect_element_recipients_headers_username(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_LongTermIdFromId_repl_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *ReturnValue)
{
- offset = mapi_dissect_recipient_displayname_7bit(tvb, offset, pinfo, tree, di, drep, hf_mapi_recipients_headers_username, 0);
+ offset = mapi_dissect_LongTermIdFromId_repl_status(tvb, offset, pinfo, tree, di, drep, hf_mapi_LongTermIdFromId_repl_repl, *ReturnValue);
return offset;
}
+int
+mapi_dissect_struct_LongTermIdFromId_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint32 ReturnValue = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LongTermIdFromId_repl);
+ }
+
+ offset = mapi_dissect_element_LongTermIdFromId_repl_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LongTermIdFromId_repl_ReturnValue(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+ offset = mapi_dissect_element_LongTermIdFromId_repl_repl(tvb, offset, pinfo, tree, di, drep, &ReturnValue);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: LongTermId LongTermId; */
+/* IDL: } */
+
static int
-mapi_dissect_element_recipients_headers_prop_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_IdFromLongTermId_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_recipients_headers_prop_count, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
return offset;
}
static int
-mapi_dissect_element_recipients_headers_layout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_IdFromLongTermId_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_recipients_headers_layout, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
return offset;
}
static int
-mapi_dissect_element_recipients_headers_prop_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_IdFromLongTermId_req_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_recipients_headers_prop_values, 1);
+ offset = mapi_dissect_struct_LongTermId(tvb,offset,pinfo,tree,di,drep,hf_mapi_IdFromLongTermId_req_LongTermId,0);
return offset;
}
int
-mapi_dissect_struct_recipients_headers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_struct_IdFromLongTermId_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
@@ -9058,20 +29650,55 @@ mapi_dissect_struct_recipients_headers(tvbuff_t *tvb _U_, int offset _U_, packet
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_recipients_headers);
+ tree = proto_item_add_subtree(item, ett_mapi_IdFromLongTermId_req);
}
- offset = mapi_dissect_element_recipients_headers_bitmask(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_IdFromLongTermId_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_IdFromLongTermId_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_IdFromLongTermId_req_LongTermId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
- offset = mapi_dissect_element_recipients_headers_type(tvb, offset, pinfo, tree, di, drep);
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper Id; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_IdFromLongTermId_repl_Id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_IdFromLongTermId_repl_Id, NULL);
- offset = mapi_dissect_element_recipients_headers_username(tvb, offset, pinfo, tree, di, drep);
+ return offset;
+}
- offset = mapi_dissect_element_recipients_headers_prop_count(tvb, offset, pinfo, tree, di, drep);
+int
+mapi_dissect_struct_IdFromLongTermId_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
- offset = mapi_dissect_element_recipients_headers_layout(tvb, offset, pinfo, tree, di, drep);
+ di->no_align = TRUE;
- offset = mapi_dissect_element_recipients_headers_prop_values(tvb, offset, pinfo, tree, di, drep);
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_IdFromLongTermId_repl);
+ }
+
+ offset = mapi_dissect_element_IdFromLongTermId_repl_Id(tvb, offset, pinfo, tree, di, drep);
proto_item_set_len(item, offset-old_offset);
@@ -9084,58 +29711,93 @@ mapi_dissect_struct_recipients_headers(tvbuff_t *tvb _U_, int offset _U_, packet
/* IDL: struct { */
-/* IDL: ulRecipClass RecipClass; */
-/* IDL: CODEPAGEID codepage; */
-/* IDL: [subcontext(2)] recipients_headers recipients_headers; */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper FolderId; */
/* IDL: } */
static int
-mapi_dissect_element_OpenMessage_recipients_RecipClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_PublicFolderIsGhosted_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_enum_ulRecipClass(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_recipients_RecipClass, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
return offset;
}
static int
-mapi_dissect_element_OpenMessage_recipients_codepage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_PublicFolderIsGhosted_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_enum_CODEPAGEID(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_recipients_codepage, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
return offset;
}
static int
-mapi_dissect_element_OpenMessage_recipients_recipients_headers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_PublicFolderIsGhosted_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- guint16 size;
- int conformant = di->conformant_run;
- tvbuff_t *subtvb;
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_PublicFolderIsGhosted_req_FolderId, NULL);
+
+ return offset;
+}
- if (!conformant) {
- guint32 saved_flags = di->call_data->flags;
- offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenMessage_recipients_recipients_headers_, &size);
- di->call_data->flags &= ~DCERPC_IS_NDR64;
- subtvb = tvb_new_subset_length_caplen(tvb, offset, (const gint)size, -1);
- mapi_dissect_element_OpenMessage_recipients_recipients_headers_(subtvb, 0, pinfo, tree, di, drep);
- offset += (int)size;
- di->call_data->flags = saved_flags;
+int
+mapi_dissect_struct_PublicFolderIsGhosted_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_PublicFolderIsGhosted_req);
}
+ offset = mapi_dissect_element_PublicFolderIsGhosted_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PublicFolderIsGhosted_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_PublicFolderIsGhosted_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 IsGhosted; */
+/* IDL: [switch_is(IsGhosted)] IsGhosted Ghost; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_PublicFolderIsGhosted_repl_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_PublicFolderIsGhosted_repl_IsGhosted, *IsGhosted);
+
return offset;
}
static int
-mapi_dissect_element_OpenMessage_recipients_recipients_headers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_PublicFolderIsGhosted_repl_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
{
- offset = mapi_dissect_struct_recipients_headers(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenMessage_recipients_recipients_headers,0);
+ offset = mapi_dissect_IsGhosted(tvb, offset, pinfo, tree, di, drep, hf_mapi_PublicFolderIsGhosted_repl_Ghost, *IsGhosted);
return offset;
}
int
-mapi_dissect_struct_OpenMessage_recipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_struct_PublicFolderIsGhosted_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
+ guint8 IsGhosted = 0;
proto_item *item = NULL;
proto_tree *tree = NULL;
gboolean oldalign = di->no_align;
@@ -9147,14 +29809,118 @@ mapi_dissect_struct_OpenMessage_recipients(tvbuff_t *tvb _U_, int offset _U_, pa
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
- tree = proto_item_add_subtree(item, ett_mapi_OpenMessage_recipients);
+ tree = proto_item_add_subtree(item, ett_mapi_PublicFolderIsGhosted_repl);
}
- offset = mapi_dissect_element_OpenMessage_recipients_RecipClass(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_PublicFolderIsGhosted_repl_IsGhosted(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
- offset = mapi_dissect_element_OpenMessage_recipients_codepage(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_PublicFolderIsGhosted_repl_Ghost(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: MAPI_READONLY=0x0, */
+/* IDL: MAPI_READWRITE=0x1, */
+/* IDL: MAPI_CREATE=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_OpenEmbeddedMessage_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint16 CodePageId; */
+/* IDL: OpenEmbeddedMessage_OpenModeFlags OpenModeFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_req_CodePageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_req_CodePageId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_req_OpenModeFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_OpenEmbeddedMessage_OpenModeFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_req_OpenModeFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenEmbeddedMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenEmbeddedMessage_req);
+ }
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_req_LogonId(tvb, offset, pinfo, tree, di, drep);
- offset = mapi_dissect_element_OpenMessage_recipients_recipients_headers(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_OpenEmbeddedMessage_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_req_CodePageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_req_OpenModeFlags(tvb, offset, pinfo, tree, di, drep);
proto_item_set_len(item, offset-old_offset);
@@ -9167,73 +29933,4515 @@ mapi_dissect_struct_OpenMessage_recipients(tvbuff_t *tvb _U_, int offset _U_, pa
/* IDL: struct { */
+/* IDL: uint8 Reserved; */
+/* IDL: hyper MessageId; */
+/* IDL: uint8 HasNamedProperties; */
+/* IDL: TypedString SubjectPrefix; */
+/* IDL: TypedString NormalizedSubject; */
+/* IDL: uint16 RecipientCount; */
+/* IDL: uint16 ColumnCount; */
+/* IDL: [size_is(ColumnCount)] MAPITAGS RecipientColumns[*]; */
+/* IDL: uint8 RowCount; */
+/* IDL: [size_is(RowCount)] OpenRecipientRow RecipientRows[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_MessageId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_HasNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_HasNamedProperties, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_SubjectPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TypedString(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenEmbeddedMessage_repl_SubjectPrefix,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_NormalizedSubject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TypedString(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenEmbeddedMessage_repl_NormalizedSubject,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_RecipientCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_ColumnCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_ColumnCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientColumns_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientColumns_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPITAGS(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_RecipientColumns, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenEmbeddedMessage_repl_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientRows_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientRows_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenRecipientRow(tvb,offset,pinfo,tree,di,drep,hf_mapi_OpenEmbeddedMessage_repl_RecipientRows,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenEmbeddedMessage_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenEmbeddedMessage_repl);
+ }
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_HasNamedProperties(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_SubjectPrefix(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_NormalizedSubject(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_ColumnCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientColumns(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenEmbeddedMessage_repl_RecipientRows(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetSpooler_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetSpooler_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetSpooler_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetSpooler_req);
+ }
+
+ offset = mapi_dissect_element_SetSpooler_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetSpooler_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SetSpooler_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: LockState_1stLock=0x0, */
+/* IDL: LockState_1stUnlock=0x1, */
+/* IDL: LockState_1stFinished=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_LockState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper MessageId; */
+/* IDL: LockState LockState; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SpoolerLockMessage_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SpoolerLockMessage_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SpoolerLockMessage_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SpoolerLockMessage_req_MessageId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SpoolerLockMessage_req_LockState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_LockState(tvb, offset, pinfo, tree, di, drep, hf_mapi_SpoolerLockMessage_req_LockState, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SpoolerLockMessage_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SpoolerLockMessage_req);
+ }
+
+ offset = mapi_dissect_element_SpoolerLockMessage_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SpoolerLockMessage_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SpoolerLockMessage_req_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SpoolerLockMessage_req_LockState(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SpoolerLockMessage_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AddressTypes_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AddressTypes_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AddressTypes_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AddressTypes_req);
+ }
+
+ offset = mapi_dissect_element_AddressTypes_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AddressTypes_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 cValues; */
+/* IDL: uint16 size; */
+/* IDL: [size_is(cValues)] mapi_LPSTR transport[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AddressTypes_repl_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AddressTypes_repl_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AddressTypes_repl_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AddressTypes_repl_size, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AddressTypes_repl_transport(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_AddressTypes_repl_transport_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AddressTypes_repl_transport_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LPSTR(tvb,offset,pinfo,tree,di,drep,hf_mapi_AddressTypes_repl_transport,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AddressTypes_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AddressTypes_repl);
+ }
+
+ offset = mapi_dissect_element_AddressTypes_repl_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AddressTypes_repl_size(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AddressTypes_repl_transport(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_TransportSend_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportSend_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_TransportSend_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_TransportSend_req);
+ }
+
+ offset = mapi_dissect_element_TransportSend_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_TransportSend_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] mapi_SPropValue_array lpProps; */
+/* IDL: [case(0x1)] [case(0x1)] EMPTY ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_TransportSend_lpProps_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_TransportSend_lpProps_lpProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_TransportSend_lpProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_TransportSend_lpProps, &item, "TransportSend_lpProps");
+ }
+
+ switch(level) {
+ case 0x0:
+ offset = mapi_dissect_element_TransportSend_lpProps_lpProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case 0x1:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 NoPropertiesReturned; */
+/* IDL: [switch_is(NoPropertiesReturned)] TransportSend_lpProps properties; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_TransportSend_repl_NoPropertiesReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *NoPropertiesReturned)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_TransportSend_repl_NoPropertiesReturned, *NoPropertiesReturned);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportSend_repl_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *NoPropertiesReturned)
+{
+ offset = mapi_dissect_TransportSend_lpProps(tvb, offset, pinfo, tree, di, drep, hf_mapi_TransportSend_repl_properties, *NoPropertiesReturned);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_TransportSend_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 NoPropertiesReturned = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_TransportSend_repl);
+ }
+
+ offset = mapi_dissect_element_TransportSend_repl_NoPropertiesReturned(tvb, offset, pinfo, tree, di, drep, &NoPropertiesReturned);
+
+ offset = mapi_dissect_element_TransportSend_repl_properties(tvb, offset, pinfo, tree, di, drep, &NoPropertiesReturned);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 BufferSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_req_BufferSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FastTransferSourceGetBuffer_req_BufferSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FastTransferSourceGetBuffer_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FastTransferSourceGetBuffer_req);
+ }
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_req_BufferSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: TransferStatus_Error=0x0, */
+/* IDL: TransferStatus_Partial=0x1, */
+/* IDL: TransferStatus_NoRoom=0x2, */
+/* IDL: TransferStatus_Done=0x3, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_TransferStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
+{
+ guint16 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TransferStatus TransferStatus; */
+/* IDL: uint16 InProgressCount; */
+/* IDL: uint16 TotalStepCount; */
+/* IDL: uint8 Reserved; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB TransferBuffer; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_repl_TransferStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_TransferStatus(tvb, offset, pinfo, tree, di, drep, hf_mapi_FastTransferSourceGetBuffer_repl_TransferStatus, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_repl_InProgressCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FastTransferSourceGetBuffer_repl_InProgressCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_repl_TotalStepCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_FastTransferSourceGetBuffer_repl_TotalStepCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_repl_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_FastTransferSourceGetBuffer_repl_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FastTransferSourceGetBuffer_repl_TransferBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_FastTransferSourceGetBuffer_repl_TransferBuffer, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FastTransferSourceGetBuffer_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FastTransferSourceGetBuffer_repl);
+ }
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_repl_TransferStatus(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_repl_InProgressCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_repl_TotalStepCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_repl_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FastTransferSourceGetBuffer_repl_TransferBuffer(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: DIR_FORWARD=0x0, */
+/* IDL: DIR_BACKWARD=0x1, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_FindRow_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: FindRow_ulFlags ulFlags; */
+/* IDL: [represent_as(uint16)] mapi_SRestriction res; */
+/* IDL: BOOKMARK origin; */
+/* IDL: SBinary_short bookmark; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FindRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_req_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_FindRow_ulFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_FindRow_req_ulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_req_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SRestriction(tvb,offset,pinfo,tree,di,drep,hf_mapi_FindRow_req_res,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_req_origin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_BOOKMARK(tvb, offset, pinfo, tree, di, drep, hf_mapi_FindRow_req_origin, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_req_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_FindRow_req_bookmark,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FindRow_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FindRow_req);
+ }
+
+ offset = mapi_dissect_element_FindRow_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_req_ulFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_req_res(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_req_origin(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_req_bookmark(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 RowNoLongerVisible; */
+/* IDL: uint8 HasRowData; */
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] DATA_BLOB row; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FindRow_repl_RowNoLongerVisible(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_FindRow_repl_RowNoLongerVisible, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_repl_HasRowData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_FindRow_repl_HasRowData, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FindRow_repl_row(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_FindRow_repl_row, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FindRow_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FindRow_repl);
+ }
+
+ offset = mapi_dissect_element_FindRow_repl_RowNoLongerVisible(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_repl_HasRowData(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FindRow_repl_row(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 WantCancel; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Progress_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Progress_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Progress_req_WantCancel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Progress_req_WantCancel, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Progress_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Progress_req);
+ }
+
+ offset = mapi_dissect_element_Progress_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Progress_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Progress_req_WantCancel(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 CompletedTaskCount; */
+/* IDL: uint32 TotalTaskCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Progress_repl_CompletedTaskCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_Progress_repl_CompletedTaskCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Progress_repl_TotalTaskCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_Progress_repl_TotalTaskCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Progress_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Progress_repl);
+ }
+
+ offset = mapi_dissect_element_Progress_repl_CompletedTaskCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Progress_repl_TotalTaskCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper MessageId; */
+/* IDL: hyper FolderId; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string MessageClass; */
+/* IDL: uint32 MessageFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_TransportNewMail_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportNewMail_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportNewMail_req_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_TransportNewMail_req_MessageId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportNewMail_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_TransportNewMail_req_FolderId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportNewMail_req_MessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_TransportNewMail_req_MessageClass , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_TransportNewMail_req_MessageFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_TransportNewMail_req_MessageFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_TransportNewMail_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_TransportNewMail_req);
+ }
+
+ offset = mapi_dissect_element_TransportNewMail_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_TransportNewMail_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_TransportNewMail_req_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_TransportNewMail_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_TransportNewMail_req_MessageClass(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_TransportNewMail_req_MessageFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_TransportNewMail_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetValidAttachments_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetValidAttachments_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetValidAttachments_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetValidAttachments_req);
+ }
+
+ offset = mapi_dissect_element_GetValidAttachments_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetValidAttachments_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 AttachmentIdCount; */
+/* IDL: [size_is(AttachmentIdCount)] uint32 AttachmentIdArray[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetValidAttachments_repl_AttachmentIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetValidAttachments_repl_AttachmentIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetValidAttachments_repl_AttachmentIdArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetValidAttachments_repl_AttachmentIdArray_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetValidAttachments_repl_AttachmentIdArray_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetValidAttachments_repl_AttachmentIdArray, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetValidAttachments_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetValidAttachments_repl);
+ }
+
+ offset = mapi_dissect_element_GetValidAttachments_repl_AttachmentIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetValidAttachments_repl_AttachmentIdArray(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: MNID_ID=0, */
+/* IDL: MNID_STRING=1, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_ulKind(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 NameSize; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string Name; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_name_NameSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_name_NameSize, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_name_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_mapi_name_Name , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_mapi_name);
+ }
+
+ offset = mapi_dissect_element_name_NameSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_name_Name(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] union { */
+/* IDL: [case(MNID_ID)] [case(MNID_ID)] uint32 lid; */
+/* IDL: [case(MNID_STRING)] [case(MNID_STRING)] mapi_name lpwstr; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Kind_lid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_Kind_lid, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Kind_lpwstr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_name(tvb,offset,pinfo,tree,di,drep,hf_mapi_Kind_lpwstr,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_Kind(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_Kind, &item, "Kind");
+ }
+
+ switch(level) {
+ case MNID_ID:
+ offset = mapi_dissect_element_Kind_lid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case MNID_STRING:
+ offset = mapi_dissect_element_Kind_lpwstr(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: ulKind ulKind; */
+/* IDL: GUID lpguid; */
+/* IDL: [switch_is(ulKind)] Kind kind; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_MAPINAMEID_ulKind(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulKind)
+{
+ offset = mapi_dissect_enum_ulKind(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPINAMEID_ulKind, ulKind);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MAPINAMEID_lpguid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPINAMEID_lpguid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_MAPINAMEID_kind(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *ulKind)
+{
+ offset = mapi_dissect_Kind(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPINAMEID_kind, *ulKind);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_MAPINAMEID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 ulKind = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_MAPINAMEID);
+ }
+
+ offset = mapi_dissect_element_MAPINAMEID_ulKind(tvb, offset, pinfo, tree, di, drep, &ulKind);
+
+ offset = mapi_dissect_element_MAPINAMEID_lpguid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_MAPINAMEID_kind(tvb, offset, pinfo, tree, di, drep, &ulKind);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 PropertyIdCount; */
+/* IDL: [size_is(PropertyIdCount)] uint16 PropertyIds[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetNamesFromIDs_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetNamesFromIDs_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetNamesFromIDs_req_PropertyIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetNamesFromIDs_req_PropertyIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetNamesFromIDs_req_PropertyIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetNamesFromIDs_req_PropertyIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetNamesFromIDs_req_PropertyIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetNamesFromIDs_req_PropertyIds, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetNamesFromIDs_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetNamesFromIDs_req);
+ }
+
+ offset = mapi_dissect_element_GetNamesFromIDs_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetNamesFromIDs_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetNamesFromIDs_req_PropertyIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetNamesFromIDs_req_PropertyIds(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 count; */
+/* IDL: [size_is(count)] MAPINAMEID nameid[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetNamesFromIDs_repl_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetNamesFromIDs_repl_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetNamesFromIDs_repl_nameid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetNamesFromIDs_repl_nameid_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetNamesFromIDs_repl_nameid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MAPINAMEID(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetNamesFromIDs_repl_nameid,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetNamesFromIDs_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetNamesFromIDs_repl);
+ }
+
+ offset = mapi_dissect_element_GetNamesFromIDs_repl_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetNamesFromIDs_repl_nameid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 ulFlags; */
+/* IDL: uint16 count; */
+/* IDL: [size_is(count)] MAPINAMEID nameid[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetIDsFromNames_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_req_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetIDsFromNames_req_ulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_req_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetIDsFromNames_req_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_req_nameid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetIDsFromNames_req_nameid_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_req_nameid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MAPINAMEID(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetIDsFromNames_req_nameid,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetIDsFromNames_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetIDsFromNames_req);
+ }
+
+ offset = mapi_dissect_element_GetIDsFromNames_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetIDsFromNames_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetIDsFromNames_req_ulFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetIDsFromNames_req_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetIDsFromNames_req_nameid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 count; */
+/* IDL: [size_is(count)] uint16 propID[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetIDsFromNames_repl_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetIDsFromNames_repl_count, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_repl_propID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetIDsFromNames_repl_propID_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetIDsFromNames_repl_propID_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetIDsFromNames_repl_propID, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetIDsFromNames_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetIDsFromNames_repl);
+ }
+
+ offset = mapi_dissect_element_GetIDsFromNames_repl_count(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetIDsFromNames_repl_propID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SBinary_short ServerEntryId; */
+/* IDL: SBinary_short ClientEntryId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_UpdateDeferredActionMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UpdateDeferredActionMessages_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UpdateDeferredActionMessages_req_ServerEntryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_UpdateDeferredActionMessages_req_ServerEntryId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UpdateDeferredActionMessages_req_ClientEntryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_UpdateDeferredActionMessages_req_ClientEntryId,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_UpdateDeferredActionMessages_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_UpdateDeferredActionMessages_req);
+ }
+
+ offset = mapi_dissect_element_UpdateDeferredActionMessages_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UpdateDeferredActionMessages_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UpdateDeferredActionMessages_req_ServerEntryId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UpdateDeferredActionMessages_req_ClientEntryId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_UpdateDeferredActionMessages_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 WantDeleteAssociated; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_EmptyFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EmptyFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EmptyFolder_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_EmptyFolder_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EmptyFolder_req_WantDeleteAssociated(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_EmptyFolder_req_WantDeleteAssociated, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_EmptyFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_EmptyFolder_req);
+ }
+
+ offset = mapi_dissect_element_EmptyFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_EmptyFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_EmptyFolder_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_EmptyFolder_req_WantDeleteAssociated(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_EmptyFolder_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_EmptyFolder_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_EmptyFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_EmptyFolder_repl);
+ }
+
+ offset = mapi_dissect_element_EmptyFolder_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint16 MaxRowCount; */
+/* IDL: hyper CategoryId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ExpandRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ExpandRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ExpandRow_req_MaxRowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ExpandRow_req_MaxRowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ExpandRow_req_CategoryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ExpandRow_req_CategoryId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ExpandRow_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ExpandRow_req);
+ }
+
+ offset = mapi_dissect_element_ExpandRow_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ExpandRow_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ExpandRow_req_MaxRowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ExpandRow_req_CategoryId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 ExpandedRowCount; */
+/* IDL: uint16 RowCount; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB RowData; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ExpandRow_repl_ExpandedRowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ExpandRow_repl_ExpandedRowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ExpandRow_repl_RowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ExpandRow_repl_RowCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ExpandRow_repl_RowData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_ExpandRow_repl_RowData, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ExpandRow_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ExpandRow_repl);
+ }
+
+ offset = mapi_dissect_element_ExpandRow_repl_ExpandedRowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ExpandRow_repl_RowCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ExpandRow_repl_RowData(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper CategoryId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CollapseRow_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CollapseRow_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CollapseRow_req_CategoryId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_CollapseRow_req_CategoryId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CollapseRow_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CollapseRow_req);
+ }
+
+ offset = mapi_dissect_element_CollapseRow_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CollapseRow_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CollapseRow_req_CategoryId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 CollapsedRowCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CollapseRow_repl_CollapsedRowCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_CollapseRow_repl_CollapsedRowCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CollapseRow_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CollapseRow_repl);
+ }
+
+ offset = mapi_dissect_element_CollapseRow_repl_CollapsedRowCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper RegionOffset; */
+/* IDL: hyper RegionSize; */
+/* IDL: uint32 LockFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LockRegionStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LockRegionStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LockRegionStream_req_RegionOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_LockRegionStream_req_RegionOffset, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LockRegionStream_req_RegionSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_LockRegionStream_req_RegionSize, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LockRegionStream_req_LockFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_LockRegionStream_req_LockFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LockRegionStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LockRegionStream_req);
+ }
+
+ offset = mapi_dissect_element_LockRegionStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LockRegionStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LockRegionStream_req_RegionOffset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LockRegionStream_req_RegionSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LockRegionStream_req_LockFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_LockRegionStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper RegionOffset; */
+/* IDL: hyper RegionSize; */
+/* IDL: uint32 LockFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_UnlockRegionStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UnlockRegionStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UnlockRegionStream_req_RegionOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_UnlockRegionStream_req_RegionOffset, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UnlockRegionStream_req_RegionSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_UnlockRegionStream_req_RegionSize, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_UnlockRegionStream_req_LockFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_UnlockRegionStream_req_LockFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_UnlockRegionStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_UnlockRegionStream_req);
+ }
+
+ offset = mapi_dissect_element_UnlockRegionStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UnlockRegionStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UnlockRegionStream_req_RegionOffset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UnlockRegionStream_req_RegionSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_UnlockRegionStream_req_LockFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_UnlockRegionStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CommitStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CommitStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CommitStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CommitStream_req);
+ }
+
+ offset = mapi_dissect_element_CommitStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CommitStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_CommitStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetStreamSize_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetStreamSize_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetStreamSize_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetStreamSize_req);
+ }
+
+ offset = mapi_dissect_element_GetStreamSize_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetStreamSize_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 StreamSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetStreamSize_repl_StreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetStreamSize_repl_StreamSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetStreamSize_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetStreamSize_repl);
+ }
+
+ offset = mapi_dissect_element_GetStreamSize_repl_StreamSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: NoStrings = 0x01 , */
+/* IDL: NoIds = 0x02 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_QueryFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_QueryFlags_fields[] = {
+ &hf_mapi_QueryFlags_NoStrings,
+ &hf_mapi_QueryFlags_NoIds,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_QueryFlags, mapi_QueryFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000003)) {
+ flags &= (~0x00000003);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [case(0x1)] [case(0x1)] GUID guid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryNamedProperties_guid_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryNamedProperties_guid_guid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_QueryNamedProperties_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_QueryNamedProperties_guid, &item, "QueryNamedProperties_guid");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ case 0x1:
+ offset = mapi_dissect_element_QueryNamedProperties_guid_guid(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: QueryFlags QueryFlags; */
+/* IDL: uint8 HasGuid; */
+/* IDL: [switch_is(HasGuid)] QueryNamedProperties_guid PropertyGuid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryNamedProperties_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_req_QueryFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_QueryFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryNamedProperties_req_QueryFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_req_HasGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasGuid)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryNamedProperties_req_HasGuid, *HasGuid);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_req_PropertyGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *HasGuid)
+{
+ offset = mapi_dissect_QueryNamedProperties_guid(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryNamedProperties_req_PropertyGuid, *HasGuid);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryNamedProperties_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 HasGuid = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryNamedProperties_req);
+ }
+
+ offset = mapi_dissect_element_QueryNamedProperties_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryNamedProperties_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryNamedProperties_req_QueryFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryNamedProperties_req_HasGuid(tvb, offset, pinfo, tree, di, drep, &HasGuid);
+
+ offset = mapi_dissect_element_QueryNamedProperties_req_PropertyGuid(tvb, offset, pinfo, tree, di, drep, &HasGuid);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 IdCount; */
+/* IDL: [size_is(IdCount)] uint16 PropertyIds[*]; */
+/* IDL: [size_is(IdCount)] MAPINAMEID PropertyNames[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_QueryNamedProperties_repl_IdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryNamedProperties_repl_IdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_repl_PropertyIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_QueryNamedProperties_repl_PropertyIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_repl_PropertyIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_QueryNamedProperties_repl_PropertyIds, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_repl_PropertyNames(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_QueryNamedProperties_repl_PropertyNames_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_QueryNamedProperties_repl_PropertyNames_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MAPINAMEID(tvb,offset,pinfo,tree,di,drep,hf_mapi_QueryNamedProperties_repl_PropertyNames,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_QueryNamedProperties_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_QueryNamedProperties_repl);
+ }
+
+ offset = mapi_dissect_element_QueryNamedProperties_repl_IdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryNamedProperties_repl_PropertyIds(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_QueryNamedProperties_repl_PropertyNames(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: GUID DatabaseGuid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPerUserLongTermIds_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPerUserLongTermIds_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPerUserLongTermIds_req_DatabaseGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPerUserLongTermIds_req_DatabaseGuid, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPerUserLongTermIds_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPerUserLongTermIds_req);
+ }
+
+ offset = mapi_dissect_element_GetPerUserLongTermIds_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPerUserLongTermIds_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPerUserLongTermIds_req_DatabaseGuid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 LongTermIdCount; */
+/* IDL: [size_is(LongTermIdCount)] LongTermId LongTermIds[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPerUserLongTermIds_repl_LongTermIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongTermId(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetPerUserLongTermIds_repl_LongTermIds,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPerUserLongTermIds_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPerUserLongTermIds_repl);
+ }
+
+ offset = mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPerUserLongTermIds_repl_LongTermIds(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: LongTermId LongTermId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPerUserGuid_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPerUserGuid_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetPerUserGuid_req_LongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongTermId(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetPerUserGuid_req_LongTermId,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPerUserGuid_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPerUserGuid_req);
+ }
+
+ offset = mapi_dissect_element_GetPerUserGuid_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPerUserGuid_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetPerUserGuid_req_LongTermId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: GUID DatabaseGuid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetPerUserGuid_repl_DatabaseGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetPerUserGuid_repl_DatabaseGuid, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetPerUserGuid_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetPerUserGuid_repl);
+ }
+
+ offset = mapi_dissect_element_GetPerUserGuid_repl_DatabaseGuid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 FolderId[24]; */
+/* IDL: uint8 WhatIfChanged; */
+/* IDL: uint32 DataOffset; */
+/* IDL: uint16 MaxDataSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 24; i++)
+ offset = mapi_dissect_element_ReadPerUserInformation_req_FolderId_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_FolderId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadPerUserInformation_req_FolderId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_WhatIfChanged(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadPerUserInformation_req_WhatIfChanged, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_DataOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadPerUserInformation_req_DataOffset, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_req_MaxDataSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadPerUserInformation_req_MaxDataSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadPerUserInformation_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadPerUserInformation_req);
+ }
+
+ offset = mapi_dissect_element_ReadPerUserInformation_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadPerUserInformation_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadPerUserInformation_req_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadPerUserInformation_req_WhatIfChanged(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadPerUserInformation_req_DataOffset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadPerUserInformation_req_MaxDataSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HasFinished; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB Data; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ReadPerUserInformation_repl_HasFinished(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadPerUserInformation_repl_HasFinished, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReadPerUserInformation_repl_Data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReadPerUserInformation_repl_Data, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReadPerUserInformation_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReadPerUserInformation_repl);
+ }
+
+ offset = mapi_dissect_element_ReadPerUserInformation_repl_HasFinished(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReadPerUserInformation_repl_Data(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: MSGFLAG_READ ReadFlags; */
+/* IDL: uint16 MessageIdCount; */
+/* IDL: [size_is(MessageIdCount)] hyper MessageIds[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetReadFlags_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReadFlags_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReadFlags_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetReadFlags_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReadFlags_req_ReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_MSGFLAG_READ(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetReadFlags_req_ReadFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReadFlags_req_MessageIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetReadFlags_req_MessageIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReadFlags_req_MessageIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SetReadFlags_req_MessageIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetReadFlags_req_MessageIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetReadFlags_req_MessageIds, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetReadFlags_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetReadFlags_req);
+ }
+
+ offset = mapi_dissect_element_SetReadFlags_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReadFlags_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReadFlags_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReadFlags_req_ReadFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReadFlags_req_MessageIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetReadFlags_req_MessageIds(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetReadFlags_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetReadFlags_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetReadFlags_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetReadFlags_repl);
+ }
+
+ offset = mapi_dissect_element_SetReadFlags_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: CopyFlags CopyFlags; */
+/* IDL: mapi_SPropTagArray PropertyTags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyProperties_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyProperties_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyProperties_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyProperties_req_CopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_CopyFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyProperties_req_CopyFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyProperties_req_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropTagArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_CopyProperties_req_PropertyTags,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyProperties_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyProperties_req);
+ }
+
+ offset = mapi_dissect_element_CopyProperties_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyProperties_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyProperties_req_CopyFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyProperties_req_PropertyTags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyProblemCount; */
+/* IDL: [size_is(PropertyProblemCount)] PropertyProblem PropertyProblem[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_CopyProperties_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_CopyProperties_repl_PropertyProblemCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyProperties_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_CopyProperties_repl_PropertyProblem_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_CopyProperties_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PropertyProblem(tvb,offset,pinfo,tree,di,drep,hf_mapi_CopyProperties_repl_PropertyProblem,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_CopyProperties_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_CopyProperties_repl);
+ }
+
+ offset = mapi_dissect_element_CopyProperties_repl_PropertyProblemCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_CopyProperties_repl_PropertyProblem(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 dwLowDateTime; */
+/* IDL: uint32 dwHighDateTime; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FILETIME_dwLowDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FILETIME_dwLowDateTime, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FILETIME_dwHighDateTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_FILETIME_dwHighDateTime, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FILETIME(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FILETIME);
+ }
+
+ offset = mapi_dissect_element_FILETIME_dwLowDateTime(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FILETIME_dwHighDateTime(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
/* IDL: uint8 unknown; */
-/* IDL: uint8 type_prefix; */
-/* IDL: uint16 recipient_count; */
-/* IDL: SPropTagArray SPropTagArray; */
+/* IDL: hyper fid; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string lpszMessageClass; */
+/* IDL: FILETIME modiftime; */
/* IDL: } */
+static int
+mapi_dissect_element_ReceiveFolder_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReceiveFolder_unknown, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReceiveFolder_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_ReceiveFolder_fid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReceiveFolder_lpszMessageClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_ReceiveFolder_lpszMessageClass , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ReceiveFolder_modiftime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FILETIME(tvb,offset,pinfo,tree,di,drep,hf_mapi_ReceiveFolder_modiftime,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ReceiveFolder);
+ }
+
+ offset = mapi_dissect_element_ReceiveFolder_unknown(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReceiveFolder_fid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReceiveFolder_lpszMessageClass(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ReceiveFolder_modiftime(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
/* IDL: struct { */
-/* IDL: uint32 unknown; */
-/* IDL: uint16 prop_count; */
-/* IDL: MAPITAGS properties[prop_count]; */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
/* IDL: } */
+static int
+mapi_dissect_element_GetReceiveFolderTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetReceiveFolderTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetReceiveFolderTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetReceiveFolderTable_req);
+ }
+
+ offset = mapi_dissect_element_GetReceiveFolderTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetReceiveFolderTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
/* IDL: struct { */
-/* IDL: uint8 layout; */
-/* IDL: [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB prop_data; */
+/* IDL: uint32 cValues; */
+/* IDL: [size_is(cValues)] ReceiveFolder entries[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetReceiveFolderTable_repl_cValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetReceiveFolderTable_repl_cValues, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetReceiveFolderTable_repl_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_GetReceiveFolderTable_repl_entries_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetReceiveFolderTable_repl_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReceiveFolder(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetReceiveFolderTable_repl_entries,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetReceiveFolderTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetReceiveFolderTable_repl);
+ }
+
+ offset = mapi_dissect_element_GetReceiveFolderTable_repl_cValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetReceiveFolderTable_repl_entries(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: hyper RowId; */
+/* IDL: uint32 RowInstanceNumber; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetCollapseState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetCollapseState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetCollapseState_req_RowId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetCollapseState_req_RowId, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetCollapseState_req_RowInstanceNumber(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetCollapseState_req_RowInstanceNumber, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetCollapseState_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetCollapseState_req);
+ }
+
+ offset = mapi_dissect_element_GetCollapseState_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetCollapseState_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetCollapseState_req_RowId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetCollapseState_req_RowInstanceNumber(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: SBinary_short CollapseState; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetCollapseState_repl_CollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_GetCollapseState_repl_CollapseState,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetCollapseState_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetCollapseState_repl);
+ }
+
+ offset = mapi_dissect_element_GetCollapseState_repl_CollapseState(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SBinary_short CollapseState; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetCollapseState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetCollapseState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetCollapseState_req_CollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetCollapseState_req_CollapseState,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetCollapseState_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetCollapseState_req);
+ }
+
+ offset = mapi_dissect_element_SetCollapseState_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetCollapseState_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetCollapseState_req_CollapseState(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: SBinary_short bookmark; */
/* IDL: } */
+static int
+mapi_dissect_element_SetCollapseState_repl_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetCollapseState_repl_bookmark,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetCollapseState_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetCollapseState_repl);
+ }
+
+ offset = mapi_dissect_element_SetCollapseState_repl_bookmark(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetTransportFolder_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetTransportFolder_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetTransportFolder_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetTransportFolder_req);
+ }
+
+ offset = mapi_dissect_element_GetTransportFolder_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetTransportFolder_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FolderId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetTransportFolder_repl_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetTransportFolder_repl_FolderId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetTransportFolder_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetTransportFolder_repl);
+ }
+
+ offset = mapi_dissect_element_GetTransportFolder_repl_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 SessionIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Pending_repl_SessionIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_Pending_repl_SessionIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Pending_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Pending_repl);
+ }
+
+ offset = mapi_dissect_element_Pending_repl_SessionIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string AddressType; */
+/* IDL: uint8 WantWin32; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OptionsData_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_req_AddressType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_OptionsData_req_AddressType , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_req_WantWin32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OptionsData_req_WantWin32, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OptionsData_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OptionsData_req);
+ }
+
+ offset = mapi_dissect_element_OptionsData_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OptionsData_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OptionsData_req_AddressType(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OptionsData_req_WantWin32(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] union { */
+/* IDL: [case(0x0)] [case(0x0)] EMPTY ; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OptionsData_HelpFileName_HelpFileName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_OptionsData_HelpFileName_HelpFileName , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_OptionsData_HelpFileName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_OptionsData_HelpFileName, &item, "OptionsData_HelpFileName");
+ }
+
+ switch(level) {
+ case 0x0:
+ break;
+
+ default:
+ offset = mapi_dissect_element_OptionsData_HelpFileName_HelpFileName(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: uint8 Reserved; */
+/* IDL: SBinary_short OptionsInfo; */
+/* IDL: uint16 HelpFileSize; */
+/* IDL: [size_is(HelpFileSize)] uint8 HelpFile[*]; */
+/* IDL: [switch_is(HelpFileSize)] OptionsData_HelpFileName HelpFileName; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OptionsData_repl_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OptionsData_repl_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_repl_OptionsInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_OptionsData_repl_OptionsInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_repl_HelpFileSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *HelpFileSize)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_OptionsData_repl_HelpFileSize, *HelpFileSize);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_repl_HelpFile(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_OptionsData_repl_HelpFile_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_repl_HelpFile_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OptionsData_repl_HelpFile, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OptionsData_repl_HelpFileName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint16 *HelpFileSize)
+{
+ offset = mapi_dissect_OptionsData_HelpFileName(tvb, offset, pinfo, tree, di, drep, hf_mapi_OptionsData_repl_HelpFileName, *HelpFileSize);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OptionsData_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint16 HelpFileSize = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OptionsData_repl);
+ }
+
+ offset = mapi_dissect_element_OptionsData_repl_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OptionsData_repl_OptionsInfo(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OptionsData_repl_HelpFileSize(tvb, offset, pinfo, tree, di, drep, &HelpFileSize);
+
+ offset = mapi_dissect_element_OptionsData_repl_HelpFile(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OptionsData_repl_HelpFileName(tvb, offset, pinfo, tree, di, drep, &HelpFileSize);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: Contents=0x1, */
+/* IDL: Hierarchy=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_SynchronizationType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
/* IDL: bitmap { */
-/* IDL: fnevCriticalError = 0x00000001 , */
-/* IDL: fnevNewMail = 0x00000002 , */
-/* IDL: fnevObjectCreated = 0x00000004 , */
-/* IDL: fnevObjectDeleted = 0x00000008 , */
-/* IDL: fnevObjectModified = 0x00000010 , */
-/* IDL: fnevObjectMoved = 0x00000020 , */
-/* IDL: fnevObjectCopied = 0x00000040 , */
-/* IDL: fnevSearchComplete = 0x00000080 , */
-/* IDL: fnevTableModified = 0x00000100 , */
-/* IDL: fnevStatusObjectModified = 0x00000200 , */
-/* IDL: fnevReservedForMapi = 0x40000000 , */
-/* IDL: fnevExtended = 0x80000000 , */
+/* IDL: SendOptions_Unicode = 0x1 , */
+/* IDL: SendOptions_ForUpload = 0x3 , */
+/* IDL: SendOptions_RecoverMode = 0x4 , */
+/* IDL: SendOptions_ForceUnicode = 0x8 , */
+/* IDL: SendOptions_Partial = 0x10 , */
/* IDL: } */
int
-mapi_dissect_bitmap_ulEventType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+mapi_dissect_bitmap_SendOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item;
- static int * const mapi_ulEventType_fields[] = {
- &hf_mapi_ulEventType_fnevCriticalError,
- &hf_mapi_ulEventType_fnevNewMail,
- &hf_mapi_ulEventType_fnevObjectCreated,
- &hf_mapi_ulEventType_fnevObjectDeleted,
- &hf_mapi_ulEventType_fnevObjectModified,
- &hf_mapi_ulEventType_fnevObjectMoved,
- &hf_mapi_ulEventType_fnevObjectCopied,
- &hf_mapi_ulEventType_fnevSearchComplete,
- &hf_mapi_ulEventType_fnevTableModified,
- &hf_mapi_ulEventType_fnevStatusObjectModified,
- &hf_mapi_ulEventType_fnevReservedForMapi,
- &hf_mapi_ulEventType_fnevExtended,
+ static int * const mapi_SendOptions_fields[] = {
+ &hf_mapi_SendOptions_SendOptions_Unicode,
+ &hf_mapi_SendOptions_SendOptions_ForUpload,
+ &hf_mapi_SendOptions_SendOptions_RecoverMode,
+ &hf_mapi_SendOptions_SendOptions_ForceUnicode,
+ &hf_mapi_SendOptions_SendOptions_Partial,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_SendOptions, mapi_SendOptions_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000020)) {
+ flags &= (~0x00000020);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: SynchronizationFlag_Unicode = 0x1 , */
+/* IDL: SynchronizationFlag_NoDeletions = 0x2 , */
+/* IDL: SynchronizationFlag_NoSoftDeletions = 0x4 , */
+/* IDL: SynchronizationFlag_ReadState = 0x8 , */
+/* IDL: SynchronizationFlag_FAI = 0x10 , */
+/* IDL: SynchronizationFlag_Normal = 0x20 , */
+/* IDL: SynchronizationFlag_OnlySpecifiedProperties = 0x80 , */
+/* IDL: SynchronizationFlag_NoForeignIdentifiers = 0x100 , */
+/* IDL: SynchronizationFlag_Reserved = 0x1000 , */
+/* IDL: SynchronizationFlag_BestBody = 0x2000 , */
+/* IDL: SynchronizationFlag_IgnoreSpecifiedOnFAI = 0x4000 , */
+/* IDL: SynchronizationFlag_Progress = 0x8000 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_SynchronizationFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_SynchronizationFlag_fields[] = {
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_Unicode,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_NoDeletions,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_NoSoftDeletions,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_ReadState,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_FAI,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_Normal,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_OnlySpecifiedProperties,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_NoForeignIdentifiers,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_Reserved,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_BestBody,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_IgnoreSpecifiedOnFAI,
+ &hf_mapi_SynchronizationFlag_SynchronizationFlag_Progress,
NULL
};
guint16 flags;
ALIGN_TO_2_BYTES;
item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
- ett_mapi_ulEventType, mapi_ulEventType_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+ ett_mapi_SynchronizationFlag, mapi_SynchronizationFlag_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
offset = dissect_ndr_uint16(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
if (!flags)
proto_item_append_text(item, ": (No values set)");
- if (flags & (~0xc00003ff)) {
- flags &= (~0xc00003ff);
+ if (flags & (~0x0000f1bf)) {
+ flags &= (~0x0000f1bf);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: Eid = 0x00000001 , */
+/* IDL: MessageSize = 0x00000002 , */
+/* IDL: Cn = 0x00000004 , */
+/* IDL: OrderByDeliveryTime = 0x00000008 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_SynchronizationExtraFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_SynchronizationExtraFlags_fields[] = {
+ &hf_mapi_SynchronizationExtraFlags_Eid,
+ &hf_mapi_SynchronizationExtraFlags_MessageSize,
+ &hf_mapi_SynchronizationExtraFlags_Cn,
+ &hf_mapi_SynchronizationExtraFlags_OrderByDeliveryTime,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_SynchronizationExtraFlags, mapi_SynchronizationExtraFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x0000000f)) {
+ flags &= (~0x0000000f);
proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
}
@@ -9242,298 +34450,9294 @@ mapi_dissect_bitmap_ulEventType(tvbuff_t *tvb _U_, int offset _U_, packet_info *
/* IDL: struct { */
-/* IDL: uint32 codepage; */
-/* IDL: uint32 padding; */
-/* IDL: uint8 row; */
-/* IDL: uint16 mailbox_str_size; */
-/* IDL: [charset(DOS)] [unique(1)] uint8 *mailbox; */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: SynchronizationType SynchronizationType; */
+/* IDL: SendOptions SendOptions; */
+/* IDL: SynchronizationFlag SynchronizationFlag; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB RestrictionData; */
+/* IDL: SynchronizationExtraFlags SynchronizationExtraFlags; */
+/* IDL: mapi_SPropTagArray PropertyTags; */
/* IDL: } */
+static int
+mapi_dissect_element_SyncConfigure_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_SynchronizationType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_SynchronizationType(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncConfigure_req_SynchronizationType, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_SendOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_SendOptions(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncConfigure_req_SendOptions, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_SynchronizationFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_SynchronizationFlag(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncConfigure_req_SynchronizationFlag, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_RestrictionData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncConfigure_req_RestrictionData, 1);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_SynchronizationExtraFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_SynchronizationExtraFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncConfigure_req_SynchronizationExtraFlags, 0);
-/* IDL: [switch_type(MAPI_OPNUM)] union { */
-/* IDL: [case(op_MAPI_Release)] [case(op_MAPI_Release)] Release_req mapi_Release; */
-/* IDL: [case(op_MAPI_OpenFolder)] [case(op_MAPI_OpenFolder)] OpenFolder_req mapi_OpenFolder; */
-/* IDL: [case(op_MAPI_GetProps)] [case(op_MAPI_GetProps)] GetProps_req mapi_GetProps; */
-/* IDL: [case(op_MAPI_OpenMsgStore)] [case(op_MAPI_OpenMsgStore)] OpenMsgStore_req mapi_OpenMsgStore; */
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncConfigure_req_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropTagArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_SyncConfigure_req_PropertyTags,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncConfigure_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncConfigure_req);
+ }
+
+ offset = mapi_dissect_element_SyncConfigure_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_SynchronizationType(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_SendOptions(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_SynchronizationFlag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_RestrictionData(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_SynchronizationExtraFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncConfigure_req_PropertyTags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
/* IDL: } */
+int
+mapi_dissect_struct_SyncConfigure_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: ImportFlag_Associated = 0x10 , */
+/* IDL: ImportFlag_FailOnConflict = 0x40 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_ImportFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_ImportFlag_fields[] = {
+ &hf_mapi_ImportFlag_ImportFlag_Associated,
+ &hf_mapi_ImportFlag_ImportFlag_FailOnConflict,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_ImportFlag, mapi_ImportFlag_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000050)) {
+ flags &= (~0x00000050);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: ImportFlag ImportFlag; */
+/* IDL: mapi_SPropValue_array PropertyValues; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportMessageChange_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportMessageChange_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportMessageChange_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportMessageChange_req_ImportFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_ImportFlag(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageChange_req_ImportFlag, 0);
+
+ return offset;
+}
+
static int
-mapi_dissect_element_EcDoRpc_MAPI_REQ_UNION_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_SyncImportMessageChange_req_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_struct_Release_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_Release,0);
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_SyncImportMessageChange_req_PropertyValues,0);
return offset;
}
+int
+mapi_dissect_struct_SyncImportMessageChange_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportMessageChange_req);
+ }
+
+ offset = mapi_dissect_element_SyncImportMessageChange_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportMessageChange_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportMessageChange_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportMessageChange_req_ImportFlag(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportMessageChange_req_PropertyValues(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
-/* IDL: [public(1)] [switch_type(MAPI_OPNUM)] union { */
-/* IDL: [case(op_MAPI_Release)] [case(op_MAPI_Release)] Release_repl mapi_Release; */
-/* IDL: [case(op_MAPI_OpenFolder)] [case(op_MAPI_OpenFolder)] OpenFolder_repl mapi_OpenFolder; */
-/* IDL: [case(op_MAPI_GetProps)] [case(op_MAPI_GetProps)] GetProps_repl mapi_GetProps; */
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper MessageId; */
/* IDL: } */
static int
-mapi_dissect_element_EcDoRpc_MAPI_REPL_UNION_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_SyncImportMessageChange_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_struct_Release_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_Release,0);
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageChange_repl_MessageId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncImportMessageChange_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportMessageChange_repl);
+ }
+
+ offset = mapi_dissect_element_SyncImportMessageChange_repl_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: mapi_SPropValue_array HierarchyValues; */
+/* IDL: mapi_SPropValue_array PropertyValues; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportHierarchyChange_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportHierarchyChange_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportHierarchyChange_req_HierarchyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_SyncImportHierarchyChange_req_HierarchyValues,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportHierarchyChange_req_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_SyncImportHierarchyChange_req_PropertyValues,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncImportHierarchyChange_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportHierarchyChange_req);
+ }
+
+ offset = mapi_dissect_element_SyncImportHierarchyChange_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportHierarchyChange_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportHierarchyChange_req_HierarchyValues(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportHierarchyChange_req_PropertyValues(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper FolderId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportHierarchyChange_repl_FolderId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportHierarchyChange_repl_FolderId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncImportHierarchyChange_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportHierarchyChange_repl);
+ }
+
+ offset = mapi_dissect_element_SyncImportHierarchyChange_repl_FolderId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 IsHierarchy; */
+/* IDL: mapi_SPropValue_array PropertyValues; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportDeletes_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportDeletes_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportDeletes_req_IsHierarchy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportDeletes_req_IsHierarchy, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportDeletes_req_PropertyValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_SyncImportDeletes_req_PropertyValues,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncImportDeletes_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportDeletes_req);
+ }
+
+ offset = mapi_dissect_element_SyncImportDeletes_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportDeletes_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportDeletes_req_IsHierarchy(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportDeletes_req_PropertyValues(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncImportDeletes_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: PidTagIdsetGiven=0x40170003, */
+/* IDL: PidTagCnsetSeen=0x67960102, */
+/* IDL: PidTagCnsetSeenFAI=0x67da0102, */
+/* IDL: PidTagCnsetRead=0x67d20102, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_StateProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
+{
+ guint32 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: StateProperty StateProperty; */
+/* IDL: uint32 TransferBufferSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncUploadStateStreamBegin_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncUploadStateStreamBegin_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncUploadStateStreamBegin_req_StateProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_StateProperty(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncUploadStateStreamBegin_req_StateProperty, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncUploadStateStreamBegin_req_TransferBufferSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncUploadStateStreamBegin_req_TransferBufferSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncUploadStateStreamBegin_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncUploadStateStreamBegin_req);
+ }
+
+ offset = mapi_dissect_element_SyncUploadStateStreamBegin_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncUploadStateStreamBegin_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncUploadStateStreamBegin_req_StateProperty(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncUploadStateStreamBegin_req_TransferBufferSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncUploadStateStreamBegin_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 StreamDataSize; */
+/* IDL: [flag(NDR_BUFFERS)] [size_is(cb)] uint8 StreamData[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncUploadStateStreamContinue_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncUploadStateStreamContinue_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncUploadStateStreamContinue_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncUploadStateStreamEnd_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncUploadStateStreamEnd_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncUploadStateStreamEnd_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncUploadStateStreamEnd_req);
+ }
+
+ offset = mapi_dissect_element_SyncUploadStateStreamEnd_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncUploadStateStreamEnd_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncUploadStateStreamEnd_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 SourceFolderIdSize; */
+/* IDL: [size_is(SourceFolderIdSize)] uint8 SourceFolderId[*]; */
+/* IDL: uint32 SourceMessageIdSize; */
+/* IDL: [size_is(SourceMessageIdSize)] uint8 SourceMessageId[*]; */
+/* IDL: uint32 PredecessorChangeListSize; */
+/* IDL: [size_is(PredecessorChangeListSize)] uint8 PredecessorChangeList[*]; */
+/* IDL: uint32 DestinationMessageIdSize; */
+/* IDL: [size_is(DestinationMessageIdSize)] uint8 DestinationMessageId[*]; */
+/* IDL: uint32 ChangeNumberSize; */
+/* IDL: [size_is(ChangeNumberSize)] uint8 ChangeNumber[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportMessageMove_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportMessageMove_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper MessageId; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportMessageMove_repl_MessageId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportMessageMove_repl_MessageId, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncImportMessageMove_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportMessageMove_repl);
+ }
+
+ offset = mapi_dissect_element_SyncImportMessageMove_repl_MessageId(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [represent_as(uint16)] mapi_SPropValue_array values; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetPropertiesNoReplicate_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetPropertiesNoReplicate_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetPropertiesNoReplicate_req_values(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropValue_array(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetPropertiesNoReplicate_req_values,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetPropertiesNoReplicate_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetPropertiesNoReplicate_req);
+ }
+
+ offset = mapi_dissect_element_SetPropertiesNoReplicate_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetPropertiesNoReplicate_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetPropertiesNoReplicate_req_values(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyProblemCount; */
+/* IDL: [size_is(PropertyProblemCount)] PropertyProblem PropertyProblem[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetPropertiesNoReplicate_repl_PropertyProblemCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblem_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PropertyProblem(tvb,offset,pinfo,tree,di,drep,hf_mapi_SetPropertiesNoReplicate_repl_PropertyProblem,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetPropertiesNoReplicate_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetPropertiesNoReplicate_repl);
+ }
+
+ offset = mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblemCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SetPropertiesNoReplicate_repl_PropertyProblem(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: mapi_SPropTagArray PropertyTags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeletePropertiesNoReplicate_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeletePropertiesNoReplicate_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeletePropertiesNoReplicate_req_PropertyTags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SPropTagArray(tvb,offset,pinfo,tree,di,drep,hf_mapi_DeletePropertiesNoReplicate_req_PropertyTags,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeletePropertiesNoReplicate_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeletePropertiesNoReplicate_req);
+ }
+
+ offset = mapi_dissect_element_DeletePropertiesNoReplicate_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeletePropertiesNoReplicate_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeletePropertiesNoReplicate_req_PropertyTags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 PropertyProblemCount; */
+/* IDL: [size_is(PropertyProblemCount)] PropertyProblem PropertyProblem[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblemCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_DeletePropertiesNoReplicate_repl_PropertyProblemCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblem_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblem_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PropertyProblem(tvb,offset,pinfo,tree,di,drep,hf_mapi_DeletePropertiesNoReplicate_repl_PropertyProblem,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_DeletePropertiesNoReplicate_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_DeletePropertiesNoReplicate_repl);
+ }
+
+ offset = mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblemCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_DeletePropertiesNoReplicate_repl_PropertyProblem(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: STORE_HAS_SEARCHES = 0x010000000 , */
+/* IDL: } */
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetStoreState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetStoreState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetStoreState_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetStoreState_req);
+ }
+
+ offset = mapi_dissect_element_GetStoreState_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetStoreState_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: StoreState StoreState; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetStoreState_repl_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_StoreState(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetStoreState_repl_StoreState, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetStoreState_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetStoreState_repl);
+ }
+
+ offset = mapi_dissect_element_GetStoreState_repl_StoreState(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint8 IsContentsCollector; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncOpenCollector_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncOpenCollector_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncOpenCollector_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncOpenCollector_req_IsContentsCollector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncOpenCollector_req_IsContentsCollector, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncOpenCollector_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncOpenCollector_req);
+ }
+
+ offset = mapi_dissect_element_SyncOpenCollector_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncOpenCollector_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncOpenCollector_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncOpenCollector_req_IsContentsCollector(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncOpenCollector_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint32 IdCount; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetLocalReplicaIds_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetLocalReplicaIds_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetLocalReplicaIds_req_IdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetLocalReplicaIds_req_IdCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetLocalReplicaIds_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetLocalReplicaIds_req);
+ }
+
+ offset = mapi_dissect_element_GetLocalReplicaIds_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetLocalReplicaIds_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetLocalReplicaIds_req_IdCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: GUID ReplGuid; */
+/* IDL: uint8 GlobalCount[6]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_GetLocalReplicaIds_repl_ReplGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetLocalReplicaIds_repl_ReplGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetLocalReplicaIds_repl_GlobalCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 6; i++)
+ offset = mapi_dissect_element_GetLocalReplicaIds_repl_GlobalCount_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_GetLocalReplicaIds_repl_GlobalCount_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_GetLocalReplicaIds_repl_GlobalCount, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_GetLocalReplicaIds_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_GetLocalReplicaIds_repl);
+ }
+
+ offset = mapi_dissect_element_GetLocalReplicaIds_repl_ReplGuid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_GetLocalReplicaIds_repl_GlobalCount(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB MessageStates; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncImportReadStateChanges_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportReadStateChanges_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncImportReadStateChanges_req_MessageStates(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_SyncImportReadStateChanges_req_MessageStates, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncImportReadStateChanges_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncImportReadStateChanges_req);
+ }
+
+ offset = mapi_dissect_element_SyncImportReadStateChanges_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportReadStateChanges_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncImportReadStateChanges_req_MessageStates(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncImportReadStateChanges_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ResetTable_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ResetTable_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ResetTable_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ResetTable_req);
+ }
+
+ offset = mapi_dissect_element_ResetTable_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ResetTable_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_ResetTable_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SyncGetTransferState_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncGetTransferState_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_SyncGetTransferState_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SyncGetTransferState_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SyncGetTransferState_req);
+ }
+
+ offset = mapi_dissect_element_SyncGetTransferState_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncGetTransferState_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_SyncGetTransferState_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SyncGetTransferState_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
return offset;
}
/* IDL: struct { */
-/* IDL: uint8 opnum; */
-/* IDL: uint8 mapi_flags; */
/* IDL: uint8 handle_idx; */
-/* IDL: [switch_is(opnum)] EcDoRpc_MAPI_REQ_UNION u; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_SIZE4)] string name; */
/* IDL: } */
+static int
+mapi_dissect_element_OpenPublicFolderByName_req_handle_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenPublicFolderByName_req_handle_idx, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenPublicFolderByName_req_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_vstring(tvb, offset, pinfo, tree, di, drep, 1, hf_mapi_OpenPublicFolderByName_req_name, FALSE, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenPublicFolderByName_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenPublicFolderByName_req);
+ }
+
+ offset = mapi_dissect_element_OpenPublicFolderByName_req_handle_idx(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenPublicFolderByName_req_name(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 HasRules; */
+/* IDL: uint8 IsGhosted; */
+/* IDL: [switch_is(IsGhosted)] IsGhosted Ghost; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_OpenPublicFolderByName_repl_HasRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenPublicFolderByName_repl_HasRules, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenPublicFolderByName_repl_IsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenPublicFolderByName_repl_IsGhosted, *IsGhosted);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_OpenPublicFolderByName_repl_Ghost(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *IsGhosted)
+{
+ offset = mapi_dissect_IsGhosted(tvb, offset, pinfo, tree, di, drep, hf_mapi_OpenPublicFolderByName_repl_Ghost, *IsGhosted);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_OpenPublicFolderByName_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 IsGhosted = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_OpenPublicFolderByName_repl);
+ }
+
+ offset = mapi_dissect_element_OpenPublicFolderByName_repl_HasRules(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_OpenPublicFolderByName_repl_IsGhosted(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
+ offset = mapi_dissect_element_OpenPublicFolderByName_repl_Ghost(tvb, offset, pinfo, tree, di, drep, &IsGhosted);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: GUID NotificationGuid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_SetSyncNotificationGuid_req_NotificationGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_SetSyncNotificationGuid_req_NotificationGuid, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_SetSyncNotificationGuid_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_SetSyncNotificationGuid_req);
+ }
+
+ offset = mapi_dissect_element_SetSyncNotificationGuid_req_NotificationGuid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_SetSyncNotificationGuid_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: SBinary_short bookmark; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_FreeBookmark_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FreeBookmark_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_FreeBookmark_req_bookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SBinary_short(tvb,offset,pinfo,tree,di,drep,hf_mapi_FreeBookmark_req_bookmark,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_FreeBookmark_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_FreeBookmark_req);
+ }
+
+ offset = mapi_dissect_element_FreeBookmark_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FreeBookmark_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_FreeBookmark_req_bookmark(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: } */
+
+int
+mapi_dissect_struct_FreeBookmark_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ }
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING)] [represent_as(uint16)] DATA_BLOB data; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_WriteAndCommitStream_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_WriteAndCommitStream_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_WriteAndCommitStream_req_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_WriteAndCommitStream_req_data, 1);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_WriteAndCommitStream_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_WriteAndCommitStream_req);
+ }
+
+ offset = mapi_dissect_element_WriteAndCommitStream_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_WriteAndCommitStream_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_WriteAndCommitStream_req_data(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 WrittenSize; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_WriteAndCommitStream_repl_WrittenSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_WriteAndCommitStream_repl_WrittenSize, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_WriteAndCommitStream_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_WriteAndCommitStream_repl);
+ }
+
+ offset = mapi_dissect_element_WriteAndCommitStream_repl_WrittenSize(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 NotifyNonRead; */
+/* IDL: uint16 MessageIdCount; */
+/* IDL: [size_is(MessageIdCount)] hyper MessageIds[*]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessages_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_NotifyNonRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessages_req_NotifyNonRead, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_MessageIdCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessages_req_MessageIdCount, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_MessageIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_HardDeleteMessages_req_MessageIds_);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessages_req_MessageIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessages_req_MessageIds, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HardDeleteMessages_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HardDeleteMessages_req);
+ }
+
+ offset = mapi_dissect_element_HardDeleteMessages_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessages_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessages_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessages_req_NotifyNonRead(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessages_req_MessageIdCount(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessages_req_MessageIds(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HardDeleteMessages_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessages_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HardDeleteMessages_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HardDeleteMessages_repl);
+ }
+
+ offset = mapi_dissect_element_HardDeleteMessages_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 InputHandleIndex; */
+/* IDL: uint8 WantAsynchronous; */
+/* IDL: uint8 WantDeleteAssociated; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_InputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_InputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_WantAsynchronous(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessagesAndSubfolders_req_WantAsynchronous, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_WantDeleteAssociated(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessagesAndSubfolders_req_WantDeleteAssociated, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HardDeleteMessagesAndSubfolders_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HardDeleteMessagesAndSubfolders_req);
+ }
+
+ offset = mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_InputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_WantAsynchronous(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_HardDeleteMessagesAndSubfolders_req_WantDeleteAssociated(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 PartialCompletion; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_HardDeleteMessagesAndSubfolders_repl_PartialCompletion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_HardDeleteMessagesAndSubfolders_repl_PartialCompletion, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_HardDeleteMessagesAndSubfolders_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_HardDeleteMessagesAndSubfolders_repl);
+ }
+
+ offset = mapi_dissect_element_HardDeleteMessagesAndSubfolders_repl_PartialCompletion(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: LogonPrivate=0x1, */
+/* IDL: UnderCover=0x2, */
+/* IDL: Ghosted=0x4, */
+/* IDL: SpIProcess=0x8, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_LogonFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: PUBLIC = 0x2 , */
+/* IDL: HOME_LOGON = 0x4 , */
+/* IDL: TAKE_OWNERSHIP = 0x8 , */
+/* IDL: ALTERNATE_SERVER = 0x100 , */
+/* IDL: IGNORE_HOME_MDB = 0x200 , */
+/* IDL: NO_MAIL = 0x400 , */
+/* IDL: USE_PER_MDB_REPLID_MAPPING = 0x010000000 , */
+/* IDL: } */
+
+
+/* IDL: enum { */
+/* IDL: DayOfWeek_Sunday=0x0, */
+/* IDL: DayOfWeek_Monday=0x1, */
+/* IDL: DayOfWeek_Tuesday=0x2, */
+/* IDL: DayOfWeek_Wednesday=0x3, */
+/* IDL: DayOfWeek_Thursday=0x4, */
+/* IDL: DayOfWeek_Friday=0x5, */
+/* IDL: DayOfWeek_Saturday=0x6, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_DayOfWeek(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 Seconds; */
+/* IDL: uint8 Minutes; */
+/* IDL: uint8 Hour; */
+/* IDL: DayOfWeek DayOfWeek; */
+/* IDL: uint8 Day; */
+/* IDL: uint8 Month; */
+/* IDL: uint16 Year; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_LogonTime_Seconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_Seconds, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LogonTime_Minutes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_Minutes, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LogonTime_Hour(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_Hour, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LogonTime_DayOfWeek(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_DayOfWeek(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_DayOfWeek, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LogonTime_Day(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_Day, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LogonTime_Month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_Month, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_LogonTime_Year(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonTime_Year, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_LogonTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_LogonTime);
+ }
+
+ offset = mapi_dissect_element_LogonTime_Seconds(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LogonTime_Minutes(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LogonTime_Hour(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LogonTime_DayOfWeek(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LogonTime_Day(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LogonTime_Month(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_LogonTime_Year(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: ResponseFlags_Reserved = 0x1 , */
+/* IDL: ResponseFlags_OwnerRight = 0x2 , */
+/* IDL: ResponseFlags_SendAsRight = 0x4 , */
+/* IDL: ResponseFlags_OOF = 0x10 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_ResponseFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_ResponseFlags_fields[] = {
+ &hf_mapi_ResponseFlags_ResponseFlags_Reserved,
+ &hf_mapi_ResponseFlags_ResponseFlags_OwnerRight,
+ &hf_mapi_ResponseFlags_ResponseFlags_SendAsRight,
+ &hf_mapi_ResponseFlags_ResponseFlags_OOF,
+ NULL
+ };
+ guint8 flags;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_ResponseFlags, mapi_ResponseFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000017)) {
+ flags &= (~0x00000017);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 LogonId; */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: LogonFlags LogonFlags; */
+/* IDL: OpenFlags OpenFlags; */
+/* IDL: StoreState StoreState; */
+/* IDL: uint16 EssdnSize; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string EssDN; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Logon_req_LogonId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_LogonId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_req_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_req_LogonFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_LogonFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_req_LogonFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_req_OpenFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_OpenFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_req_OpenFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_req_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_StoreState(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_req_StoreState, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_req_EssdnSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_req_EssdnSize, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_req_EssDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_Logon_req_EssDN , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_Logon_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_Logon_req);
+ }
+
+ offset = mapi_dissect_element_Logon_req_LogonId(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Logon_req_OutputHandleIndex(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Logon_req_LogonFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Logon_req_OpenFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Logon_req_StoreState(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Logon_req_EssdnSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_Logon_req_EssDN(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 OutputHandleIndex; */
+/* IDL: uint32 ReturnValue; */
+/* IDL: LogonFlags LogonFlags; */
+/* IDL: hyper FolderIds[13]; */
+/* IDL: uint8 ResponseFlags; */
+/* IDL: GUID MailboxGuid; */
+/* IDL: uint16 ReplId; */
+/* IDL: GUID ReplGuid; */
+/* IDL: hyper LogonTime; */
+/* IDL: hyper GwartTime; */
+/* IDL: StoreState StoreState; */
+/* IDL: GUID PerUserGuid; */
+/* IDL: uint8 ServerNameSize; */
+/* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] string ServerName; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_Logon_repl_OutputHandleIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_OutputHandleIndex, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_FolderIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 13; i++)
+ offset = mapi_dissect_element_Logon_repl_FolderIds_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_FolderIds_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_FolderIds, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_ResponseFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_ResponseFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_MailboxGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_MailboxGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_ReplId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_ReplId, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_ReplGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_ReplGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_LogonTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_LogonTime, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_GwartTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_GwartTime, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_StoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_StoreState(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_StoreState, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_PerUserGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_PerUserGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_ServerNameSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_Logon_repl_ServerNameSize, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_Logon_repl_ServerName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, hf_mapi_Logon_repl_ServerName , 0);
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 SizeNeeded; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RopBufferTooSmall_repl_SizeNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RopBufferTooSmall_repl_SizeNeeded, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RopBufferTooSmall_repl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RopBufferTooSmall_repl);
+ }
+
+ offset = mapi_dissect_element_RopBufferTooSmall_repl_SizeNeeded(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [nodiscriminant(1)] [public(1)] union { */
+/* IDL: [case(RopRelease)] [case(RopRelease)] Release_req Release; */
+/* IDL: [case(RopOpenFolder)] [case(RopOpenFolder)] OpenFolder_req OpenFolder; */
+/* IDL: [case(RopOpenMessage)] [case(RopOpenMessage)] OpenMessage_req OpenMessage; */
+/* IDL: [case(RopGetHierarchyTable)] [case(RopGetHierarchyTable)] GetHierarchyTable_req GetHierarchyTable; */
+/* IDL: [case(RopGetContentsTable)] [case(RopGetContentsTable)] GetContentsTable_req GetContentsTable; */
+/* IDL: [case(RopCreateMessage)] [case(RopCreateMessage)] CreateMessage_req CreateMessage; */
+/* IDL: [case(RopGetPropertiesSpecific)] [case(RopGetPropertiesSpecific)] GetProps_req GetProps; */
+/* IDL: [case(RopGetPropertiesAll)] [case(RopGetPropertiesAll)] GetPropsAll_req GetPropsAll; */
+/* IDL: [case(RopGetPropertiesList)] [case(RopGetPropertiesList)] GetPropList_req GetPropList; */
+/* IDL: [case(RopSetProperties)] [case(RopSetProperties)] SetProps_req SetProps; */
+/* IDL: [case(RopDeleteProperties)] [case(RopDeleteProperties)] DeleteProps_req DeleteProps; */
+/* IDL: [case(RopSaveChangesMessage)] [case(RopSaveChangesMessage)] SaveChangesMessage_req SaveChangesMessage; */
+/* IDL: [case(RopSetMessageReadFlag)] [case(RopSetMessageReadFlag)] SetMessageReadFlag_req SetMessageReadFlag; */
+/* IDL: [case(RopReloadCachedInformation)] [case(RopReloadCachedInformation)] ReloadCachedInformation_req ReloadCachedInformation; */
+/* IDL: [case(RopSetColumns)] [case(RopSetColumns)] SetColumns_req SetColumns; */
+/* IDL: [case(RopSortTable)] [case(RopSortTable)] SortTable_req SortTable; */
+/* IDL: [case(RopRestrict)] [case(RopRestrict)] Restrict_req Restrict; */
+/* IDL: [case(RopRemoveAllRecipients)] [case(RopRemoveAllRecipients)] RemoveAllRecipients_req RemoveAllRecipients; */
+/* IDL: [case(RopModifyRecipients)] [case(RopModifyRecipients)] ModifyRecipients_req ModifyRecipients; */
+/* IDL: [case(RopReadRecipients)] [case(RopReadRecipients)] ReadRecipients_req ReadRecipients; */
+/* IDL: [case(RopQueryRows)] [case(RopQueryRows)] QueryRows_req QueryRows; */
+/* IDL: [case(RopGetStatus)] [case(RopGetStatus)] GetStatus_req GetStatus; */
+/* IDL: [case(RopQueryPosition)] [case(RopQueryPosition)] QueryPosition_req QueryPosition; */
+/* IDL: [case(RopSeekRow)] [case(RopSeekRow)] SeekRow_req SeekRow; */
+/* IDL: [case(RopSeekRowBookmark)] [case(RopSeekRowBookmark)] SeekRowBookmark_req SeekRowBookmark; */
+/* IDL: [case(RopSeekRowFractional)] [case(RopSeekRowFractional)] SeekRowApprox_req SeekRowApprox; */
+/* IDL: [case(RopCreateBookmark)] [case(RopCreateBookmark)] CreateBookmark_req CreateBookmark; */
+/* IDL: [case(RopCreateFolder)] [case(RopCreateFolder)] CreateFolder_req CreateFolder; */
+/* IDL: [case(RopDeleteFolder)] [case(RopDeleteFolder)] DeleteFolder_req DeleteFolder; */
+/* IDL: [case(RopDeleteMessages)] [case(RopDeleteMessages)] DeleteMessages_req DeleteMessages; */
+/* IDL: [case(RopGetMessageStatus)] [case(RopGetMessageStatus)] GetMessageStatus_req GetMessageStatus; */
+/* IDL: [case(RopSetMessageStatus)] [case(RopSetMessageStatus)] SetMessageStatus_req SetMessageStatus; */
+/* IDL: [case(RopGetAttachmentTable)] [case(RopGetAttachmentTable)] GetAttachmentTable_req GetAttachmentTable; */
+/* IDL: [case(RopOpenAttachment)] [case(RopOpenAttachment)] OpenAttach_req OpenAttach; */
+/* IDL: [case(RopCreateAttachment)] [case(RopCreateAttachment)] CreateAttach_req CreateAttach; */
+/* IDL: [case(RopDeleteAttachment)] [case(RopDeleteAttachment)] DeleteAttach_req DeleteAttach; */
+/* IDL: [case(RopSaveChangesAttachment)] [case(RopSaveChangesAttachment)] SaveChangesAttachment_req SaveChangesAttachment; */
+/* IDL: [case(RopSetReceiveFolder)] [case(RopSetReceiveFolder)] SetReceiveFolder_req SetReceiveFolder; */
+/* IDL: [case(RopGetReceiveFolder)] [case(RopGetReceiveFolder)] GetReceiveFolder_req GetReceiveFolder; */
+/* IDL: [case(RopRegisterNotification)] [case(RopRegisterNotification)] RegisterNotification_req Advise; */
+/* IDL: [case(RopOpenStream)] [case(RopOpenStream)] OpenStream_req OpenStream; */
+/* IDL: [case(RopReadStream)] [case(RopReadStream)] ReadStream_req ReadStream; */
+/* IDL: [case(RopWriteStream)] [case(RopWriteStream)] WriteStream_req WriteStream; */
+/* IDL: [case(RopSeekStream)] [case(RopSeekStream)] SeekStream_req SeekStream; */
+/* IDL: [case(RopSetStreamSize)] [case(RopSetStreamSize)] SetStreamSize_req SetStreamSize; */
+/* IDL: [case(RopSetSearchCriteria)] [case(RopSetSearchCriteria)] SetSearchCriteria_req SetSearchCriteria; */
+/* IDL: [case(RopGetSearchCriteria)] [case(RopGetSearchCriteria)] GetSearchCriteria_req GetSearchCriteria; */
+/* IDL: [case(RopSubmitMessage)] [case(RopSubmitMessage)] SubmitMessage_req SubmitMessage; */
+/* IDL: [case(RopMoveCopyMessages)] [case(RopMoveCopyMessages)] MoveCopyMessages_req MoveCopyMessages; */
+/* IDL: [case(RopAbortSubmit)] [case(RopAbortSubmit)] AbortSubmit_req AbortSubmit; */
+/* IDL: [case(RopMoveFolder)] [case(RopMoveFolder)] MoveFolder_req MoveFolder; */
+/* IDL: [case(RopCopyFolder)] [case(RopCopyFolder)] CopyFolder_req CopyFolder; */
+/* IDL: [case(RopQueryColumnsAll)] [case(RopQueryColumnsAll)] QueryColumnsAll_req QueryColumnsAll; */
+/* IDL: [case(RopAbort)] [case(RopAbort)] Abort_req Abort; */
+/* IDL: [case(RopCopyTo)] [case(RopCopyTo)] CopyTo_req CopyTo; */
+/* IDL: [case(RopCopyToStream)] [case(RopCopyToStream)] CopyToStream_req CopyToStream; */
+/* IDL: [case(RopCloneStream)] [case(RopCloneStream)] CloneStream_req CloneStream; */
+/* IDL: [case(RopGetPermissionsTable)] [case(RopGetPermissionsTable)] GetPermissionsTable_req GetPermissionsTable; */
+/* IDL: [case(RopGetRulesTable)] [case(RopGetRulesTable)] GetRulesTable_req GetRulesTable; */
+/* IDL: [case(RopModifyPermissions)] [case(RopModifyPermissions)] ModifyPermissions_req ModifyPermissions; */
+/* IDL: [case(RopModifyRules)] [case(RopModifyRules)] ModifyRules_req ModifyRules; */
+/* IDL: [case(RopGetOwningServers)] [case(RopGetOwningServers)] GetOwningServers_req GetOwningServers; */
+/* IDL: [case(RopLongTermIdFromId)] [case(RopLongTermIdFromId)] LongTermIdFromId_req LongTermIdFromId; */
+/* IDL: [case(RopIdFromLongTermId)] [case(RopIdFromLongTermId)] IdFromLongTermId_req IdFromLongTermId; */
+/* IDL: [case(RopPublicFolderIsGhosted)] [case(RopPublicFolderIsGhosted)] PublicFolderIsGhosted_req PublicFolderIsGhosted; */
+/* IDL: [case(RopOpenEmbeddedMessage)] [case(RopOpenEmbeddedMessage)] OpenEmbeddedMessage_req OpenEmbeddedMessage; */
+/* IDL: [case(RopSetSpooler)] [case(RopSetSpooler)] SetSpooler_req SetSpooler; */
+/* IDL: [case(RopSpoolerLockMessage)] [case(RopSpoolerLockMessage)] SpoolerLockMessage_req SpoolerLockMessage; */
+/* IDL: [case(RopGetAddressTypes)] [case(RopGetAddressTypes)] AddressTypes_req AddressTypes; */
+/* IDL: [case(RopTransportSend)] [case(RopTransportSend)] TransportSend_req TransportSend; */
+/* IDL: [case(RopFastTransferSourceGetBuffer)] [case(RopFastTransferSourceGetBuffer)] FastTransferSourceGetBuffer_req FastTransferSourceGetBuffer; */
+/* IDL: [case(RopFindRow)] [case(RopFindRow)] FindRow_req FindRow; */
+/* IDL: [case(RopProgress)] [case(RopProgress)] Progress_req Progress; */
+/* IDL: [case(RopTransportNewMail)] [case(RopTransportNewMail)] TransportNewMail_req TransportNewMail; */
+/* IDL: [case(RopGetValidAttachments)] [case(RopGetValidAttachments)] GetValidAttachments_req GetValidAttachments; */
+/* IDL: [case(RopGetNamesFromPropertyIds)] [case(RopGetNamesFromPropertyIds)] GetNamesFromIDs_req GetNamesFromIDs; */
+/* IDL: [case(RopGetPropertyIdsFromNames)] [case(RopGetPropertyIdsFromNames)] GetIDsFromNames_req GetIDsFromNames; */
+/* IDL: [case(RopUpdateDeferredActionMessages)] [case(RopUpdateDeferredActionMessages)] UpdateDeferredActionMessages_req UpdateDeferredActionMessages; */
+/* IDL: [case(RopEmptyFolder)] [case(RopEmptyFolder)] EmptyFolder_req EmptyFolder; */
+/* IDL: [case(RopExpandRow)] [case(RopExpandRow)] ExpandRow_req ExpandRow; */
+/* IDL: [case(RopCollapseRow)] [case(RopCollapseRow)] CollapseRow_req CollapseRow; */
+/* IDL: [case(RopLockRegionStream)] [case(RopLockRegionStream)] LockRegionStream_req LockRegionStream; */
+/* IDL: [case(RopUnlockRegionStream)] [case(RopUnlockRegionStream)] UnlockRegionStream_req UnlockRegionStream; */
+/* IDL: [case(RopCommitStream)] [case(RopCommitStream)] CommitStream_req CommitStream; */
+/* IDL: [case(RopGetStreamSize)] [case(RopGetStreamSize)] GetStreamSize_req GetStreamSize; */
+/* IDL: [case(RopQueryNamedProperties)] [case(RopQueryNamedProperties)] QueryNamedProperties_req QueryNamedProperties; */
+/* IDL: [case(RopGetPerUserLongTermIds)] [case(RopGetPerUserLongTermIds)] GetPerUserLongTermIds_req GetPerUserLongTermIds; */
+/* IDL: [case(RopGetPerUserGuid)] [case(RopGetPerUserGuid)] GetPerUserGuid_req GetPerUserGuid; */
+/* IDL: [case(RopReadPerUserInformation)] [case(RopReadPerUserInformation)] ReadPerUserInformation_req ReadPerUserInformation; */
+/* IDL: [case(RopSetReadFlags)] [case(RopSetReadFlags)] SetReadFlags_req SetReadFlags; */
+/* IDL: [case(RopCopyProperties)] [case(RopCopyProperties)] CopyProperties_req CopyProperties; */
+/* IDL: [case(RopGetReceiveFolderTable)] [case(RopGetReceiveFolderTable)] GetReceiveFolderTable_req GetReceiveFolderTable; */
+/* IDL: [case(RopGetCollapseState)] [case(RopGetCollapseState)] GetCollapseState_req GetCollapseState; */
+/* IDL: [case(RopSetCollapseState)] [case(RopSetCollapseState)] SetCollapseState_req SetCollapseState; */
+/* IDL: [case(RopGetTransportFolder)] [case(RopGetTransportFolder)] GetTransportFolder_req GetTransportFolder; */
+/* IDL: [case(RopOptionsData)] [case(RopOptionsData)] OptionsData_req OptionsData; */
+/* IDL: [case(RopSynchronizationConfigure)] [case(RopSynchronizationConfigure)] SyncConfigure_req SyncConfigure; */
+/* IDL: [case(RopSynchronizationImportMessageChange)] [case(RopSynchronizationImportMessageChange)] SyncImportMessageChange_req SyncImportMessageChange; */
+/* IDL: [case(RopSynchronizationImportHierarchyChange)] [case(RopSynchronizationImportHierarchyChange)] SyncImportHierarchyChange_req SyncImportHierarchyChange; */
+/* IDL: [case(RopSynchronizationImportDeletes)] [case(RopSynchronizationImportDeletes)] SyncImportDeletes_req SyncImportDeletes; */
+/* IDL: [case(RopSynchronizationUploadStateStreamBegin)] [case(RopSynchronizationUploadStateStreamBegin)] SyncUploadStateStreamBegin_req SyncUploadStateStreamBegin; */
+/* IDL: [case(RopSynchronizationUploadStateStreamContinue)] [case(RopSynchronizationUploadStateStreamContinue)] SyncUploadStateStreamContinue_req SyncUploadStateStreamContinue; */
+/* IDL: [case(RopSynchronizationUploadStateStreamEnd)] [case(RopSynchronizationUploadStateStreamEnd)] SyncUploadStateStreamEnd_req SyncUploadStateStreamEnd; */
+/* IDL: [case(RopSynchronizationImportMessageMove)] [case(RopSynchronizationImportMessageMove)] SyncImportMessageMove_req SyncImportMessageMove; */
+/* IDL: [case(RopSetPropertiesNoReplicate)] [case(RopSetPropertiesNoReplicate)] SetPropertiesNoReplicate_req SetPropertiesNoReplicate; */
+/* IDL: [case(RopDeletePropertiesNoReplicate)] [case(RopDeletePropertiesNoReplicate)] DeletePropertiesNoReplicate_req DeletePropertiesNoReplicate; */
+/* IDL: [case(RopGetStoreState)] [case(RopGetStoreState)] GetStoreState_req GetStoreState; */
+/* IDL: [case(RopSynchronizationOpenCollector)] [case(RopSynchronizationOpenCollector)] SyncOpenCollector_req SyncOpenCollector; */
+/* IDL: [case(RopGetLocalReplicaIds)] [case(RopGetLocalReplicaIds)] GetLocalReplicaIds_req GetLocalReplicaIds; */
+/* IDL: [case(RopSynchronizationImportReadStateChanges)] [case(RopSynchronizationImportReadStateChanges)] SyncImportReadStateChanges_req SyncImportReadStateChanges; */
+/* IDL: [case(RopResetTable)] [case(RopResetTable)] ResetTable_req ResetTable; */
+/* IDL: [case(RopSynchronizationGetTransferState)] [case(RopSynchronizationGetTransferState)] SyncGetTransferState_req SyncGetTransferState; */
+/* IDL: [case(RopOpenPublicFolderByName)] [case(RopOpenPublicFolderByName)] OpenPublicFolderByName_req OpenPublicFolderByName; */
+/* IDL: [case(RopSetSyncNotificationGuid)] [case(RopSetSyncNotificationGuid)] SetSyncNotificationGuid_req SetSyncNotificationGuid; */
+/* IDL: [case(RopFreeBookmark)] [case(RopFreeBookmark)] FreeBookmark_req FreeBookmark; */
+/* IDL: [case(RopWriteAndCommitStream)] [case(RopWriteAndCommitStream)] WriteAndCommitStream_req WriteAndCommitStream; */
+/* IDL: [case(RopHardDeleteMessages)] [case(RopHardDeleteMessages)] HardDeleteMessages_req HardDeleteMessages; */
+/* IDL: [case(RopHardDeleteMessagesAndSubfolders)] [case(RopHardDeleteMessagesAndSubfolders)] HardDeleteMessagesAndSubfolders_req HardDeleteMessagesAndSubfolders; */
+/* IDL: [case(RopLogon)] [case(RopLogon)] Logon_req Logon; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RopRequest_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Release_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_Release,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OpenFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OpenMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenMessage_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OpenMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetHierarchyTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetHierarchyTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetHierarchyTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetContentsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetContentsTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetContentsTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CreateMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateMessage_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CreateMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetProps_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetPropsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPropsAll_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetPropsAll,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetPropList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPropList_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetPropList,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetProps_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_DeleteProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteProps_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_DeleteProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SaveChangesMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SaveChangesMessage_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SaveChangesMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetMessageReadFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetMessageReadFlag_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetMessageReadFlag,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ReloadCachedInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReloadCachedInformation_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ReloadCachedInformation,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetColumns_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetColumns,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SortTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SortTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SortTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_Restrict(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Restrict_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_Restrict,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_RemoveAllRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RemoveAllRecipients_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_RemoveAllRecipients,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ModifyRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyRecipients_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ModifyRecipients,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ReadRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadRecipients_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ReadRecipients,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_QueryRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryRows_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_QueryRows,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetStatus_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetStatus,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_QueryPosition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryPosition_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_QueryPosition,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SeekRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekRow_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SeekRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SeekRowBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekRowBookmark_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SeekRowBookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SeekRowApprox(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekRowApprox_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SeekRowApprox,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CreateBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateBookmark_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CreateBookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CreateFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CreateFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_DeleteFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_DeleteFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_DeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteMessages_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_DeleteMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetMessageStatus_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetMessageStatus,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetMessageStatus_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetMessageStatus,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetAttachmentTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetAttachmentTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetAttachmentTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OpenAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenAttach_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OpenAttach,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CreateAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateAttach_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CreateAttach,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_DeleteAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteAttach_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_DeleteAttach,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SaveChangesAttachment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SaveChangesAttachment_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SaveChangesAttachment,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetReceiveFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetReceiveFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetReceiveFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetReceiveFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_Advise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RegisterNotification_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_Advise,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OpenStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OpenStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ReadStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ReadStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_WriteStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_WriteStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_WriteStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SeekStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SeekStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetStreamSize_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetStreamSize,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetSearchCriteria_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetSearchCriteria,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetSearchCriteria_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetSearchCriteria,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SubmitMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SubmitMessage_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SubmitMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_MoveCopyMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MoveCopyMessages_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_MoveCopyMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_AbortSubmit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AbortSubmit_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_AbortSubmit,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_MoveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MoveFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_MoveFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CopyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CopyFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_QueryColumnsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryColumnsAll_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_QueryColumnsAll,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_Abort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Abort_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_Abort,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CopyTo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyTo_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CopyTo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CopyToStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyToStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CopyToStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CloneStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CloneStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CloneStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetPermissionsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPermissionsTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetPermissionsTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetRulesTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetRulesTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetRulesTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ModifyPermissions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyPermissions_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ModifyPermissions,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ModifyRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyRules_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ModifyRules,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetOwningServers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetOwningServers_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetOwningServers,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_LongTermIdFromId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongTermIdFromId_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_LongTermIdFromId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_IdFromLongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_IdFromLongTermId_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_IdFromLongTermId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_PublicFolderIsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PublicFolderIsGhosted_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_PublicFolderIsGhosted,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OpenEmbeddedMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenEmbeddedMessage_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OpenEmbeddedMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetSpooler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetSpooler_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetSpooler,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SpoolerLockMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SpoolerLockMessage_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SpoolerLockMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_AddressTypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AddressTypes_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_AddressTypes,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_TransportSend(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TransportSend_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_TransportSend,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_FastTransferSourceGetBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FastTransferSourceGetBuffer_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_FastTransferSourceGetBuffer,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_FindRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FindRow_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_FindRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_Progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Progress_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_Progress,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_TransportNewMail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TransportNewMail_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_TransportNewMail,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetValidAttachments(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetValidAttachments_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetValidAttachments,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetNamesFromIDs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetNamesFromIDs_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetNamesFromIDs,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetIDsFromNames(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetIDsFromNames_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetIDsFromNames,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_UpdateDeferredActionMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_UpdateDeferredActionMessages_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_UpdateDeferredActionMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_EmptyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_EmptyFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_EmptyFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ExpandRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ExpandRow_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ExpandRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CollapseRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CollapseRow_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CollapseRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_LockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LockRegionStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_LockRegionStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_UnlockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_UnlockRegionStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_UnlockRegionStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CommitStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CommitStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetStreamSize_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetStreamSize,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_QueryNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryNamedProperties_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_QueryNamedProperties,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetPerUserLongTermIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPerUserLongTermIds_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetPerUserLongTermIds,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetPerUserGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPerUserGuid_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetPerUserGuid,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ReadPerUserInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadPerUserInformation_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ReadPerUserInformation,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetReadFlags_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetReadFlags,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_CopyProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyProperties_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_CopyProperties,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetReceiveFolderTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetReceiveFolderTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetReceiveFolderTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetCollapseState_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetCollapseState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetCollapseState_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetCollapseState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetTransportFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetTransportFolder_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetTransportFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OptionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OptionsData_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OptionsData,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncConfigure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncConfigure_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncConfigure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncImportMessageChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportMessageChange_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncImportMessageChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncImportHierarchyChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportHierarchyChange_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncImportHierarchyChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncImportDeletes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportDeletes_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncImportDeletes,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncUploadStateStreamBegin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncUploadStateStreamBegin_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncUploadStateStreamBegin,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncUploadStateStreamContinue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncUploadStateStreamContinue_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncUploadStateStreamContinue,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncUploadStateStreamEnd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncUploadStateStreamEnd_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncUploadStateStreamEnd,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncImportMessageMove(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportMessageMove_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncImportMessageMove,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetPropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetPropertiesNoReplicate_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetPropertiesNoReplicate,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_DeletePropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeletePropertiesNoReplicate_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_DeletePropertiesNoReplicate,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetStoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetStoreState_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetStoreState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncOpenCollector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncOpenCollector_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncOpenCollector,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_GetLocalReplicaIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetLocalReplicaIds_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_GetLocalReplicaIds,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncImportReadStateChanges(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportReadStateChanges_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncImportReadStateChanges,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_ResetTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ResetTable_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_ResetTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SyncGetTransferState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncGetTransferState_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SyncGetTransferState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_OpenPublicFolderByName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenPublicFolderByName_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_OpenPublicFolderByName,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_SetSyncNotificationGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetSyncNotificationGuid_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_SetSyncNotificationGuid,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_FreeBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FreeBookmark_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_FreeBookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_WriteAndCommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_WriteAndCommitStream_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_WriteAndCommitStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_HardDeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HardDeleteMessages_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_HardDeleteMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_HardDeleteMessagesAndSubfolders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HardDeleteMessagesAndSubfolders_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_HardDeleteMessagesAndSubfolders,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopRequest_Logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Logon_req(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopRequest_Logon,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_RopRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_RopRequest, &item, "RopRequest");
+ }
+
+ switch(level) {
+ case RopRelease:
+ offset = mapi_dissect_element_RopRequest_Release(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenFolder:
+ offset = mapi_dissect_element_RopRequest_OpenFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenMessage:
+ offset = mapi_dissect_element_RopRequest_OpenMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetHierarchyTable:
+ offset = mapi_dissect_element_RopRequest_GetHierarchyTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetContentsTable:
+ offset = mapi_dissect_element_RopRequest_GetContentsTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateMessage:
+ offset = mapi_dissect_element_RopRequest_CreateMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertiesSpecific:
+ offset = mapi_dissect_element_RopRequest_GetProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertiesAll:
+ offset = mapi_dissect_element_RopRequest_GetPropsAll(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertiesList:
+ offset = mapi_dissect_element_RopRequest_GetPropList(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetProperties:
+ offset = mapi_dissect_element_RopRequest_SetProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteProperties:
+ offset = mapi_dissect_element_RopRequest_DeleteProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSaveChangesMessage:
+ offset = mapi_dissect_element_RopRequest_SaveChangesMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetMessageReadFlag:
+ offset = mapi_dissect_element_RopRequest_SetMessageReadFlag(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReloadCachedInformation:
+ offset = mapi_dissect_element_RopRequest_ReloadCachedInformation(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetColumns:
+ offset = mapi_dissect_element_RopRequest_SetColumns(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSortTable:
+ offset = mapi_dissect_element_RopRequest_SortTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopRestrict:
+ offset = mapi_dissect_element_RopRequest_Restrict(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopRemoveAllRecipients:
+ offset = mapi_dissect_element_RopRequest_RemoveAllRecipients(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopModifyRecipients:
+ offset = mapi_dissect_element_RopRequest_ModifyRecipients(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReadRecipients:
+ offset = mapi_dissect_element_RopRequest_ReadRecipients(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryRows:
+ offset = mapi_dissect_element_RopRequest_QueryRows(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetStatus:
+ offset = mapi_dissect_element_RopRequest_GetStatus(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryPosition:
+ offset = mapi_dissect_element_RopRequest_QueryPosition(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekRow:
+ offset = mapi_dissect_element_RopRequest_SeekRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekRowBookmark:
+ offset = mapi_dissect_element_RopRequest_SeekRowBookmark(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekRowFractional:
+ offset = mapi_dissect_element_RopRequest_SeekRowApprox(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateBookmark:
+ offset = mapi_dissect_element_RopRequest_CreateBookmark(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateFolder:
+ offset = mapi_dissect_element_RopRequest_CreateFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteFolder:
+ offset = mapi_dissect_element_RopRequest_DeleteFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteMessages:
+ offset = mapi_dissect_element_RopRequest_DeleteMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetMessageStatus:
+ offset = mapi_dissect_element_RopRequest_GetMessageStatus(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetMessageStatus:
+ offset = mapi_dissect_element_RopRequest_SetMessageStatus(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetAttachmentTable:
+ offset = mapi_dissect_element_RopRequest_GetAttachmentTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenAttachment:
+ offset = mapi_dissect_element_RopRequest_OpenAttach(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateAttachment:
+ offset = mapi_dissect_element_RopRequest_CreateAttach(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteAttachment:
+ offset = mapi_dissect_element_RopRequest_DeleteAttach(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSaveChangesAttachment:
+ offset = mapi_dissect_element_RopRequest_SaveChangesAttachment(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetReceiveFolder:
+ offset = mapi_dissect_element_RopRequest_SetReceiveFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetReceiveFolder:
+ offset = mapi_dissect_element_RopRequest_GetReceiveFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopRegisterNotification:
+ offset = mapi_dissect_element_RopRequest_Advise(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenStream:
+ offset = mapi_dissect_element_RopRequest_OpenStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReadStream:
+ offset = mapi_dissect_element_RopRequest_ReadStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopWriteStream:
+ offset = mapi_dissect_element_RopRequest_WriteStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekStream:
+ offset = mapi_dissect_element_RopRequest_SeekStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetStreamSize:
+ offset = mapi_dissect_element_RopRequest_SetStreamSize(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetSearchCriteria:
+ offset = mapi_dissect_element_RopRequest_SetSearchCriteria(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetSearchCriteria:
+ offset = mapi_dissect_element_RopRequest_GetSearchCriteria(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSubmitMessage:
+ offset = mapi_dissect_element_RopRequest_SubmitMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopMoveCopyMessages:
+ offset = mapi_dissect_element_RopRequest_MoveCopyMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopAbortSubmit:
+ offset = mapi_dissect_element_RopRequest_AbortSubmit(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopMoveFolder:
+ offset = mapi_dissect_element_RopRequest_MoveFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyFolder:
+ offset = mapi_dissect_element_RopRequest_CopyFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryColumnsAll:
+ offset = mapi_dissect_element_RopRequest_QueryColumnsAll(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopAbort:
+ offset = mapi_dissect_element_RopRequest_Abort(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyTo:
+ offset = mapi_dissect_element_RopRequest_CopyTo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyToStream:
+ offset = mapi_dissect_element_RopRequest_CopyToStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCloneStream:
+ offset = mapi_dissect_element_RopRequest_CloneStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPermissionsTable:
+ offset = mapi_dissect_element_RopRequest_GetPermissionsTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetRulesTable:
+ offset = mapi_dissect_element_RopRequest_GetRulesTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopModifyPermissions:
+ offset = mapi_dissect_element_RopRequest_ModifyPermissions(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopModifyRules:
+ offset = mapi_dissect_element_RopRequest_ModifyRules(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetOwningServers:
+ offset = mapi_dissect_element_RopRequest_GetOwningServers(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopLongTermIdFromId:
+ offset = mapi_dissect_element_RopRequest_LongTermIdFromId(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopIdFromLongTermId:
+ offset = mapi_dissect_element_RopRequest_IdFromLongTermId(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopPublicFolderIsGhosted:
+ offset = mapi_dissect_element_RopRequest_PublicFolderIsGhosted(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenEmbeddedMessage:
+ offset = mapi_dissect_element_RopRequest_OpenEmbeddedMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetSpooler:
+ offset = mapi_dissect_element_RopRequest_SetSpooler(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSpoolerLockMessage:
+ offset = mapi_dissect_element_RopRequest_SpoolerLockMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetAddressTypes:
+ offset = mapi_dissect_element_RopRequest_AddressTypes(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopTransportSend:
+ offset = mapi_dissect_element_RopRequest_TransportSend(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopFastTransferSourceGetBuffer:
+ offset = mapi_dissect_element_RopRequest_FastTransferSourceGetBuffer(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopFindRow:
+ offset = mapi_dissect_element_RopRequest_FindRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopProgress:
+ offset = mapi_dissect_element_RopRequest_Progress(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopTransportNewMail:
+ offset = mapi_dissect_element_RopRequest_TransportNewMail(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetValidAttachments:
+ offset = mapi_dissect_element_RopRequest_GetValidAttachments(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetNamesFromPropertyIds:
+ offset = mapi_dissect_element_RopRequest_GetNamesFromIDs(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertyIdsFromNames:
+ offset = mapi_dissect_element_RopRequest_GetIDsFromNames(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopUpdateDeferredActionMessages:
+ offset = mapi_dissect_element_RopRequest_UpdateDeferredActionMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopEmptyFolder:
+ offset = mapi_dissect_element_RopRequest_EmptyFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopExpandRow:
+ offset = mapi_dissect_element_RopRequest_ExpandRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCollapseRow:
+ offset = mapi_dissect_element_RopRequest_CollapseRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopLockRegionStream:
+ offset = mapi_dissect_element_RopRequest_LockRegionStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopUnlockRegionStream:
+ offset = mapi_dissect_element_RopRequest_UnlockRegionStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCommitStream:
+ offset = mapi_dissect_element_RopRequest_CommitStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetStreamSize:
+ offset = mapi_dissect_element_RopRequest_GetStreamSize(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryNamedProperties:
+ offset = mapi_dissect_element_RopRequest_QueryNamedProperties(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPerUserLongTermIds:
+ offset = mapi_dissect_element_RopRequest_GetPerUserLongTermIds(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPerUserGuid:
+ offset = mapi_dissect_element_RopRequest_GetPerUserGuid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReadPerUserInformation:
+ offset = mapi_dissect_element_RopRequest_ReadPerUserInformation(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetReadFlags:
+ offset = mapi_dissect_element_RopRequest_SetReadFlags(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyProperties:
+ offset = mapi_dissect_element_RopRequest_CopyProperties(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetReceiveFolderTable:
+ offset = mapi_dissect_element_RopRequest_GetReceiveFolderTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetCollapseState:
+ offset = mapi_dissect_element_RopRequest_GetCollapseState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetCollapseState:
+ offset = mapi_dissect_element_RopRequest_SetCollapseState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetTransportFolder:
+ offset = mapi_dissect_element_RopRequest_GetTransportFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOptionsData:
+ offset = mapi_dissect_element_RopRequest_OptionsData(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationConfigure:
+ offset = mapi_dissect_element_RopRequest_SyncConfigure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportMessageChange:
+ offset = mapi_dissect_element_RopRequest_SyncImportMessageChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportHierarchyChange:
+ offset = mapi_dissect_element_RopRequest_SyncImportHierarchyChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportDeletes:
+ offset = mapi_dissect_element_RopRequest_SyncImportDeletes(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationUploadStateStreamBegin:
+ offset = mapi_dissect_element_RopRequest_SyncUploadStateStreamBegin(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationUploadStateStreamContinue:
+ offset = mapi_dissect_element_RopRequest_SyncUploadStateStreamContinue(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationUploadStateStreamEnd:
+ offset = mapi_dissect_element_RopRequest_SyncUploadStateStreamEnd(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportMessageMove:
+ offset = mapi_dissect_element_RopRequest_SyncImportMessageMove(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetPropertiesNoReplicate:
+ offset = mapi_dissect_element_RopRequest_SetPropertiesNoReplicate(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeletePropertiesNoReplicate:
+ offset = mapi_dissect_element_RopRequest_DeletePropertiesNoReplicate(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetStoreState:
+ offset = mapi_dissect_element_RopRequest_GetStoreState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationOpenCollector:
+ offset = mapi_dissect_element_RopRequest_SyncOpenCollector(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetLocalReplicaIds:
+ offset = mapi_dissect_element_RopRequest_GetLocalReplicaIds(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportReadStateChanges:
+ offset = mapi_dissect_element_RopRequest_SyncImportReadStateChanges(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopResetTable:
+ offset = mapi_dissect_element_RopRequest_ResetTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationGetTransferState:
+ offset = mapi_dissect_element_RopRequest_SyncGetTransferState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenPublicFolderByName:
+ offset = mapi_dissect_element_RopRequest_OpenPublicFolderByName(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetSyncNotificationGuid:
+ offset = mapi_dissect_element_RopRequest_SetSyncNotificationGuid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopFreeBookmark:
+ offset = mapi_dissect_element_RopRequest_FreeBookmark(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopWriteAndCommitStream:
+ offset = mapi_dissect_element_RopRequest_WriteAndCommitStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopHardDeleteMessages:
+ offset = mapi_dissect_element_RopRequest_HardDeleteMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopHardDeleteMessagesAndSubfolders:
+ offset = mapi_dissect_element_RopRequest_HardDeleteMessagesAndSubfolders(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopLogon:
+ offset = mapi_dissect_element_RopRequest_Logon(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [nodiscriminant(1)] [public(1)] union { */
+/* IDL: [case(RopRelease)] [case(RopRelease)] Release_repl Release; */
+/* IDL: [case(RopOpenFolder)] [case(RopOpenFolder)] OpenFolder_repl OpenFolder; */
+/* IDL: [case(RopOpenMessage)] [case(RopOpenMessage)] OpenMessage_repl OpenMessage; */
+/* IDL: [case(RopGetHierarchyTable)] [case(RopGetHierarchyTable)] GetHierarchyTable_repl GetHierarchyTable; */
+/* IDL: [case(RopGetContentsTable)] [case(RopGetContentsTable)] GetContentsTable_repl GetContentsTable; */
+/* IDL: [case(RopCreateMessage)] [case(RopCreateMessage)] CreateMessage_repl CreateMessage; */
+/* IDL: [case(RopGetPropertiesSpecific)] [case(RopGetPropertiesSpecific)] GetProps_repl GetProps; */
+/* IDL: [case(RopGetPropertiesAll)] [case(RopGetPropertiesAll)] GetPropsAll_repl GetPropsAll; */
+/* IDL: [case(RopGetPropertiesList)] [case(RopGetPropertiesList)] GetPropList_repl GetPropList; */
+/* IDL: [case(RopSetProperties)] [case(RopSetProperties)] SetProps_repl SetProps; */
+/* IDL: [case(RopDeleteProperties)] [case(RopDeleteProperties)] DeleteProps_repl DeleteProps; */
+/* IDL: [case(RopSaveChangesMessage)] [case(RopSaveChangesMessage)] SaveChangesMessage_repl SaveChangesMessage; */
+/* IDL: [case(RopRemoveAllRecipients)] [case(RopRemoveAllRecipients)] RemoveAllRecipients_repl RemoveAllRecipients; */
+/* IDL: [case(RopModifyRecipients)] [case(RopModifyRecipients)] ModifyRecipients_repl ModifyRecipients; */
+/* IDL: [case(RopReadRecipients)] [case(RopReadRecipients)] ReadRecipients_repl ReadRecipients; */
+/* IDL: [case(RopSetMessageReadFlag)] [case(RopSetMessageReadFlag)] SetMessageReadFlag_repl SetMessageReadFlag; */
+/* IDL: [case(RopReloadCachedInformation)] [case(RopReloadCachedInformation)] ReloadCachedInformation_repl ReloadCachedInformation; */
+/* IDL: [case(RopSetColumns)] [case(RopSetColumns)] SetColumns_repl SetColumns; */
+/* IDL: [case(RopSortTable)] [case(RopSortTable)] SortTable_repl SortTable; */
+/* IDL: [case(RopRestrict)] [case(RopRestrict)] Restrict_repl Restrict; */
+/* IDL: [case(RopQueryRows)] [case(RopQueryRows)] QueryRows_repl QueryRows; */
+/* IDL: [case(RopGetStatus)] [case(RopGetStatus)] GetStatus_repl GetStatus; */
+/* IDL: [case(RopQueryPosition)] [case(RopQueryPosition)] QueryPosition_repl QueryPosition; */
+/* IDL: [case(RopSeekRow)] [case(RopSeekRow)] SeekRow_repl SeekRow; */
+/* IDL: [case(RopSeekRowBookmark)] [case(RopSeekRowBookmark)] SeekRowBookmark_repl SeekRowBookmark; */
+/* IDL: [case(RopSeekRowFractional)] [case(RopSeekRowFractional)] SeekRowApprox_repl SeekRowApprox; */
+/* IDL: [case(RopCreateBookmark)] [case(RopCreateBookmark)] CreateBookmark_repl CreateBookmark; */
+/* IDL: [case(RopCreateFolder)] [case(RopCreateFolder)] CreateFolder_repl CreateFolder; */
+/* IDL: [case(RopDeleteFolder)] [case(RopDeleteFolder)] DeleteFolder_repl DeleteFolder; */
+/* IDL: [case(RopDeleteMessages)] [case(RopDeleteMessages)] DeleteMessages_repl DeleteMessages; */
+/* IDL: [case(RopSetMessageStatus)] [case(RopSetMessageStatus)] SetMessageStatus_repl SetMessageStatus; */
+/* IDL: [case(RopGetAttachmentTable)] [case(RopGetAttachmentTable)] GetAttachmentTable_repl GetAttachmentTable; */
+/* IDL: [case(RopOpenAttachment)] [case(RopOpenAttachment)] OpenAttach_repl OpenAttach; */
+/* IDL: [case(RopCreateAttachment)] [case(RopCreateAttachment)] CreateAttach_repl CreateAttach; */
+/* IDL: [case(RopDeleteAttachment)] [case(RopDeleteAttachment)] DeleteAttach_repl DeleteAttach; */
+/* IDL: [case(RopSaveChangesAttachment)] [case(RopSaveChangesAttachment)] SaveChangesAttachment_repl SaveChangesAttachment; */
+/* IDL: [case(RopSetReceiveFolder)] [case(RopSetReceiveFolder)] SetReceiveFolder_repl SetReceiveFolder; */
+/* IDL: [case(RopGetReceiveFolder)] [case(RopGetReceiveFolder)] GetReceiveFolder_repl GetReceiveFolder; */
+/* IDL: [case(RopRegisterNotification)] [case(RopRegisterNotification)] RegisterNotification_repl Advise; */
+/* IDL: [case(RopNotify)] [case(RopNotify)] Notify_repl Notify; */
+/* IDL: [case(RopOpenStream)] [case(RopOpenStream)] OpenStream_repl OpenStream; */
+/* IDL: [case(RopReadStream)] [case(RopReadStream)] ReadStream_repl ReadStream; */
+/* IDL: [case(RopWriteStream)] [case(RopWriteStream)] WriteStream_repl WriteStream; */
+/* IDL: [case(RopSeekStream)] [case(RopSeekStream)] SeekStream_repl SeekStream; */
+/* IDL: [case(RopSetStreamSize)] [case(RopSetStreamSize)] SetStreamSize_repl SetStreamSize; */
+/* IDL: [case(RopSetSearchCriteria)] [case(RopSetSearchCriteria)] SetSearchCriteria_repl SetSearchCriteria; */
+/* IDL: [case(RopGetSearchCriteria)] [case(RopGetSearchCriteria)] GetSearchCriteria_repl GetSearchCriteria; */
+/* IDL: [case(RopSubmitMessage)] [case(RopSubmitMessage)] SubmitMessage_repl SubmitMessage; */
+/* IDL: [case(RopMoveCopyMessages)] [case(RopMoveCopyMessages)] MoveCopyMessages_repl MoveCopyMessages; */
+/* IDL: [case(RopAbortSubmit)] [case(RopAbortSubmit)] AbortSubmit_repl AbortSubmit; */
+/* IDL: [case(RopMoveFolder)] [case(RopMoveFolder)] MoveFolder_repl MoveFolder; */
+/* IDL: [case(RopCopyFolder)] [case(RopCopyFolder)] CopyFolder_repl CopyFolder; */
+/* IDL: [case(RopQueryColumnsAll)] [case(RopQueryColumnsAll)] QueryColumnsAll_repl QueryColumnsAll; */
+/* IDL: [case(RopAbort)] [case(RopAbort)] Abort_repl Abort; */
+/* IDL: [case(RopCopyTo)] [case(RopCopyTo)] CopyTo_repl CopyTo; */
+/* IDL: [case(RopCopyToStream)] [case(RopCopyToStream)] CopyToStream_repl CopyToStream; */
+/* IDL: [case(RopCloneStream)] [case(RopCloneStream)] CloneStream_repl CloneStream; */
+/* IDL: [case(RopGetPermissionsTable)] [case(RopGetPermissionsTable)] GetPermissionsTable_repl GetPermissionsTable; */
+/* IDL: [case(RopGetRulesTable)] [case(RopGetRulesTable)] GetRulesTable_repl GetRulesTable; */
+/* IDL: [case(RopModifyPermissions)] [case(RopModifyPermissions)] ModifyPermissions_repl ModifyPermissions; */
+/* IDL: [case(RopModifyRules)] [case(RopModifyRules)] ModifyRules_repl ModifyRules; */
+/* IDL: [case(RopGetOwningServers)] [case(RopGetOwningServers)] GetOwningServers_repl GetOwningServers; */
+/* IDL: [case(RopLongTermIdFromId)] [case(RopLongTermIdFromId)] LongTermIdFromId_repl LongTermIdFromId; */
+/* IDL: [case(RopIdFromLongTermId)] [case(RopIdFromLongTermId)] IdFromLongTermId_repl IdFromLongTermId; */
+/* IDL: [case(RopPublicFolderIsGhosted)] [case(RopPublicFolderIsGhosted)] PublicFolderIsGhosted_repl PublicFolderIsGhosted; */
+/* IDL: [case(RopOpenEmbeddedMessage)] [case(RopOpenEmbeddedMessage)] OpenEmbeddedMessage_repl OpenEmbeddedMessage; */
+/* IDL: [case(RopSetSpooler)] [case(RopSetSpooler)] SetSpooler_repl SetSpooler; */
+/* IDL: [case(RopSpoolerLockMessage)] [case(RopSpoolerLockMessage)] SpoolerLockMessage_repl SpoolerLockMessage; */
+/* IDL: [case(RopGetAddressTypes)] [case(RopGetAddressTypes)] AddressTypes_repl AddressTypes; */
+/* IDL: [case(RopTransportSend)] [case(RopTransportSend)] TransportSend_repl TransportSend; */
+/* IDL: [case(RopFastTransferSourceGetBuffer)] [case(RopFastTransferSourceGetBuffer)] FastTransferSourceGetBuffer_repl FastTransferSourceGetBuffer; */
+/* IDL: [case(RopFindRow)] [case(RopFindRow)] FindRow_repl FindRow; */
+/* IDL: [case(RopProgress)] [case(RopProgress)] Progress_repl Progress; */
+/* IDL: [case(RopTransportNewMail)] [case(RopTransportNewMail)] TransportNewMail_repl TransportNewMail; */
+/* IDL: [case(RopGetValidAttachments)] [case(RopGetValidAttachments)] GetValidAttachments_repl GetValidAttachments; */
+/* IDL: [case(RopGetNamesFromPropertyIds)] [case(RopGetNamesFromPropertyIds)] GetNamesFromIDs_repl GetNamesFromIDs; */
+/* IDL: [case(RopGetPropertyIdsFromNames)] [case(RopGetPropertyIdsFromNames)] GetIDsFromNames_repl GetIDsFromNames; */
+/* IDL: [case(RopUpdateDeferredActionMessages)] [case(RopUpdateDeferredActionMessages)] UpdateDeferredActionMessages_repl UpdateDeferredActionMessages; */
+/* IDL: [case(RopEmptyFolder)] [case(RopEmptyFolder)] EmptyFolder_repl EmptyFolder; */
+/* IDL: [case(RopExpandRow)] [case(RopExpandRow)] ExpandRow_repl ExpandRow; */
+/* IDL: [case(RopCollapseRow)] [case(RopCollapseRow)] CollapseRow_repl CollapseRow; */
+/* IDL: [case(RopLockRegionStream)] [case(RopLockRegionStream)] LockRegionStream_repl LockRegionStream; */
+/* IDL: [case(RopUnlockRegionStream)] [case(RopUnlockRegionStream)] UnlockRegionStream_repl UnlockRegionStream; */
+/* IDL: [case(RopCommitStream)] [case(RopCommitStream)] CommitStream_repl CommitStream; */
+/* IDL: [case(RopGetStreamSize)] [case(RopGetStreamSize)] GetStreamSize_repl GetStreamSize; */
+/* IDL: [case(RopQueryNamedProperties)] [case(RopQueryNamedProperties)] QueryNamedProperties_repl QueryNamedProperties; */
+/* IDL: [case(RopGetPerUserLongTermIds)] [case(RopGetPerUserLongTermIds)] GetPerUserLongTermIds_repl GetPerUserLongTermIds; */
+/* IDL: [case(RopGetPerUserGuid)] [case(RopGetPerUserGuid)] GetPerUserGuid_repl GetPerUserGuid; */
+/* IDL: [case(RopReadPerUserInformation)] [case(RopReadPerUserInformation)] ReadPerUserInformation_repl ReadPerUserInformation; */
+/* IDL: [case(RopSetReadFlags)] [case(RopSetReadFlags)] SetReadFlags_repl SetReadFlags; */
+/* IDL: [case(RopCopyProperties)] [case(RopCopyProperties)] CopyProperties_repl CopyProperties; */
+/* IDL: [case(RopGetReceiveFolderTable)] [case(RopGetReceiveFolderTable)] GetReceiveFolderTable_repl GetReceiveFolderTable; */
+/* IDL: [case(RopPending)] [case(RopPending)] Pending_repl Pending; */
+/* IDL: [case(RopGetCollapseState)] [case(RopGetCollapseState)] GetCollapseState_repl GetCollapseState; */
+/* IDL: [case(RopSetCollapseState)] [case(RopSetCollapseState)] SetCollapseState_repl SetCollapseState; */
+/* IDL: [case(RopGetTransportFolder)] [case(RopGetTransportFolder)] GetTransportFolder_repl GetTransportFolder; */
+/* IDL: [case(RopOptionsData)] [case(RopOptionsData)] OptionsData_repl OptionsData; */
+/* IDL: [case(RopSynchronizationConfigure)] [case(RopSynchronizationConfigure)] SyncConfigure_repl SyncConfigure; */
+/* IDL: [case(RopSynchronizationImportMessageChange)] [case(RopSynchronizationImportMessageChange)] SyncImportMessageChange_repl SyncImportMessageChange; */
+/* IDL: [case(RopSynchronizationImportHierarchyChange)] [case(RopSynchronizationImportHierarchyChange)] SyncImportHierarchyChange_repl SyncImportHierarchyChange; */
+/* IDL: [case(RopSynchronizationImportDeletes)] [case(RopSynchronizationImportDeletes)] SyncImportDeletes_repl SyncImportDeletes; */
+/* IDL: [case(RopSynchronizationUploadStateStreamBegin)] [case(RopSynchronizationUploadStateStreamBegin)] SyncUploadStateStreamBegin_repl SyncUploadStateStreamBegin; */
+/* IDL: [case(RopSynchronizationUploadStateStreamContinue)] [case(RopSynchronizationUploadStateStreamContinue)] SyncUploadStateStreamContinue_repl SyncUploadStateStreamContinue; */
+/* IDL: [case(RopSynchronizationUploadStateStreamEnd)] [case(RopSynchronizationUploadStateStreamEnd)] SyncUploadStateStreamEnd_repl SyncUploadStateStreamEnd; */
+/* IDL: [case(RopSynchronizationImportMessageMove)] [case(RopSynchronizationImportMessageMove)] SyncImportMessageMove_repl SyncImportMessageMove; */
+/* IDL: [case(RopSetPropertiesNoReplicate)] [case(RopSetPropertiesNoReplicate)] SetPropertiesNoReplicate_repl SetPropertiesNoReplicate; */
+/* IDL: [case(RopDeletePropertiesNoReplicate)] [case(RopDeletePropertiesNoReplicate)] DeletePropertiesNoReplicate_repl DeletePropertiesNoReplicate; */
+/* IDL: [case(RopGetStoreState)] [case(RopGetStoreState)] GetStoreState_repl GetStoreState; */
+/* IDL: [case(RopSynchronizationOpenCollector)] [case(RopSynchronizationOpenCollector)] SyncOpenCollector_repl SyncOpenCollector; */
+/* IDL: [case(RopGetLocalReplicaIds)] [case(RopGetLocalReplicaIds)] GetLocalReplicaIds_repl GetLocalReplicaIds; */
+/* IDL: [case(RopSynchronizationImportReadStateChanges)] [case(RopSynchronizationImportReadStateChanges)] SyncImportReadStateChanges_repl SyncImportReadStateChanges; */
+/* IDL: [case(RopResetTable)] [case(RopResetTable)] ResetTable_repl ResetTable; */
+/* IDL: [case(RopSynchronizationGetTransferState)] [case(RopSynchronizationGetTransferState)] SyncGetTransferState_repl SyncGetTransferState; */
+/* IDL: [case(RopOpenPublicFolderByName)] [case(RopOpenPublicFolderByName)] OpenPublicFolderByName_repl OpenPublicFolderByName; */
+/* IDL: [case(RopSetSyncNotificationGuid)] [case(RopSetSyncNotificationGuid)] SetSyncNotificationGuid_repl SetSyncNotificationGuid; */
+/* IDL: [case(RopFreeBookmark)] [case(RopFreeBookmark)] FreeBookmark_repl FreeBookmark; */
+/* IDL: [case(RopWriteAndCommitStream)] [case(RopWriteAndCommitStream)] WriteAndCommitStream_repl WriteAndCommitStream; */
+/* IDL: [case(RopHardDeleteMessages)] [case(RopHardDeleteMessages)] HardDeleteMessages_repl HardDeleteMessages; */
+/* IDL: [case(RopHardDeleteMessagesAndSubfolders)] [case(RopHardDeleteMessagesAndSubfolders)] HardDeleteMessagesAndSubfolders_repl HardDeleteMessagesAndSubfolders; */
+/* IDL: [case(RopLogon)] [case(RopLogon)] Logon_repl Logon; */
+/* IDL: [case(RopBufferTooSmall)] [case(RopBufferTooSmall)] RopBufferTooSmall_repl RopBufferTooSmall; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RopReply_Release(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Release_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Release,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OpenFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OpenFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OpenMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenMessage_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OpenMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetHierarchyTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetHierarchyTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetHierarchyTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetContentsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetContentsTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetContentsTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CreateMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateMessage_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CreateMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetProps_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetPropsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPropsAll_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetPropsAll,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetPropList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPropList_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetPropList,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetProps_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_DeleteProps(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteProps_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_DeleteProps,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SaveChangesMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SaveChangesMessage_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SaveChangesMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_RemoveAllRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RemoveAllRecipients_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_RemoveAllRecipients,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ModifyRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyRecipients_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ModifyRecipients,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ReadRecipients(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadRecipients_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ReadRecipients,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetMessageReadFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetMessageReadFlag_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetMessageReadFlag,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ReloadCachedInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReloadCachedInformation_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ReloadCachedInformation,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetColumns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetColumns_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetColumns,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SortTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SortTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SortTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Restrict(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Restrict_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Restrict,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_QueryRows(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryRows_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_QueryRows,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetStatus_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetStatus,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_QueryPosition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryPosition_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_QueryPosition,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SeekRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekRow_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SeekRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SeekRowBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekRowBookmark_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SeekRowBookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SeekRowApprox(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekRowApprox_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SeekRowApprox,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CreateBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateBookmark_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CreateBookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CreateFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CreateFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_DeleteFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_DeleteFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_DeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteMessages_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_DeleteMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetMessageStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetMessageStatus_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetMessageStatus,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetAttachmentTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetAttachmentTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetAttachmentTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OpenAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenAttach_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OpenAttach,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CreateAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CreateAttach_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CreateAttach,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_DeleteAttach(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeleteAttach_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_DeleteAttach,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SaveChangesAttachment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SaveChangesAttachment_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SaveChangesAttachment,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetReceiveFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetReceiveFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetReceiveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetReceiveFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetReceiveFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Advise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RegisterNotification_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Advise,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Notify(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Notify_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Notify,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OpenStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OpenStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ReadStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ReadStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_WriteStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_WriteStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_WriteStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SeekStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SeekStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SeekStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetStreamSize_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetStreamSize,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetSearchCriteria_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetSearchCriteria,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetSearchCriteria(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetSearchCriteria_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetSearchCriteria,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SubmitMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SubmitMessage_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SubmitMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_MoveCopyMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MoveCopyMessages_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_MoveCopyMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_AbortSubmit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AbortSubmit_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_AbortSubmit,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_MoveFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_MoveFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_MoveFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CopyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CopyFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_QueryColumnsAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryColumnsAll_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_QueryColumnsAll,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Abort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Abort_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Abort,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CopyTo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyTo_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CopyTo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CopyToStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyToStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CopyToStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CloneStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CloneStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CloneStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetPermissionsTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPermissionsTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetPermissionsTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetRulesTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetRulesTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetRulesTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ModifyPermissions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyPermissions_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ModifyPermissions,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ModifyRules(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ModifyRules_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ModifyRules,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetOwningServers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetOwningServers_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetOwningServers,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_LongTermIdFromId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LongTermIdFromId_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_LongTermIdFromId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_IdFromLongTermId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_IdFromLongTermId_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_IdFromLongTermId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_PublicFolderIsGhosted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_PublicFolderIsGhosted_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_PublicFolderIsGhosted,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OpenEmbeddedMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenEmbeddedMessage_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OpenEmbeddedMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetSpooler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetSpooler_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetSpooler,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SpoolerLockMessage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SpoolerLockMessage_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SpoolerLockMessage,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_AddressTypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AddressTypes_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_AddressTypes,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_TransportSend(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TransportSend_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_TransportSend,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_FastTransferSourceGetBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FastTransferSourceGetBuffer_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_FastTransferSourceGetBuffer,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_FindRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FindRow_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_FindRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Progress_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Progress,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_TransportNewMail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_TransportNewMail_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_TransportNewMail,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetValidAttachments(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetValidAttachments_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetValidAttachments,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetNamesFromIDs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetNamesFromIDs_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetNamesFromIDs,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetIDsFromNames(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetIDsFromNames_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetIDsFromNames,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_UpdateDeferredActionMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_UpdateDeferredActionMessages_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_UpdateDeferredActionMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_EmptyFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_EmptyFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_EmptyFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ExpandRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ExpandRow_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ExpandRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CollapseRow(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CollapseRow_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CollapseRow,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_LockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_LockRegionStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_LockRegionStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_UnlockRegionStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_UnlockRegionStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_UnlockRegionStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CommitStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CommitStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetStreamSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetStreamSize_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetStreamSize,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_QueryNamedProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_QueryNamedProperties_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_QueryNamedProperties,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetPerUserLongTermIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPerUserLongTermIds_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetPerUserLongTermIds,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetPerUserGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetPerUserGuid_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetPerUserGuid,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ReadPerUserInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ReadPerUserInformation_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ReadPerUserInformation,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetReadFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetReadFlags_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetReadFlags,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_CopyProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_CopyProperties_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_CopyProperties,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetReceiveFolderTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetReceiveFolderTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetReceiveFolderTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Pending(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Pending_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Pending,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetCollapseState_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetCollapseState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetCollapseState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetCollapseState_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetCollapseState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetTransportFolder(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetTransportFolder_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetTransportFolder,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OptionsData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OptionsData_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OptionsData,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncConfigure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncConfigure_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncConfigure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncImportMessageChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportMessageChange_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncImportMessageChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncImportHierarchyChange(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportHierarchyChange_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncImportHierarchyChange,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncImportDeletes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportDeletes_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncImportDeletes,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncUploadStateStreamBegin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncUploadStateStreamBegin_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncUploadStateStreamBegin,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncUploadStateStreamContinue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncUploadStateStreamContinue_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncUploadStateStreamContinue,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncUploadStateStreamEnd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncUploadStateStreamEnd_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncUploadStateStreamEnd,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncImportMessageMove(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportMessageMove_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncImportMessageMove,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetPropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetPropertiesNoReplicate_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetPropertiesNoReplicate,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_DeletePropertiesNoReplicate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_DeletePropertiesNoReplicate_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_DeletePropertiesNoReplicate,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetStoreState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetStoreState_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetStoreState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncOpenCollector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncOpenCollector_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncOpenCollector,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_GetLocalReplicaIds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_GetLocalReplicaIds_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_GetLocalReplicaIds,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncImportReadStateChanges(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncImportReadStateChanges_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncImportReadStateChanges,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_ResetTable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_ResetTable_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_ResetTable,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SyncGetTransferState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SyncGetTransferState_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SyncGetTransferState,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_OpenPublicFolderByName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_OpenPublicFolderByName_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_OpenPublicFolderByName,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_SetSyncNotificationGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_SetSyncNotificationGuid_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_SetSyncNotificationGuid,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_FreeBookmark(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_FreeBookmark_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_FreeBookmark,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_WriteAndCommitStream(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_WriteAndCommitStream_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_WriteAndCommitStream,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_HardDeleteMessages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HardDeleteMessages_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_HardDeleteMessages,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_HardDeleteMessagesAndSubfolders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_HardDeleteMessagesAndSubfolders_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_HardDeleteMessagesAndSubfolders,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_Logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_Logon_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_Logon,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopReply_RopBufferTooSmall(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RopBufferTooSmall_repl(tvb,offset,pinfo,tree,di,drep,hf_mapi_RopReply_RopBufferTooSmall,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_RopReply(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_RopReply, &item, "RopReply");
+ }
+
+ switch(level) {
+ case RopRelease:
+ offset = mapi_dissect_element_RopReply_Release(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenFolder:
+ offset = mapi_dissect_element_RopReply_OpenFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenMessage:
+ offset = mapi_dissect_element_RopReply_OpenMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetHierarchyTable:
+ offset = mapi_dissect_element_RopReply_GetHierarchyTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetContentsTable:
+ offset = mapi_dissect_element_RopReply_GetContentsTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateMessage:
+ offset = mapi_dissect_element_RopReply_CreateMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertiesSpecific:
+ offset = mapi_dissect_element_RopReply_GetProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertiesAll:
+ offset = mapi_dissect_element_RopReply_GetPropsAll(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertiesList:
+ offset = mapi_dissect_element_RopReply_GetPropList(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetProperties:
+ offset = mapi_dissect_element_RopReply_SetProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteProperties:
+ offset = mapi_dissect_element_RopReply_DeleteProps(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSaveChangesMessage:
+ offset = mapi_dissect_element_RopReply_SaveChangesMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopRemoveAllRecipients:
+ offset = mapi_dissect_element_RopReply_RemoveAllRecipients(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopModifyRecipients:
+ offset = mapi_dissect_element_RopReply_ModifyRecipients(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReadRecipients:
+ offset = mapi_dissect_element_RopReply_ReadRecipients(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetMessageReadFlag:
+ offset = mapi_dissect_element_RopReply_SetMessageReadFlag(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReloadCachedInformation:
+ offset = mapi_dissect_element_RopReply_ReloadCachedInformation(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetColumns:
+ offset = mapi_dissect_element_RopReply_SetColumns(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSortTable:
+ offset = mapi_dissect_element_RopReply_SortTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopRestrict:
+ offset = mapi_dissect_element_RopReply_Restrict(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryRows:
+ offset = mapi_dissect_element_RopReply_QueryRows(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetStatus:
+ offset = mapi_dissect_element_RopReply_GetStatus(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryPosition:
+ offset = mapi_dissect_element_RopReply_QueryPosition(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekRow:
+ offset = mapi_dissect_element_RopReply_SeekRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekRowBookmark:
+ offset = mapi_dissect_element_RopReply_SeekRowBookmark(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekRowFractional:
+ offset = mapi_dissect_element_RopReply_SeekRowApprox(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateBookmark:
+ offset = mapi_dissect_element_RopReply_CreateBookmark(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateFolder:
+ offset = mapi_dissect_element_RopReply_CreateFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteFolder:
+ offset = mapi_dissect_element_RopReply_DeleteFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteMessages:
+ offset = mapi_dissect_element_RopReply_DeleteMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetMessageStatus:
+ offset = mapi_dissect_element_RopReply_SetMessageStatus(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetAttachmentTable:
+ offset = mapi_dissect_element_RopReply_GetAttachmentTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenAttachment:
+ offset = mapi_dissect_element_RopReply_OpenAttach(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCreateAttachment:
+ offset = mapi_dissect_element_RopReply_CreateAttach(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeleteAttachment:
+ offset = mapi_dissect_element_RopReply_DeleteAttach(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSaveChangesAttachment:
+ offset = mapi_dissect_element_RopReply_SaveChangesAttachment(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetReceiveFolder:
+ offset = mapi_dissect_element_RopReply_SetReceiveFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetReceiveFolder:
+ offset = mapi_dissect_element_RopReply_GetReceiveFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopRegisterNotification:
+ offset = mapi_dissect_element_RopReply_Advise(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopNotify:
+ offset = mapi_dissect_element_RopReply_Notify(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenStream:
+ offset = mapi_dissect_element_RopReply_OpenStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReadStream:
+ offset = mapi_dissect_element_RopReply_ReadStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopWriteStream:
+ offset = mapi_dissect_element_RopReply_WriteStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSeekStream:
+ offset = mapi_dissect_element_RopReply_SeekStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetStreamSize:
+ offset = mapi_dissect_element_RopReply_SetStreamSize(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetSearchCriteria:
+ offset = mapi_dissect_element_RopReply_SetSearchCriteria(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetSearchCriteria:
+ offset = mapi_dissect_element_RopReply_GetSearchCriteria(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSubmitMessage:
+ offset = mapi_dissect_element_RopReply_SubmitMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopMoveCopyMessages:
+ offset = mapi_dissect_element_RopReply_MoveCopyMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopAbortSubmit:
+ offset = mapi_dissect_element_RopReply_AbortSubmit(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopMoveFolder:
+ offset = mapi_dissect_element_RopReply_MoveFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyFolder:
+ offset = mapi_dissect_element_RopReply_CopyFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryColumnsAll:
+ offset = mapi_dissect_element_RopReply_QueryColumnsAll(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopAbort:
+ offset = mapi_dissect_element_RopReply_Abort(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyTo:
+ offset = mapi_dissect_element_RopReply_CopyTo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyToStream:
+ offset = mapi_dissect_element_RopReply_CopyToStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCloneStream:
+ offset = mapi_dissect_element_RopReply_CloneStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPermissionsTable:
+ offset = mapi_dissect_element_RopReply_GetPermissionsTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetRulesTable:
+ offset = mapi_dissect_element_RopReply_GetRulesTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopModifyPermissions:
+ offset = mapi_dissect_element_RopReply_ModifyPermissions(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopModifyRules:
+ offset = mapi_dissect_element_RopReply_ModifyRules(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetOwningServers:
+ offset = mapi_dissect_element_RopReply_GetOwningServers(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopLongTermIdFromId:
+ offset = mapi_dissect_element_RopReply_LongTermIdFromId(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopIdFromLongTermId:
+ offset = mapi_dissect_element_RopReply_IdFromLongTermId(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopPublicFolderIsGhosted:
+ offset = mapi_dissect_element_RopReply_PublicFolderIsGhosted(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenEmbeddedMessage:
+ offset = mapi_dissect_element_RopReply_OpenEmbeddedMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetSpooler:
+ offset = mapi_dissect_element_RopReply_SetSpooler(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSpoolerLockMessage:
+ offset = mapi_dissect_element_RopReply_SpoolerLockMessage(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetAddressTypes:
+ offset = mapi_dissect_element_RopReply_AddressTypes(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopTransportSend:
+ offset = mapi_dissect_element_RopReply_TransportSend(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopFastTransferSourceGetBuffer:
+ offset = mapi_dissect_element_RopReply_FastTransferSourceGetBuffer(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopFindRow:
+ offset = mapi_dissect_element_RopReply_FindRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopProgress:
+ offset = mapi_dissect_element_RopReply_Progress(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopTransportNewMail:
+ offset = mapi_dissect_element_RopReply_TransportNewMail(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetValidAttachments:
+ offset = mapi_dissect_element_RopReply_GetValidAttachments(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetNamesFromPropertyIds:
+ offset = mapi_dissect_element_RopReply_GetNamesFromIDs(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPropertyIdsFromNames:
+ offset = mapi_dissect_element_RopReply_GetIDsFromNames(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopUpdateDeferredActionMessages:
+ offset = mapi_dissect_element_RopReply_UpdateDeferredActionMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopEmptyFolder:
+ offset = mapi_dissect_element_RopReply_EmptyFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopExpandRow:
+ offset = mapi_dissect_element_RopReply_ExpandRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCollapseRow:
+ offset = mapi_dissect_element_RopReply_CollapseRow(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopLockRegionStream:
+ offset = mapi_dissect_element_RopReply_LockRegionStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopUnlockRegionStream:
+ offset = mapi_dissect_element_RopReply_UnlockRegionStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCommitStream:
+ offset = mapi_dissect_element_RopReply_CommitStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetStreamSize:
+ offset = mapi_dissect_element_RopReply_GetStreamSize(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopQueryNamedProperties:
+ offset = mapi_dissect_element_RopReply_QueryNamedProperties(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPerUserLongTermIds:
+ offset = mapi_dissect_element_RopReply_GetPerUserLongTermIds(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetPerUserGuid:
+ offset = mapi_dissect_element_RopReply_GetPerUserGuid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopReadPerUserInformation:
+ offset = mapi_dissect_element_RopReply_ReadPerUserInformation(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetReadFlags:
+ offset = mapi_dissect_element_RopReply_SetReadFlags(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopCopyProperties:
+ offset = mapi_dissect_element_RopReply_CopyProperties(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetReceiveFolderTable:
+ offset = mapi_dissect_element_RopReply_GetReceiveFolderTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopPending:
+ offset = mapi_dissect_element_RopReply_Pending(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetCollapseState:
+ offset = mapi_dissect_element_RopReply_GetCollapseState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetCollapseState:
+ offset = mapi_dissect_element_RopReply_SetCollapseState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetTransportFolder:
+ offset = mapi_dissect_element_RopReply_GetTransportFolder(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOptionsData:
+ offset = mapi_dissect_element_RopReply_OptionsData(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationConfigure:
+ offset = mapi_dissect_element_RopReply_SyncConfigure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportMessageChange:
+ offset = mapi_dissect_element_RopReply_SyncImportMessageChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportHierarchyChange:
+ offset = mapi_dissect_element_RopReply_SyncImportHierarchyChange(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportDeletes:
+ offset = mapi_dissect_element_RopReply_SyncImportDeletes(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationUploadStateStreamBegin:
+ offset = mapi_dissect_element_RopReply_SyncUploadStateStreamBegin(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationUploadStateStreamContinue:
+ offset = mapi_dissect_element_RopReply_SyncUploadStateStreamContinue(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationUploadStateStreamEnd:
+ offset = mapi_dissect_element_RopReply_SyncUploadStateStreamEnd(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportMessageMove:
+ offset = mapi_dissect_element_RopReply_SyncImportMessageMove(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetPropertiesNoReplicate:
+ offset = mapi_dissect_element_RopReply_SetPropertiesNoReplicate(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopDeletePropertiesNoReplicate:
+ offset = mapi_dissect_element_RopReply_DeletePropertiesNoReplicate(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetStoreState:
+ offset = mapi_dissect_element_RopReply_GetStoreState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationOpenCollector:
+ offset = mapi_dissect_element_RopReply_SyncOpenCollector(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopGetLocalReplicaIds:
+ offset = mapi_dissect_element_RopReply_GetLocalReplicaIds(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationImportReadStateChanges:
+ offset = mapi_dissect_element_RopReply_SyncImportReadStateChanges(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopResetTable:
+ offset = mapi_dissect_element_RopReply_ResetTable(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSynchronizationGetTransferState:
+ offset = mapi_dissect_element_RopReply_SyncGetTransferState(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopOpenPublicFolderByName:
+ offset = mapi_dissect_element_RopReply_OpenPublicFolderByName(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopSetSyncNotificationGuid:
+ offset = mapi_dissect_element_RopReply_SetSyncNotificationGuid(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopFreeBookmark:
+ offset = mapi_dissect_element_RopReply_FreeBookmark(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopWriteAndCommitStream:
+ offset = mapi_dissect_element_RopReply_WriteAndCommitStream(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopHardDeleteMessages:
+ offset = mapi_dissect_element_RopReply_HardDeleteMessages(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopHardDeleteMessagesAndSubfolders:
+ offset = mapi_dissect_element_RopReply_HardDeleteMessagesAndSubfolders(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopLogon:
+ offset = mapi_dissect_element_RopReply_Logon(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case RopBufferTooSmall:
+ offset = mapi_dissect_element_RopReply_RopBufferTooSmall(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
/* IDL: struct { */
/* IDL: uint8 opnum; */
-/* IDL: uint8 handle_idx; */
-/* IDL: MAPISTATUS error_code; */
-/* IDL: [switch_is(opnum)] EcDoRpc_MAPI_REPL_UNION u; */
+/* IDL: [switch_is(opnum)] RopRequest u; */
/* IDL: } */
+static int
+mapi_dissect_element_EcDoRpcMapiRequest_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *opnum)
+{
+ offset = mapi_dissect_RopRequest(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpcMapiRequest_u, *opnum);
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint8 opnum; */
+/* IDL: [switch_is(opnum)] RopReply u; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_EcDoRpcMapiResponse_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *opnum)
+{
+ offset = mapi_dissect_RopReply(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpcMapiResponse_u, *opnum);
+
+ return offset;
+}
+
/* IDL: struct { */
/* IDL: uint32 mapi_len; */
/* IDL: uint16 length; */
-/* IDL: [unique(1)] EcDoRpc_MAPI_REQ *mapi_req; */
+/* IDL: EcDoRpcMapiRequest rpcRequest; */
/* IDL: [unique(1)] uint32 *handles; */
/* IDL: } */
+static int
+mapi_dissect_element_request_rpcRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_EcDoRpcMapiRequest(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_request_rpcRequest,0);
+
+ return offset;
+}
+
/* IDL: struct { */
/* IDL: uint32 mapi_len; */
/* IDL: uint16 length; */
-/* IDL: [unique(1)] EcDoRpc_MAPI_REPL *mapi_repl; */
+/* IDL: EcDoRpcMapiResponse rpcResponse; */
/* IDL: [unique(1)] uint32 *handles; */
/* IDL: } */
+static int
+mapi_dissect_element_response_rpcResponse(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_EcDoRpcMapiResponse(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_response_rpcResponse,0);
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: AUX_TYPE_PERF_REQUESTID=0x01, */
+/* IDL: AUX_TYPE_PERF_CLIENTINFO=0x02, */
+/* IDL: AUX_TYPE_PERF_SERVERINFO=0x03, */
+/* IDL: AUX_TYPE_PERF_SESSIONINFO=0x04, */
+/* IDL: AUX_TYPE_PERF_DEFMDB_SUCCESS=0x05, */
+/* IDL: AUX_TYPE_PERF_DEFGC_SUCCESS=0x06, */
+/* IDL: AUX_TYPE_PERF_MDB_SUCCESS=0x07, */
+/* IDL: AUX_TYPE_PERF_GC_SUCCESS=0x08, */
+/* IDL: AUX_TYPE_PERF_FAILURE=0x09, */
+/* IDL: AUX_TYPE_CLIENT_CONTROL=0x0A, */
+/* IDL: AUX_TYPE_PERF_PROCESSINFO=0x0B, */
+/* IDL: AUX_TYPE_PERF_BG_DEFMDB_SUCCESS=0x0C, */
+/* IDL: AUX_TYPE_PERF_BG_DEFGC_SUCCESS=0x0D, */
+/* IDL: AUX_TYPE_PERF_BG_MDB_SUCCESS=0x0E, */
+/* IDL: AUX_TYPE_PERF_BG_GC_SUCCESS=0x0F, */
+/* IDL: AUX_TYPE_PERF_BG_FAILURE=0x10, */
+/* IDL: AUX_TYPE_PERF_FG_DEFMDB_SUCCESS=0x11, */
+/* IDL: AUX_TYPE_PERF_FG_DEFGC_SUCCESS=0x12, */
+/* IDL: AUX_TYPE_PERF_FG_MDB_SUCCESS=0x13, */
+/* IDL: AUX_TYPE_PERF_FG_GC_SUCCESS=0x14, */
+/* IDL: AUX_TYPE_PERF_FG_FAILURE=0x15, */
+/* IDL: AUX_TYPE_OSVERSIONINFO=0x16, */
+/* IDL: AUX_TYPE_EXORGINFO=0x17, */
+/* IDL: AUX_TYPE_PERF_ACCOUNTINFO=0x18, */
+/* IDL: AUX_TYPE_SERVER_CAPABILITIES=0x46, */
+/* IDL: AUX_TYPE_ENDPOINT_CAPABILITIES=0x48, */
+/* IDL: AUX_CLIENT_CONNECTION_INFO=0x4A, */
+/* IDL: AUX_SERVER_SESSION_INFO=0x4B, */
+/* IDL: AUX_PROTOCOL_DEVICE_IDENTIFICATION=0x4E, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_AUX_HEADER_TYPE_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: AUX_TYPE_PERF_SESSIONINFO_2=0x04, */
+/* IDL: AUX_TYPE_PERF_MDB_SUCCESS_2=0x07, */
+/* IDL: AUX_TYPE_PERF_GC_SUCCESS_2=0x08, */
+/* IDL: AUX_TYPE_PERF_FAILURE_2=0x09, */
+/* IDL: AUX_TYPE_PERF_PROCESSINFO_2=0x0B, */
+/* IDL: AUX_TYPE_PERF_BG_MDB_SUCCESS_2=0x0E, */
+/* IDL: AUX_TYPE_PERF_BG_GC_SUCCESS_2=0x0F, */
+/* IDL: AUX_TYPE_PERF_BG_FAILURE_2=0x10, */
+/* IDL: AUX_TYPE_PERF_FG_MDB_SUCCESS_2=0x13, */
+/* IDL: AUX_TYPE_PERF_FG_GC_SUCCESS_2=0x14, */
+/* IDL: AUX_TYPE_PERF_FG_FAILURE_2=0x15, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_AUX_HEADER_TYPE_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: AUX_VERSION_1=0x1, */
+/* IDL: AUX_VERSION_2=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_AUX_VERSION(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint8 *param _U_)
+{
+ guint8 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: [switch_type(uint8)] union { */
+/* IDL: [case(AUX_VERSION_1)] [case(AUX_VERSION_1)] AUX_HEADER_TYPE_1 Type; */
+/* IDL: [case(AUX_VERSION_2)] [case(AUX_VERSION_2)] AUX_HEADER_TYPE_2 Type_2; */
+/* IDL: [default] ; */
+/* IDL: } */
+
/* IDL: struct { */
-/* IDL: uint16 cb; */
-/* IDL: uint8 ab[cb]; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 RequestID; */
/* IDL: } */
static int
-mapi_dissect_element_EcDoConnect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_REQUESTID_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_handle);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_REQUESTID_SessionID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_REQUESTID_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_handle, 0x0001);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_REQUESTID_RequestID, 0);
return offset;
}
+int
+mapi_dissect_struct_AUX_PERF_REQUESTID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_REQUESTID);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_REQUESTID_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_REQUESTID_RequestID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: CLIENTMODE_UNKNOWN=0x0, */
+/* IDL: CLIENTMODE_CLASSIC=0x1, */
+/* IDL: CLIENTMODE_CACHED=0x2, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_ClientMode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
+{
+ guint16 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 AdapterSpeed; */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 MachineNameOffset; */
+/* IDL: uint16 UserNameOffset; */
+/* IDL: uint16 ClientIPSize; */
+/* IDL: uint16 ClientIPOffset; */
+/* IDL: uint16 ClientIPMaskSize; */
+/* IDL: uint16 ClientIPMaskOffset; */
+/* IDL: uint16 AdapterNameOffset; */
+/* IDL: uint16 MacAddressSize; */
+/* IDL: uint16 MacAddressOffset; */
+/* IDL: ClientMode ClientMode; */
+/* IDL: uint16 Reserved; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string MachineName; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string UserName; */
+/* IDL: uint8 ClientIP[0]; */
+/* IDL: uint8 ClientIPMask[0]; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string AdapterName; */
+/* IDL: uint8 MacAddress[0]; */
+/* IDL: } */
+
static int
-mapi_dissect_element_EcDoConnect_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_CLIENTINFO_AdapterSpeed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- char *data;
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_AdapterSpeed, 0);
- offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_EcDoConnect_name, FALSE, &data);
- proto_item_append_text(tree, ": %s", data);
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_CLIENTINFO_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_CLIENTINFO_ClientMode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_ClientMode(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_ClientMode, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_CLIENTINFO_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_CLIENTINFO_Reserved, 0);
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: SERVERTYPE_UNKNOWN=0x0, */
+/* IDL: SERVERTYPE_PRIVATE=0x1, */
+/* IDL: SERVERTYPE_PUBLIC=0x2, */
+/* IDL: SERVERTYPE_DIRECTORY=0x3, */
+/* IDL: SERVERTYPE_REFERRAL=0x4, */
+/* IDL: } */
+
+int
+mapi_dissect_enum_SERVERINFO_ServerType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint16 *param _U_)
+{
+ guint16 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ServerID; */
+/* IDL: SERVERINFO_ServerType ServerType; */
+/* IDL: uint16 ServerDNOffset; */
+/* IDL: uint16 ServerNameOffset; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string ServerDN; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string ServerName; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_SERVERINFO_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SERVERINFO_ServerID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SERVERINFO_ServerType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_SERVERINFO_ServerType(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SERVERINFO_ServerType, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SERVERINFO_ServerDNOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SERVERINFO_ServerDNOffset, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SERVERINFO_ServerNameOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SERVERINFO_ServerNameOffset, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SERVERINFO_ServerDN(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_AUX_PERF_SERVERINFO_ServerDN , 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SERVERINFO_ServerName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_AUX_PERF_SERVERINFO_ServerName , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_SERVERINFO(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_SERVERINFO);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_SERVERINFO_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SERVERINFO_ServerType(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SERVERINFO_ServerDNOffset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SERVERINFO_ServerNameOffset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SERVERINFO_ServerDN(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SERVERINFO_ServerName(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 Reserved; */
+/* IDL: GUID SessionGuid; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_SessionGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_SessionGuid, NULL);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_SESSIONINFO(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_SESSIONINFO);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_SessionGuid(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 Reserved; */
+/* IDL: GUID SessionGuid; */
+/* IDL: uint32 ConnectionID; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_V2_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_V2_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_SessionGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_V2_SessionGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_ConnectionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_SESSIONINFO_V2_ConnectionID, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_SESSIONINFO_V2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_SESSIONINFO_V2);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_SessionGuid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_SESSIONINFO_V2_ConnectionID(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToCompleteRequest; */
+/* IDL: uint16 RequestID; */
+/* IDL: uint16 Reserved; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFMDB_SUCCESS_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFMDB_SUCCESS_TimeToCompleteRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFMDB_SUCCESS_RequestID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFMDB_SUCCESS_Reserved, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_DEFMDB_SUCCESS);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_TimeToCompleteRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_RequestID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFMDB_SUCCESS_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToCompleteRequest; */
+/* IDL: uint8 RequestOperation; */
+/* IDL: uint8 Reserved[3]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFGC_SUCCESS_ServerID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFGC_SUCCESS_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFGC_SUCCESS_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFGC_SUCCESS_TimeToCompleteRequest, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFGC_SUCCESS_RequestOperation, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
int i;
for (i = 0; i < 3; i++)
- offset = mapi_dissect_element_EcDoConnect_unknown1_(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_Reserved_(tvb, offset, pinfo, tree, di, drep);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_Reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_unknown1, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_DEFGC_SUCCESS_Reserved, 0);
return offset;
}
+int
+mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_DEFGC_SUCCESS);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_TimeToCompleteRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_RequestOperation(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_DEFGC_SUCCESS_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 RequestID; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToCompleteRequest; */
+/* IDL: } */
+
static int
-mapi_dissect_element_EcDoConnect_code_page(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_code_page, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_ClientID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_input_locale(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_struct_input_locale(tvb,offset,pinfo,tree,di,drep,hf_mapi_EcDoConnect_input_locale,0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_ServerID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_unknown2, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_SessionID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_unknown3, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_RequestID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_TimeToCompleteRequest, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_MDB_SUCCESS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_MDB_SUCCESS);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_ClientID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_RequestID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_TimeToCompleteRequest(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ProcessID; */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 RequestID; */
+/* IDL: uint16 Reserved; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToCompleteRequest; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ProcessID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ClientID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ServerID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_RequestID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_Reserved, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_MDB_SUCCESS_V2_TimeToCompleteRequest, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_MDB_SUCCESS_V2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_MDB_SUCCESS_V2);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ProcessID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ClientID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_RequestID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_MDB_SUCCESS_V2_TimeToCompleteRequest(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 Reserved_1; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToCompleteRequest; */
+/* IDL: uint8 RequestOperation; */
+/* IDL: uint8 Reserved_2[3]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_ClientID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_ServerID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_Reserved_1, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_TimeToCompleteRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_RequestOperation, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
int i;
for (i = 0; i < 3; i++)
- offset = mapi_dissect_element_EcDoConnect_unknown4_(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_2_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_Reserved_2, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_GC_SUCCESS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_GC_SUCCESS);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_ClientID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_TimeToCompleteRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_RequestOperation(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_Reserved_2(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
return offset;
}
+
+/* IDL: struct { */
+/* IDL: uint16 ProcessID; */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToCompleteRequest; */
+/* IDL: uint8 RequestOperation; */
+/* IDL: uint8 Reserved[3]; */
+/* IDL: } */
+
static int
-mapi_dissect_element_EcDoConnect_unknown4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_unknown4, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_ProcessID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_session_nb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_session_nb_, NDR_POINTER_REF, "Pointer to Session Nb (uint16)",hf_mapi_EcDoConnect_session_nb);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_ClientID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_session_nb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_session_nb, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_ServerID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_org_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_org_group_, NDR_POINTER_UNIQUE, "Pointer to Org Group (uint8)",hf_mapi_EcDoConnect_org_group);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_SessionID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_org_group_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- char *data;
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_TimeSinceRequest, 0);
- offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_EcDoConnect_org_group, FALSE, &data);
- proto_item_append_text(tree, ": %s", data);
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_TimeToCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_TimeToCompleteRequest, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_user(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint8)",hf_mapi_EcDoConnect_user);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_RequestOperation, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_user_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- char *data;
+ int i;
+ for (i = 0; i < 3; i++)
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_Reserved_(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_EcDoConnect_user, FALSE, &data);
- proto_item_append_text(tree, ": %s", data);
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_Reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_GC_SUCCESS_V2_Reserved, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_GC_SUCCESS_V2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_GC_SUCCESS_V2);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ProcessID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ClientID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_TimeToCompleteRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_RequestOperation(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_GC_SUCCESS_V2_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 RequestID; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToFailRequest; */
+/* IDL: MAPISTATUS ResultCode; */
+/* IDL: uint8 RequestOperation; */
+/* IDL: uint8 Reserved[3]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_ClientID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_ServerID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_RequestID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_store_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_FAILURE_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_TimeToFailRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_TimeToFailRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_ResultCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPISTATUS(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_ResultCode, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_RequestOperation, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_Reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
int i;
for (i = 0; i < 3; i++)
- offset = mapi_dissect_element_EcDoConnect_store_version_(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_Reserved_(tvb, offset, pinfo, tree, di, drep);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_store_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_FAILURE_Reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_store_version, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_Reserved, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_FAILURE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_FAILURE);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_ClientID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_RequestID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_TimeToFailRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_ResultCode(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_RequestOperation(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_Reserved(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ProcessID; */
+/* IDL: uint16 ClientID; */
+/* IDL: uint16 ServerID; */
+/* IDL: uint16 SessionID; */
+/* IDL: uint16 RequestID; */
+/* IDL: uint16 Reserved_1; */
+/* IDL: uint32 TimeSinceRequest; */
+/* IDL: uint32 TimeToFailRequest; */
+/* IDL: MAPISTATUS ResultCode; */
+/* IDL: uint8 RequestOperation; */
+/* IDL: uint8 Reserved_2[3]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_ProcessID, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_emsmdb_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_FAILURE_V2_ClientID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_ClientID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_ServerID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_ServerID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_SessionID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_SessionID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_RequestID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_RequestID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_Reserved_1, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_TimeSinceRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_TimeSinceRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_TimeToFailRequest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_TimeToFailRequest, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_ResultCode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_enum_MAPISTATUS(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_ResultCode, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_RequestOperation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_RequestOperation, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
int i;
for (i = 0; i < 3; i++)
- offset = mapi_dissect_element_EcDoConnect_emsmdb_client_version_(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_2_(tvb, offset, pinfo, tree, di, drep);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_emsmdb_client_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_FAILURE_V2_Reserved_2, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_FAILURE_V2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_FAILURE_V2);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_ProcessID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_ClientID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_ServerID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_SessionID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_RequestID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_TimeSinceRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_TimeToFailRequest(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_ResultCode(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_RequestOperation(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_FAILURE_V2_Reserved_2(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: ENABLE_PERF_SENDTOSERVER = 0x00000001 , */
+/* IDL: ENABLE_PERF_SENDTOMAILBOX = 0x00000002 , */
+/* IDL: ENABLE_COMPRESSION = 0x00000004 , */
+/* IDL: ENABLE_HTTP_TUNNELING = 0x00000008 , */
+/* IDL: ENABLE_PERF_SENDGCDATA = 0x00000010 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_CLIENT_CONTROL_EnableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_emsmdb_client_version, 0);
+ proto_item *item;
+ static int * const mapi_CLIENT_CONTROL_EnableFlags_fields[] = {
+ &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOSERVER,
+ &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOMAILBOX,
+ &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_COMPRESSION,
+ &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_HTTP_TUNNELING,
+ &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDGCDATA,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_CLIENT_CONTROL_EnableFlags, mapi_CLIENT_CONTROL_EnableFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x0000001f)) {
+ flags &= (~0x0000001f);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
return offset;
}
+
+/* IDL: struct { */
+/* IDL: CLIENT_CONTROL_EnableFlags EnableFlags; */
+/* IDL: uint32 ExpiryTime; */
+/* IDL: } */
+
static int
-mapi_dissect_element_EcDoConnect_alloc_space(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_CLIENT_CONTROL_EnableFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_alloc_space_, NDR_POINTER_REF, "Pointer to Alloc Space (uint32)",hf_mapi_EcDoConnect_alloc_space);
+ offset = mapi_dissect_bitmap_CLIENT_CONTROL_EnableFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_CLIENT_CONTROL_EnableFlags, 0);
return offset;
}
static int
-mapi_dissect_element_EcDoConnect_alloc_space_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_AUX_CLIENT_CONTROL_ExpiryTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoConnect_alloc_space, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_CLIENT_CONTROL_ExpiryTime, 0);
return offset;
}
-/* IDL: MAPISTATUS EcDoConnect( */
-/* IDL: [out] [ref] policy_handle *handle, */
-/* IDL: [in] uint8 name[*], */
-/* IDL: [in] uint32 unknown1[3], */
-/* IDL: [in] uint32 code_page, */
-/* IDL: [in] input_locale input_locale, */
-/* IDL: [in] uint32 unknown2, */
-/* IDL: [in] uint16 unknown3, */
-/* IDL: [out] uint32 unknown4[3], */
-/* IDL: [out] [ref] uint16 *session_nb, */
-/* IDL: [out] [unique(1)] uint8 *org_group, */
-/* IDL: [out] [unique(1)] uint8 *user, */
-/* IDL: [out] uint16 store_version[3], */
-/* IDL: [in] [out] uint16 emsmdb_client_version[3], */
-/* IDL: [in] [out] [ref] uint32 *alloc_space */
+int
+mapi_dissect_struct_AUX_CLIENT_CONTROL(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_CLIENT_CONTROL);
+ }
+
+ offset = mapi_dissect_element_AUX_CLIENT_CONTROL_EnableFlags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_CLIENT_CONTROL_ExpiryTime(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ProcessID; */
+/* IDL: uint16 Reserved1; */
+/* IDL: GUID ProcessGuid; */
+/* IDL: uint16 ProcessNameOffset; */
+/* IDL: uint16 Reserved2; */
+/* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] string ProcessName; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_PROCESSINFO_ProcessID, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_PROCESSINFO_Reserved1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_PROCESSINFO_Reserved1, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessGuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_PROCESSINFO_ProcessGuid, NULL);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessNameOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_PROCESSINFO_ProcessNameOffset, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_PROCESSINFO_Reserved2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_PERF_PROCESSINFO_Reserved2, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_mapi_AUX_PERF_PROCESSINFO_ProcessName , 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_PERF_PROCESSINFO(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_PERF_PROCESSINFO);
+ }
+
+ offset = mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessID(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_PROCESSINFO_Reserved1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessGuid(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessNameOffset(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_PROCESSINFO_Reserved2(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_PERF_PROCESSINFO_ProcessName(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 OSVersionInfoSize; */
+/* IDL: uint32 MajorVersion; */
+/* IDL: uint32 MinorVersion; */
+/* IDL: uint32 BuildNumber; */
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_REMAINING)] DATA_BLOB Reserved_1; */
+/* IDL: uint16 ServicePackMajor; */
+/* IDL: uint16 ServicePackMinor; */
+/* IDL: uint32 Reserved_2; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_OSVersionInfoSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_OSVersionInfoSize, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_MajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_MajorVersion, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_MinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_MinorVersion, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_BuildNumber(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_BuildNumber, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_Reserved_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_Reserved_1, 1);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_ServicePackMajor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_ServicePackMajor, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_ServicePackMinor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_ServicePackMinor, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AUX_OSVERSIONINFO_Reserved_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_OSVERSIONINFO_Reserved_2, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_OSVERSIONINFO(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_OSVERSIONINFO);
+ }
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_OSVersionInfoSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_MajorVersion(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_MinorVersion(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_BuildNumber(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_Reserved_1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_ServicePackMajor(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_ServicePackMinor(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AUX_OSVERSIONINFO_Reserved_2(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: PUBLIC_FOLDERS_ENABLED = 0x00000001 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_EXORGINFO_OrgFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_EXORGINFO_OrgFlags_fields[] = {
+ &hf_mapi_EXORGINFO_OrgFlags_PUBLIC_FOLDERS_ENABLED,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_EXORGINFO_OrgFlags, mapi_EXORGINFO_OrgFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000001)) {
+ flags &= (~0x00000001);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: EXORGINFO_OrgFlags OrgFlags; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_EXORGINFO_OrgFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_EXORGINFO_OrgFlags(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_EXORGINFO_OrgFlags, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AUX_EXORGINFO(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AUX_EXORGINFO);
+ }
+
+ offset = mapi_dissect_element_AUX_EXORGINFO_OrgFlags(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] [public(1)] union { */
+/* IDL: [case(AUX_TYPE_PERF_REQUESTID)] [case(AUX_TYPE_PERF_REQUESTID)] AUX_PERF_REQUESTID AuxiliaryPerfRequestId; */
+/* IDL: [case(AUX_TYPE_PERF_CLIENTINFO)] [case(AUX_TYPE_PERF_CLIENTINFO)] AUX_PERF_CLIENTINFO AuxiliaryPerfClientInfo; */
+/* IDL: [case(AUX_TYPE_PERF_SERVERINFO)] [case(AUX_TYPE_PERF_SERVERINFO)] AUX_PERF_SERVERINFO AuxiliaryPerfServerInfo; */
+/* IDL: [case(AUX_TYPE_PERF_SESSIONINFO)] [case(AUX_TYPE_PERF_SESSIONINFO)] AUX_PERF_SESSIONINFO AuxiliaryPerfSessionInfo; */
+/* IDL: [case(AUX_TYPE_PERF_DEFMDB_SUCCESS)] [case(AUX_TYPE_PERF_DEFMDB_SUCCESS)] AUX_PERF_DEFMDB_SUCCESS AuxiliaryPerfDefmdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_DEFGC_SUCCESS)] [case(AUX_TYPE_PERF_DEFGC_SUCCESS)] AUX_PERF_DEFGC_SUCCESS AuxiliaryPerfDefgcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_MDB_SUCCESS)] [case(AUX_TYPE_PERF_MDB_SUCCESS)] AUX_PERF_MDB_SUCCESS AuxiliaryPerfMdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_GC_SUCCESS)] [case(AUX_TYPE_PERF_GC_SUCCESS)] AUX_PERF_GC_SUCCESS AuxiliaryPerfGcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FAILURE)] [case(AUX_TYPE_PERF_FAILURE)] AUX_PERF_FAILURE AuxiliaryPerfFailure; */
+/* IDL: [case(AUX_TYPE_CLIENT_CONTROL)] [case(AUX_TYPE_CLIENT_CONTROL)] AUX_CLIENT_CONTROL AuxiliaryClientControl; */
+/* IDL: [case(AUX_TYPE_PERF_PROCESSINFO)] [case(AUX_TYPE_PERF_PROCESSINFO)] AUX_PERF_PROCESSINFO AuxiliaryPerfProcessInfo; */
+/* IDL: [case(AUX_TYPE_PERF_BG_DEFMDB_SUCCESS)] [case(AUX_TYPE_PERF_BG_DEFMDB_SUCCESS)] AUX_PERF_DEFMDB_SUCCESS AuxiliaryPerfBgDefmdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_DEFGC_SUCCESS)] [case(AUX_TYPE_PERF_BG_DEFGC_SUCCESS)] AUX_PERF_DEFGC_SUCCESS AuxiliaryPerfBgDefgcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_MDB_SUCCESS)] [case(AUX_TYPE_PERF_BG_MDB_SUCCESS)] AUX_PERF_MDB_SUCCESS AuxiliaryPerfBgMdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_GC_SUCCESS)] [case(AUX_TYPE_PERF_BG_GC_SUCCESS)] AUX_PERF_GC_SUCCESS AuxiliaryPerfBgGcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_FAILURE)] [case(AUX_TYPE_PERF_BG_FAILURE)] AUX_PERF_FAILURE AuxiliaryPerfBgFailure; */
+/* IDL: [case(AUX_TYPE_PERF_FG_DEFMDB_SUCCESS)] [case(AUX_TYPE_PERF_FG_DEFMDB_SUCCESS)] AUX_PERF_DEFMDB_SUCCESS AuxiliaryPerfFgDefmdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_DEFGC_SUCCESS)] [case(AUX_TYPE_PERF_FG_DEFGC_SUCCESS)] AUX_PERF_DEFGC_SUCCESS AuxiliaryPerfFgDefgcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_MDB_SUCCESS)] [case(AUX_TYPE_PERF_FG_MDB_SUCCESS)] AUX_PERF_MDB_SUCCESS AuxiliaryPerfFgMdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_GC_SUCCESS)] [case(AUX_TYPE_PERF_FG_GC_SUCCESS)] AUX_PERF_GC_SUCCESS AuxiliaryPerFGGCSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_FAILURE)] [case(AUX_TYPE_PERF_FG_FAILURE)] AUX_PERF_FAILURE AuxiliaryPerfFgFailure; */
+/* IDL: [case(AUX_TYPE_OSVERSIONINFO)] [case(AUX_TYPE_OSVERSIONINFO)] AUX_OSVERSIONINFO AuxiliaryOSVersionInfo; */
+/* IDL: [case(AUX_TYPE_EXORGINFO)] [case(AUX_TYPE_EXORGINFO)] AUX_EXORGINFO AuxiliaryEXOrgInfo; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfRequestId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_REQUESTID(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfRequestId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_CLIENTINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfClientInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfServerInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_SERVERINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfServerInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfSessionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_SESSIONINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfSessionInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfDefmdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfDefgcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_MDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfMdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_GC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfGcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_FAILURE(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfFailure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryClientControl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_CLIENT_CONTROL(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryClientControl,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfProcessInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_PROCESSINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfProcessInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfBgDefmdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfBgDefgcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_MDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfBgMdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_GC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfBgGcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_FAILURE(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfBgFailure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfFgDefmdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfFgDefgcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_MDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfFgMdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerFGGCSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_GC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerFGGCSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_FAILURE(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryPerfFgFailure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryOSVersionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_OSVERSIONINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryOSVersionInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_AuxiliaryEXOrgInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_EXORGINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion1_AuxiliaryEXOrgInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion1_Payload(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_AuxDataVersion1_Payload, 1);
+
+ return offset;
+}
+
+static int
+mapi_dissect_AuxDataVersion1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_AuxDataVersion1, &item, "AuxDataVersion1");
+ }
+
+ switch(level) {
+ case AUX_TYPE_PERF_REQUESTID:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfRequestId(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_CLIENTINFO:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfClientInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_SERVERINFO:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfServerInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_SESSIONINFO:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfSessionInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_DEFMDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfDefmdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_DEFGC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfDefgcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_MDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfMdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_GC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfGcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FAILURE:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFailure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_CLIENT_CONTROL:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryClientControl(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_PROCESSINFO:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfProcessInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_DEFMDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgDefmdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_DEFGC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgDefgcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_MDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgMdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_GC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgGcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_FAILURE:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfBgFailure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_DEFMDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgDefmdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_DEFGC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgDefgcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_MDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgMdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_GC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerFGGCSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_FAILURE:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryPerfFgFailure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_OSVERSIONINFO:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryOSVersionInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_EXORGINFO:
+ offset = mapi_dissect_element_AuxDataVersion1_AuxiliaryEXOrgInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ offset = mapi_dissect_element_AuxDataVersion1_Payload(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN)] [nodiscriminant(1)] [public(1)] union { */
+/* IDL: [case(AUX_TYPE_PERF_REQUESTID)] [case(AUX_TYPE_PERF_REQUESTID)] AUX_PERF_REQUESTID AuxiliaryPerfRequestId; */
+/* IDL: [case(AUX_TYPE_PERF_CLIENTINFO)] [case(AUX_TYPE_PERF_CLIENTINFO)] AUX_PERF_CLIENTINFO AuxiliaryPerfClientInfo; */
+/* IDL: [case(AUX_TYPE_PERF_SERVERINFO)] [case(AUX_TYPE_PERF_SERVERINFO)] AUX_PERF_SERVERINFO AuxiliaryPerfServerInfo; */
+/* IDL: [case(AUX_TYPE_PERF_SESSIONINFO_2)] [case(AUX_TYPE_PERF_SESSIONINFO_2)] AUX_PERF_SESSIONINFO_V2 AuxiliaryPerfSessioninfo; */
+/* IDL: [case(AUX_TYPE_PERF_DEFMDB_SUCCESS)] [case(AUX_TYPE_PERF_DEFMDB_SUCCESS)] AUX_PERF_DEFMDB_SUCCESS AuxiliaryPerfDefmdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_DEFGC_SUCCESS)] [case(AUX_TYPE_PERF_DEFGC_SUCCESS)] AUX_PERF_DEFGC_SUCCESS AuxiliaryPerfDefgcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_MDB_SUCCESS_2)] [case(AUX_TYPE_PERF_MDB_SUCCESS_2)] AUX_PERF_MDB_SUCCESS_V2 AuxiliaryPerfMdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_GC_SUCCESS_2)] [case(AUX_TYPE_PERF_GC_SUCCESS_2)] AUX_PERF_GC_SUCCESS_V2 AuxiliaryPerfGcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FAILURE_2)] [case(AUX_TYPE_PERF_FAILURE_2)] AUX_PERF_FAILURE_V2 AuxiliaryPerfFailure; */
+/* IDL: [case(AUX_TYPE_CLIENT_CONTROL)] [case(AUX_TYPE_CLIENT_CONTROL)] AUX_CLIENT_CONTROL AuxiliaryPerf; */
+/* IDL: [case(AUX_TYPE_PERF_PROCESSINFO_2)] [case(AUX_TYPE_PERF_PROCESSINFO_2)] AUX_PERF_PROCESSINFO AuxiliaryPerfProcessInfo; */
+/* IDL: [case(AUX_TYPE_PERF_BG_DEFMDB_SUCCESS)] [case(AUX_TYPE_PERF_BG_DEFMDB_SUCCESS)] AUX_PERF_DEFMDB_SUCCESS AuxiliaryPerfBgDefmdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_DEFGC_SUCCESS)] [case(AUX_TYPE_PERF_BG_DEFGC_SUCCESS)] AUX_PERF_DEFGC_SUCCESS AuxiliaryPerfBgDefgcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_MDB_SUCCESS_2)] [case(AUX_TYPE_PERF_BG_MDB_SUCCESS_2)] AUX_PERF_MDB_SUCCESS_V2 AuxiliaryPerfBgMdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_GC_SUCCESS_2)] [case(AUX_TYPE_PERF_BG_GC_SUCCESS_2)] AUX_PERF_GC_SUCCESS AuxiliaryPerfBgGcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_BG_FAILURE_2)] [case(AUX_TYPE_PERF_BG_FAILURE_2)] AUX_PERF_FAILURE AuxiliaryPerfBgFailure; */
+/* IDL: [case(AUX_TYPE_PERF_FG_DEFMDB_SUCCESS)] [case(AUX_TYPE_PERF_FG_DEFMDB_SUCCESS)] AUX_PERF_DEFMDB_SUCCESS AuxiliaryPerfFgDefmdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_DEFGC_SUCCESS)] [case(AUX_TYPE_PERF_FG_DEFGC_SUCCESS)] AUX_PERF_DEFGC_SUCCESS AuxiliaryPerfFgDefgcSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_MDB_SUCCESS_2)] [case(AUX_TYPE_PERF_FG_MDB_SUCCESS_2)] AUX_PERF_MDB_SUCCESS AuxiliaryPerfFgMdbSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_GC_SUCCESS_2)] [case(AUX_TYPE_PERF_FG_GC_SUCCESS_2)] AUX_PERF_GC_SUCCESS AuxiliaryPerFGGCSuccess; */
+/* IDL: [case(AUX_TYPE_PERF_FG_FAILURE_2)] [case(AUX_TYPE_PERF_FG_FAILURE_2)] AUX_PERF_FAILURE AuxiliaryPerfFgFailure; */
+/* IDL: [case(AUX_TYPE_OSVERSIONINFO)] [case(AUX_TYPE_OSVERSIONINFO)] AUX_OSVERSIONINFO AuxiliaryOSVersionInfo; */
+/* IDL: [case(AUX_TYPE_EXORGINFO)] [case(AUX_TYPE_EXORGINFO)] AUX_EXORGINFO AuxiliaryEXOrgInfo; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfRequestId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_REQUESTID(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfRequestId,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_CLIENTINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfClientInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfServerInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_SERVERINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfServerInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfSessioninfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_SESSIONINFO_V2(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfSessioninfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfDefmdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfDefgcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_MDB_SUCCESS_V2(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfMdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_GC_SUCCESS_V2(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfGcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_FAILURE_V2(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfFailure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_CLIENT_CONTROL(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerf,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfProcessInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_PROCESSINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfProcessInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfBgDefmdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfBgDefgcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_MDB_SUCCESS_V2(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfBgMdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgGcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_GC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfBgGcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_FAILURE(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfBgFailure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgDefmdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFMDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfFgDefmdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgDefgcSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_DEFGC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfFgDefgcSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgMdbSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_MDB_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfFgMdbSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerFGGCSuccess(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_GC_SUCCESS(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerFGGCSuccess,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgFailure(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_PERF_FAILURE(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryPerfFgFailure,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryOSVersionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_OSVERSIONINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryOSVersionInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_AuxiliaryEXOrgInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_EXORGINFO(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxDataVersion2_AuxiliaryEXOrgInfo,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxDataVersion2_Payload(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, hf_mapi_AuxDataVersion2_Payload, 1);
+
+ return offset;
+}
+
+static int
+mapi_dissect_AuxDataVersion2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint32 level = param;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_mapi_AuxDataVersion2, &item, "AuxDataVersion2");
+ }
+
+ switch(level) {
+ case AUX_TYPE_PERF_REQUESTID:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfRequestId(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_CLIENTINFO:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfClientInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_SERVERINFO:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfServerInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_SESSIONINFO_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfSessioninfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_DEFMDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfDefmdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_DEFGC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfDefgcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_MDB_SUCCESS_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfMdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_GC_SUCCESS_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfGcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FAILURE_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFailure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_CLIENT_CONTROL:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerf(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_PROCESSINFO_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfProcessInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_DEFMDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgDefmdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_DEFGC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgDefgcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_MDB_SUCCESS_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgMdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_GC_SUCCESS_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgGcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_BG_FAILURE_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfBgFailure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_DEFMDB_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgDefmdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_DEFGC_SUCCESS:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgDefgcSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_MDB_SUCCESS_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgMdbSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_GC_SUCCESS_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerFGGCSuccess(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_PERF_FG_FAILURE_2:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryPerfFgFailure(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_OSVERSIONINFO:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryOSVersionInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case AUX_TYPE_EXORGINFO:
+ offset = mapi_dissect_element_AuxDataVersion2_AuxiliaryEXOrgInfo(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
+ offset = mapi_dissect_element_AuxDataVersion2_Payload(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: [public(1)] [switch_type(uint8)] union { */
+/* IDL: [case(AUX_VERSION_1)] [case(AUX_VERSION_1)] AuxDataVersion1 Version1; */
+/* IDL: [case(AUX_VERSION_2)] [case(AUX_VERSION_2)] AuxDataVersion2 Version2; */
+/* IDL: [default] ; */
+/* IDL: } */
+
+
+/* IDL: struct { */
+/* IDL: uint16 Size; */
+/* IDL: AUX_VERSION Version; */
+/* IDL: [switch_is(Version)] AUX_HEADER_TYPE_ENUM hdrType; */
+/* IDL: AUX_DATA AuxData; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AUX_HEADER_Version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *Version)
+{
+ offset = mapi_dissect_enum_AUX_VERSION(tvb, offset, pinfo, tree, di, drep, hf_mapi_AUX_HEADER_Version, Version);
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: RHEF_Compressed = 0x0001 , */
+/* IDL: RHEF_XorMagic = 0x0002 , */
+/* IDL: RHEF_Last = 0x0004 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_RPC_HEADER_EXT_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_RPC_HEADER_EXT_Flags_fields[] = {
+ &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Compressed,
+ &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_XorMagic,
+ &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Last,
+ NULL
+ };
+ guint16 flags;
+ ALIGN_TO_2_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_RPC_HEADER_EXT_Flags, mapi_RPC_HEADER_EXT_Flags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint16(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000007)) {
+ flags &= (~0x00000007);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 Version; */
+/* IDL: RPC_HEADER_EXT_Flags Flags; */
+/* IDL: uint16 Size; */
+/* IDL: uint16 SizeActual; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RPC_HEADER_EXT_Version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RPC_HEADER_EXT_Version, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RPC_HEADER_EXT_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_RPC_HEADER_EXT_Flags(tvb, offset, pinfo, tree, di, drep, hf_mapi_RPC_HEADER_EXT_Flags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RPC_HEADER_EXT_Size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RPC_HEADER_EXT_Size, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RPC_HEADER_EXT_SizeActual(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_RPC_HEADER_EXT_SizeActual, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RPC_HEADER_EXT(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_2_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RPC_HEADER_EXT);
+ }
+
+ offset = mapi_dissect_element_RPC_HEADER_EXT_Version(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RPC_HEADER_EXT_Flags(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RPC_HEADER_EXT_Size(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_RPC_HEADER_EXT_SizeActual(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_2_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint32 auxInSize; */
+/* IDL: RPC_HEADER_EXT RpcHeaderExtension; */
+/* IDL: AUX_HEADER auxHeader[0]; */
+/* IDL: } */
+
+
+/* IDL: struct { */
+/* IDL: RPC_HEADER_EXT RpcHeaderExtension; */
+/* IDL: AUX_HEADER auxHeader[0]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_AuxInfoOut_RpcHeaderExtension(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RPC_HEADER_EXT(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxInfoOut_RpcHeaderExtension,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxInfoOut_auxHeader(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0; i++)
+ offset = mapi_dissect_element_AuxInfoOut_auxHeader_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_AuxInfoOut_auxHeader_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AUX_HEADER(tvb,offset,pinfo,tree,di,drep,hf_mapi_AuxInfoOut_auxHeader,0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_AuxInfoOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_AuxInfoOut);
+ }
+
+ offset = mapi_dissect_element_AuxInfoOut_RpcHeaderExtension(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_AuxInfoOut_auxHeader(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_4_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: NoCompression = 0x00000001 , */
+/* IDL: NoXorMagic = 0x00000002 , */
+/* IDL: Chain = 0x00000004 , */
+/* IDL: } */
+
+int
+mapi_dissect_bitmap_RpcExt2Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const mapi_RpcExt2Flags_fields[] = {
+ &hf_mapi_RpcExt2Flags_NoCompression,
+ &hf_mapi_RpcExt2Flags_NoXorMagic,
+ &hf_mapi_RpcExt2Flags_Chain,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_mapi_RpcExt2Flags, mapi_RpcExt2Flags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000007)) {
+ flags &= (~0x00000007);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: ROP_OPNUM RopId; */
+/* IDL: [switch_is(RopId)] RopRequest u; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RopInput_RopId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId)
+{
+ offset = mapi_dissect_enum_ROP_OPNUM(tvb, offset, pinfo, tree, di, drep, hf_mapi_RopInput_RopId, RopId);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopInput_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId)
+{
+ offset = mapi_dissect_RopRequest(tvb, offset, pinfo, tree, di, drep, hf_mapi_RopInput_u, *RopId);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RopInput(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 RopId = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RopInput);
+ }
+
+ offset = mapi_dissect_element_RopInput_RopId(tvb, offset, pinfo, tree, di, drep, &RopId);
+
+ offset = mapi_dissect_element_RopInput_u(tvb, offset, pinfo, tree, di, drep, &RopId);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ropSize; */
+/* IDL: RopInput rop[0]; */
+/* IDL: uint32 objectHandles[0]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ROPInputBuffer_ropSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ROPInputBuffer_ropSize, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPInputBuffer_rop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0; i++)
+ offset = mapi_dissect_element_ROPInputBuffer_rop_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPInputBuffer_rop_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RopInput(tvb,offset,pinfo,tree,di,drep,hf_mapi_ROPInputBuffer_rop,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPInputBuffer_objectHandles(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0; i++)
+ offset = mapi_dissect_element_ROPInputBuffer_objectHandles_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPInputBuffer_objectHandles_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ROPInputBuffer_objectHandles, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ROPInputBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_8_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ROPInputBuffer);
+ }
+
+ offset = mapi_dissect_element_ROPInputBuffer_ropSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ROPInputBuffer_rop(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ROPInputBuffer_objectHandles(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: RPC_HEADER_EXT RpcHeaderExtension; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_NOALIGN)] ROPInputBuffer ropIn; */
+/* IDL: } */
+
+
+/* IDL: struct { */
+/* IDL: ROP_OPNUM RopId; */
+/* IDL: [switch_is(RopId)] RopReply u; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_RopOutput_RopId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId)
+{
+ offset = mapi_dissect_enum_ROP_OPNUM(tvb, offset, pinfo, tree, di, drep, hf_mapi_RopOutput_RopId, RopId);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_RopOutput_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint8 *RopId)
+{
+ offset = mapi_dissect_RopReply(tvb, offset, pinfo, tree, di, drep, hf_mapi_RopOutput_u, *RopId);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_RopOutput(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint8 RopId = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gboolean oldalign = di->no_align;
+ int old_offset;
+
+ di->no_align = TRUE;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_RopOutput);
+ }
+
+ offset = mapi_dissect_element_RopOutput_RopId(tvb, offset, pinfo, tree, di, drep, &RopId);
+
+ offset = mapi_dissect_element_RopOutput_u(tvb, offset, pinfo, tree, di, drep, &RopId);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ di->no_align = oldalign;
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: uint16 ropSize; */
+/* IDL: RopOutput rop[0]; */
+/* IDL: uint32 objectHandles[0]; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_ROPOutputBuffer_ropSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_ROPOutputBuffer_ropSize, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPOutputBuffer_rop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0; i++)
+ offset = mapi_dissect_element_ROPOutputBuffer_rop_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPOutputBuffer_rop_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RopOutput(tvb,offset,pinfo,tree,di,drep,hf_mapi_ROPOutputBuffer_rop,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPOutputBuffer_objectHandles(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 0; i++)
+ offset = mapi_dissect_element_ROPOutputBuffer_objectHandles_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_ROPOutputBuffer_objectHandles_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_ROPOutputBuffer_objectHandles, 0);
+
+ return offset;
+}
+
+int
+mapi_dissect_struct_ROPOutputBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_8_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mapi_ROPOutputBuffer);
+ }
+
+ offset = mapi_dissect_element_ROPOutputBuffer_ropSize(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ROPOutputBuffer_rop(tvb, offset, pinfo, tree, di, drep);
+
+ offset = mapi_dissect_element_ROPOutputBuffer_objectHandles(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: RPC_HEADER_EXT RpcHeaderExtension; */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_NOALIGN)] ROPOutputBuffer ropOut; */
+/* IDL: } */
+
+static int
+mapi_dissect_element_EcDoConnect_hBinding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_hBinding_, NDR_POINTER_REF, "Pointer to HBinding (policy_handle)",hf_mapi_mapi_EcDoConnect_hBinding);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_hBinding_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_hBinding, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_ulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_ulConMod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_ulConMod, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_cbLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_cbLimit, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_ulCpid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_ulCpid, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_ulLcidString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_ulLcidString, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_ulLcidSort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_ulLcidSort, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_ulIcxrLink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_ulIcxrLink, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_usFCanConvertCodePages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_usFCanConvertCodePages, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pcmsPollsMax(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_pcmsPollsMax_, NDR_POINTER_REF, "Pointer to PcmsPollsMax (uint32)",hf_mapi_mapi_EcDoConnect_pcmsPollsMax);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pcmsPollsMax_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_pcmsPollsMax, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pcRetry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_pcRetry_, NDR_POINTER_REF, "Pointer to PcRetry (uint32)",hf_mapi_mapi_EcDoConnect_pcRetry);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pcRetry_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_pcRetry, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pcmsRetryDelay(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_pcmsRetryDelay_, NDR_POINTER_REF, "Pointer to PcmsRetryDelay (uint32)",hf_mapi_mapi_EcDoConnect_pcmsRetryDelay);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pcmsRetryDelay_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_pcmsRetryDelay, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_picxr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_picxr_, NDR_POINTER_REF, "Pointer to Picxr (uint32)",hf_mapi_mapi_EcDoConnect_picxr);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_picxr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_picxr, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_szDNPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_szDNPrefix_, NDR_POINTER_REF, "Pointer to SzDNPrefix (uint8)",hf_mapi_mapi_EcDoConnect_szDNPrefix);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_szDNPrefix_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_szDNPrefix__, NDR_POINTER_UNIQUE, "Pointer to SzDNPrefix (uint8)",hf_mapi_mapi_EcDoConnect_szDNPrefix);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_szDNPrefix__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcDoConnect_szDNPrefix, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_szDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_szDisplayName_, NDR_POINTER_REF, "Pointer to SzDisplayName (uint8)",hf_mapi_mapi_EcDoConnect_szDisplayName);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_szDisplayName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_szDisplayName__, NDR_POINTER_UNIQUE, "Pointer to SzDisplayName (uint8)",hf_mapi_mapi_EcDoConnect_szDisplayName);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_szDisplayName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcDoConnect_szDisplayName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pullTimeStamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnect_pullTimeStamp_, NDR_POINTER_REF, "Pointer to PullTimeStamp (uint32)",hf_mapi_mapi_EcDoConnect_pullTimeStamp);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnect_pullTimeStamp_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnect_pullTimeStamp, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoConnect( */
+/* IDL: [out] [ref] policy_handle *hBinding, */
+/* IDL: [charset(DOS)] [in] uint8 szUserDN[*], */
+/* IDL: [in] uint32 ulFlags, */
+/* IDL: [in] uint32 ulConMod, */
+/* IDL: [in] uint32 cbLimit, */
+/* IDL: [in] uint32 ulCpid, */
+/* IDL: [in] uint32 ulLcidString, */
+/* IDL: [in] uint32 ulLcidSort, */
+/* IDL: [in] uint32 ulIcxrLink, */
+/* IDL: [in] uint16 usFCanConvertCodePages, */
+/* IDL: [out] [ref] uint32 *pcmsPollsMax, */
+/* IDL: [out] [ref] uint32 *pcRetry, */
+/* IDL: [out] [ref] uint32 *pcmsRetryDelay, */
+/* IDL: [out] [ref] uint32 *picxr, */
+/* IDL: [charset(DOS)] [out] [ref] [unique(1)] uint8 **szDNPrefix, */
+/* IDL: [charset(DOS)] [out] [ref] [unique(1)] uint8 **szDisplayName, */
+/* IDL: [in] uint8 rgwClientVersion[6], */
+/* IDL: [out] uint8 rgwServerVersion[6], */
+/* IDL: [out] uint8 rgwBestVersion[6], */
+/* IDL: [in] [out] [ref] uint32 *pullTimeStamp */
/* IDL: ); */
static int
@@ -9542,33 +43746,40 @@ mapi_dissect_EcDoConnect_response(tvbuff_t *tvb _U_, int offset _U_, packet_info
guint32 status;
di->dcerpc_procedure_name="EcDoConnect";
- offset = mapi_dissect_element_EcDoConnect_handle(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_hBinding(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnect_pcmsPollsMax(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_unknown4(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_pcRetry(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_session_nb(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_pcmsRetryDelay(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_org_group(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_picxr(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_user(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_szDNPrefix(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_store_version(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_szDisplayName(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_emsmdb_client_version(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_rgwServerVersion(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_alloc_space(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_rgwBestVersion(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPISTATUS_status, &status);
+ offset = mapi_dissect_element_EcDoConnect_pullTimeStamp(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
if (status != 0)
- col_append_fstr(pinfo->cinfo, COL_INFO, ", Status: %s", val_to_str(status, mapi_MAPISTATUS_vals, "Unknown MAPISTATUS error 0x%08x"));
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
@@ -9577,43 +43788,49 @@ static int
mapi_dissect_EcDoConnect_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
di->dcerpc_procedure_name="EcDoConnect";
- offset = mapi_dissect_element_EcDoConnect_name(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_szUserDN(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_ulFlags(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_code_page(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_ulConMod(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_input_locale(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_cbLimit(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_ulCpid(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_ulLcidString(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_emsmdb_client_version(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_ulLcidSort(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcDoConnect_alloc_space(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_ulIcxrLink(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_usFCanConvertCodePages(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_rgwClientVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnect_pullTimeStamp(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
static int
-mapi_dissect_element_EcDoDisconnect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcDoDisconnect_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoDisconnect_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_handle);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoDisconnect_pcxh_, NDR_POINTER_REF, "Pointer to Pcxh (policy_handle)",hf_mapi_mapi_EcDoDisconnect_pcxh);
return offset;
}
static int
-mapi_dissect_element_EcDoDisconnect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcDoDisconnect_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_handle, 0x0002);
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoDisconnect_pcxh, 0);
return offset;
}
-/* IDL: MAPISTATUS EcDoDisconnect( */
-/* IDL: [in] [out] [ref] policy_handle *handle */
+/* IDL: WERROR mapi_EcDoDisconnect( */
+/* IDL: [in] [out] [ref] policy_handle *pcxh */
/* IDL: ); */
static int
@@ -9622,12 +43839,13 @@ mapi_dissect_EcDoDisconnect_response(tvbuff_t *tvb _U_, int offset _U_, packet_i
guint32 status;
di->dcerpc_procedure_name="EcDoDisconnect";
- offset = mapi_dissect_element_EcDoDisconnect_handle(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoDisconnect_pcxh(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPISTATUS_status, &status);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
if (status != 0)
- col_append_fstr(pinfo->cinfo, COL_INFO, ", Status: %s", val_to_str(status, mapi_MAPISTATUS_vals, "Unknown MAPISTATUS error 0x%08x"));
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
@@ -9636,7 +43854,7 @@ static int
mapi_dissect_EcDoDisconnect_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
di->dcerpc_procedure_name="EcDoDisconnect";
- offset = mapi_dissect_element_EcDoDisconnect_handle(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcDoDisconnect_pcxh(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
@@ -9644,7 +43862,7 @@ mapi_dissect_EcDoDisconnect_request(tvbuff_t *tvb _U_, int offset _U_, packet_in
static int
mapi_dissect_element_EcDoRpc_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpc_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_handle);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpc_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_mapi_EcDoRpc_handle);
return offset;
}
@@ -9652,7 +43870,7 @@ mapi_dissect_element_EcDoRpc_handle(tvbuff_t *tvb _U_, int offset _U_, packet_in
static int
mapi_dissect_element_EcDoRpc_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_handle, 0);
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_handle, 0);
return offset;
}
@@ -9660,7 +43878,15 @@ mapi_dissect_element_EcDoRpc_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_i
static int
mapi_dissect_element_EcDoRpc_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpc_size, 0);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpc_size_, NDR_POINTER_REF, "Pointer to Size (uint32)",hf_mapi_mapi_EcDoRpc_size);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpc_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_size, 0);
return offset;
}
@@ -9668,7 +43894,15 @@ mapi_dissect_element_EcDoRpc_size(tvbuff_t *tvb _U_, int offset _U_, packet_info
static int
mapi_dissect_element_EcDoRpc_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpc_offset, 0);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpc_offset_, NDR_POINTER_REF, "Pointer to Offset (uint32)",hf_mapi_mapi_EcDoRpc_offset);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpc_offset_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_offset, 0);
return offset;
}
@@ -9676,7 +43910,7 @@ mapi_dissect_element_EcDoRpc_offset(tvbuff_t *tvb _U_, int offset _U_, packet_in
static int
mapi_dissect_element_EcDoRpc_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpc_length_, NDR_POINTER_REF, "Pointer to Length (uint16)",hf_mapi_EcDoRpc_length);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpc_length_, NDR_POINTER_REF, "Pointer to Length (uint16)",hf_mapi_mapi_EcDoRpc_length);
return offset;
}
@@ -9684,7 +43918,7 @@ mapi_dissect_element_EcDoRpc_length(tvbuff_t *tvb _U_, int offset _U_, packet_in
static int
mapi_dissect_element_EcDoRpc_length_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpc_length, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_length, 0);
return offset;
}
@@ -9692,17 +43926,17 @@ mapi_dissect_element_EcDoRpc_length_(tvbuff_t *tvb _U_, int offset _U_, packet_i
static int
mapi_dissect_element_EcDoRpc_max_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcDoRpc_max_data, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpc_max_data, 0);
return offset;
}
-/* IDL: MAPISTATUS EcDoRpc( */
+/* IDL: WERROR mapi_EcDoRpc( */
/* IDL: [in] [out] [ref] policy_handle *handle, */
-/* IDL: [in] [out] uint32 size, */
-/* IDL: [in] [out] uint32 offset, */
-/* IDL: [flag(LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_NOALIGN)] [in] [ref] [subcontext(4)] mapi_request *mapi_request, */
-/* IDL: [flag(LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_NOALIGN)] [out] [ref] [subcontext(4)] mapi_response *mapi_response, */
+/* IDL: [in] [out] [ref] uint32 *size, */
+/* IDL: [in] [out] [ref] uint32 *offset, */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_NOALIGN)] [in] [ref] mapi_request *mapi_request, */
+/* IDL: [flag(LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_NOALIGN)] [out] [ref] mapi_response *mapi_response, */
/* IDL: [in] [out] [ref] uint16 *length, */
/* IDL: [in] uint16 max_data */
/* IDL: ); */
@@ -9728,9 +43962,10 @@ mapi_dissect_EcDoRpc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pi
offset = mapi_dissect_element_EcDoRpc_length(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPISTATUS_status, &status);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
if (status != 0)
- col_append_fstr(pinfo->cinfo, COL_INFO, ", Status: %s", val_to_str(status, mapi_MAPISTATUS_vals, "Unknown MAPISTATUS error 0x%08x"));
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
@@ -9754,14 +43989,97 @@ mapi_dissect_EcDoRpc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pin
return offset;
}
-/* IDL: void EcGetMoreRpc( */
-/* IDL: */
+static int
+mapi_dissect_element_EcGetMoreRpc_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcGetMoreRpc_pcxh_, NDR_POINTER_REF, "Pointer to Pcxh (policy_handle)",hf_mapi_mapi_EcGetMoreRpc_pcxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcGetMoreRpc_pcxh, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_rgb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcGetMoreRpc_rgb_, NDR_POINTER_REF, "Pointer to Rgb (uint8)",hf_mapi_mapi_EcGetMoreRpc_rgb);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_rgb_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcGetMoreRpc_rgb__);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_rgb__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcGetMoreRpc_rgb, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_pusLength(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcGetMoreRpc_pusLength_, NDR_POINTER_REF, "Pointer to PusLength (uint16)",hf_mapi_mapi_EcGetMoreRpc_pusLength);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_pusLength_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcGetMoreRpc_pusLength, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcGetMoreRpc_usSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcGetMoreRpc_usSize, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcGetMoreRpc( */
+/* IDL: [in] [out] [ref] policy_handle *pcxh, */
+/* IDL: [in] [length_is(*pusLength)] [out] [ref] [size_is(usSize)] uint8 *rgb, */
+/* IDL: [in] [out] [ref] uint16 *pusLength, */
+/* IDL: [in] uint16 usSize */
/* IDL: ); */
static int
mapi_dissect_EcGetMoreRpc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
+ guint32 status;
+
di->dcerpc_procedure_name="EcGetMoreRpc";
+ offset = mapi_dissect_element_EcGetMoreRpc_pcxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcGetMoreRpc_rgb(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcGetMoreRpc_pusLength(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
return offset;
}
@@ -9769,13 +44087,21 @@ static int
mapi_dissect_EcGetMoreRpc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
di->dcerpc_procedure_name="EcGetMoreRpc";
+ offset = mapi_dissect_element_EcGetMoreRpc_pcxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcGetMoreRpc_rgb(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcGetMoreRpc_pusLength(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcGetMoreRpc_usSize(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
static int
mapi_dissect_element_EcRRegisterPushNotification_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_handle);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_mapi_EcRRegisterPushNotification_handle);
return offset;
}
@@ -9783,100 +44109,116 @@ mapi_dissect_element_EcRRegisterPushNotification_handle(tvbuff_t *tvb _U_, int o
static int
mapi_dissect_element_EcRRegisterPushNotification_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_handle, 0);
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_handle, 0);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_ulEventMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_iRpc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = mapi_dissect_bitmap_ulEventType(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_ulEventMask, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_iRpc, 0);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_notifkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_rgbContext(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_notifkey_);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_rgbContext_, NDR_POINTER_REF, "Pointer to RgbContext (uint8)",hf_mapi_mapi_EcRRegisterPushNotification_rgbContext);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_notifkey_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_rgbContext_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_notifkey, 0);
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_rgbContext__);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_notif_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_rgbContext__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_notif_len, 0);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_rgbContext, 0);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_cbContext(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_unknown2, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_cbContext, 0);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_sockaddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_grbitMapiAdviseBits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_sockaddr_);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_grbitMapiAdviseBits, 0);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_sockaddr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_sockaddr, 0);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress_, NDR_POINTER_REF, "Pointer to RgbCallbackAddress (uint8)",hf_mapi_mapi_EcRRegisterPushNotification_rgbCallbackAddress);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_sockaddr_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_sockaddr_len, 0);
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress__);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_retval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_retval_, NDR_POINTER_REF, "Pointer to Retval (uint32)",hf_mapi_EcRRegisterPushNotification_retval);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_rgbCallbackAddress, 0);
return offset;
}
static int
-mapi_dissect_element_EcRRegisterPushNotification_retval_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRRegisterPushNotification_cbCallbackAddress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRRegisterPushNotification_retval, 0);
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_cbCallbackAddress, 0);
return offset;
}
-/* IDL: MAPISTATUS EcRRegisterPushNotification( */
+static int
+mapi_dissect_element_EcRRegisterPushNotification_hNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRRegisterPushNotification_hNotification_, NDR_POINTER_REF, "Pointer to HNotification (uint32)",hf_mapi_mapi_EcRRegisterPushNotification_hNotification);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRRegisterPushNotification_hNotification_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRRegisterPushNotification_hNotification, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcRRegisterPushNotification( */
/* IDL: [in] [out] [ref] policy_handle *handle, */
-/* IDL: [in] ulEventType ulEventMask, */
-/* IDL: [in] [size_is(notif_len)] uint8 notifkey[*], */
-/* IDL: [in] uint16 notif_len, */
-/* IDL: [in] uint32 unknown2, */
-/* IDL: [in] [size_is(sockaddr_len)] uint8 sockaddr[*], */
-/* IDL: [in] uint16 sockaddr_len, */
-/* IDL: [out] [ref] uint32 *retval */
+/* IDL: [in] uint32 iRpc, */
+/* IDL: [in] [ref] [size_is(cbContext)] uint8 *rgbContext, */
+/* IDL: [in] uint16 cbContext, */
+/* IDL: [in] uint32 grbitMapiAdviseBits, */
+/* IDL: [in] [ref] [size_is(cbCallbackAddress)] uint8 *rgbCallbackAddress, */
+/* IDL: [in] uint16 cbCallbackAddress, */
+/* IDL: [out] [ref] uint32 *hNotification */
/* IDL: ); */
static int
@@ -9888,12 +44230,13 @@ mapi_dissect_EcRRegisterPushNotification_response(tvbuff_t *tvb _U_, int offset
offset = mapi_dissect_element_EcRRegisterPushNotification_handle(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_retval(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_hNotification(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPISTATUS_status, &status);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
if (status != 0)
- col_append_fstr(pinfo->cinfo, COL_INFO, ", Status: %s", val_to_str(status, mapi_MAPISTATUS_vals, "Unknown MAPISTATUS error 0x%08x"));
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
@@ -9904,17 +44247,17 @@ mapi_dissect_EcRRegisterPushNotification_request(tvbuff_t *tvb _U_, int offset _
di->dcerpc_procedure_name="EcRRegisterPushNotification";
offset = mapi_dissect_element_EcRRegisterPushNotification_handle(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_ulEventMask(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_iRpc(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_notifkey(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_rgbContext(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_notif_len(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_cbContext(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_grbitMapiAdviseBits(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_sockaddr(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_rgbCallbackAddress(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRRegisterPushNotification_sockaddr_len(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRRegisterPushNotification_cbCallbackAddress(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
@@ -9922,7 +44265,7 @@ mapi_dissect_EcRRegisterPushNotification_request(tvbuff_t *tvb _U_, int offset _
static int
mapi_dissect_element_EcRUnregisterPushNotification_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRUnregisterPushNotification_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_handle);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRUnregisterPushNotification_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_mapi_EcRUnregisterPushNotification_handle);
return offset;
}
@@ -9930,32 +44273,31 @@ mapi_dissect_element_EcRUnregisterPushNotification_handle(tvbuff_t *tvb _U_, int
static int
mapi_dissect_element_EcRUnregisterPushNotification_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_handle, 0);
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRUnregisterPushNotification_handle, 0);
return offset;
}
static int
-mapi_dissect_element_EcRUnregisterPushNotification_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRUnregisterPushNotification_iRpc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- int i;
- for (i = 0; i < 2; i++)
- offset = mapi_dissect_element_EcRUnregisterPushNotification_unknown_(tvb, offset, pinfo, tree, di, drep);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRUnregisterPushNotification_iRpc, 0);
return offset;
}
static int
-mapi_dissect_element_EcRUnregisterPushNotification_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+mapi_dissect_element_EcRUnregisterPushNotification_hNotification(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_EcRUnregisterPushNotification_unknown, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRUnregisterPushNotification_hNotification, 0);
return offset;
}
-/* IDL: MAPISTATUS EcRUnregisterPushNotification( */
+/* IDL: WERROR mapi_EcRUnregisterPushNotification( */
/* IDL: [in] [out] [ref] policy_handle *handle, */
-/* IDL: [in] uint32 unknown[2] */
+/* IDL: [in] uint32 iRpc, */
+/* IDL: [in] uint32 hNotification */
/* IDL: ); */
static int
@@ -9967,9 +44309,10 @@ mapi_dissect_EcRUnregisterPushNotification_response(tvbuff_t *tvb _U_, int offse
offset = mapi_dissect_element_EcRUnregisterPushNotification_handle(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_MAPISTATUS_status, &status);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
if (status != 0)
- col_append_fstr(pinfo->cinfo, COL_INFO, ", Status: %s", val_to_str(status, mapi_MAPISTATUS_vals, "Unknown MAPISTATUS error 0x%08x"));
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
@@ -9980,19 +44323,28 @@ mapi_dissect_EcRUnregisterPushNotification_request(tvbuff_t *tvb _U_, int offset
di->dcerpc_procedure_name="EcRUnregisterPushNotification";
offset = mapi_dissect_element_EcRUnregisterPushNotification_handle(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- offset = mapi_dissect_element_EcRUnregisterPushNotification_unknown(tvb, offset, pinfo, tree, di, drep);
+ offset = mapi_dissect_element_EcRUnregisterPushNotification_iRpc(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcRUnregisterPushNotification_hNotification(tvb, offset, pinfo, tree, di, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
-/* IDL: void EcDummyRpc( */
+/* IDL: WERROR mapi_EcDummyRpc( */
/* IDL: */
/* IDL: ); */
static int
mapi_dissect_EcDummyRpc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
+ guint32 status;
+
di->dcerpc_procedure_name="EcDummyRpc";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
return offset;
}
@@ -10003,14 +44355,82 @@ mapi_dissect_EcDummyRpc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *
return offset;
}
-/* IDL: void EcRGetDCName( */
-/* IDL: */
+static int
+mapi_dissect_element_EcRGetDCName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRGetDCName_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_mapi_EcRGetDCName_handle);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRGetDCName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRGetDCName_handle, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRGetDCName_szDomainName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRGetDCName_szDomainName_, NDR_POINTER_REF, "Pointer to SzDomainName (uint8)",hf_mapi_mapi_EcRGetDCName_szDomainName);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRGetDCName_szDomainName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcRGetDCName_szDomainName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRGetDCName_rgchDomainController(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 16; i++)
+ offset = mapi_dissect_element_EcRGetDCName_rgchDomainController_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRGetDCName_rgchDomainController_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRGetDCName_rgchDomainController, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcRGetDCName( */
+/* IDL: [in] [out] [ref] policy_handle *handle, */
+/* IDL: [in] [ref] uint8 *szDomainName, */
+/* IDL: [out] uint8 rgchDomainController[16] */
/* IDL: ); */
static int
mapi_dissect_EcRGetDCName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
+ guint32 status;
+
di->dcerpc_procedure_name="EcRGetDCName";
+ offset = mapi_dissect_element_EcRGetDCName_handle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcRGetDCName_rgchDomainController(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
return offset;
}
@@ -10018,17 +44438,69 @@ static int
mapi_dissect_EcRGetDCName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
di->dcerpc_procedure_name="EcRGetDCName";
+ offset = mapi_dissect_element_EcRGetDCName_handle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcRGetDCName_szDomainName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
-/* IDL: void EcRNetGetDCName( */
-/* IDL: */
+static int
+mapi_dissect_element_EcRNetGetDCName_szDomainName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcRNetGetDCName_szDomainName_, NDR_POINTER_REF, "Pointer to SzDomainName (uint8)",hf_mapi_mapi_EcRNetGetDCName_szDomainName);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRNetGetDCName_szDomainName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcRNetGetDCName_szDomainName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRNetGetDCName_rgchDomainController(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ int i;
+ for (i = 0; i < 16; i++)
+ offset = mapi_dissect_element_EcRNetGetDCName_rgchDomainController_(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcRNetGetDCName_rgchDomainController_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcRNetGetDCName_rgchDomainController, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcRNetGetDCName( */
+/* IDL: [in] [ref] uint8 *szDomainName, */
+/* IDL: [out] uint8 rgchDomainController[16] */
/* IDL: ); */
static int
mapi_dissect_EcRNetGetDCName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
+ guint32 status;
+
di->dcerpc_procedure_name="EcRNetGetDCName";
+ offset = mapi_dissect_element_EcRNetGetDCName_rgchDomainController(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
return offset;
}
@@ -10036,17 +44508,169 @@ static int
mapi_dissect_EcRNetGetDCName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
di->dcerpc_procedure_name="EcRNetGetDCName";
+ offset = mapi_dissect_element_EcRNetGetDCName_szDomainName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
-/* IDL: void EcDoRpcExt( */
-/* IDL: */
+static int
+mapi_dissect_element_EcDoRpcExt_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_pcxh_, NDR_POINTER_REF, "Pointer to Pcxh (policy_handle)",hf_mapi_mapi_EcDoRpcExt_pcxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt_pcxh, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_pulFlags_, NDR_POINTER_REF, "Pointer to PulFlags (RpcExt2Flags)",hf_mapi_mapi_EcDoRpcExt_pulFlags);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pulFlags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_RpcExt2Flags(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt_pulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_rgbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_rgbIn_, NDR_POINTER_REF, "Pointer to RgbIn (RgbIn)",hf_mapi_mapi_EcDoRpcExt_rgbIn);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_rgbIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RgbIn(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_EcDoRpcExt_rgbIn,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_cbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt_cbIn, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_rgbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_rgbOut_, NDR_POINTER_REF, "Pointer to RgbOut (RgbOut)",hf_mapi_mapi_EcDoRpcExt_rgbOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pcbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_pcbOut_, NDR_POINTER_REF, "Pointer to PcbOut (uint32)",hf_mapi_mapi_EcDoRpcExt_pcbOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pcbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt_pcbOut, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_rgbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_rgbAuxIn_, NDR_POINTER_REF, "Pointer to RgbAuxIn (AuxInfo)",hf_mapi_mapi_EcDoRpcExt_rgbAuxIn);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_rgbAuxIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AuxInfo(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_EcDoRpcExt_rgbAuxIn,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_cbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt_cbAuxIn, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pulTransTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt_pulTransTime_, NDR_POINTER_REF, "Pointer to PulTransTime (uint32)",hf_mapi_mapi_EcDoRpcExt_pulTransTime);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt_pulTransTime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt_pulTransTime, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoRpcExt( */
+/* IDL: [in] [out] [ref] policy_handle *pcxh, */
+/* IDL: [in] [out] [ref] RpcExt2Flags *pulFlags, */
+/* IDL: [in] [ref] [represent_as(4)] RgbIn *rgbIn, */
+/* IDL: [in] uint32 cbIn, */
+/* IDL: [length_is(*pcbOut)] [out] [ref] [size_is(*pcbOut)] RgbOut *rgbOut, */
+/* IDL: [in] [out] [range(0x0,0x40000)] [ref] uint32 *pcbOut, */
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_REMAINING)] [in] [ref] [represent_as(4)] AuxInfo *rgbAuxIn, */
+/* IDL: [in] uint32 cbAuxIn, */
+/* IDL: [out] [ref] uint32 *pulTransTime */
/* IDL: ); */
static int
mapi_dissect_EcDoRpcExt_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
+ guint32 status;
+
di->dcerpc_procedure_name="EcDoRpcExt";
+ offset = mapi_dissect_element_EcDoRpcExt_pcxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt_pulFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt_rgbOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt_pcbOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt_pulTransTime(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
return offset;
}
@@ -10054,6 +44678,810 @@ static int
mapi_dissect_EcDoRpcExt_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
di->dcerpc_procedure_name="EcDoRpcExt";
+ offset = mapi_dissect_element_EcDoRpcExt_pcxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt_pulFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt_rgbIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt_cbIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt_pcbOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt_rgbAuxIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt_cbAuxIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_mapi_mapi_EcDoConnectEx_handle);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_handle, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_ulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_ulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_ulConMod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_ulConMod, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_cbLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_cbLimit, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_ulCpid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_ulCpid, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_ulLcidString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_ulLcidString, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_ulLcidSort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_ulLcidSort, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_ulIcxrLink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_ulIcxrLink, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_usFCanConvertCodePages(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_usFCanConvertCodePages, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcmsPollsMax(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_pcmsPollsMax_, NDR_POINTER_REF, "Pointer to PcmsPollsMax (uint32)",hf_mapi_mapi_EcDoConnectEx_pcmsPollsMax);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcmsPollsMax_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_pcmsPollsMax, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcRetry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_pcRetry_, NDR_POINTER_REF, "Pointer to PcRetry (uint32)",hf_mapi_mapi_EcDoConnectEx_pcRetry);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcRetry_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_pcRetry, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcmsRetryDelay(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_pcmsRetryDelay_, NDR_POINTER_REF, "Pointer to PcmsRetryDelay (uint32)",hf_mapi_mapi_EcDoConnectEx_pcmsRetryDelay);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcmsRetryDelay_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_pcmsRetryDelay, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_picxr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_picxr_, NDR_POINTER_REF, "Pointer to Picxr (uint32)",hf_mapi_mapi_EcDoConnectEx_picxr);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_picxr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_picxr, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_szDNPrefix(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_szDNPrefix_, NDR_POINTER_REF, "Pointer to SzDNPrefix (uint8)",hf_mapi_mapi_EcDoConnectEx_szDNPrefix);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_szDNPrefix_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_szDNPrefix__, NDR_POINTER_UNIQUE, "Pointer to SzDNPrefix (uint8)",hf_mapi_mapi_EcDoConnectEx_szDNPrefix);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_szDNPrefix__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcDoConnectEx_szDNPrefix, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_szDisplayName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_szDisplayName_, NDR_POINTER_REF, "Pointer to SzDisplayName (uint8)",hf_mapi_mapi_EcDoConnectEx_szDisplayName);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_szDisplayName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_szDisplayName__, NDR_POINTER_UNIQUE, "Pointer to SzDisplayName (uint8)",hf_mapi_mapi_EcDoConnectEx_szDisplayName);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_szDisplayName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint8), hf_mapi_mapi_EcDoConnectEx_szDisplayName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pulTimeStamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_pulTimeStamp_, NDR_POINTER_REF, "Pointer to PulTimeStamp (uint32)",hf_mapi_mapi_EcDoConnectEx_pulTimeStamp);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pulTimeStamp_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_pulTimeStamp, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_rgbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_rgbAuxIn_, NDR_POINTER_REF, "Pointer to RgbAuxIn (AuxInfo)",hf_mapi_mapi_EcDoConnectEx_rgbAuxIn);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_rgbAuxIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AuxInfo(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_EcDoConnectEx_rgbAuxIn,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_cbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_cbAuxIn, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_rgbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_rgbAuxOut_, NDR_POINTER_REF, "Pointer to RgbAuxOut (AuxInfoOut)",hf_mapi_mapi_EcDoConnectEx_rgbAuxOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoConnectEx_pcbAuxOut_, NDR_POINTER_REF, "Pointer to PcbAuxOut (uint32)",hf_mapi_mapi_EcDoConnectEx_pcbAuxOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoConnectEx_pcbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoConnectEx_pcbAuxOut, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoConnectEx( */
+/* IDL: [out] [ref] policy_handle *handle, */
+/* IDL: [charset(DOS)] [in] uint8 szUserDN[*], */
+/* IDL: [in] uint32 ulFlags, */
+/* IDL: [in] uint32 ulConMod, */
+/* IDL: [in] uint32 cbLimit, */
+/* IDL: [in] uint32 ulCpid, */
+/* IDL: [in] uint32 ulLcidString, */
+/* IDL: [in] uint32 ulLcidSort, */
+/* IDL: [in] uint32 ulIcxrLink, */
+/* IDL: [in] uint16 usFCanConvertCodePages, */
+/* IDL: [out] [ref] uint32 *pcmsPollsMax, */
+/* IDL: [out] [ref] uint32 *pcRetry, */
+/* IDL: [out] [ref] uint32 *pcmsRetryDelay, */
+/* IDL: [out] [ref] uint32 *picxr, */
+/* IDL: [charset(DOS)] [out] [ref] [unique(1)] uint8 **szDNPrefix, */
+/* IDL: [charset(DOS)] [out] [ref] [unique(1)] uint8 **szDisplayName, */
+/* IDL: [in] uint8 rgwClientVersion[6], */
+/* IDL: [out] uint8 rgwServerVersion[6], */
+/* IDL: [out] uint8 rgwBestVersion[6], */
+/* IDL: [in] [out] [ref] uint32 *pulTimeStamp, */
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_REMAINING)] [in] [ref] [represent_as(4)] AuxInfo *rgbAuxIn, */
+/* IDL: [in] uint32 cbAuxIn, */
+/* IDL: [length_is(0)] [out] [ref] [size_is(*pcbAuxOut)] AuxInfoOut *rgbAuxOut, */
+/* IDL: [in] [out] [range(0,0x1008)] [ref] uint32 *pcbAuxOut */
+/* IDL: ); */
+
+static int
+mapi_dissect_EcDoConnectEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="EcDoConnectEx";
+ offset = mapi_dissect_element_EcDoConnectEx_handle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_pcmsPollsMax(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_pcRetry(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_pcmsRetryDelay(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_picxr(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_szDNPrefix(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_szDisplayName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_rgwServerVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_rgwBestVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_pulTimeStamp(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_rgbAuxOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoConnectEx_pcbAuxOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+mapi_dissect_EcDoConnectEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="EcDoConnectEx";
+ offset = mapi_dissect_element_EcDoConnectEx_szUserDN(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_ulFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_ulConMod(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_cbLimit(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_ulCpid(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_ulLcidString(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_ulLcidSort(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_ulIcxrLink(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_usFCanConvertCodePages(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_rgwClientVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_pulTimeStamp(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_rgbAuxIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_cbAuxIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoConnectEx_pcbAuxOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pcxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_pcxh_, NDR_POINTER_REF, "Pointer to Pcxh (policy_handle)",hf_mapi_mapi_EcDoRpcExt2_pcxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pcxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_pcxh, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pulFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_pulFlags_, NDR_POINTER_REF, "Pointer to PulFlags (RpcExt2Flags)",hf_mapi_mapi_EcDoRpcExt2_pulFlags);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pulFlags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_bitmap_RpcExt2Flags(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_pulFlags, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_rgbIn_, NDR_POINTER_REF, "Pointer to RgbIn (RgbIn)",hf_mapi_mapi_EcDoRpcExt2_rgbIn);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_RgbIn(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_EcDoRpcExt2_rgbIn,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_cbIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_cbIn, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_rgbOut_, NDR_POINTER_REF, "Pointer to RgbOut (RgbOut)",hf_mapi_mapi_EcDoRpcExt2_rgbOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pcbOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_pcbOut_, NDR_POINTER_REF, "Pointer to PcbOut (uint32)",hf_mapi_mapi_EcDoRpcExt2_pcbOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pcbOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_pcbOut, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_rgbAuxIn_, NDR_POINTER_REF, "Pointer to RgbAuxIn (AuxInfo)",hf_mapi_mapi_EcDoRpcExt2_rgbAuxIn);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbAuxIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = mapi_dissect_struct_AuxInfo(tvb,offset,pinfo,tree,di,drep,hf_mapi_mapi_EcDoRpcExt2_rgbAuxIn,0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_cbAuxIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_cbAuxIn, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_rgbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_rgbAuxOut_, NDR_POINTER_REF, "Pointer to RgbAuxOut (AuxInfoOut)",hf_mapi_mapi_EcDoRpcExt2_rgbAuxOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pcbAuxOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_pcbAuxOut_, NDR_POINTER_REF, "Pointer to PcbAuxOut (uint32)",hf_mapi_mapi_EcDoRpcExt2_pcbAuxOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pcbAuxOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_pcbAuxOut, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pulTransTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoRpcExt2_pulTransTime_, NDR_POINTER_REF, "Pointer to PulTransTime (uint32)",hf_mapi_mapi_EcDoRpcExt2_pulTransTime);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoRpcExt2_pulTransTime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoRpcExt2_pulTransTime, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoRpcExt2( */
+/* IDL: [in] [out] [ref] policy_handle *pcxh, */
+/* IDL: [in] [out] [ref] RpcExt2Flags *pulFlags, */
+/* IDL: [in] [ref] [represent_as(4)] RgbIn *rgbIn, */
+/* IDL: [in] uint32 cbIn, */
+/* IDL: [length_is(*pcbOut)] [out] [ref] [size_is(*pcbOut)] RgbOut *rgbOut, */
+/* IDL: [in] [out] [range(0x0,0x40000)] [ref] uint32 *pcbOut, */
+/* IDL: [flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_REMAINING)] [in] [ref] [represent_as(4)] AuxInfo *rgbAuxIn, */
+/* IDL: [in] uint32 cbAuxIn, */
+/* IDL: [length_is(0)] [out] [ref] [size_is(*pcbAuxOut)] AuxInfoOut *rgbAuxOut, */
+/* IDL: [in] [out] [range(0x0,0x1008)] [ref] uint32 *pcbAuxOut, */
+/* IDL: [out] [ref] uint32 *pulTransTime */
+/* IDL: ); */
+
+static int
+mapi_dissect_EcDoRpcExt2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="EcDoRpcExt2";
+ offset = mapi_dissect_element_EcDoRpcExt2_pcxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt2_pulFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt2_rgbOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt2_pcbOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt2_rgbAuxOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt2_pcbAuxOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = mapi_dissect_element_EcDoRpcExt2_pulTransTime(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+mapi_dissect_EcDoRpcExt2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="EcDoRpcExt2";
+ offset = mapi_dissect_element_EcDoRpcExt2_pcxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_pulFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_rgbIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_cbIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_pcbOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_rgbAuxIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_cbAuxIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoRpcExt2_pcbAuxOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnect_cxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoAsyncConnect_cxh_, NDR_POINTER_REF, "Pointer to Cxh (policy_handle)",hf_mapi_mapi_EcDoAsyncConnect_cxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnect_cxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncConnect_cxh, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnect_pacxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoAsyncConnect_pacxh_, NDR_POINTER_REF, "Pointer to Pacxh (policy_handle)",hf_mapi_mapi_EcDoAsyncConnect_pacxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnect_pacxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncConnect_pacxh, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoAsyncConnect( */
+/* IDL: [in] [ref] policy_handle *cxh, */
+/* IDL: [out] [ref] policy_handle *pacxh */
+/* IDL: ); */
+
+static int
+mapi_dissect_EcDoAsyncConnect_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="EcDoAsyncConnect";
+ offset = mapi_dissect_element_EcDoAsyncConnect_pacxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+mapi_dissect_EcDoAsyncConnect_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="EcDoAsyncConnect";
+ offset = mapi_dissect_element_EcDoAsyncConnect_cxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncWait_cxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoAsyncWait_cxh_, NDR_POINTER_REF, "Pointer to Cxh (policy_handle)",hf_mapi_mapi_EcDoAsyncWait_cxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncWait_cxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncWait_cxh, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncWait_ulFlagsIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncWait_ulFlagsIn, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncWait_pulFlagsOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoAsyncWait_pulFlagsOut_, NDR_POINTER_REF, "Pointer to PulFlagsOut (int32)",hf_mapi_mapi_EcDoAsyncWait_pulFlagsOut);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncWait_pulFlagsOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncWait_pulFlagsOut, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoAsyncWait( */
+/* IDL: [in] [ref] policy_handle *cxh, */
+/* IDL: [in] int32 ulFlagsIn, */
+/* IDL: [out] [ref] int32 *pulFlagsOut */
+/* IDL: ); */
+
+static int
+mapi_dissect_EcDoAsyncWait_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="EcDoAsyncWait";
+ offset = mapi_dissect_element_EcDoAsyncWait_pulFlagsOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+mapi_dissect_EcDoAsyncWait_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="EcDoAsyncWait";
+ offset = mapi_dissect_element_EcDoAsyncWait_cxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = mapi_dissect_element_EcDoAsyncWait_ulFlagsIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnectEx_cxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoAsyncConnectEx_cxh_, NDR_POINTER_REF, "Pointer to Cxh (policy_handle)",hf_mapi_mapi_EcDoAsyncConnectEx_cxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnectEx_cxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncConnectEx_cxh, 0);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnectEx_pacxh(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, mapi_dissect_element_EcDoAsyncConnectEx_pacxh_, NDR_POINTER_REF, "Pointer to Pacxh (policy_handle)",hf_mapi_mapi_EcDoAsyncConnectEx_pacxh);
+
+ return offset;
+}
+
+static int
+mapi_dissect_element_EcDoAsyncConnectEx_pacxh_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_mapi_mapi_EcDoAsyncConnectEx_pacxh, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR mapi_EcDoAsyncConnectEx( */
+/* IDL: [in] [ref] policy_handle *cxh, */
+/* IDL: [out] [ref] policy_handle *pacxh */
+/* IDL: ); */
+
+static int
+mapi_dissect_EcDoAsyncConnectEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="EcDoAsyncConnectEx";
+ offset = mapi_dissect_element_EcDoAsyncConnectEx_pacxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_mapi_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+mapi_dissect_EcDoAsyncConnectEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="EcDoAsyncConnectEx";
+ offset = mapi_dissect_element_EcDoAsyncConnectEx_cxh(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
@@ -10079,272 +45507,3359 @@ static dcerpc_sub_dissector mapi_dissectors[] = {
mapi_dissect_EcRNetGetDCName_request, mapi_dissect_EcRNetGetDCName_response},
{ 9, "EcDoRpcExt",
mapi_dissect_EcDoRpcExt_request, mapi_dissect_EcDoRpcExt_response},
+ { 10, "EcDoConnectEx",
+ mapi_dissect_EcDoConnectEx_request, mapi_dissect_EcDoConnectEx_response},
+ { 11, "EcDoRpcExt2",
+ mapi_dissect_EcDoRpcExt2_request, mapi_dissect_EcDoRpcExt2_response},
+ { 12, "EcDoAsyncConnect",
+ mapi_dissect_EcDoAsyncConnect_request, mapi_dissect_EcDoAsyncConnect_response},
+ { 13, "EcDoAsyncWait",
+ mapi_dissect_EcDoAsyncWait_request, mapi_dissect_EcDoAsyncWait_response},
+ { 14, "EcDoAsyncConnectEx",
+ mapi_dissect_EcDoAsyncConnectEx_request, mapi_dissect_EcDoAsyncConnectEx_response},
{ 0, NULL, NULL, NULL }
};
void proto_register_dcerpc_mapi(void)
{
static hf_register_info hf[] = {
+ { &hf_mapi_AUX_CLIENT_CONTROL_EnableFlags,
+ { "EnableFlags", "mapi.AUX_CLIENT_CONTROL.EnableFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_CLIENT_CONTROL_ExpiryTime,
+ { "ExpiryTime", "mapi.AUX_CLIENT_CONTROL.ExpiryTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_DATA_Version1,
+ { "Version1", "mapi.AUX_DATA.Version1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_DATA_Version2,
+ { "Version2", "mapi.AUX_DATA.Version2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_EXORGINFO_OrgFlags,
+ { "OrgFlags", "mapi.AUX_EXORGINFO.OrgFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_HEADER_AuxData,
+ { "AuxData", "mapi.AUX_HEADER.AuxData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_HEADER_Size,
+ { "Size", "mapi.AUX_HEADER.Size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_HEADER_TYPE_ENUM_Type,
+ { "Type", "mapi.AUX_HEADER_TYPE_ENUM.Type", FT_UINT8, BASE_DEC, VALS(mapi_AUX_HEADER_TYPE_1_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_HEADER_TYPE_ENUM_Type_2,
+ { "Type 2", "mapi.AUX_HEADER_TYPE_ENUM.Type_2", FT_UINT8, BASE_DEC, VALS(mapi_AUX_HEADER_TYPE_2_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_HEADER_Version,
+ { "Version", "mapi.AUX_HEADER.Version", FT_UINT8, BASE_DEC, VALS(mapi_AUX_VERSION_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_HEADER_hdrType,
+ { "HdrType", "mapi.AUX_HEADER.hdrType", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_BuildNumber,
+ { "BuildNumber", "mapi.AUX_OSVERSIONINFO.BuildNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_MajorVersion,
+ { "MajorVersion", "mapi.AUX_OSVERSIONINFO.MajorVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_MinorVersion,
+ { "MinorVersion", "mapi.AUX_OSVERSIONINFO.MinorVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_OSVersionInfoSize,
+ { "OSVersionInfoSize", "mapi.AUX_OSVERSIONINFO.OSVersionInfoSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_Reserved_1,
+ { "Reserved 1", "mapi.AUX_OSVERSIONINFO.Reserved_1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_Reserved_2,
+ { "Reserved 2", "mapi.AUX_OSVERSIONINFO.Reserved_2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_ServicePackMajor,
+ { "ServicePackMajor", "mapi.AUX_OSVERSIONINFO.ServicePackMajor", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_OSVERSIONINFO_ServicePackMinor,
+ { "ServicePackMinor", "mapi.AUX_OSVERSIONINFO.ServicePackMinor", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_AdapterName,
+ { "AdapterName", "mapi.AUX_PERF_CLIENTINFO.AdapterName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_AdapterNameOffset,
+ { "AdapterNameOffset", "mapi.AUX_PERF_CLIENTINFO.AdapterNameOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_AdapterSpeed,
+ { "AdapterSpeed", "mapi.AUX_PERF_CLIENTINFO.AdapterSpeed", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientID,
+ { "ClientID", "mapi.AUX_PERF_CLIENTINFO.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMask,
+ { "ClientIPMask", "mapi.AUX_PERF_CLIENTINFO.ClientIPMask", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMaskOffset,
+ { "ClientIPMaskOffset", "mapi.AUX_PERF_CLIENTINFO.ClientIPMaskOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPMaskSize,
+ { "ClientIPMaskSize", "mapi.AUX_PERF_CLIENTINFO.ClientIPMaskSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPOffset,
+ { "ClientIPOffset", "mapi.AUX_PERF_CLIENTINFO.ClientIPOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPSize,
+ { "ClientIPSize", "mapi.AUX_PERF_CLIENTINFO.ClientIPSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPV4,
+ { "ClientIP", "mapi.AUX_PERF_CLIENTINFO.ClientIP", FT_IPv4, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientIPV6,
+ { "ClientIPV6", "mapi.AUX_PERF_CLIENTINFO.ClientIPV6", FT_IPv6, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_ClientMode,
+ { "ClientMode", "mapi.AUX_PERF_CLIENTINFO.ClientMode", FT_UINT16, BASE_DEC, VALS(mapi_ClientMode_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_MacAddressEther,
+ { "MacAddress", "mapi.AUX_PERF_CLIENTINFO.MacAddress", FT_ETHER, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_MacAddressOffset,
+ { "MacAddressOffset", "mapi.AUX_PERF_CLIENTINFO.MacAddressOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_MacAddressSize,
+ { "MacAddressSize", "mapi.AUX_PERF_CLIENTINFO.MacAddressSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_MachineName,
+ { "MachineName", "mapi.AUX_PERF_CLIENTINFO.MachineName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_MachineNameOffset,
+ { "MachineNameOffset", "mapi.AUX_PERF_CLIENTINFO.MachineNameOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_Reserved,
+ { "Reserved", "mapi.AUX_PERF_CLIENTINFO.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_UserName,
+ { "UserName", "mapi.AUX_PERF_CLIENTINFO.UserName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_CLIENTINFO_UserNameOffset,
+ { "UserNameOffset", "mapi.AUX_PERF_CLIENTINFO.UserNameOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFGC_SUCCESS_RequestOperation,
+ { "RequestOperation", "mapi.AUX_PERF_DEFGC_SUCCESS.RequestOperation", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFGC_SUCCESS_Reserved,
+ { "Reserved", "mapi.AUX_PERF_DEFGC_SUCCESS.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFGC_SUCCESS_ServerID,
+ { "ServerID", "mapi.AUX_PERF_DEFGC_SUCCESS.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFGC_SUCCESS_SessionID,
+ { "SessionID", "mapi.AUX_PERF_DEFGC_SUCCESS.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFGC_SUCCESS_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_DEFGC_SUCCESS.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFGC_SUCCESS_TimeToCompleteRequest,
+ { "TimeToCompleteRequest", "mapi.AUX_PERF_DEFGC_SUCCESS.TimeToCompleteRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFMDB_SUCCESS_RequestID,
+ { "RequestID", "mapi.AUX_PERF_DEFMDB_SUCCESS.RequestID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFMDB_SUCCESS_Reserved,
+ { "Reserved", "mapi.AUX_PERF_DEFMDB_SUCCESS.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFMDB_SUCCESS_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_DEFMDB_SUCCESS.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_DEFMDB_SUCCESS_TimeToCompleteRequest,
+ { "TimeToCompleteRequest", "mapi.AUX_PERF_DEFMDB_SUCCESS.TimeToCompleteRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_ClientID,
+ { "ClientID", "mapi.AUX_PERF_FAILURE.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_RequestID,
+ { "RequestID", "mapi.AUX_PERF_FAILURE.RequestID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_RequestOperation,
+ { "RequestOperation", "mapi.AUX_PERF_FAILURE.RequestOperation", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_Reserved,
+ { "Reserved", "mapi.AUX_PERF_FAILURE.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_ResultCode,
+ { "ResultCode", "mapi.AUX_PERF_FAILURE.ResultCode", FT_UINT32, BASE_DEC, VALS(mapi_MAPISTATUS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_ServerID,
+ { "ServerID", "mapi.AUX_PERF_FAILURE.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_SessionID,
+ { "SessionID", "mapi.AUX_PERF_FAILURE.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_FAILURE.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_TimeToFailRequest,
+ { "TimeToFailRequest", "mapi.AUX_PERF_FAILURE.TimeToFailRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_ClientID,
+ { "ClientID", "mapi.AUX_PERF_FAILURE_V2.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_ProcessID,
+ { "ProcessID", "mapi.AUX_PERF_FAILURE_V2.ProcessID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_RequestID,
+ { "RequestID", "mapi.AUX_PERF_FAILURE_V2.RequestID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_RequestOperation,
+ { "RequestOperation", "mapi.AUX_PERF_FAILURE_V2.RequestOperation", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_Reserved_1,
+ { "Reserved 1", "mapi.AUX_PERF_FAILURE_V2.Reserved_1", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_Reserved_2,
+ { "Reserved 2", "mapi.AUX_PERF_FAILURE_V2.Reserved_2", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_ResultCode,
+ { "ResultCode", "mapi.AUX_PERF_FAILURE_V2.ResultCode", FT_UINT32, BASE_DEC, VALS(mapi_MAPISTATUS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_ServerID,
+ { "ServerID", "mapi.AUX_PERF_FAILURE_V2.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_SessionID,
+ { "SessionID", "mapi.AUX_PERF_FAILURE_V2.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_FAILURE_V2.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_FAILURE_V2_TimeToFailRequest,
+ { "TimeToFailRequest", "mapi.AUX_PERF_FAILURE_V2.TimeToFailRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_ClientID,
+ { "ClientID", "mapi.AUX_PERF_GC_SUCCESS.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_RequestOperation,
+ { "RequestOperation", "mapi.AUX_PERF_GC_SUCCESS.RequestOperation", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_Reserved_1,
+ { "Reserved 1", "mapi.AUX_PERF_GC_SUCCESS.Reserved_1", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_Reserved_2,
+ { "Reserved 2", "mapi.AUX_PERF_GC_SUCCESS.Reserved_2", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_ServerID,
+ { "ServerID", "mapi.AUX_PERF_GC_SUCCESS.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_SessionID,
+ { "SessionID", "mapi.AUX_PERF_GC_SUCCESS.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_GC_SUCCESS.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_TimeToCompleteRequest,
+ { "TimeToCompleteRequest", "mapi.AUX_PERF_GC_SUCCESS.TimeToCompleteRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_ClientID,
+ { "ClientID", "mapi.AUX_PERF_GC_SUCCESS_V2.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_ProcessID,
+ { "ProcessID", "mapi.AUX_PERF_GC_SUCCESS_V2.ProcessID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_RequestOperation,
+ { "RequestOperation", "mapi.AUX_PERF_GC_SUCCESS_V2.RequestOperation", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_Reserved,
+ { "Reserved", "mapi.AUX_PERF_GC_SUCCESS_V2.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_ServerID,
+ { "ServerID", "mapi.AUX_PERF_GC_SUCCESS_V2.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_SessionID,
+ { "SessionID", "mapi.AUX_PERF_GC_SUCCESS_V2.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_GC_SUCCESS_V2.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_GC_SUCCESS_V2_TimeToCompleteRequest,
+ { "TimeToCompleteRequest", "mapi.AUX_PERF_GC_SUCCESS_V2.TimeToCompleteRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_ClientID,
+ { "ClientID", "mapi.AUX_PERF_MDB_SUCCESS.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_RequestID,
+ { "RequestID", "mapi.AUX_PERF_MDB_SUCCESS.RequestID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_ServerID,
+ { "ServerID", "mapi.AUX_PERF_MDB_SUCCESS.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_SessionID,
+ { "SessionID", "mapi.AUX_PERF_MDB_SUCCESS.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_MDB_SUCCESS.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_TimeToCompleteRequest,
+ { "TimeToCompleteRequest", "mapi.AUX_PERF_MDB_SUCCESS.TimeToCompleteRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ClientID,
+ { "ClientID", "mapi.AUX_PERF_MDB_SUCCESS_V2.ClientID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ProcessID,
+ { "ProcessID", "mapi.AUX_PERF_MDB_SUCCESS_V2.ProcessID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_RequestID,
+ { "RequestID", "mapi.AUX_PERF_MDB_SUCCESS_V2.RequestID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_Reserved,
+ { "Reserved", "mapi.AUX_PERF_MDB_SUCCESS_V2.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_ServerID,
+ { "ServerID", "mapi.AUX_PERF_MDB_SUCCESS_V2.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_SessionID,
+ { "SessionID", "mapi.AUX_PERF_MDB_SUCCESS_V2.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_TimeSinceRequest,
+ { "TimeSinceRequest", "mapi.AUX_PERF_MDB_SUCCESS_V2.TimeSinceRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_MDB_SUCCESS_V2_TimeToCompleteRequest,
+ { "TimeToCompleteRequest", "mapi.AUX_PERF_MDB_SUCCESS_V2.TimeToCompleteRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_PROCESSINFO_ProcessGuid,
+ { "ProcessGuid", "mapi.AUX_PERF_PROCESSINFO.ProcessGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_PROCESSINFO_ProcessID,
+ { "ProcessID", "mapi.AUX_PERF_PROCESSINFO.ProcessID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_PROCESSINFO_ProcessName,
+ { "ProcessName", "mapi.AUX_PERF_PROCESSINFO.ProcessName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_PROCESSINFO_ProcessNameOffset,
+ { "ProcessNameOffset", "mapi.AUX_PERF_PROCESSINFO.ProcessNameOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_PROCESSINFO_Reserved1,
+ { "Reserved1", "mapi.AUX_PERF_PROCESSINFO.Reserved1", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_PROCESSINFO_Reserved2,
+ { "Reserved2", "mapi.AUX_PERF_PROCESSINFO.Reserved2", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_REQUESTID_RequestID,
+ { "RequestID", "mapi.AUX_PERF_REQUESTID.RequestID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_REQUESTID_SessionID,
+ { "SessionID", "mapi.AUX_PERF_REQUESTID.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SERVERINFO_ServerDN,
+ { "ServerDN", "mapi.AUX_PERF_SERVERINFO.ServerDN", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SERVERINFO_ServerDNOffset,
+ { "ServerDNOffset", "mapi.AUX_PERF_SERVERINFO.ServerDNOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SERVERINFO_ServerID,
+ { "ServerID", "mapi.AUX_PERF_SERVERINFO.ServerID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SERVERINFO_ServerName,
+ { "ServerName", "mapi.AUX_PERF_SERVERINFO.ServerName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SERVERINFO_ServerNameOffset,
+ { "ServerNameOffset", "mapi.AUX_PERF_SERVERINFO.ServerNameOffset", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SERVERINFO_ServerType,
+ { "ServerType", "mapi.AUX_PERF_SERVERINFO.ServerType", FT_UINT16, BASE_DEC, VALS(mapi_SERVERINFO_ServerType_vals), 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_Reserved,
+ { "Reserved", "mapi.AUX_PERF_SESSIONINFO.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_SessionGuid,
+ { "SessionGuid", "mapi.AUX_PERF_SESSIONINFO.SessionGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_SessionID,
+ { "SessionID", "mapi.AUX_PERF_SESSIONINFO.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_V2_ConnectionID,
+ { "ConnectionID", "mapi.AUX_PERF_SESSIONINFO_V2.ConnectionID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_V2_Reserved,
+ { "Reserved", "mapi.AUX_PERF_SESSIONINFO_V2.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_V2_SessionGuid,
+ { "SessionGuid", "mapi.AUX_PERF_SESSIONINFO_V2.SessionGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AUX_PERF_SESSIONINFO_V2_SessionID,
+ { "SessionID", "mapi.AUX_PERF_SESSIONINFO_V2.SessionID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AbortSubmit_req_FolderId,
+ { "FolderId", "mapi.AbortSubmit_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AbortSubmit_req_MessageId,
+ { "MessageId", "mapi.AbortSubmit_req.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Abort_repl_TableStatus,
+ { "TableStatus", "mapi.Abort_repl.TableStatus", FT_UINT8, BASE_DEC, VALS(mapi_TableStatus_vals), 0, NULL, HFILL }},
+ { &hf_mapi_ActionBlockData_ActionDataBuffer,
+ { "ActionDataBuffer", "mapi.ActionBlockData.ActionDataBuffer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionBlockData_ActionFlags,
+ { "ActionFlags", "mapi.ActionBlockData.ActionFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionBlockData_ActionFlavor,
+ { "ActionFlavor", "mapi.ActionBlockData.ActionFlavor", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionBlockData_ActionType,
+ { "ActionType", "mapi.ActionBlockData.ActionType", FT_UINT8, BASE_DEC, VALS(mapi_ActionType_vals), 0, NULL, HFILL }},
+ { &hf_mapi_ActionBlock_ActionBlockData,
+ { "ActionBlockData", "mapi.ActionBlock.ActionBlockData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_BounceCode,
+ { "BounceCode", "mapi.ActionData.BounceCode", FT_UINT1632, BASE_DEC, VALS(mapi_BounceCode_vals), 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_CopyAction,
+ { "CopyAction", "mapi.ActionData.CopyAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_DeferAction,
+ { "DeferAction", "mapi.ActionData.DeferAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_DelegateAction,
+ { "DelegateAction", "mapi.ActionData.DelegateAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_ForwardAction,
+ { "ForwardAction", "mapi.ActionData.ForwardAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_MoveAction,
+ { "MoveAction", "mapi.ActionData.MoveAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_PropValue,
+ { "PropValue", "mapi.ActionData.PropValue", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_ReplyAction,
+ { "ReplyAction", "mapi.ActionData.ReplyAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ActionData_ReplyOOFAction,
+ { "ReplyOOFAction", "mapi.ActionData.ReplyOOFAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AddressTypes_repl_cValues,
+ { "CValues", "mapi.AddressTypes_repl.cValues", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AddressTypes_repl_size,
+ { "Size", "mapi.AddressTypes_repl.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AddressTypes_repl_transport,
+ { "Transport", "mapi.AddressTypes_repl.transport", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryClientControl,
+ { "AuxiliaryClientControl", "mapi.AuxDataVersion1.AuxiliaryClientControl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryEXOrgInfo,
+ { "AuxiliaryEXOrgInfo", "mapi.AuxDataVersion1.AuxiliaryEXOrgInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryOSVersionInfo,
+ { "AuxiliaryOSVersionInfo", "mapi.AuxDataVersion1.AuxiliaryOSVersionInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerFGGCSuccess,
+ { "AuxiliaryPerFGGCSuccess", "mapi.AuxDataVersion1.AuxiliaryPerFGGCSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfBgDefgcSuccess,
+ { "AuxiliaryPerfBgDefgcSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfBgDefgcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfBgDefmdbSuccess,
+ { "AuxiliaryPerfBgDefmdbSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfBgDefmdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfBgFailure,
+ { "AuxiliaryPerfBgFailure", "mapi.AuxDataVersion1.AuxiliaryPerfBgFailure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfBgGcSuccess,
+ { "AuxiliaryPerfBgGcSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfBgGcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfBgMdbSuccess,
+ { "AuxiliaryPerfBgMdbSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfBgMdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfClientInfo,
+ { "AuxiliaryPerfClientInfo", "mapi.AuxDataVersion1.AuxiliaryPerfClientInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfDefgcSuccess,
+ { "AuxiliaryPerfDefgcSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfDefgcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfDefmdbSuccess,
+ { "AuxiliaryPerfDefmdbSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfDefmdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfFailure,
+ { "AuxiliaryPerfFailure", "mapi.AuxDataVersion1.AuxiliaryPerfFailure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfFgDefgcSuccess,
+ { "AuxiliaryPerfFgDefgcSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfFgDefgcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfFgDefmdbSuccess,
+ { "AuxiliaryPerfFgDefmdbSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfFgDefmdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfFgFailure,
+ { "AuxiliaryPerfFgFailure", "mapi.AuxDataVersion1.AuxiliaryPerfFgFailure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfFgMdbSuccess,
+ { "AuxiliaryPerfFgMdbSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfFgMdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfGcSuccess,
+ { "AuxiliaryPerfGcSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfGcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfMdbSuccess,
+ { "AuxiliaryPerfMdbSuccess", "mapi.AuxDataVersion1.AuxiliaryPerfMdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfProcessInfo,
+ { "AuxiliaryPerfProcessInfo", "mapi.AuxDataVersion1.AuxiliaryPerfProcessInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfRequestId,
+ { "AuxiliaryPerfRequestId", "mapi.AuxDataVersion1.AuxiliaryPerfRequestId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfServerInfo,
+ { "AuxiliaryPerfServerInfo", "mapi.AuxDataVersion1.AuxiliaryPerfServerInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_AuxiliaryPerfSessionInfo,
+ { "AuxiliaryPerfSessionInfo", "mapi.AuxDataVersion1.AuxiliaryPerfSessionInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion1_Payload,
+ { "Payload", "mapi.AuxDataVersion1.Payload", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryEXOrgInfo,
+ { "AuxiliaryEXOrgInfo", "mapi.AuxDataVersion2.AuxiliaryEXOrgInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryOSVersionInfo,
+ { "AuxiliaryOSVersionInfo", "mapi.AuxDataVersion2.AuxiliaryOSVersionInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerFGGCSuccess,
+ { "AuxiliaryPerFGGCSuccess", "mapi.AuxDataVersion2.AuxiliaryPerFGGCSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerf,
+ { "AuxiliaryPerf", "mapi.AuxDataVersion2.AuxiliaryPerf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfBgDefgcSuccess,
+ { "AuxiliaryPerfBgDefgcSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfBgDefgcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfBgDefmdbSuccess,
+ { "AuxiliaryPerfBgDefmdbSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfBgDefmdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfBgFailure,
+ { "AuxiliaryPerfBgFailure", "mapi.AuxDataVersion2.AuxiliaryPerfBgFailure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfBgGcSuccess,
+ { "AuxiliaryPerfBgGcSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfBgGcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfBgMdbSuccess,
+ { "AuxiliaryPerfBgMdbSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfBgMdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfClientInfo,
+ { "AuxiliaryPerfClientInfo", "mapi.AuxDataVersion2.AuxiliaryPerfClientInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfDefgcSuccess,
+ { "AuxiliaryPerfDefgcSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfDefgcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfDefmdbSuccess,
+ { "AuxiliaryPerfDefmdbSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfDefmdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfFailure,
+ { "AuxiliaryPerfFailure", "mapi.AuxDataVersion2.AuxiliaryPerfFailure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfFgDefgcSuccess,
+ { "AuxiliaryPerfFgDefgcSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfFgDefgcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfFgDefmdbSuccess,
+ { "AuxiliaryPerfFgDefmdbSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfFgDefmdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfFgFailure,
+ { "AuxiliaryPerfFgFailure", "mapi.AuxDataVersion2.AuxiliaryPerfFgFailure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfFgMdbSuccess,
+ { "AuxiliaryPerfFgMdbSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfFgMdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfGcSuccess,
+ { "AuxiliaryPerfGcSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfGcSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfMdbSuccess,
+ { "AuxiliaryPerfMdbSuccess", "mapi.AuxDataVersion2.AuxiliaryPerfMdbSuccess", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfProcessInfo,
+ { "AuxiliaryPerfProcessInfo", "mapi.AuxDataVersion2.AuxiliaryPerfProcessInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfRequestId,
+ { "AuxiliaryPerfRequestId", "mapi.AuxDataVersion2.AuxiliaryPerfRequestId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfServerInfo,
+ { "AuxiliaryPerfServerInfo", "mapi.AuxDataVersion2.AuxiliaryPerfServerInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_AuxiliaryPerfSessioninfo,
+ { "AuxiliaryPerfSessioninfo", "mapi.AuxDataVersion2.AuxiliaryPerfSessioninfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxDataVersion2_Payload,
+ { "Payload", "mapi.AuxDataVersion2.Payload", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxInfoOut_RpcHeaderExtension,
+ { "RpcHeaderExtension", "mapi.AuxInfoOut.RpcHeaderExtension", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxInfoOut_auxHeader,
+ { "AuxHeader", "mapi.AuxInfoOut.auxHeader", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxInfo_RpcHeaderExtension,
+ { "RpcHeaderExtension", "mapi.AuxInfo.RpcHeaderExtension", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxInfo_auxHeader,
+ { "AuxHeader", "mapi.AuxInfo.auxHeader", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_AuxInfo_auxInSize,
+ { "AuxInSize", "mapi.AuxInfo.auxInSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_BinaryArray_r_cValues,
+ { "CValues", "mapi.BinaryArray_r.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_BinaryArray_r_lpbin,
+ { "Lpbin", "mapi.BinaryArray_r.lpbin", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Binary_r_cb,
+ { "Cb", "mapi.Binary_r.cb", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Binary_r_lpb,
+ { "Lpb", "mapi.Binary_r.lpb", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_COMPRESSION,
+ { "ENABLE COMPRESSION", "mapi.CLIENT_CONTROL_EnableFlags.ENABLE_COMPRESSION", FT_BOOLEAN, 32, TFS(&CLIENT_CONTROL_EnableFlags_ENABLE_COMPRESSION_tfs), ( 0x00000004 ), NULL, HFILL }},
+ { &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_HTTP_TUNNELING,
+ { "ENABLE HTTP TUNNELING", "mapi.CLIENT_CONTROL_EnableFlags.ENABLE_HTTP_TUNNELING", FT_BOOLEAN, 32, TFS(&CLIENT_CONTROL_EnableFlags_ENABLE_HTTP_TUNNELING_tfs), ( 0x00000008 ), NULL, HFILL }},
+ { &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDGCDATA,
+ { "ENABLE PERF SENDGCDATA", "mapi.CLIENT_CONTROL_EnableFlags.ENABLE_PERF_SENDGCDATA", FT_BOOLEAN, 32, TFS(&CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDGCDATA_tfs), ( 0x00000010 ), NULL, HFILL }},
+ { &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOMAILBOX,
+ { "ENABLE PERF SENDTOMAILBOX", "mapi.CLIENT_CONTROL_EnableFlags.ENABLE_PERF_SENDTOMAILBOX", FT_BOOLEAN, 32, TFS(&CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOMAILBOX_tfs), ( 0x00000002 ), NULL, HFILL }},
+ { &hf_mapi_CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOSERVER,
+ { "ENABLE PERF SENDTOSERVER", "mapi.CLIENT_CONTROL_EnableFlags.ENABLE_PERF_SENDTOSERVER", FT_BOOLEAN, 32, TFS(&CLIENT_CONTROL_EnableFlags_ENABLE_PERF_SENDTOSERVER_tfs), ( 0x00000001 ), NULL, HFILL }},
+ { &hf_mapi_CollapseRow_repl_CollapsedRowCount,
+ { "CollapsedRowCount", "mapi.CollapseRow_repl.CollapsedRowCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CollapseRow_req_CategoryId,
+ { "CategoryId", "mapi.CollapseRow_req.CategoryId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_Columns,
+ { "Columns", "mapi.ContentsRowAddedNotification.Columns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_FID,
+ { "FID", "mapi.ContentsRowAddedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_InsertAfterFID,
+ { "InsertAfterFID", "mapi.ContentsRowAddedNotification.InsertAfterFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_InsertAfterInstance,
+ { "InsertAfterInstance", "mapi.ContentsRowAddedNotification.InsertAfterInstance", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_InsertAfterMID,
+ { "InsertAfterMID", "mapi.ContentsRowAddedNotification.InsertAfterMID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_Instance,
+ { "Instance", "mapi.ContentsRowAddedNotification.Instance", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowAddedNotification_MID,
+ { "MID", "mapi.ContentsRowAddedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowDeletedNotification_FID,
+ { "FID", "mapi.ContentsRowDeletedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowDeletedNotification_Instance,
+ { "Instance", "mapi.ContentsRowDeletedNotification.Instance", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowDeletedNotification_MID,
+ { "MID", "mapi.ContentsRowDeletedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_Columns,
+ { "Columns", "mapi.ContentsRowModifiedNotification.Columns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_FID,
+ { "FID", "mapi.ContentsRowModifiedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_InsertAfterFID,
+ { "InsertAfterFID", "mapi.ContentsRowModifiedNotification.InsertAfterFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_InsertAfterInstance,
+ { "InsertAfterInstance", "mapi.ContentsRowModifiedNotification.InsertAfterInstance", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_InsertAfterMID,
+ { "InsertAfterMID", "mapi.ContentsRowModifiedNotification.InsertAfterMID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_Instance,
+ { "Instance", "mapi.ContentsRowModifiedNotification.Instance", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsRowModifiedNotification_MID,
+ { "MID", "mapi.ContentsRowModifiedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsTableChangeUnion_ContentsRowAddedNotification,
+ { "ContentsRowAddedNotification", "mapi.ContentsTableChangeUnion.ContentsRowAddedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsTableChangeUnion_ContentsRowDeletedNotification,
+ { "ContentsRowDeletedNotification", "mapi.ContentsTableChangeUnion.ContentsRowDeletedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsTableChangeUnion_ContentsRowModifiedNotification,
+ { "ContentsRowModifiedNotification", "mapi.ContentsTableChangeUnion.ContentsRowModifiedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsTableChange_ContentsTableChangeUnion,
+ { "ContentsTableChangeUnion", "mapi.ContentsTableChange.ContentsTableChangeUnion", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ContentsTableChange_TableEvent,
+ { "TableEvent", "mapi.ContentsTableChange.TableEvent", FT_UINT16, BASE_DEC, VALS(mapi_RichTableNotificationType_vals), 0, NULL, HFILL }},
+ { &hf_mapi_CopyFlags_CopyFlagsMove,
+ { "CopyFlagsMove", "mapi.CopyFlags.CopyFlagsMove", FT_BOOLEAN, 8, TFS(&CopyFlags_CopyFlagsMove_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_CopyFlags_CopyFlagsNoOverwrite,
+ { "CopyFlagsNoOverwrite", "mapi.CopyFlags.CopyFlagsNoOverwrite", FT_BOOLEAN, 8, TFS(&CopyFlags_CopyFlagsNoOverwrite_tfs), ( 0x2 ), NULL, HFILL }},
+ { &hf_mapi_CopyFolder_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.CopyFolder_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyFolder_req_FolderId,
+ { "FolderId", "mapi.CopyFolder_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyFolder_req_NewFolderName,
+ { "NewFolderName", "mapi.CopyFolder_req.NewFolderName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyFolder_req_UseUnicode,
+ { "UseUnicode", "mapi.CopyFolder_req.UseUnicode", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyFolder_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.CopyFolder_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyFolder_req_WantRecursive,
+ { "WantRecursive", "mapi.CopyFolder_req.WantRecursive", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyProperties_repl_PropertyProblem,
+ { "PropertyProblem", "mapi.CopyProperties_repl.PropertyProblem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyProperties_repl_PropertyProblemCount,
+ { "PropertyProblemCount", "mapi.CopyProperties_repl.PropertyProblemCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyProperties_req_CopyFlags,
+ { "CopyFlags", "mapi.CopyProperties_req.CopyFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyProperties_req_PropertyTags,
+ { "PropertyTags", "mapi.CopyProperties_req.PropertyTags", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyProperties_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.CopyProperties_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyToStream_repl_ReadByteCount,
+ { "ReadByteCount", "mapi.CopyToStream_repl.ReadByteCount", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyToStream_repl_WrittenByteCount,
+ { "WrittenByteCount", "mapi.CopyToStream_repl.WrittenByteCount", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyToStream_req_ByteCount,
+ { "ByteCount", "mapi.CopyToStream_req.ByteCount", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyTo_repl_PropertyProblem,
+ { "PropertyProblem", "mapi.CopyTo_repl.PropertyProblem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyTo_repl_PropertyProblemCount,
+ { "PropertyProblemCount", "mapi.CopyTo_repl.PropertyProblemCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyTo_req_CopyFlags,
+ { "CopyFlags", "mapi.CopyTo_req.CopyFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyTo_req_ExcludedTags,
+ { "ExcludedTags", "mapi.CopyTo_req.ExcludedTags", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyTo_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.CopyTo_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CopyTo_req_WantSubObjects,
+ { "WantSubObjects", "mapi.CopyTo_req.WantSubObjects", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateAttach_repl_AttachmentID,
+ { "AttachmentID", "mapi.CreateAttach_repl.AttachmentID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateBookmark_repl_bookmark,
+ { "Bookmark", "mapi.CreateBookmark_repl.bookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_GhostInfo_Ghost,
+ { "Ghost", "mapi.CreateFolder_GhostInfo.Ghost", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_GhostInfo_HasRules,
+ { "HasRules", "mapi.CreateFolder_GhostInfo.HasRules", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_GhostInfo_IsGhosted,
+ { "IsGhosted", "mapi.CreateFolder_GhostInfo.IsGhosted", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_GhostUnion_GhostInfo,
+ { "GhostInfo", "mapi.CreateFolder_GhostUnion.GhostInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_repl_GhostUnion,
+ { "GhostUnion", "mapi.CreateFolder_repl.GhostUnion", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_repl_IsExistingFolder,
+ { "IsExistingFolder", "mapi.CreateFolder_repl.IsExistingFolder", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_repl_folder_id,
+ { "Folder Id", "mapi.CreateFolder_repl.folder_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_req_FolderComment,
+ { "FolderComment", "mapi.CreateFolder_req.FolderComment", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_req_FolderName,
+ { "FolderName", "mapi.CreateFolder_req.FolderName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_req_ulFlags,
+ { "UlFlags", "mapi.CreateFolder_req.ulFlags", FT_UINT16, BASE_DEC, VALS(mapi_FOLDER_FLAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_req_ulFolderType,
+ { "UlFolderType", "mapi.CreateFolder_req.ulFolderType", FT_UINT8, BASE_DEC, VALS(mapi_FOLDER_TYPE_vals), 0, NULL, HFILL }},
+ { &hf_mapi_CreateFolder_req_ulType,
+ { "UlType", "mapi.CreateFolder_req.ulType", FT_UINT8, BASE_DEC, VALS(mapi_FOLDER_STRING_vals), 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_MessageId_MessageId,
+ { "MessageId", "mapi.CreateMessage_MessageId.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_repl_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.CreateMessage_repl.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_repl_ReturnValue,
+ { "ReturnValue", "mapi.CreateMessage_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_repl_repl,
+ { "Repl", "mapi.CreateMessage_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_repl_status_Success,
+ { "Success", "mapi.CreateMessage_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_repl_success_HasMessageId,
+ { "HasMessageId", "mapi.CreateMessage_repl_success.HasMessageId", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_repl_success_MessageId,
+ { "MessageId", "mapi.CreateMessage_repl_success.MessageId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_req_AssociatedFlag,
+ { "AssociatedFlag", "mapi.CreateMessage_req.AssociatedFlag", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_req_CodePageId,
+ { "CodePageId", "mapi.CreateMessage_req.CodePageId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_CreateMessage_req_FolderId,
+ { "FolderId", "mapi.CreateMessage_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_mapi_DATA_BLOB_data,
{ "Data", "mapi.DATA_BLOB.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_mapi_DATA_BLOB_length,
{ "Length", "mapi.DATA_BLOB.length", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_alloc_space,
- { "Alloc Space", "mapi.EcDoConnect.alloc_space", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_code_page,
- { "Code Page", "mapi.EcDoConnect.code_page", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_emsmdb_client_version,
- { "Emsmdb Client Version", "mapi.EcDoConnect.emsmdb_client_version", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_input_locale,
- { "Input Locale", "mapi.EcDoConnect.input_locale", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_name,
- { "Name", "mapi.EcDoConnect.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_org_group,
- { "Org Group", "mapi.EcDoConnect.org_group", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_session_nb,
- { "Session Nb", "mapi.EcDoConnect.session_nb", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_store_version,
- { "Store Version", "mapi.EcDoConnect.store_version", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_unknown1,
- { "Unknown1", "mapi.EcDoConnect.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_unknown2,
- { "Unknown2", "mapi.EcDoConnect.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_unknown3,
- { "Unknown3", "mapi.EcDoConnect.unknown3", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_unknown4,
- { "Unknown4", "mapi.EcDoConnect.unknown4", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoConnect_user,
- { "User", "mapi.EcDoConnect.user", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_GetProps,
- { "Mapi GetProps", "mapi.EcDoRpc_MAPI_REPL_UNION.mapi_GetProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_OpenFolder,
- { "Mapi OpenFolder", "mapi.EcDoRpc_MAPI_REPL_UNION.mapi_OpenFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REPL_UNION_mapi_Release,
- { "Mapi Release", "mapi.EcDoRpc_MAPI_REPL_UNION.mapi_Release", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_GetProps,
- { "Mapi GetProps", "mapi.EcDoRpc_MAPI_REQ_UNION.mapi_GetProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_OpenFolder,
- { "Mapi OpenFolder", "mapi.EcDoRpc_MAPI_REQ_UNION.mapi_OpenFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_OpenMsgStore,
- { "Mapi OpenMsgStore", "mapi.EcDoRpc_MAPI_REQ_UNION.mapi_OpenMsgStore", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_MAPI_REQ_UNION_mapi_Release,
- { "Mapi Release", "mapi.EcDoRpc_MAPI_REQ_UNION.mapi_Release", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_codepage,
- { "Codepage", "mapi.EcDoRpc.codepage", FT_UINT32, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_folder_id,
- { "Folder ID", "mapi.EcDoRpc.folder_id", FT_UINT64, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_handle_index,
- { "Handle index", "mapi.EcDoRpc.handle_index", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_layout,
- { "Layout", "mapi.EcDoRpc.layout", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_length,
- { "Length", "mapi.EcDoRpc.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_mailbox,
- { "Mailbox", "mapi.EcDoRpc.mailbox", FT_STRING, BASE_NONE, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_mapi_flags,
- { "mapi_flags", "mapi.EcDoRpc.mapi_flags", FT_UINT8, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_mapi_request,
- { "Mapi Request", "mapi.EcDoRpc.mapi_request", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_mapi_request_,
- { "Subcontext length", "mapi.EcDoRpc.subcontext", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_mapi_response,
- { "Mapi Response", "mapi.EcDoRpc.mapi_response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_mapi_response_,
- { "Subcontext length", "mapi.EcDoRpc.subcontext", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_mapi_tag,
- { "MAPI tag", "mapi.EcDoRpc.mapi_tag", FT_UINT32, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_max_data,
- { "Max Data", "mapi.EcDoRpc.max_data", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_offset,
- { "Offset", "mapi.EcDoRpc.offset", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_padding,
- { "Padding", "mapi.EcDoRpc.padding", FT_UINT32, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_prop_count,
- { "Prop count", "mapi.EcDoRpc.prop_count", FT_UINT16, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_row,
- { "Row", "mapi.EcDoRpc.row", FT_UINT8, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_size,
- { "Size", "mapi.EcDoRpc.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcDoRpc_str_length,
- { "Length", "mapi.EcDoRpc.str_length", FT_UINT16, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_subcontext_size,
- { "Subcontext size", "mapi.EcDoRpc.subcontext_size", FT_UINT32, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_unknown1,
- { "Unknown1", "mapi.EcDoRpc.unknown1", FT_UINT16, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_unknown2,
- { "Unknown2", "mapi.EcDoRpc.unknown2", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcDoRpc_unknown3,
- { "Unknown3", "mapi.EcDoRpc.unknown3", FT_UINT32, BASE_HEX, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_notif_len,
- { "Notif Len", "mapi.EcRRegisterPushNotification.notif_len", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_notifkey,
- { "Notifkey", "mapi.EcRRegisterPushNotification.notifkey", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_retval,
- { "Retval", "mapi.EcRRegisterPushNotification.retval", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_sockaddr,
- { "Sockaddr", "mapi.EcRRegisterPushNotification.sockaddr", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_sockaddr_len,
- { "Sockaddr Len", "mapi.EcRRegisterPushNotification.sockaddr_len", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_ulEventMask,
- { "UlEventMask", "mapi.EcRRegisterPushNotification.ulEventMask", FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRRegisterPushNotification_unknown2,
- { "Unknown2", "mapi.EcRRegisterPushNotification.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_EcRUnregisterPushNotification_unknown,
- { "Unknown", "mapi.EcRUnregisterPushNotification.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DateTimeArray_r_cValues,
+ { "CValues", "mapi.DateTimeArray_r.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DateTimeArray_r_lpft,
+ { "Lpft", "mapi.DateTimeArray_r.lpft", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteAttach_req_AttachmentID,
+ { "AttachmentID", "mapi.DeleteAttach_req.AttachmentID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteFolderFlags_DELETE_HARD_DELETE,
+ { "DELETE HARD DELETE", "mapi.DeleteFolderFlags.DELETE_HARD_DELETE", FT_BOOLEAN, 8, TFS(&DeleteFolderFlags_DELETE_HARD_DELETE_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_DeleteFolderFlags_DEL_FOLDERS,
+ { "DEL FOLDERS", "mapi.DeleteFolderFlags.DEL_FOLDERS", FT_BOOLEAN, 8, TFS(&DeleteFolderFlags_DEL_FOLDERS_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_DeleteFolderFlags_DEL_MESSAGES,
+ { "DEL MESSAGES", "mapi.DeleteFolderFlags.DEL_MESSAGES", FT_BOOLEAN, 8, TFS(&DeleteFolderFlags_DEL_MESSAGES_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_DeleteFolder_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.DeleteFolder_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteFolder_req_DeleteFolderFlags,
+ { "DeleteFolderFlags", "mapi.DeleteFolder_req.DeleteFolderFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteFolder_req_FolderId,
+ { "FolderId", "mapi.DeleteFolder_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteMessages_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.DeleteMessages_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteMessages_req_NotifyNonRead,
+ { "NotifyNonRead", "mapi.DeleteMessages_req.NotifyNonRead", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteMessages_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.DeleteMessages_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteMessages_req_cn_ids,
+ { "Cn Ids", "mapi.DeleteMessages_req.cn_ids", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteMessages_req_message_ids,
+ { "Message Ids", "mapi.DeleteMessages_req.message_ids", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeletePropertiesNoReplicate_repl_PropertyProblem,
+ { "PropertyProblem", "mapi.DeletePropertiesNoReplicate_repl.PropertyProblem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeletePropertiesNoReplicate_repl_PropertyProblemCount,
+ { "PropertyProblemCount", "mapi.DeletePropertiesNoReplicate_repl.PropertyProblemCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeletePropertiesNoReplicate_req_PropertyTags,
+ { "PropertyTags", "mapi.DeletePropertiesNoReplicate_req.PropertyTags", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteProps_repl_PropertyProblem,
+ { "PropertyProblem", "mapi.DeleteProps_repl.PropertyProblem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteProps_repl_PropertyProblemCount,
+ { "PropertyProblemCount", "mapi.DeleteProps_repl.PropertyProblemCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteProps_req_PropertyTagCount,
+ { "PropertyTagCount", "mapi.DeleteProps_req.PropertyTagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_DeleteProps_req_tags,
+ { "Tags", "mapi.DeleteProps_req.tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_EXORGINFO_OrgFlags_PUBLIC_FOLDERS_ENABLED,
+ { "PUBLIC FOLDERS ENABLED", "mapi.EXORGINFO_OrgFlags.PUBLIC_FOLDERS_ENABLED", FT_BOOLEAN, 32, TFS(&EXORGINFO_OrgFlags_PUBLIC_FOLDERS_ENABLED_tfs), ( 0x00000001 ), NULL, HFILL }},
+ { &hf_mapi_EcDoRpcMapiRequest_opnum,
+ { "Opnum", "mapi.EcDoRpcMapiRequest.opnum", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_EcDoRpcMapiRequest_u,
+ { "U", "mapi.EcDoRpcMapiRequest.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_EcDoRpcMapiResponse_opnum,
+ { "Opnum", "mapi.EcDoRpcMapiResponse.opnum", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_EcDoRpcMapiResponse_u,
+ { "U", "mapi.EcDoRpcMapiResponse.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_EmptyFolder_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.EmptyFolder_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_EmptyFolder_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.EmptyFolder_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_EmptyFolder_req_WantDeleteAssociated,
+ { "WantDeleteAssociated", "mapi.EmptyFolder_req.WantDeleteAssociated", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ExpandRow_repl_ExpandedRowCount,
+ { "ExpandedRowCount", "mapi.ExpandRow_repl.ExpandedRowCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ExpandRow_repl_RowCount,
+ { "RowCount", "mapi.ExpandRow_repl.RowCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ExpandRow_repl_RowData,
+ { "RowData", "mapi.ExpandRow_repl.RowData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ExpandRow_req_CategoryId,
+ { "CategoryId", "mapi.ExpandRow_req.CategoryId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ExpandRow_req_MaxRowCount,
+ { "MaxRowCount", "mapi.ExpandRow_req.MaxRowCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_mapi_FILETIME_dwHighDateTime,
{ "DwHighDateTime", "mapi.FILETIME.dwHighDateTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_mapi_FILETIME_dwLowDateTime,
{ "DwLowDateTime", "mapi.FILETIME.dwLowDateTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_LPSTR_lppszA,
- { "LppszA", "mapi.LPSTR.lppszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_MAPISTATUS_status,
- { "MAPISTATUS", "mapi.MAPISTATUS_status", FT_UINT32, BASE_HEX, VALS(mapi_MAPISTATUS_vals), 0, NULL, HFILL }},
- { &hf_mapi_MAPI_OPNUM,
- { "Opnum", "mapi.EcDoRpc_MAPI_REPL.opnum", FT_UINT8, BASE_HEX, VALS(mapi_MAPI_OPNUM_vals), 0, "NULL", HFILL }},
- { &hf_mapi_MAPI_handle,
- { "MAPI handle", "mapi.mapi_handle", FT_UINT32, BASE_HEX, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_FastTransferSourceGetBuffer_repl_InProgressCount,
+ { "InProgressCount", "mapi.FastTransferSourceGetBuffer_repl.InProgressCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FastTransferSourceGetBuffer_repl_Reserved,
+ { "Reserved", "mapi.FastTransferSourceGetBuffer_repl.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FastTransferSourceGetBuffer_repl_TotalStepCount,
+ { "TotalStepCount", "mapi.FastTransferSourceGetBuffer_repl.TotalStepCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FastTransferSourceGetBuffer_repl_TransferBuffer,
+ { "TransferBuffer", "mapi.FastTransferSourceGetBuffer_repl.TransferBuffer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FastTransferSourceGetBuffer_repl_TransferStatus,
+ { "TransferStatus", "mapi.FastTransferSourceGetBuffer_repl.TransferStatus", FT_UINT16, BASE_DEC, VALS(mapi_TransferStatus_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FastTransferSourceGetBuffer_req_BufferSize,
+ { "BufferSize", "mapi.FastTransferSourceGetBuffer_req.BufferSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_repl_HasRowData,
+ { "HasRowData", "mapi.FindRow_repl.HasRowData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_repl_RowNoLongerVisible,
+ { "RowNoLongerVisible", "mapi.FindRow_repl.RowNoLongerVisible", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_repl_row,
+ { "Row", "mapi.FindRow_repl.row", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_req_bookmark,
+ { "Bookmark", "mapi.FindRow_req.bookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_req_origin,
+ { "Origin", "mapi.FindRow_req.origin", FT_UINT8, BASE_DEC, VALS(mapi_BOOKMARK_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_req_res,
+ { "Res", "mapi.FindRow_req.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FindRow_req_ulFlags,
+ { "UlFlags", "mapi.FindRow_req.ulFlags", FT_UINT8, BASE_DEC, VALS(mapi_FindRow_ulFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FolderCreatedNotification_FID,
+ { "FID", "mapi.FolderCreatedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderCreatedNotification_ParentFID,
+ { "ParentFID", "mapi.FolderCreatedNotification.ParentFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderCreatedNotification_TagCount,
+ { "TagCount", "mapi.FolderCreatedNotification.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderCreatedNotification_Tags,
+ { "Tags", "mapi.FolderCreatedNotification.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FolderDeletedNotification_FID,
+ { "FID", "mapi.FolderDeletedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderDeletedNotification_ParentFID,
+ { "ParentFID", "mapi.FolderDeletedNotification.ParentFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_1010_FID,
+ { "FID", "mapi.FolderModifiedNotification_1010.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_1010_TagCount,
+ { "TagCount", "mapi.FolderModifiedNotification_1010.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_1010_Tags,
+ { "Tags", "mapi.FolderModifiedNotification_1010.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_1010_TotalMessageCount,
+ { "TotalMessageCount", "mapi.FolderModifiedNotification_1010.TotalMessageCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_10_FID,
+ { "FID", "mapi.FolderModifiedNotification_10.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_10_TagCount,
+ { "TagCount", "mapi.FolderModifiedNotification_10.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_10_Tags,
+ { "Tags", "mapi.FolderModifiedNotification_10.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_2010_FID,
+ { "FID", "mapi.FolderModifiedNotification_2010.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_2010_TagCount,
+ { "TagCount", "mapi.FolderModifiedNotification_2010.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_2010_Tags,
+ { "Tags", "mapi.FolderModifiedNotification_2010.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_2010_UnreadMessageCount,
+ { "UnreadMessageCount", "mapi.FolderModifiedNotification_2010.UnreadMessageCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_3010_FID,
+ { "FID", "mapi.FolderModifiedNotification_3010.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_3010_TagCount,
+ { "TagCount", "mapi.FolderModifiedNotification_3010.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_3010_Tags,
+ { "Tags", "mapi.FolderModifiedNotification_3010.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_3010_TotalMessageCount,
+ { "TotalMessageCount", "mapi.FolderModifiedNotification_3010.TotalMessageCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderModifiedNotification_3010_UnreadMessageCount,
+ { "UnreadMessageCount", "mapi.FolderModifiedNotification_3010.UnreadMessageCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderMoveCopyNotification_FID,
+ { "FID", "mapi.FolderMoveCopyNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderMoveCopyNotification_OldFID,
+ { "OldFID", "mapi.FolderMoveCopyNotification.OldFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderMoveCopyNotification_OldParentFID,
+ { "OldParentFID", "mapi.FolderMoveCopyNotification.OldParentFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FolderMoveCopyNotification_ParentFID,
+ { "ParentFID", "mapi.FolderMoveCopyNotification.ParentFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Folder_name_lpszA,
+ { "LpszA", "mapi.Folder_name.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Folder_name_lpszW,
+ { "LpszW", "mapi.Folder_name.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ForwardDelegate_Action_RecipientBlock,
+ { "RecipientBlock", "mapi.ForwardDelegate_Action.RecipientBlock", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ForwardDelegate_Action_RecipientCount,
+ { "RecipientCount", "mapi.ForwardDelegate_Action.RecipientCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_FreeBookmark_req_bookmark,
+ { "Bookmark", "mapi.FreeBookmark_req.bookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GID_DatabaseGUID,
+ { "DatabaseGUID", "mapi.GID.DatabaseGUID", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GID_GlobalCounter,
+ { "GlobalCounter", "mapi.GID.GlobalCounter", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetAttachmentTable_req_TableFlags,
+ { "TableFlags", "mapi.GetAttachmentTable_req.TableFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetCollapseState_repl_CollapseState,
+ { "CollapseState", "mapi.GetCollapseState_repl.CollapseState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetCollapseState_req_RowId,
+ { "RowId", "mapi.GetCollapseState_req.RowId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetCollapseState_req_RowInstanceNumber,
+ { "RowInstanceNumber", "mapi.GetCollapseState_req.RowInstanceNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetContentsTable_repl_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.GetContentsTable_repl.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetContentsTable_repl_ReturnValue,
+ { "ReturnValue", "mapi.GetContentsTable_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetContentsTable_repl_repl,
+ { "Repl", "mapi.GetContentsTable_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetContentsTable_repl_status_Success,
+ { "Success", "mapi.GetContentsTable_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetContentsTable_repl_success_RowCount,
+ { "RowCount", "mapi.GetContentsTable_repl_success.RowCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetContentsTable_req_TableFlags,
+ { "TableFlags", "mapi.GetContentsTable_req.TableFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetHierarchyTable_repl_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.GetHierarchyTable_repl.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetHierarchyTable_repl_ReturnValue,
+ { "ReturnValue", "mapi.GetHierarchyTable_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetHierarchyTable_repl_repl,
+ { "Repl", "mapi.GetHierarchyTable_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetHierarchyTable_repl_status_Success,
+ { "Success", "mapi.GetHierarchyTable_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetHierarchyTable_repl_success_RowCount,
+ { "RowCount", "mapi.GetHierarchyTable_repl_success.RowCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetHierarchyTable_req_TableFlags,
+ { "TableFlags", "mapi.GetHierarchyTable_req.TableFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetIDsFromNames_repl_count,
+ { "Count", "mapi.GetIDsFromNames_repl.count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetIDsFromNames_repl_propID,
+ { "PropID", "mapi.GetIDsFromNames_repl.propID", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetIDsFromNames_req_count,
+ { "Count", "mapi.GetIDsFromNames_req.count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetIDsFromNames_req_nameid,
+ { "Nameid", "mapi.GetIDsFromNames_req.nameid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetIDsFromNames_req_ulFlags,
+ { "UlFlags", "mapi.GetIDsFromNames_req.ulFlags", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetLocalReplicaIds_repl_GlobalCount,
+ { "GlobalCount", "mapi.GetLocalReplicaIds_repl.GlobalCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetLocalReplicaIds_repl_ReplGuid,
+ { "ReplGuid", "mapi.GetLocalReplicaIds_repl.ReplGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetLocalReplicaIds_req_IdCount,
+ { "IdCount", "mapi.GetLocalReplicaIds_req.IdCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetMessageStatus_req_msgid,
+ { "Msgid", "mapi.GetMessageStatus_req.msgid", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetNamesFromIDs_repl_count,
+ { "Count", "mapi.GetNamesFromIDs_repl.count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetNamesFromIDs_repl_nameid,
+ { "Nameid", "mapi.GetNamesFromIDs_repl.nameid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetNamesFromIDs_req_PropertyIdCount,
+ { "PropertyIdCount", "mapi.GetNamesFromIDs_req.PropertyIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetNamesFromIDs_req_PropertyIds,
+ { "PropertyIds", "mapi.GetNamesFromIDs_req.PropertyIds", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetOwningServers_repl_CheapServersCount,
+ { "CheapServersCount", "mapi.GetOwningServers_repl.CheapServersCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetOwningServers_repl_OwningServers,
+ { "OwningServers", "mapi.GetOwningServers_repl.OwningServers", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetOwningServers_repl_OwningServersCount,
+ { "OwningServersCount", "mapi.GetOwningServers_repl.OwningServersCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetOwningServers_req_FolderId,
+ { "FolderId", "mapi.GetOwningServers_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPerUserGuid_repl_DatabaseGuid,
+ { "DatabaseGuid", "mapi.GetPerUserGuid_repl.DatabaseGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPerUserGuid_req_LongTermId,
+ { "LongTermId", "mapi.GetPerUserGuid_req.LongTermId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPerUserLongTermIds_repl_LongTermIdCount,
+ { "LongTermIdCount", "mapi.GetPerUserLongTermIds_repl.LongTermIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPerUserLongTermIds_repl_LongTermIds,
+ { "LongTermIds", "mapi.GetPerUserLongTermIds_repl.LongTermIds", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPerUserLongTermIds_req_DatabaseGuid,
+ { "DatabaseGuid", "mapi.GetPerUserLongTermIds_req.DatabaseGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPermissionsTable_req_TableFlags,
+ { "TableFlags", "mapi.GetPermissionsTable_req.TableFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropList_repl_count,
+ { "Count", "mapi.GetPropList_repl.count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropList_repl_tags,
+ { "Tags", "mapi.GetPropList_repl.tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_repl_InputHandleIndex,
+ { "InputHandleIndex", "mapi.GetPropsAll_repl.InputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_repl_ReturnValue,
+ { "ReturnValue", "mapi.GetPropsAll_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_repl_repl,
+ { "Repl", "mapi.GetPropsAll_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_repl_status_Success,
+ { "Success", "mapi.GetPropsAll_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_repl_success_properties,
+ { "Properties", "mapi.GetPropsAll_repl_success.properties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_req_PropertySizeLimit,
+ { "PropertySizeLimit", "mapi.GetPropsAll_req.PropertySizeLimit", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetPropsAll_req_WantUnicode,
+ { "WantUnicode", "mapi.GetPropsAll_req.WantUnicode", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_repl_InputHandleIndex,
+ { "InputHandleIndex", "mapi.GetProps_repl.InputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_repl_ReturnValue,
+ { "ReturnValue", "mapi.GetProps_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_repl_repl,
+ { "Repl", "mapi.GetProps_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_repl_status_Success,
+ { "Success", "mapi.GetProps_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_repl_success_layout,
+ { "Layout", "mapi.GetProps_repl_success.layout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_repl_success_prop_data,
+ { "Prop Data", "mapi.GetProps_repl_success.prop_data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_req_PropertySizeLimit,
+ { "PropertySizeLimit", "mapi.GetProps_req.PropertySizeLimit", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_req_WantUnicode,
+ { "WantUnicode", "mapi.GetProps_req.WantUnicode", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_req_prop_count,
+ { "Prop Count", "mapi.GetProps_req.prop_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetProps_req_properties,
+ { "Properties", "mapi.GetProps_req.properties", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_GetReceiveFolderTable_repl_cValues,
+ { "CValues", "mapi.GetReceiveFolderTable_repl.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetReceiveFolderTable_repl_entries,
+ { "Entries", "mapi.GetReceiveFolderTable_repl.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetReceiveFolder_repl_MessageClass,
+ { "MessageClass", "mapi.GetReceiveFolder_repl.MessageClass", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetReceiveFolder_repl_folder_id,
+ { "Folder Id", "mapi.GetReceiveFolder_repl.folder_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetReceiveFolder_req_MessageClass,
+ { "MessageClass", "mapi.GetReceiveFolder_req.MessageClass", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetRulesTable_req_TableFlags,
+ { "TableFlags", "mapi.GetRulesTable_req.TableFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_repl_FolderIdCount,
+ { "FolderIdCount", "mapi.GetSearchCriteria_repl.FolderIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_repl_FolderIds,
+ { "FolderIds", "mapi.GetSearchCriteria_repl.FolderIds", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_repl_SearchFlags,
+ { "SearchFlags", "mapi.GetSearchCriteria_repl.SearchFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_repl_res,
+ { "Res", "mapi.GetSearchCriteria_repl.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_repl_unknown,
+ { "Unknown", "mapi.GetSearchCriteria_repl.unknown", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_req_IncludeFolders,
+ { "IncludeFolders", "mapi.GetSearchCriteria_req.IncludeFolders", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_req_IncludeRestriction,
+ { "IncludeRestriction", "mapi.GetSearchCriteria_req.IncludeRestriction", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetSearchCriteria_req_UseUnicode,
+ { "UseUnicode", "mapi.GetSearchCriteria_req.UseUnicode", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetStatus_repl_TableStatus,
+ { "TableStatus", "mapi.GetStatus_repl.TableStatus", FT_UINT8, BASE_DEC, VALS(mapi_TableStatus_vals), 0, NULL, HFILL }},
+ { &hf_mapi_GetStoreState_repl_StoreState,
+ { "StoreState", "mapi.GetStoreState_repl.StoreState", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetStreamSize_repl_StreamSize,
+ { "StreamSize", "mapi.GetStreamSize_repl.StreamSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetTransportFolder_repl_FolderId,
+ { "FolderId", "mapi.GetTransportFolder_repl.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetValidAttachments_repl_AttachmentIdArray,
+ { "AttachmentIdArray", "mapi.GetValidAttachments_repl.AttachmentIdArray", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_GetValidAttachments_repl_AttachmentIdCount,
+ { "AttachmentIdCount", "mapi.GetValidAttachments_repl.AttachmentIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessagesAndSubfolders_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.HardDeleteMessagesAndSubfolders_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessagesAndSubfolders_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.HardDeleteMessagesAndSubfolders_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessagesAndSubfolders_req_WantDeleteAssociated,
+ { "WantDeleteAssociated", "mapi.HardDeleteMessagesAndSubfolders_req.WantDeleteAssociated", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessages_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.HardDeleteMessages_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessages_req_MessageIdCount,
+ { "MessageIdCount", "mapi.HardDeleteMessages_req.MessageIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessages_req_MessageIds,
+ { "MessageIds", "mapi.HardDeleteMessages_req.MessageIds", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessages_req_NotifyNonRead,
+ { "NotifyNonRead", "mapi.HardDeleteMessages_req.NotifyNonRead", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HardDeleteMessages_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.HardDeleteMessages_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowAddedNotification_Columns,
+ { "Columns", "mapi.HierarchyRowAddedNotification.Columns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowAddedNotification_FID,
+ { "FID", "mapi.HierarchyRowAddedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowAddedNotification_InsertAfterFID,
+ { "InsertAfterFID", "mapi.HierarchyRowAddedNotification.InsertAfterFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowDeletedNotification_FID,
+ { "FID", "mapi.HierarchyRowDeletedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowModifiedNotification_Columns,
+ { "Columns", "mapi.HierarchyRowModifiedNotification.Columns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowModifiedNotification_FID,
+ { "FID", "mapi.HierarchyRowModifiedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyRowModifiedNotification_InsertAfterFID,
+ { "InsertAfterFID", "mapi.HierarchyRowModifiedNotification.InsertAfterFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyTableChangeUnion_HierarchyRowAddedNotification,
+ { "HierarchyRowAddedNotification", "mapi.HierarchyTableChangeUnion.HierarchyRowAddedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyTableChangeUnion_HierarchyRowDeletedNotification,
+ { "HierarchyRowDeletedNotification", "mapi.HierarchyTableChangeUnion.HierarchyRowDeletedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyTableChangeUnion_HierarchyRowModifiedNotification,
+ { "HierarchyRowModifiedNotification", "mapi.HierarchyTableChangeUnion.HierarchyRowModifiedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyTableChange_HierarchyTableChangeUnion,
+ { "HierarchyTableChangeUnion", "mapi.HierarchyTableChange.HierarchyTableChangeUnion", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_HierarchyTableChange_TableEvent,
+ { "TableEvent", "mapi.HierarchyTableChange.TableEvent", FT_UINT16, BASE_DEC, VALS(mapi_RichTableNotificationType_vals), 0, NULL, HFILL }},
+ { &hf_mapi_IcsNotification_GID,
+ { "GID", "mapi.IcsNotification.GID", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_IcsNotification_GIDCount,
+ { "GIDCount", "mapi.IcsNotification.GIDCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_IcsNotification_HierChanged,
+ { "HierChanged", "mapi.IcsNotification.HierChanged", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_IdFromLongTermId_repl_Id,
+ { "Id", "mapi.IdFromLongTermId_repl.Id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_IdFromLongTermId_req_LongTermId,
+ { "LongTermId", "mapi.IdFromLongTermId_req.LongTermId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ImportFlag_ImportFlag_Associated,
+ { "ImportFlag Associated", "mapi.ImportFlag.ImportFlag_Associated", FT_BOOLEAN, 8, TFS(&ImportFlag_ImportFlag_Associated_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_ImportFlag_ImportFlag_FailOnConflict,
+ { "ImportFlag FailOnConflict", "mapi.ImportFlag.ImportFlag_FailOnConflict", FT_BOOLEAN, 8, TFS(&ImportFlag_ImportFlag_FailOnConflict_tfs), ( 0x40 ), NULL, HFILL }},
+ { &hf_mapi_InputHandleIndex,
+ { "InputHandleIndex", "mapi.rop.InputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_IsGhosted_Replicas,
+ { "Replicas", "mapi.IsGhosted.Replicas", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Kind_lid,
+ { "Lid", "mapi.Kind.lid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Kind_lpwstr,
+ { "Lpwstr", "mapi.Kind.lpwstr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LPTSTR_lpszA,
+ { "LpszA", "mapi.LPTSTR.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LPTSTR_lpszW,
+ { "LpszW", "mapi.LPTSTR.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LockRegionStream_req_LockFlags,
+ { "LockFlags", "mapi.LockRegionStream_req.LockFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LockRegionStream_req_RegionOffset,
+ { "RegionOffset", "mapi.LockRegionStream_req.RegionOffset", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LockRegionStream_req_RegionSize,
+ { "RegionSize", "mapi.LockRegionStream_req.RegionSize", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LogonId,
+ { "LogonId", "mapi.rop.LogonId", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_LogonTime_Day,
+ { "Day", "mapi.LogonTime.Day", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LogonTime_DayOfWeek,
+ { "DayOfWeek", "mapi.LogonTime.DayOfWeek", FT_UINT8, BASE_DEC, VALS(mapi_DayOfWeek_vals), 0, NULL, HFILL }},
+ { &hf_mapi_LogonTime_Hour,
+ { "Hour", "mapi.LogonTime.Hour", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LogonTime_Minutes,
+ { "Minutes", "mapi.LogonTime.Minutes", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LogonTime_Month,
+ { "Month", "mapi.LogonTime.Month", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LogonTime_Seconds,
+ { "Seconds", "mapi.LogonTime.Seconds", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LogonTime_Year,
+ { "Year", "mapi.LogonTime.Year", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_FolderIds,
+ { "FolderIds", "mapi.Logon_repl.FolderIds", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_GwartTime,
+ { "GwartTime", "mapi.Logon_repl.GwartTime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_LogonFlags,
+ { "LogonFlags", "mapi.Logon_repl.LogonFlags", FT_UINT8, BASE_DEC, VALS(mapi_LogonFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_LogonTime,
+ { "LogonTime", "mapi.Logon_repl.LogonTime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_MailboxGuid,
+ { "MailboxGuid", "mapi.Logon_repl.MailboxGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.Logon_repl.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_PerUserGuid,
+ { "PerUserGuid", "mapi.Logon_repl.PerUserGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_ReplGuid,
+ { "ReplGuid", "mapi.Logon_repl.ReplGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_ReplId,
+ { "ReplId", "mapi.Logon_repl.ReplId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_ResponseFlags,
+ { "ResponseFlags", "mapi.Logon_repl.ResponseFlags", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_ReturnValue,
+ { "ReturnValue", "mapi.Logon_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_ServerName,
+ { "ServerName", "mapi.Logon_repl.ServerName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_ServerNameSize,
+ { "ServerNameSize", "mapi.Logon_repl.ServerNameSize", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_repl_StoreState,
+ { "StoreState", "mapi.Logon_repl.StoreState", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_req_EssDN,
+ { "EssDN", "mapi.Logon_req.EssDN", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_req_EssdnSize,
+ { "EssdnSize", "mapi.Logon_req.EssdnSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_req_LogonFlags,
+ { "LogonFlags", "mapi.Logon_req.LogonFlags", FT_UINT8, BASE_DEC, VALS(mapi_LogonFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_Logon_req_OpenFlags,
+ { "OpenFlags", "mapi.Logon_req.OpenFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Logon_req_StoreState,
+ { "StoreState", "mapi.Logon_req.StoreState", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongArray_r_cValues,
+ { "CValues", "mapi.LongArray_r.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongArray_r_lpl,
+ { "Lpl", "mapi.LongArray_r.lpl", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermIdFromId_repl_InputHandleIndex,
+ { "InputHandleIndex", "mapi.LongTermIdFromId_repl.InputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermIdFromId_repl_ReturnValue,
+ { "ReturnValue", "mapi.LongTermIdFromId_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermIdFromId_repl_Success_LongTermId,
+ { "LongTermId", "mapi.LongTermIdFromId_repl_Success.LongTermId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermIdFromId_repl_repl,
+ { "Repl", "mapi.LongTermIdFromId_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermIdFromId_repl_status_Success,
+ { "Success", "mapi.LongTermIdFromId_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermIdFromId_req_Id,
+ { "Id", "mapi.LongTermIdFromId_req.Id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermId_DatabaseGuid,
+ { "DatabaseGuid", "mapi.LongTermId.DatabaseGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermId_GlobalCounter,
+ { "GlobalCounter", "mapi.LongTermId.GlobalCounter", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_LongTermId_padding,
+ { "Padding", "mapi.LongTermId.padding", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MAPINAMEID_kind,
+ { "Kind", "mapi.MAPINAMEID.kind", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MAPINAMEID_lpguid,
+ { "Lpguid", "mapi.MAPINAMEID.lpguid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MAPINAMEID_ulKind,
+ { "UlKind", "mapi.MAPINAMEID.ulKind", FT_UINT8, BASE_DEC, VALS(mapi_ulKind_vals), 0, NULL, HFILL }},
+ { &hf_mapi_MSGFLAG_READ_CLEAR_NRN_PENDING,
+ { "CLEAR NRN PENDING", "mapi.MSGFLAG_READ.CLEAR_NRN_PENDING", FT_BOOLEAN, 8, TFS(&MSGFLAG_READ_CLEAR_NRN_PENDING_tfs), ( 0x40 ), NULL, HFILL }},
+ { &hf_mapi_MSGFLAG_READ_CLEAR_READ_FLAG,
+ { "CLEAR READ FLAG", "mapi.MSGFLAG_READ.CLEAR_READ_FLAG", FT_BOOLEAN, 8, TFS(&MSGFLAG_READ_CLEAR_READ_FLAG_tfs), ( 0x04 ), NULL, HFILL }},
+ { &hf_mapi_MSGFLAG_READ_CLEAR_RN_PENDING,
+ { "CLEAR RN PENDING", "mapi.MSGFLAG_READ.CLEAR_RN_PENDING", FT_BOOLEAN, 8, TFS(&MSGFLAG_READ_CLEAR_RN_PENDING_tfs), ( 0x20 ), NULL, HFILL }},
+ { &hf_mapi_MSGFLAG_READ_GENERATE_RECEIPT_ONLY,
+ { "GENERATE RECEIPT ONLY", "mapi.MSGFLAG_READ.GENERATE_RECEIPT_ONLY", FT_BOOLEAN, 8, TFS(&MSGFLAG_READ_GENERATE_RECEIPT_ONLY_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_MSGFLAG_READ_MAPI_DEFERRED_ERRORS,
+ { "MAPI DEFERRED ERRORS", "mapi.MSGFLAG_READ.MAPI_DEFERRED_ERRORS", FT_BOOLEAN, 8, TFS(&MSGFLAG_READ_MAPI_DEFERRED_ERRORS_tfs), ( 0x08 ), NULL, HFILL }},
+ { &hf_mapi_MSGFLAG_READ_SUPPRESS_RECEIPT,
+ { "SUPPRESS RECEIPT", "mapi.MSGFLAG_READ.SUPPRESS_RECEIPT", FT_BOOLEAN, 8, TFS(&MSGFLAG_READ_SUPPRESS_RECEIPT_tfs), ( 0x01 ), NULL, HFILL }},
+ { &hf_mapi_MaximumByteCount_value,
+ { "Value", "mapi.MaximumByteCount.value", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageClass_lpszA,
+ { "LpszA", "mapi.MessageClass.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageClass_lpszW,
+ { "LpszW", "mapi.MessageClass.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageCreatedNotification_FID,
+ { "FID", "mapi.MessageCreatedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageCreatedNotification_MID,
+ { "MID", "mapi.MessageCreatedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageCreatedNotification_TagCount,
+ { "TagCount", "mapi.MessageCreatedNotification.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageCreatedNotification_Tags,
+ { "Tags", "mapi.MessageCreatedNotification.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_MessageDeletedNotification_FID,
+ { "FID", "mapi.MessageDeletedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageDeletedNotification_MID,
+ { "MID", "mapi.MessageDeletedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageModifiedNotification_FID,
+ { "FID", "mapi.MessageModifiedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageModifiedNotification_MID,
+ { "MID", "mapi.MessageModifiedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageModifiedNotification_TagCount,
+ { "TagCount", "mapi.MessageModifiedNotification.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageModifiedNotification_Tags,
+ { "Tags", "mapi.MessageModifiedNotification.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_MessageMoveCopyNotification_FID,
+ { "FID", "mapi.MessageMoveCopyNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageMoveCopyNotification_MID,
+ { "MID", "mapi.MessageMoveCopyNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageMoveCopyNotification_OldFID,
+ { "OldFID", "mapi.MessageMoveCopyNotification.OldFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MessageMoveCopyNotification_OldMID,
+ { "OldMID", "mapi.MessageMoveCopyNotification.OldMID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyPermissionsFlags_ModifyPerms_IncludeFreeBusy,
+ { "ModifyPerms IncludeFreeBusy", "mapi.ModifyPermissionsFlags.ModifyPerms_IncludeFreeBusy", FT_BOOLEAN, 8, TFS(&ModifyPermissionsFlags_ModifyPerms_IncludeFreeBusy_tfs), ( 0x02 ), NULL, HFILL }},
+ { &hf_mapi_ModifyPermissionsFlags_ModifyPerms_ReplaceRows,
+ { "ModifyPerms ReplaceRows", "mapi.ModifyPermissionsFlags.ModifyPerms_ReplaceRows", FT_BOOLEAN, 8, TFS(&ModifyPermissionsFlags_ModifyPerms_ReplaceRows_tfs), ( 0x01 ), NULL, HFILL }},
+ { &hf_mapi_ModifyPermissions_req_rowList,
+ { "RowList", "mapi.ModifyPermissions_req.rowList", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipientRow_RecipClass,
+ { "RecipClass", "mapi.ModifyRecipientRow.RecipClass", FT_UINT8, BASE_DEC, VALS(mapi_ulRecipClass_vals), 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipientRow_RecipientRow,
+ { "RecipientRow", "mapi.ModifyRecipientRow.RecipientRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipientRow_idx,
+ { "Idx", "mapi.ModifyRecipientRow.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipients_req_RecipientRow,
+ { "RecipientRow", "mapi.ModifyRecipients_req.RecipientRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipients_req_cValues,
+ { "CValues", "mapi.ModifyRecipients_req.cValues", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipients_req_prop_count,
+ { "Prop Count", "mapi.ModifyRecipients_req.prop_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRecipients_req_properties,
+ { "Properties", "mapi.ModifyRecipients_req.properties", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRulesFlag_ModifyRulesFlag_Replace,
+ { "ModifyRulesFlag Replace", "mapi.ModifyRulesFlag.ModifyRulesFlag_Replace", FT_BOOLEAN, 8, TFS(&ModifyRulesFlag_ModifyRulesFlag_Replace_tfs), ( 0x01 ), NULL, HFILL }},
+ { &hf_mapi_ModifyRules_req_ModifyRulesFlags,
+ { "ModifyRulesFlags", "mapi.ModifyRules_req.ModifyRulesFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRules_req_RulesCount,
+ { "RulesCount", "mapi.ModifyRules_req.RulesCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ModifyRules_req_RulesData,
+ { "RulesData", "mapi.ModifyRules_req.RulesData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopyMessages_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.MoveCopyMessages_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopyMessages_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.MoveCopyMessages_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopyMessages_req_WantCopy,
+ { "WantCopy", "mapi.MoveCopyMessages_req.WantCopy", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopyMessages_req_count,
+ { "Count", "mapi.MoveCopyMessages_req.count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopyMessages_req_message_id,
+ { "Message Id", "mapi.MoveCopyMessages_req.message_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopy_Action_FolderEID,
+ { "FolderEID", "mapi.MoveCopy_Action.FolderEID", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopy_Action_FolderInThisStore,
+ { "FolderInThisStore", "mapi.MoveCopy_Action.FolderInThisStore", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveCopy_Action_StoreEID,
+ { "StoreEID", "mapi.MoveCopy_Action.StoreEID", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveFolder_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.MoveFolder_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveFolder_req_FolderId,
+ { "FolderId", "mapi.MoveFolder_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveFolder_req_NewFolderName,
+ { "NewFolderName", "mapi.MoveFolder_req.NewFolderName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveFolder_req_UseUnicode,
+ { "UseUnicode", "mapi.MoveFolder_req.UseUnicode", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MoveFolder_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.MoveFolder_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_ASSOCIATED,
+ { "MSGFLAG ASSOCIATED", "mapi.MsgFlags.MSGFLAG_ASSOCIATED", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_ASSOCIATED_tfs), ( 0x40 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_FROMME,
+ { "MSGFLAG FROMME", "mapi.MsgFlags.MSGFLAG_FROMME", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_FROMME_tfs), ( 0x20 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_HASATTACH,
+ { "MSGFLAG HASATTACH", "mapi.MsgFlags.MSGFLAG_HASATTACH", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_HASATTACH_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_NRN_PENDING,
+ { "MSGFLAG NRN PENDING", "mapi.MsgFlags.MSGFLAG_NRN_PENDING", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_NRN_PENDING_tfs), ( 0x200 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_READ,
+ { "MSGFLAG READ", "mapi.MsgFlags.MSGFLAG_READ", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_READ_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_RESEND,
+ { "MSGFLAG RESEND", "mapi.MsgFlags.MSGFLAG_RESEND", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_RESEND_tfs), ( 0x80 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_RN_PENDING,
+ { "MSGFLAG RN PENDING", "mapi.MsgFlags.MSGFLAG_RN_PENDING", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_RN_PENDING_tfs), ( 0x100 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_SUBMIT,
+ { "MSGFLAG SUBMIT", "mapi.MsgFlags.MSGFLAG_SUBMIT", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_SUBMIT_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_UNMODIFIED,
+ { "MSGFLAG UNMODIFIED", "mapi.MsgFlags.MSGFLAG_UNMODIFIED", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_UNMODIFIED_tfs), ( 0x2 ), NULL, HFILL }},
+ { &hf_mapi_MsgFlags_MSGFLAG_UNSENT,
+ { "MSGFLAG UNSENT", "mapi.MsgFlags.MSGFLAG_UNSENT", FT_BOOLEAN, 32, TFS(&MsgFlags_MSGFLAG_UNSENT_tfs), ( 0x8 ), NULL, HFILL }},
+ { &hf_mapi_NewMailNotification_FID,
+ { "FID", "mapi.NewMailNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NewMailNotification_MID,
+ { "MID", "mapi.NewMailNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NewMailNotification_MessageClass,
+ { "MessageClass", "mapi.NewMailNotification.MessageClass", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NewMailNotification_MessageFlags,
+ { "MessageFlags", "mapi.NewMailNotification.MessageFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NewMailNotification_UnicodeFlag,
+ { "UnicodeFlag", "mapi.NewMailNotification.UnicodeFlag", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_ContentsTableChange,
+ { "ContentsTableChange", "mapi.NotificationData.ContentsTableChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderCopyNotification,
+ { "FolderCopyNotification", "mapi.NotificationData.FolderCopyNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderCreatedNotification,
+ { "FolderCreatedNotification", "mapi.NotificationData.FolderCreatedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderDeletedNotification,
+ { "FolderDeletedNotification", "mapi.NotificationData.FolderDeletedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderModifiedNotification_10,
+ { "FolderModifiedNotification 10", "mapi.NotificationData.FolderModifiedNotification_10", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderModifiedNotification_1010,
+ { "FolderModifiedNotification 1010", "mapi.NotificationData.FolderModifiedNotification_1010", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderModifiedNotification_2010,
+ { "FolderModifiedNotification 2010", "mapi.NotificationData.FolderModifiedNotification_2010", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderModifiedNotification_3010,
+ { "FolderModifiedNotification 3010", "mapi.NotificationData.FolderModifiedNotification_3010", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_FolderMoveNotification,
+ { "FolderMoveNotification", "mapi.NotificationData.FolderMoveNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_HierarchyTableChange,
+ { "HierarchyTableChange", "mapi.NotificationData.HierarchyTableChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_IcsNotification,
+ { "IcsNotification", "mapi.NotificationData.IcsNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_MessageCopyNotification,
+ { "MessageCopyNotification", "mapi.NotificationData.MessageCopyNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_MessageCreatedNotification,
+ { "MessageCreatedNotification", "mapi.NotificationData.MessageCreatedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_MessageDeletedNotification,
+ { "MessageDeletedNotification", "mapi.NotificationData.MessageDeletedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_MessageModifiedNotification,
+ { "MessageModifiedNotification", "mapi.NotificationData.MessageModifiedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_MessageMoveNotification,
+ { "MessageMoveNotification", "mapi.NotificationData.MessageMoveNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_NewMailNotification,
+ { "NewMailNotification", "mapi.NotificationData.NewMailNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_NewMessageNotification,
+ { "NewMessageNotification", "mapi.NotificationData.NewMessageNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_SearchCompleteNotification,
+ { "SearchCompleteNotification", "mapi.NotificationData.SearchCompleteNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_SearchMessageCreatedNotification,
+ { "SearchMessageCreatedNotification", "mapi.NotificationData.SearchMessageCreatedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_SearchMessageModifiedNotification,
+ { "SearchMessageModifiedNotification", "mapi.NotificationData.SearchMessageModifiedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_SearchMessageRemovedNotification,
+ { "SearchMessageRemovedNotification", "mapi.NotificationData.SearchMessageRemovedNotification", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_NotificationData_SearchTableChange,
+ { "SearchTableChange", "mapi.NotificationData.SearchTableChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Notify_repl_LogonId,
+ { "LogonId", "mapi.Notify_repl.LogonId", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Notify_repl_NotificationData,
+ { "NotificationData", "mapi.Notify_repl.NotificationData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Notify_repl_NotificationHandle,
+ { "NotificationHandle", "mapi.Notify_repl.NotificationHandle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Notify_repl_NotificationType,
+ { "NotificationType", "mapi.Notify_repl.NotificationType", FT_UINT16, BASE_DEC, VALS(mapi_NotificationFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenAttach_req_AttachmentID,
+ { "AttachmentID", "mapi.OpenAttach_req.AttachmentID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenAttach_req_OpenAttachmentFlags,
+ { "OpenAttachmentFlags", "mapi.OpenAttach_req.OpenAttachmentFlags", FT_UINT8, BASE_DEC, VALS(mapi_OpenAttachmentFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_ColumnCount,
+ { "ColumnCount", "mapi.OpenEmbeddedMessage_repl.ColumnCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_HasNamedProperties,
+ { "HasNamedProperties", "mapi.OpenEmbeddedMessage_repl.HasNamedProperties", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_MessageId,
+ { "MessageId", "mapi.OpenEmbeddedMessage_repl.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_NormalizedSubject,
+ { "NormalizedSubject", "mapi.OpenEmbeddedMessage_repl.NormalizedSubject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_RecipientColumns,
+ { "RecipientColumns", "mapi.OpenEmbeddedMessage_repl.RecipientColumns", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_RecipientCount,
+ { "RecipientCount", "mapi.OpenEmbeddedMessage_repl.RecipientCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_RecipientRows,
+ { "RecipientRows", "mapi.OpenEmbeddedMessage_repl.RecipientRows", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_Reserved,
+ { "Reserved", "mapi.OpenEmbeddedMessage_repl.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_RowCount,
+ { "RowCount", "mapi.OpenEmbeddedMessage_repl.RowCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_repl_SubjectPrefix,
+ { "SubjectPrefix", "mapi.OpenEmbeddedMessage_repl.SubjectPrefix", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_req_CodePageId,
+ { "CodePageId", "mapi.OpenEmbeddedMessage_req.CodePageId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenEmbeddedMessage_req_OpenModeFlags,
+ { "OpenModeFlags", "mapi.OpenEmbeddedMessage_req.OpenModeFlags", FT_UINT8, BASE_DEC, VALS(mapi_OpenEmbeddedMessage_OpenModeFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenFlags_ALTERNATE_SERVER,
+ { "ALTERNATE SERVER", "mapi.OpenFlags.ALTERNATE_SERVER", FT_BOOLEAN, 32, TFS(&OpenFlags_ALTERNATE_SERVER_tfs), ( 0x100 ), NULL, HFILL }},
+ { &hf_mapi_OpenFlags_HOME_LOGON,
+ { "HOME LOGON", "mapi.OpenFlags.HOME_LOGON", FT_BOOLEAN, 32, TFS(&OpenFlags_HOME_LOGON_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_OpenFlags_IGNORE_HOME_MDB,
+ { "IGNORE HOME MDB", "mapi.OpenFlags.IGNORE_HOME_MDB", FT_BOOLEAN, 32, TFS(&OpenFlags_IGNORE_HOME_MDB_tfs), ( 0x200 ), NULL, HFILL }},
+ { &hf_mapi_OpenFlags_NO_MAIL,
+ { "NO MAIL", "mapi.OpenFlags.NO_MAIL", FT_BOOLEAN, 32, TFS(&OpenFlags_NO_MAIL_tfs), ( 0x400 ), NULL, HFILL }},
+ { &hf_mapi_OpenFlags_PUBLIC,
+ { "PUBLIC", "mapi.OpenFlags.PUBLIC", FT_BOOLEAN, 32, TFS(&OpenFlags_PUBLIC_tfs), ( 0x2 ), NULL, HFILL }},
+ { &hf_mapi_OpenFlags_TAKE_OWNERSHIP,
+ { "TAKE OWNERSHIP", "mapi.OpenFlags.TAKE_OWNERSHIP", FT_BOOLEAN, 32, TFS(&OpenFlags_TAKE_OWNERSHIP_tfs), ( 0x8 ), NULL, HFILL }},
+ { &hf_mapi_OpenFlags_USE_PER_MDB_REPLID_MAPPING,
+ { "USE PER MDB REPLID MAPPING", "mapi.OpenFlags.USE_PER_MDB_REPLID_MAPPING", FT_BOOLEAN, 32, TFS(&OpenFlags_USE_PER_MDB_REPLID_MAPPING_tfs), ( 0x010000000 ), NULL, HFILL }},
+ { &hf_mapi_OpenFolder_Replicas_CheapServerCount,
+ { "CheapServerCount", "mapi.OpenFolder_Replicas.CheapServerCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_Replicas_ServerCount,
+ { "ServerCount", "mapi.OpenFolder_Replicas.ServerCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_Replicas_Servers,
+ { "Servers", "mapi.OpenFolder_Replicas.Servers", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_Success_Ghost,
+ { "Ghost", "mapi.OpenFolder_Success.Ghost", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_Success_HasRules,
+ { "HasRules", "mapi.OpenFolder_Success.HasRules", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_Success_IsGhosted,
+ { "IsGhosted", "mapi.OpenFolder_Success.IsGhosted", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_repl_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.OpenFolder_repl.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_repl_ReturnValue,
+ { "ReturnValue", "mapi.OpenFolder_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_repl_repl,
+ { "Repl", "mapi.OpenFolder_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_repl_status_Success,
+ { "Success", "mapi.OpenFolder_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_req_FolderId,
+ { "FolderId", "mapi.OpenFolder_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenFolder_req_OpenModeFlags,
+ { "OpenModeFlags", "mapi.OpenFolder_req.OpenModeFlags", FT_UINT8, BASE_DEC, VALS(mapi_OpenFolder_OpenModeFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_ColumnCount,
+ { "ColumnCount", "mapi.OpenMessage_Success.ColumnCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_HasNamedProperties,
+ { "HasNamedProperties", "mapi.OpenMessage_Success.HasNamedProperties", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_NormalizedSubject,
+ { "NormalizedSubject", "mapi.OpenMessage_Success.NormalizedSubject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_RecipientColumns,
+ { "RecipientColumns", "mapi.OpenMessage_Success.RecipientColumns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_RecipientCount,
+ { "RecipientCount", "mapi.OpenMessage_Success.RecipientCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_RowCount,
+ { "RowCount", "mapi.OpenMessage_Success.RowCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_SubjectPrefix,
+ { "SubjectPrefix", "mapi.OpenMessage_Success.SubjectPrefix", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_Success_recipients,
+ { "Recipients", "mapi.OpenMessage_Success.recipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
{ &hf_mapi_OpenMessage_recipients_RecipClass,
{ "RecipClass", "mapi.OpenMessage_recipients.RecipClass", FT_UINT8, BASE_DEC, VALS(mapi_ulRecipClass_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_recipients_RecipientRow,
+ { "RecipientRow", "mapi.OpenMessage_recipients.RecipientRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_recipients_Reserved,
+ { "Reserved", "mapi.OpenMessage_recipients.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_mapi_OpenMessage_recipients_codepage,
- { "Codepage", "mapi.OpenMessage_recipients.codepage", FT_UINT32, BASE_DEC, VALS(mapi_CODEPAGEID_vals), 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_recipients_recipients_headers,
- { "Recipients Headers", "mapi.OpenMessage_recipients.recipients_headers", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_recipients_recipients_headers_,
- { "Subcontext length", "mapi.OpenMessage_recipients.subcontext", FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_req_folder_handle_idx,
- { "Folder Handle Idx", "mapi.OpenMessage_req.folder_handle_idx", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_req_folder_id,
- { "Folder Id", "mapi.OpenMessage_req.folder_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_req_max_data,
- { "Max Data", "mapi.OpenMessage_req.max_data", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_req_message_id,
- { "Message Id", "mapi.OpenMessage_req.message_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_OpenMessage_req_message_permissions,
- { "Message Permissions", "mapi.OpenMessage_req.message_permissions", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { "Codepage", "mapi.OpenMessage_recipients.codepage", FT_UINT16, BASE_DEC, VALS(mapi_CODEPAGEID_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_repl_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.OpenMessage_repl.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_repl_ReturnValue,
+ { "ReturnValue", "mapi.OpenMessage_repl.ReturnValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_repl_repl,
+ { "Repl", "mapi.OpenMessage_repl.repl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_repl_status_Success,
+ { "Success", "mapi.OpenMessage_repl_status.Success", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_req_CodePageId,
+ { "CodePageId", "mapi.OpenMessage_req.CodePageId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_req_FolderId,
+ { "FolderId", "mapi.OpenMessage_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_req_MessageId,
+ { "MessageId", "mapi.OpenMessage_req.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenMessage_req_OpenModeFlags,
+ { "OpenModeFlags", "mapi.OpenMessage_req.OpenModeFlags", FT_UINT8, BASE_DEC, VALS(mapi_OpenMessage_OpenModeFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenPublicFolderByName_repl_Ghost,
+ { "Ghost", "mapi.OpenPublicFolderByName_repl.Ghost", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenPublicFolderByName_repl_HasRules,
+ { "HasRules", "mapi.OpenPublicFolderByName_repl.HasRules", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenPublicFolderByName_repl_IsGhosted,
+ { "IsGhosted", "mapi.OpenPublicFolderByName_repl.IsGhosted", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenPublicFolderByName_req_handle_idx,
+ { "Handle Idx", "mapi.OpenPublicFolderByName_req.handle_idx", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenPublicFolderByName_req_name,
+ { "Name", "mapi.OpenPublicFolderByName_req.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenRecipientRow_CodePageId,
+ { "CodePageId", "mapi.OpenRecipientRow.CodePageId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenRecipientRow_InputHandleIndex,
+ { "InputHandleIndex", "mapi.OpenRecipientRow.InputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenRecipientRow_LogonId,
+ { "LogonId", "mapi.OpenRecipientRow.LogonId", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenRecipientRow_RecipientRow,
+ { "RecipientRow", "mapi.OpenRecipientRow.RecipientRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenRecipientRow_RecipientType,
+ { "RecipientType", "mapi.OpenRecipientRow.RecipientType", FT_UINT8, BASE_DEC, VALS(mapi_ulRecipClass_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenRecipientRow_Reserved,
+ { "Reserved", "mapi.OpenRecipientRow.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenStream_repl_StreamSize,
+ { "StreamSize", "mapi.OpenStream_repl.StreamSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OpenStream_req_OpenModeFlags,
+ { "OpenModeFlags", "mapi.OpenStream_req.OpenModeFlags", FT_UINT8, BASE_DEC, VALS(mapi_OpenStream_OpenModeFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OpenStream_req_PropertyTag,
+ { "PropertyTag", "mapi.OpenStream_req.PropertyTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_HelpFileName_HelpFileName,
+ { "HelpFileName", "mapi.OptionsData_HelpFileName.HelpFileName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_repl_HelpFile,
+ { "HelpFile", "mapi.OptionsData_repl.HelpFile", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_repl_HelpFileName,
+ { "HelpFileName", "mapi.OptionsData_repl.HelpFileName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_repl_HelpFileSize,
+ { "HelpFileSize", "mapi.OptionsData_repl.HelpFileSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_repl_OptionsInfo,
+ { "OptionsInfo", "mapi.OptionsData_repl.OptionsInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_repl_Reserved,
+ { "Reserved", "mapi.OptionsData_repl.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_req_AddressType,
+ { "AddressType", "mapi.OptionsData_req.AddressType", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OptionsData_req_WantWin32,
+ { "WantWin32", "mapi.OptionsData_req.WantWin32", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_OutputHandleIndex,
+ { "OutputHandleIndex", "mapi.rop.OutputHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_Pending_repl_SessionIndex,
+ { "SessionIndex", "mapi.Pending_repl.SessionIndex", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_PermissionData_PermissionDataFlags,
+ { "PermissionDataFlags", "mapi.PermissionData.PermissionDataFlags", FT_UINT8, BASE_DEC, VALS(mapi_ulRowFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_PermissionData_lpProps,
+ { "LpProps", "mapi.PermissionData.lpProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_PermissionsTableFlags_IncludeFreeBusy,
+ { "IncludeFreeBusy", "mapi.PermissionsTableFlags.IncludeFreeBusy", FT_BOOLEAN, 8, TFS(&PermissionsTableFlags_IncludeFreeBusy_tfs), ( 0x02 ), NULL, HFILL }},
+ { &hf_mapi_Progress_repl_CompletedTaskCount,
+ { "CompletedTaskCount", "mapi.Progress_repl.CompletedTaskCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Progress_repl_TotalTaskCount,
+ { "TotalTaskCount", "mapi.Progress_repl.TotalTaskCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Progress_req_WantCancel,
+ { "WantCancel", "mapi.Progress_req.WantCancel", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_PropertyProblem_error_code,
+ { "Error Code", "mapi.PropertyProblem.error_code", FT_UINT32, BASE_DEC, VALS(mapi_MAPISTATUS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_PropertyProblem_index,
+ { "Index", "mapi.PropertyProblem.index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_PropertyProblem_property_tag,
+ { "Property Tag", "mapi.PropertyProblem.property_tag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_PublicFolderIsGhosted_repl_Ghost,
+ { "Ghost", "mapi.PublicFolderIsGhosted_repl.Ghost", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_PublicFolderIsGhosted_repl_IsGhosted,
+ { "IsGhosted", "mapi.PublicFolderIsGhosted_repl.IsGhosted", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_PublicFolderIsGhosted_req_FolderId,
+ { "FolderId", "mapi.PublicFolderIsGhosted_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryColumnsAll_repl_PropertyTagCount,
+ { "PropertyTagCount", "mapi.QueryColumnsAll_repl.PropertyTagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryColumnsAll_repl_PropertyTags,
+ { "PropertyTags", "mapi.QueryColumnsAll_repl.PropertyTags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_QueryFlags_NoIds,
+ { "NoIds", "mapi.QueryFlags.NoIds", FT_BOOLEAN, 8, TFS(&QueryFlags_NoIds_tfs), ( 0x02 ), NULL, HFILL }},
+ { &hf_mapi_QueryFlags_NoStrings,
+ { "NoStrings", "mapi.QueryFlags.NoStrings", FT_BOOLEAN, 8, TFS(&QueryFlags_NoStrings_tfs), ( 0x01 ), NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_guid_guid,
+ { "Guid", "mapi.QueryNamedProperties_guid.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_repl_IdCount,
+ { "IdCount", "mapi.QueryNamedProperties_repl.IdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_repl_PropertyIds,
+ { "PropertyIds", "mapi.QueryNamedProperties_repl.PropertyIds", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_repl_PropertyNames,
+ { "PropertyNames", "mapi.QueryNamedProperties_repl.PropertyNames", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_req_HasGuid,
+ { "HasGuid", "mapi.QueryNamedProperties_req.HasGuid", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_req_PropertyGuid,
+ { "PropertyGuid", "mapi.QueryNamedProperties_req.PropertyGuid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryNamedProperties_req_QueryFlags,
+ { "QueryFlags", "mapi.QueryNamedProperties_req.QueryFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryPosition_repl_Denominator,
+ { "Denominator", "mapi.QueryPosition_repl.Denominator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryPosition_repl_Numerator,
+ { "Numerator", "mapi.QueryPosition_repl.Numerator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryRows_repl_Origin,
+ { "Origin", "mapi.QueryRows_repl.Origin", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryRows_repl_RowCount,
+ { "RowCount", "mapi.QueryRows_repl.RowCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryRows_repl_RowData,
+ { "RowData", "mapi.QueryRows_repl.RowData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryRows_req_ForwardRead,
+ { "ForwardRead", "mapi.QueryRows_req.ForwardRead", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_QueryRows_req_QueryRowsFlags,
+ { "QueryRowsFlags", "mapi.QueryRows_req.QueryRowsFlags", FT_UINT8, BASE_DEC, VALS(mapi_QueryRowsFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_QueryRows_req_RowCount,
+ { "RowCount", "mapi.QueryRows_req.RowCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ROPInputBuffer_objectHandles,
+ { "ObjectHandles", "mapi.ROPInputBuffer.objectHandles", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ROPInputBuffer_rop,
+ { "Rop", "mapi.ROPInputBuffer.rop", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ROPInputBuffer_ropSize,
+ { "RopSize", "mapi.ROPInputBuffer.ropSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ROPOutputBuffer_objectHandles,
+ { "ObjectHandles", "mapi.ROPOutputBuffer.objectHandles", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ROPOutputBuffer_rop,
+ { "Rop", "mapi.ROPOutputBuffer.rop", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ROPOutputBuffer_ropSize,
+ { "RopSize", "mapi.ROPOutputBuffer.ropSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_Flags,
+ { "Flags", "mapi.RPC_HEADER_EXT.Flags", FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Compressed,
+ { "RHEF Compressed", "mapi.RPC_HEADER_EXT_Flags.RHEF_Compressed", FT_BOOLEAN, 16, TFS(&RPC_HEADER_EXT_Flags_RHEF_Compressed_tfs), ( 0x0001 ), NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_Last,
+ { "RHEF Last", "mapi.RPC_HEADER_EXT_Flags.RHEF_Last", FT_BOOLEAN, 16, TFS(&RPC_HEADER_EXT_Flags_RHEF_Last_tfs), ( 0x0004 ), NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_Flags_RHEF_XorMagic,
+ { "RHEF XorMagic", "mapi.RPC_HEADER_EXT_Flags.RHEF_XorMagic", FT_BOOLEAN, 16, TFS(&RPC_HEADER_EXT_Flags_RHEF_XorMagic_tfs), ( 0x0002 ), NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_Size,
+ { "Size", "mapi.RPC_HEADER_EXT.Size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_SizeActual,
+ { "SizeActual", "mapi.RPC_HEADER_EXT.SizeActual", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RPC_HEADER_EXT_Version,
+ { "Version", "mapi.RPC_HEADER_EXT.Version", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadPerUserInformation_repl_Data,
+ { "Data", "mapi.ReadPerUserInformation_repl.Data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadPerUserInformation_repl_HasFinished,
+ { "HasFinished", "mapi.ReadPerUserInformation_repl.HasFinished", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadPerUserInformation_req_DataOffset,
+ { "DataOffset", "mapi.ReadPerUserInformation_req.DataOffset", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadPerUserInformation_req_FolderId,
+ { "FolderId", "mapi.ReadPerUserInformation_req.FolderId", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadPerUserInformation_req_MaxDataSize,
+ { "MaxDataSize", "mapi.ReadPerUserInformation_req.MaxDataSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadPerUserInformation_req_WhatIfChanged,
+ { "WhatIfChanged", "mapi.ReadPerUserInformation_req.WhatIfChanged", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipientRow_CodePageId,
+ { "CodePageId", "mapi.ReadRecipientRow.CodePageId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipientRow_RecipientRow,
+ { "RecipientRow", "mapi.ReadRecipientRow.RecipientRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipientRow_RecipientType,
+ { "RecipientType", "mapi.ReadRecipientRow.RecipientType", FT_UINT8, BASE_DEC, VALS(mapi_ulRecipClass_vals), 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipientRow_RowId,
+ { "RowId", "mapi.ReadRecipientRow.RowId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipientRow_ulReserved,
+ { "UlReserved", "mapi.ReadRecipientRow.ulReserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipients_repl_RecipientRows,
+ { "RecipientRows", "mapi.ReadRecipients_repl.RecipientRows", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipients_repl_RowCount,
+ { "RowCount", "mapi.ReadRecipients_repl.RowCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipients_req_RowId,
+ { "RowId", "mapi.ReadRecipients_req.RowId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadRecipients_req_ulReserved,
+ { "UlReserved", "mapi.ReadRecipients_req.ulReserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadStream_repl_data,
+ { "Data", "mapi.ReadStream_repl.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadStream_req_ByteCount,
+ { "ByteCount", "mapi.ReadStream_req.ByteCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReadStream_req_MaximumByteCount,
+ { "MaximumByteCount", "mapi.ReadStream_req.MaximumByteCount", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReceiveFolder_fid,
+ { "Fid", "mapi.ReceiveFolder.fid", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReceiveFolder_lpszMessageClass,
+ { "LpszMessageClass", "mapi.ReceiveFolder.lpszMessageClass", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReceiveFolder_modiftime,
+ { "Modiftime", "mapi.ReceiveFolder.modiftime", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReceiveFolder_unknown,
+ { "Unknown", "mapi.ReceiveFolder.unknown", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_mapi_RecipExchange_addr_type,
{ "Addr Type", "mapi.RecipExchange.addr_type", FT_UINT8, BASE_DEC, VALS(mapi_addr_type_vals), 0, NULL, HFILL }},
{ &hf_mapi_RecipExchange_organization_length,
{ "Organization Length", "mapi.RecipExchange.organization_length", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_b,
- { "B", "mapi.SPropValue_CTR.b", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_d,
- { "D", "mapi.SPropValue_CTR.d", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_dbl,
- { "Dbl", "mapi.SPropValue_CTR.dbl", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_err,
- { "Err", "mapi.SPropValue_CTR.err", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_ft,
- { "Ft", "mapi.SPropValue_CTR.ft", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_i,
- { "I", "mapi.SPropValue_CTR.i", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_l,
- { "L", "mapi.SPropValue_CTR.l", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_lpguid,
- { "Lpguid", "mapi.SPropValue_CTR.lpguid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_lpszA,
- { "LpszA", "mapi.SPropValue_CTR.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_CTR_lpszW,
- { "LpszW", "mapi.SPropValue_CTR.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_SPropValue_ulPropTag,
- { "UlPropTag", "mapi.SPropValue.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
- { &hf_mapi_SRow_ulRowFlags,
- { "UlRowFlags", "mapi.SRow.ulRowFlags", FT_UINT8, BASE_DEC, VALS(mapi_ulRowFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_RecipExchange_username,
+ { "Username", "mapi.RecipExchange.username", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientBlock_PropertyValue,
+ { "PropertyValue", "mapi.RecipientBlock.PropertyValue", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientBlock_Reserved,
+ { "Reserved", "mapi.RecipientBlock.Reserved", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_DisplayName,
+ { "DisplayName", "mapi.RecipientRow.DisplayName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_EmailAddress,
+ { "EmailAddress", "mapi.RecipientRow.EmailAddress", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_RecipientFlags,
+ { "RecipientFlags", "mapi.RecipientRow.RecipientFlags", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_SimpleDisplayName,
+ { "SimpleDisplayName", "mapi.RecipientRow.SimpleDisplayName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_TransmittableDisplayName,
+ { "TransmittableDisplayName", "mapi.RecipientRow.TransmittableDisplayName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_layout,
+ { "Layout", "mapi.RecipientRow.layout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_prop_count,
+ { "Prop Count", "mapi.RecipientRow.prop_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_prop_values,
+ { "Prop Values", "mapi.RecipientRow.prop_values", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RecipientRow_type,
+ { "Type", "mapi.RecipientRow.type", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RegisterNotification_req_layout,
+ { "Layout", "mapi.RegisterNotification_req.layout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RegisterNotification_req_notificationFlags,
+ { "NotificationFlags", "mapi.RegisterNotification_req.notificationFlags", FT_UINT16, BASE_DEC, VALS(mapi_NotificationFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_RegisterNotification_req_u,
+ { "U", "mapi.RegisterNotification_req.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_HasNamedProperties,
+ { "HasNamedProperties", "mapi.ReloadCachedInformation_repl.HasNamedProperties", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_NormalizedSubject,
+ { "NormalizedSubject", "mapi.ReloadCachedInformation_repl.NormalizedSubject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_RecipientColumns,
+ { "RecipientColumns", "mapi.ReloadCachedInformation_repl.RecipientColumns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_RecipientCount,
+ { "RecipientCount", "mapi.ReloadCachedInformation_repl.RecipientCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_RecipientRows,
+ { "RecipientRows", "mapi.ReloadCachedInformation_repl.RecipientRows", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_RowCount,
+ { "RowCount", "mapi.ReloadCachedInformation_repl.RowCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_repl_SubjectPrefix,
+ { "SubjectPrefix", "mapi.ReloadCachedInformation_repl.SubjectPrefix", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReloadCachedInformation_req_Reserved,
+ { "Reserved", "mapi.ReloadCachedInformation_req.Reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RemoveAllRecipients_req_ulReserved,
+ { "UlReserved", "mapi.RemoveAllRecipients_req.ulReserved", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReplyOOF_Action_ReplyTemplateFID,
+ { "ReplyTemplateFID", "mapi.ReplyOOF_Action.ReplyTemplateFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReplyOOF_Action_ReplyTemplateGUID,
+ { "ReplyTemplateGUID", "mapi.ReplyOOF_Action.ReplyTemplateGUID", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ReplyOOF_Action_ReplyTemplateMID,
+ { "ReplyTemplateMID", "mapi.ReplyOOF_Action.ReplyTemplateMID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ResponseFlags_ResponseFlags_OOF,
+ { "ResponseFlags OOF", "mapi.ResponseFlags.ResponseFlags_OOF", FT_BOOLEAN, 8, TFS(&ResponseFlags_ResponseFlags_OOF_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_ResponseFlags_ResponseFlags_OwnerRight,
+ { "ResponseFlags OwnerRight", "mapi.ResponseFlags.ResponseFlags_OwnerRight", FT_BOOLEAN, 8, TFS(&ResponseFlags_ResponseFlags_OwnerRight_tfs), ( 0x2 ), NULL, HFILL }},
+ { &hf_mapi_ResponseFlags_ResponseFlags_Reserved,
+ { "ResponseFlags Reserved", "mapi.ResponseFlags.ResponseFlags_Reserved", FT_BOOLEAN, 8, TFS(&ResponseFlags_ResponseFlags_Reserved_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_ResponseFlags_ResponseFlags_SendAsRight,
+ { "ResponseFlags SendAsRight", "mapi.ResponseFlags.ResponseFlags_SendAsRight", FT_BOOLEAN, 8, TFS(&ResponseFlags_ResponseFlags_SendAsRight_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_ResponseHandleIndex,
+ { "ResponseHandleIndex", "mapi.rop.ResponseHandleIndex", FT_UINT8, BASE_DEC, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_Restrict_repl_TableStatus,
+ { "TableStatus", "mapi.Restrict_repl.TableStatus", FT_UINT8, BASE_DEC, VALS(mapi_TableStatus_vals), 0, NULL, HFILL }},
+ { &hf_mapi_Restrict_req_handle_idx,
+ { "Handle Idx", "mapi.Restrict_req.handle_idx", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_Restrict_req_restrictions,
+ { "Restrictions", "mapi.Restrict_req.restrictions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RestrictionVariable_res,
+ { "Res", "mapi.RestrictionVariable.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RgbInSize,
+ { "RgbInSize", "mapi.RgbIn.RgbInSize", FT_UINT32, BASE_DEC, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_RgbIn_RpcHeaderExtension,
+ { "RpcHeaderExtension", "mapi.RgbIn.RpcHeaderExtension", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RgbIn_ropIn,
+ { "RopIn", "mapi.RgbIn.ropIn", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RgbOutSize,
+ { "RgbOutSize", "mapi.RgbOut.RgbOutSize", FT_UINT32, BASE_DEC, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_RgbOut_RpcHeaderExtension,
+ { "RpcHeaderExtension", "mapi.RgbOut.RpcHeaderExtension", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RgbOut_ropOut,
+ { "RopOut", "mapi.RgbOut.ropOut", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopBufferTooSmall_repl_SizeNeeded,
+ { "SizeNeeded", "mapi.RopBufferTooSmall_repl.SizeNeeded", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopInput_RopId,
+ { "RopId", "mapi.RopInput.RopId", FT_UINT8, BASE_DEC, VALS(mapi_ROP_OPNUM_vals), 0, NULL, HFILL }},
+ { &hf_mapi_RopInput_u,
+ { "U", "mapi.RopInput.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopOutput_RopId,
+ { "RopId", "mapi.RopOutput.RopId", FT_UINT8, BASE_DEC, VALS(mapi_ROP_OPNUM_vals), 0, NULL, HFILL }},
+ { &hf_mapi_RopOutput_u,
+ { "U", "mapi.RopOutput.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Abort,
+ { "Abort", "mapi.RopReply.Abort", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_AbortSubmit,
+ { "AbortSubmit", "mapi.RopReply.AbortSubmit", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_AddressTypes,
+ { "AddressTypes", "mapi.RopReply.AddressTypes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Advise,
+ { "Advise", "mapi.RopReply.Advise", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CloneStream,
+ { "CloneStream", "mapi.RopReply.CloneStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CollapseRow,
+ { "CollapseRow", "mapi.RopReply.CollapseRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CommitStream,
+ { "CommitStream", "mapi.RopReply.CommitStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CopyFolder,
+ { "CopyFolder", "mapi.RopReply.CopyFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CopyProperties,
+ { "CopyProperties", "mapi.RopReply.CopyProperties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CopyTo,
+ { "CopyTo", "mapi.RopReply.CopyTo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CopyToStream,
+ { "CopyToStream", "mapi.RopReply.CopyToStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CreateAttach,
+ { "CreateAttach", "mapi.RopReply.CreateAttach", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CreateBookmark,
+ { "CreateBookmark", "mapi.RopReply.CreateBookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CreateFolder,
+ { "CreateFolder", "mapi.RopReply.CreateFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_CreateMessage,
+ { "CreateMessage", "mapi.RopReply.CreateMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_DeleteAttach,
+ { "DeleteAttach", "mapi.RopReply.DeleteAttach", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_DeleteFolder,
+ { "DeleteFolder", "mapi.RopReply.DeleteFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_DeleteMessages,
+ { "DeleteMessages", "mapi.RopReply.DeleteMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_DeletePropertiesNoReplicate,
+ { "DeletePropertiesNoReplicate", "mapi.RopReply.DeletePropertiesNoReplicate", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_DeleteProps,
+ { "DeleteProps", "mapi.RopReply.DeleteProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_EmptyFolder,
+ { "EmptyFolder", "mapi.RopReply.EmptyFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ExpandRow,
+ { "ExpandRow", "mapi.RopReply.ExpandRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_FastTransferSourceGetBuffer,
+ { "FastTransferSourceGetBuffer", "mapi.RopReply.FastTransferSourceGetBuffer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_FindRow,
+ { "FindRow", "mapi.RopReply.FindRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_FreeBookmark,
+ { "FreeBookmark", "mapi.RopReply.FreeBookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetAttachmentTable,
+ { "GetAttachmentTable", "mapi.RopReply.GetAttachmentTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetCollapseState,
+ { "GetCollapseState", "mapi.RopReply.GetCollapseState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetContentsTable,
+ { "GetContentsTable", "mapi.RopReply.GetContentsTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetHierarchyTable,
+ { "GetHierarchyTable", "mapi.RopReply.GetHierarchyTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetIDsFromNames,
+ { "GetIDsFromNames", "mapi.RopReply.GetIDsFromNames", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetLocalReplicaIds,
+ { "GetLocalReplicaIds", "mapi.RopReply.GetLocalReplicaIds", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetNamesFromIDs,
+ { "GetNamesFromIDs", "mapi.RopReply.GetNamesFromIDs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetOwningServers,
+ { "GetOwningServers", "mapi.RopReply.GetOwningServers", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetPerUserGuid,
+ { "GetPerUserGuid", "mapi.RopReply.GetPerUserGuid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetPerUserLongTermIds,
+ { "GetPerUserLongTermIds", "mapi.RopReply.GetPerUserLongTermIds", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetPermissionsTable,
+ { "GetPermissionsTable", "mapi.RopReply.GetPermissionsTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetPropList,
+ { "GetPropList", "mapi.RopReply.GetPropList", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetProps,
+ { "GetProps", "mapi.RopReply.GetProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetPropsAll,
+ { "GetPropsAll", "mapi.RopReply.GetPropsAll", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetReceiveFolder,
+ { "GetReceiveFolder", "mapi.RopReply.GetReceiveFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetReceiveFolderTable,
+ { "GetReceiveFolderTable", "mapi.RopReply.GetReceiveFolderTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetRulesTable,
+ { "GetRulesTable", "mapi.RopReply.GetRulesTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetSearchCriteria,
+ { "GetSearchCriteria", "mapi.RopReply.GetSearchCriteria", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetStatus,
+ { "GetStatus", "mapi.RopReply.GetStatus", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetStoreState,
+ { "GetStoreState", "mapi.RopReply.GetStoreState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetStreamSize,
+ { "GetStreamSize", "mapi.RopReply.GetStreamSize", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetTransportFolder,
+ { "GetTransportFolder", "mapi.RopReply.GetTransportFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_GetValidAttachments,
+ { "GetValidAttachments", "mapi.RopReply.GetValidAttachments", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_HardDeleteMessages,
+ { "HardDeleteMessages", "mapi.RopReply.HardDeleteMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_HardDeleteMessagesAndSubfolders,
+ { "HardDeleteMessagesAndSubfolders", "mapi.RopReply.HardDeleteMessagesAndSubfolders", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_IdFromLongTermId,
+ { "IdFromLongTermId", "mapi.RopReply.IdFromLongTermId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_LockRegionStream,
+ { "LockRegionStream", "mapi.RopReply.LockRegionStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Logon,
+ { "Logon", "mapi.RopReply.Logon", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_LongTermIdFromId,
+ { "LongTermIdFromId", "mapi.RopReply.LongTermIdFromId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ModifyPermissions,
+ { "ModifyPermissions", "mapi.RopReply.ModifyPermissions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ModifyRecipients,
+ { "ModifyRecipients", "mapi.RopReply.ModifyRecipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ModifyRules,
+ { "ModifyRules", "mapi.RopReply.ModifyRules", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_MoveCopyMessages,
+ { "MoveCopyMessages", "mapi.RopReply.MoveCopyMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_MoveFolder,
+ { "MoveFolder", "mapi.RopReply.MoveFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Notify,
+ { "Notify", "mapi.RopReply.Notify", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OpenAttach,
+ { "OpenAttach", "mapi.RopReply.OpenAttach", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OpenEmbeddedMessage,
+ { "OpenEmbeddedMessage", "mapi.RopReply.OpenEmbeddedMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OpenFolder,
+ { "OpenFolder", "mapi.RopReply.OpenFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OpenMessage,
+ { "OpenMessage", "mapi.RopReply.OpenMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OpenPublicFolderByName,
+ { "OpenPublicFolderByName", "mapi.RopReply.OpenPublicFolderByName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OpenStream,
+ { "OpenStream", "mapi.RopReply.OpenStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_OptionsData,
+ { "OptionsData", "mapi.RopReply.OptionsData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Pending,
+ { "Pending", "mapi.RopReply.Pending", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Progress,
+ { "Progress", "mapi.RopReply.Progress", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_PublicFolderIsGhosted,
+ { "PublicFolderIsGhosted", "mapi.RopReply.PublicFolderIsGhosted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_QueryColumnsAll,
+ { "QueryColumnsAll", "mapi.RopReply.QueryColumnsAll", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_QueryNamedProperties,
+ { "QueryNamedProperties", "mapi.RopReply.QueryNamedProperties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_QueryPosition,
+ { "QueryPosition", "mapi.RopReply.QueryPosition", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_QueryRows,
+ { "QueryRows", "mapi.RopReply.QueryRows", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ReadPerUserInformation,
+ { "ReadPerUserInformation", "mapi.RopReply.ReadPerUserInformation", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ReadRecipients,
+ { "ReadRecipients", "mapi.RopReply.ReadRecipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ReadStream,
+ { "ReadStream", "mapi.RopReply.ReadStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Release,
+ { "Release", "mapi.RopReply.Release", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ReloadCachedInformation,
+ { "ReloadCachedInformation", "mapi.RopReply.ReloadCachedInformation", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_RemoveAllRecipients,
+ { "RemoveAllRecipients", "mapi.RopReply.RemoveAllRecipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_ResetTable,
+ { "ResetTable", "mapi.RopReply.ResetTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_Restrict,
+ { "Restrict", "mapi.RopReply.Restrict", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_RopBufferTooSmall,
+ { "RopBufferTooSmall", "mapi.RopReply.RopBufferTooSmall", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SaveChangesAttachment,
+ { "SaveChangesAttachment", "mapi.RopReply.SaveChangesAttachment", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SaveChangesMessage,
+ { "SaveChangesMessage", "mapi.RopReply.SaveChangesMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SeekRow,
+ { "SeekRow", "mapi.RopReply.SeekRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SeekRowApprox,
+ { "SeekRowApprox", "mapi.RopReply.SeekRowApprox", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SeekRowBookmark,
+ { "SeekRowBookmark", "mapi.RopReply.SeekRowBookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SeekStream,
+ { "SeekStream", "mapi.RopReply.SeekStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetCollapseState,
+ { "SetCollapseState", "mapi.RopReply.SetCollapseState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetColumns,
+ { "SetColumns", "mapi.RopReply.SetColumns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetMessageReadFlag,
+ { "SetMessageReadFlag", "mapi.RopReply.SetMessageReadFlag", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetMessageStatus,
+ { "SetMessageStatus", "mapi.RopReply.SetMessageStatus", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetPropertiesNoReplicate,
+ { "SetPropertiesNoReplicate", "mapi.RopReply.SetPropertiesNoReplicate", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetProps,
+ { "SetProps", "mapi.RopReply.SetProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetReadFlags,
+ { "SetReadFlags", "mapi.RopReply.SetReadFlags", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetReceiveFolder,
+ { "SetReceiveFolder", "mapi.RopReply.SetReceiveFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetSearchCriteria,
+ { "SetSearchCriteria", "mapi.RopReply.SetSearchCriteria", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetSpooler,
+ { "SetSpooler", "mapi.RopReply.SetSpooler", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetStreamSize,
+ { "SetStreamSize", "mapi.RopReply.SetStreamSize", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SetSyncNotificationGuid,
+ { "SetSyncNotificationGuid", "mapi.RopReply.SetSyncNotificationGuid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SortTable,
+ { "SortTable", "mapi.RopReply.SortTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SpoolerLockMessage,
+ { "SpoolerLockMessage", "mapi.RopReply.SpoolerLockMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SubmitMessage,
+ { "SubmitMessage", "mapi.RopReply.SubmitMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncConfigure,
+ { "SyncConfigure", "mapi.RopReply.SyncConfigure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncGetTransferState,
+ { "SyncGetTransferState", "mapi.RopReply.SyncGetTransferState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncImportDeletes,
+ { "SyncImportDeletes", "mapi.RopReply.SyncImportDeletes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncImportHierarchyChange,
+ { "SyncImportHierarchyChange", "mapi.RopReply.SyncImportHierarchyChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncImportMessageChange,
+ { "SyncImportMessageChange", "mapi.RopReply.SyncImportMessageChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncImportMessageMove,
+ { "SyncImportMessageMove", "mapi.RopReply.SyncImportMessageMove", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncImportReadStateChanges,
+ { "SyncImportReadStateChanges", "mapi.RopReply.SyncImportReadStateChanges", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncOpenCollector,
+ { "SyncOpenCollector", "mapi.RopReply.SyncOpenCollector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncUploadStateStreamBegin,
+ { "SyncUploadStateStreamBegin", "mapi.RopReply.SyncUploadStateStreamBegin", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncUploadStateStreamContinue,
+ { "SyncUploadStateStreamContinue", "mapi.RopReply.SyncUploadStateStreamContinue", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_SyncUploadStateStreamEnd,
+ { "SyncUploadStateStreamEnd", "mapi.RopReply.SyncUploadStateStreamEnd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_TransportNewMail,
+ { "TransportNewMail", "mapi.RopReply.TransportNewMail", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_TransportSend,
+ { "TransportSend", "mapi.RopReply.TransportSend", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_UnlockRegionStream,
+ { "UnlockRegionStream", "mapi.RopReply.UnlockRegionStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_UpdateDeferredActionMessages,
+ { "UpdateDeferredActionMessages", "mapi.RopReply.UpdateDeferredActionMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_WriteAndCommitStream,
+ { "WriteAndCommitStream", "mapi.RopReply.WriteAndCommitStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopReply_WriteStream,
+ { "WriteStream", "mapi.RopReply.WriteStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_Abort,
+ { "Abort", "mapi.RopRequest.Abort", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_AbortSubmit,
+ { "AbortSubmit", "mapi.RopRequest.AbortSubmit", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_AddressTypes,
+ { "AddressTypes", "mapi.RopRequest.AddressTypes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_Advise,
+ { "Advise", "mapi.RopRequest.Advise", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CloneStream,
+ { "CloneStream", "mapi.RopRequest.CloneStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CollapseRow,
+ { "CollapseRow", "mapi.RopRequest.CollapseRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CommitStream,
+ { "CommitStream", "mapi.RopRequest.CommitStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CopyFolder,
+ { "CopyFolder", "mapi.RopRequest.CopyFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CopyProperties,
+ { "CopyProperties", "mapi.RopRequest.CopyProperties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CopyTo,
+ { "CopyTo", "mapi.RopRequest.CopyTo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CopyToStream,
+ { "CopyToStream", "mapi.RopRequest.CopyToStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CreateAttach,
+ { "CreateAttach", "mapi.RopRequest.CreateAttach", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CreateBookmark,
+ { "CreateBookmark", "mapi.RopRequest.CreateBookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CreateFolder,
+ { "CreateFolder", "mapi.RopRequest.CreateFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_CreateMessage,
+ { "CreateMessage", "mapi.RopRequest.CreateMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_DeleteAttach,
+ { "DeleteAttach", "mapi.RopRequest.DeleteAttach", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_DeleteFolder,
+ { "DeleteFolder", "mapi.RopRequest.DeleteFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_DeleteMessages,
+ { "DeleteMessages", "mapi.RopRequest.DeleteMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_DeletePropertiesNoReplicate,
+ { "DeletePropertiesNoReplicate", "mapi.RopRequest.DeletePropertiesNoReplicate", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_DeleteProps,
+ { "DeleteProps", "mapi.RopRequest.DeleteProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_EmptyFolder,
+ { "EmptyFolder", "mapi.RopRequest.EmptyFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ExpandRow,
+ { "ExpandRow", "mapi.RopRequest.ExpandRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_FastTransferSourceGetBuffer,
+ { "FastTransferSourceGetBuffer", "mapi.RopRequest.FastTransferSourceGetBuffer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_FindRow,
+ { "FindRow", "mapi.RopRequest.FindRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_FreeBookmark,
+ { "FreeBookmark", "mapi.RopRequest.FreeBookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetAttachmentTable,
+ { "GetAttachmentTable", "mapi.RopRequest.GetAttachmentTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetCollapseState,
+ { "GetCollapseState", "mapi.RopRequest.GetCollapseState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetContentsTable,
+ { "GetContentsTable", "mapi.RopRequest.GetContentsTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetHierarchyTable,
+ { "GetHierarchyTable", "mapi.RopRequest.GetHierarchyTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetIDsFromNames,
+ { "GetIDsFromNames", "mapi.RopRequest.GetIDsFromNames", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetLocalReplicaIds,
+ { "GetLocalReplicaIds", "mapi.RopRequest.GetLocalReplicaIds", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetMessageStatus,
+ { "GetMessageStatus", "mapi.RopRequest.GetMessageStatus", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetNamesFromIDs,
+ { "GetNamesFromIDs", "mapi.RopRequest.GetNamesFromIDs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetOwningServers,
+ { "GetOwningServers", "mapi.RopRequest.GetOwningServers", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetPerUserGuid,
+ { "GetPerUserGuid", "mapi.RopRequest.GetPerUserGuid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetPerUserLongTermIds,
+ { "GetPerUserLongTermIds", "mapi.RopRequest.GetPerUserLongTermIds", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetPermissionsTable,
+ { "GetPermissionsTable", "mapi.RopRequest.GetPermissionsTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetPropList,
+ { "GetPropList", "mapi.RopRequest.GetPropList", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetProps,
+ { "GetProps", "mapi.RopRequest.GetProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetPropsAll,
+ { "GetPropsAll", "mapi.RopRequest.GetPropsAll", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetReceiveFolder,
+ { "GetReceiveFolder", "mapi.RopRequest.GetReceiveFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetReceiveFolderTable,
+ { "GetReceiveFolderTable", "mapi.RopRequest.GetReceiveFolderTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetRulesTable,
+ { "GetRulesTable", "mapi.RopRequest.GetRulesTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetSearchCriteria,
+ { "GetSearchCriteria", "mapi.RopRequest.GetSearchCriteria", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetStatus,
+ { "GetStatus", "mapi.RopRequest.GetStatus", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetStoreState,
+ { "GetStoreState", "mapi.RopRequest.GetStoreState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetStreamSize,
+ { "GetStreamSize", "mapi.RopRequest.GetStreamSize", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetTransportFolder,
+ { "GetTransportFolder", "mapi.RopRequest.GetTransportFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_GetValidAttachments,
+ { "GetValidAttachments", "mapi.RopRequest.GetValidAttachments", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_HardDeleteMessages,
+ { "HardDeleteMessages", "mapi.RopRequest.HardDeleteMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_HardDeleteMessagesAndSubfolders,
+ { "HardDeleteMessagesAndSubfolders", "mapi.RopRequest.HardDeleteMessagesAndSubfolders", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_IdFromLongTermId,
+ { "IdFromLongTermId", "mapi.RopRequest.IdFromLongTermId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_LockRegionStream,
+ { "LockRegionStream", "mapi.RopRequest.LockRegionStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_Logon,
+ { "Logon", "mapi.RopRequest.Logon", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_LongTermIdFromId,
+ { "LongTermIdFromId", "mapi.RopRequest.LongTermIdFromId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ModifyPermissions,
+ { "ModifyPermissions", "mapi.RopRequest.ModifyPermissions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ModifyRecipients,
+ { "ModifyRecipients", "mapi.RopRequest.ModifyRecipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ModifyRules,
+ { "ModifyRules", "mapi.RopRequest.ModifyRules", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_MoveCopyMessages,
+ { "MoveCopyMessages", "mapi.RopRequest.MoveCopyMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_MoveFolder,
+ { "MoveFolder", "mapi.RopRequest.MoveFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OpenAttach,
+ { "OpenAttach", "mapi.RopRequest.OpenAttach", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OpenEmbeddedMessage,
+ { "OpenEmbeddedMessage", "mapi.RopRequest.OpenEmbeddedMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OpenFolder,
+ { "OpenFolder", "mapi.RopRequest.OpenFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OpenMessage,
+ { "OpenMessage", "mapi.RopRequest.OpenMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OpenPublicFolderByName,
+ { "OpenPublicFolderByName", "mapi.RopRequest.OpenPublicFolderByName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OpenStream,
+ { "OpenStream", "mapi.RopRequest.OpenStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_OptionsData,
+ { "OptionsData", "mapi.RopRequest.OptionsData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_Progress,
+ { "Progress", "mapi.RopRequest.Progress", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_PublicFolderIsGhosted,
+ { "PublicFolderIsGhosted", "mapi.RopRequest.PublicFolderIsGhosted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_QueryColumnsAll,
+ { "QueryColumnsAll", "mapi.RopRequest.QueryColumnsAll", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_QueryNamedProperties,
+ { "QueryNamedProperties", "mapi.RopRequest.QueryNamedProperties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_QueryPosition,
+ { "QueryPosition", "mapi.RopRequest.QueryPosition", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_QueryRows,
+ { "QueryRows", "mapi.RopRequest.QueryRows", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ReadPerUserInformation,
+ { "ReadPerUserInformation", "mapi.RopRequest.ReadPerUserInformation", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ReadRecipients,
+ { "ReadRecipients", "mapi.RopRequest.ReadRecipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ReadStream,
+ { "ReadStream", "mapi.RopRequest.ReadStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_Release,
+ { "Release", "mapi.RopRequest.Release", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ReloadCachedInformation,
+ { "ReloadCachedInformation", "mapi.RopRequest.ReloadCachedInformation", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_RemoveAllRecipients,
+ { "RemoveAllRecipients", "mapi.RopRequest.RemoveAllRecipients", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_ResetTable,
+ { "ResetTable", "mapi.RopRequest.ResetTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_Restrict,
+ { "Restrict", "mapi.RopRequest.Restrict", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SaveChangesAttachment,
+ { "SaveChangesAttachment", "mapi.RopRequest.SaveChangesAttachment", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SaveChangesMessage,
+ { "SaveChangesMessage", "mapi.RopRequest.SaveChangesMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SeekRow,
+ { "SeekRow", "mapi.RopRequest.SeekRow", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SeekRowApprox,
+ { "SeekRowApprox", "mapi.RopRequest.SeekRowApprox", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SeekRowBookmark,
+ { "SeekRowBookmark", "mapi.RopRequest.SeekRowBookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SeekStream,
+ { "SeekStream", "mapi.RopRequest.SeekStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetCollapseState,
+ { "SetCollapseState", "mapi.RopRequest.SetCollapseState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetColumns,
+ { "SetColumns", "mapi.RopRequest.SetColumns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetMessageReadFlag,
+ { "SetMessageReadFlag", "mapi.RopRequest.SetMessageReadFlag", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetMessageStatus,
+ { "SetMessageStatus", "mapi.RopRequest.SetMessageStatus", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetPropertiesNoReplicate,
+ { "SetPropertiesNoReplicate", "mapi.RopRequest.SetPropertiesNoReplicate", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetProps,
+ { "SetProps", "mapi.RopRequest.SetProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetReadFlags,
+ { "SetReadFlags", "mapi.RopRequest.SetReadFlags", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetReceiveFolder,
+ { "SetReceiveFolder", "mapi.RopRequest.SetReceiveFolder", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetSearchCriteria,
+ { "SetSearchCriteria", "mapi.RopRequest.SetSearchCriteria", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetSpooler,
+ { "SetSpooler", "mapi.RopRequest.SetSpooler", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetStreamSize,
+ { "SetStreamSize", "mapi.RopRequest.SetStreamSize", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SetSyncNotificationGuid,
+ { "SetSyncNotificationGuid", "mapi.RopRequest.SetSyncNotificationGuid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SortTable,
+ { "SortTable", "mapi.RopRequest.SortTable", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SpoolerLockMessage,
+ { "SpoolerLockMessage", "mapi.RopRequest.SpoolerLockMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SubmitMessage,
+ { "SubmitMessage", "mapi.RopRequest.SubmitMessage", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncConfigure,
+ { "SyncConfigure", "mapi.RopRequest.SyncConfigure", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncGetTransferState,
+ { "SyncGetTransferState", "mapi.RopRequest.SyncGetTransferState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncImportDeletes,
+ { "SyncImportDeletes", "mapi.RopRequest.SyncImportDeletes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncImportHierarchyChange,
+ { "SyncImportHierarchyChange", "mapi.RopRequest.SyncImportHierarchyChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncImportMessageChange,
+ { "SyncImportMessageChange", "mapi.RopRequest.SyncImportMessageChange", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncImportMessageMove,
+ { "SyncImportMessageMove", "mapi.RopRequest.SyncImportMessageMove", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncImportReadStateChanges,
+ { "SyncImportReadStateChanges", "mapi.RopRequest.SyncImportReadStateChanges", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncOpenCollector,
+ { "SyncOpenCollector", "mapi.RopRequest.SyncOpenCollector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncUploadStateStreamBegin,
+ { "SyncUploadStateStreamBegin", "mapi.RopRequest.SyncUploadStateStreamBegin", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncUploadStateStreamContinue,
+ { "SyncUploadStateStreamContinue", "mapi.RopRequest.SyncUploadStateStreamContinue", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_SyncUploadStateStreamEnd,
+ { "SyncUploadStateStreamEnd", "mapi.RopRequest.SyncUploadStateStreamEnd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_TransportNewMail,
+ { "TransportNewMail", "mapi.RopRequest.TransportNewMail", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_TransportSend,
+ { "TransportSend", "mapi.RopRequest.TransportSend", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_UnlockRegionStream,
+ { "UnlockRegionStream", "mapi.RopRequest.UnlockRegionStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_UpdateDeferredActionMessages,
+ { "UpdateDeferredActionMessages", "mapi.RopRequest.UpdateDeferredActionMessages", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_WriteAndCommitStream,
+ { "WriteAndCommitStream", "mapi.RopRequest.WriteAndCommitStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RopRequest_WriteStream,
+ { "WriteStream", "mapi.RopRequest.WriteStream", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RpcExt2Flags_Chain,
+ { "Chain", "mapi.RpcExt2Flags.Chain", FT_BOOLEAN, 32, TFS(&RpcExt2Flags_Chain_tfs), ( 0x00000004 ), NULL, HFILL }},
+ { &hf_mapi_RpcExt2Flags_NoCompression,
+ { "NoCompression", "mapi.RpcExt2Flags.NoCompression", FT_BOOLEAN, 32, TFS(&RpcExt2Flags_NoCompression_tfs), ( 0x00000001 ), NULL, HFILL }},
+ { &hf_mapi_RpcExt2Flags_NoXorMagic,
+ { "NoXorMagic", "mapi.RpcExt2Flags.NoXorMagic", FT_BOOLEAN, 32, TFS(&RpcExt2Flags_NoXorMagic_tfs), ( 0x00000002 ), NULL, HFILL }},
+ { &hf_mapi_RuleAction_ActionBlock,
+ { "ActionBlock", "mapi.RuleAction.ActionBlock", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RuleAction_count,
+ { "Count", "mapi.RuleAction.count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RuleData_PropertyValues,
+ { "PropertyValues", "mapi.RuleData.PropertyValues", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_RuleData_RuleDataFlags,
+ { "RuleDataFlags", "mapi.RuleData.RuleDataFlags", FT_UINT8, BASE_DEC, VALS(mapi_ulRowFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_RulesTableFlags_RulesTableFlags_Unicode,
+ { "RulesTableFlags Unicode", "mapi.RulesTableFlags.RulesTableFlags_Unicode", FT_BOOLEAN, 8, TFS(&RulesTableFlags_RulesTableFlags_Unicode_tfs), ( 0x40 ), NULL, HFILL }},
+ { &hf_mapi_SBinary_short_cb,
+ { "Cb", "mapi.SBinary_short.cb", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SBinary_short_lpb,
+ { "Lpb", "mapi.SBinary_short.lpb", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_and_res,
+ { "Res", "mapi.SRestriction_and.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_and_rt,
+ { "Rt", "mapi.SRestriction_and.rt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_comment_res,
+ { "Res", "mapi.SRestriction_comment.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_comment_rt,
+ { "Rt", "mapi.SRestriction_comment.rt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_or_res,
+ { "Res", "mapi.SRestriction_or.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_or_rt,
+ { "Rt", "mapi.SRestriction_or.rt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_sub_res,
+ { "Res", "mapi.SRestriction_sub.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SRestriction_sub_rt,
+ { "Rt", "mapi.SRestriction_sub.rt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SSortOrderSet_aSort,
+ { "ASort", "mapi.SSortOrderSet.aSort", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SSortOrderSet_cCategories,
+ { "CCategories", "mapi.SSortOrderSet.cCategories", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SSortOrderSet_cExpanded,
+ { "CExpanded", "mapi.SSortOrderSet.cExpanded", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SSortOrderSet_cSorts,
+ { "CSorts", "mapi.SSortOrderSet.cSorts", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SSortOrder_ulOrder,
+ { "UlOrder", "mapi.SSortOrder.ulOrder", FT_UINT8, BASE_DEC, VALS(mapi_TABLE_SORT_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SSortOrder_ulPropTag,
+ { "UlPropTag", "mapi.SSortOrder.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SaveChangesAttachment_req_SaveFlags,
+ { "SaveFlags", "mapi.SaveChangesAttachment_req.SaveFlags", FT_UINT8, BASE_DEC, VALS(mapi_SaveFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SaveChangesMessage_repl_MessageId,
+ { "MessageId", "mapi.SaveChangesMessage_repl.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SaveChangesMessage_repl_handle_idx,
+ { "Handle Idx", "mapi.SaveChangesMessage_repl.handle_idx", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SaveChangesMessage_req_SaveFlags,
+ { "SaveFlags", "mapi.SaveChangesMessage_req.SaveFlags", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchCompleteNotification_FID,
+ { "FID", "mapi.SearchCompleteNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchFlags_BACKGROUND_SEARCH,
+ { "BACKGROUND SEARCH", "mapi.SearchFlags.BACKGROUND_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_BACKGROUND_SEARCH_tfs), ( 0x00000020 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_CONTENT_INDEXED_SEARCH,
+ { "CONTENT INDEXED SEARCH", "mapi.SearchFlags.CONTENT_INDEXED_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_CONTENT_INDEXED_SEARCH_tfs), ( 0x00010000 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_FOREGROUND_SEARCH,
+ { "FOREGROUND SEARCH", "mapi.SearchFlags.FOREGROUND_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_FOREGROUND_SEARCH_tfs), ( 0x00000010 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_NON_CONTENT_INDEXED_SEARCH,
+ { "NON CONTENT INDEXED SEARCH", "mapi.SearchFlags.NON_CONTENT_INDEXED_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_NON_CONTENT_INDEXED_SEARCH_tfs), ( 0x00020000 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_RECURSIVE_SEARCH,
+ { "RECURSIVE SEARCH", "mapi.SearchFlags.RECURSIVE_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_RECURSIVE_SEARCH_tfs), ( 0x00000004 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_RESTART_SEARCH,
+ { "RESTART SEARCH", "mapi.SearchFlags.RESTART_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_RESTART_SEARCH_tfs), ( 0x00000002 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_SHALLOW_SEARCH,
+ { "SHALLOW SEARCH", "mapi.SearchFlags.SHALLOW_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_SHALLOW_SEARCH_tfs), ( 0x00000008 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_STATIC_SEARCH,
+ { "STATIC SEARCH", "mapi.SearchFlags.STATIC_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_STATIC_SEARCH_tfs), ( 0x00040000 ), NULL, HFILL }},
+ { &hf_mapi_SearchFlags_STOP_SEARCH,
+ { "STOP SEARCH", "mapi.SearchFlags.STOP_SEARCH", FT_BOOLEAN, 32, TFS(&SearchFlags_STOP_SEARCH_tfs), ( 0x00000001 ), NULL, HFILL }},
+ { &hf_mapi_SearchMessageCreatedNotification_FID,
+ { "FID", "mapi.SearchMessageCreatedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageCreatedNotification_MID,
+ { "MID", "mapi.SearchMessageCreatedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageCreatedNotification_SearchFID,
+ { "SearchFID", "mapi.SearchMessageCreatedNotification.SearchFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageCreatedNotification_TagCount,
+ { "TagCount", "mapi.SearchMessageCreatedNotification.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageCreatedNotification_Tags,
+ { "Tags", "mapi.SearchMessageCreatedNotification.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageModifiedNotification_FID,
+ { "FID", "mapi.SearchMessageModifiedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageModifiedNotification_MID,
+ { "MID", "mapi.SearchMessageModifiedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageModifiedNotification_TagCount,
+ { "TagCount", "mapi.SearchMessageModifiedNotification.TagCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageModifiedNotification_Tags,
+ { "Tags", "mapi.SearchMessageModifiedNotification.Tags", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageRemovedNotification_FID,
+ { "FID", "mapi.SearchMessageRemovedNotification.FID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageRemovedNotification_MID,
+ { "MID", "mapi.SearchMessageRemovedNotification.MID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SearchMessageRemovedNotification_SearchFID,
+ { "SearchFID", "mapi.SearchMessageRemovedNotification.SearchFID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowApprox_req_ulDenominator,
+ { "UlDenominator", "mapi.SeekRowApprox_req.ulDenominator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowApprox_req_ulNumerator,
+ { "UlNumerator", "mapi.SeekRowApprox_req.ulNumerator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowBookmark_repl_HasSoughtLess,
+ { "HasSoughtLess", "mapi.SeekRowBookmark_repl.HasSoughtLess", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowBookmark_repl_RowNoLongerVisible,
+ { "RowNoLongerVisible", "mapi.SeekRowBookmark_repl.RowNoLongerVisible", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowBookmark_repl_RowsSought,
+ { "RowsSought", "mapi.SeekRowBookmark_repl.RowsSought", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowBookmark_req_Bookmark,
+ { "Bookmark", "mapi.SeekRowBookmark_req.Bookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowBookmark_req_RowCount,
+ { "RowCount", "mapi.SeekRowBookmark_req.RowCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRowBookmark_req_WantRowMovedCount,
+ { "WantRowMovedCount", "mapi.SeekRowBookmark_req.WantRowMovedCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRow_repl_HasSoughtLess,
+ { "HasSoughtLess", "mapi.SeekRow_repl.HasSoughtLess", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRow_repl_RowsSought,
+ { "RowsSought", "mapi.SeekRow_repl.RowsSought", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRow_req_WantRowMovedCount,
+ { "WantRowMovedCount", "mapi.SeekRow_req.WantRowMovedCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRow_req_offset,
+ { "Offset", "mapi.SeekRow_req.offset", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekRow_req_origin,
+ { "Origin", "mapi.SeekRow_req.origin", FT_UINT8, BASE_DEC, VALS(mapi_BOOKMARK_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SeekStream_repl_NewPosition,
+ { "NewPosition", "mapi.SeekStream_repl.NewPosition", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekStream_req_Offset,
+ { "Offset", "mapi.SeekStream_req.Offset", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SeekStream_req_Origin,
+ { "Origin", "mapi.SeekStream_req.Origin", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SendOptions_SendOptions_ForUpload,
+ { "SendOptions ForUpload", "mapi.SendOptions.SendOptions_ForUpload", FT_BOOLEAN, 8, TFS(&SendOptions_SendOptions_ForUpload_tfs), ( 0x3 ), NULL, HFILL }},
+ { &hf_mapi_SendOptions_SendOptions_ForceUnicode,
+ { "SendOptions ForceUnicode", "mapi.SendOptions.SendOptions_ForceUnicode", FT_BOOLEAN, 8, TFS(&SendOptions_SendOptions_ForceUnicode_tfs), ( 0x8 ), NULL, HFILL }},
+ { &hf_mapi_SendOptions_SendOptions_Partial,
+ { "SendOptions Partial", "mapi.SendOptions.SendOptions_Partial", FT_BOOLEAN, 8, TFS(&SendOptions_SendOptions_Partial_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_SendOptions_SendOptions_RecoverMode,
+ { "SendOptions RecoverMode", "mapi.SendOptions.SendOptions_RecoverMode", FT_BOOLEAN, 8, TFS(&SendOptions_SendOptions_RecoverMode_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_SendOptions_SendOptions_Unicode,
+ { "SendOptions Unicode", "mapi.SendOptions.SendOptions_Unicode", FT_BOOLEAN, 8, TFS(&SendOptions_SendOptions_Unicode_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_SetCollapseState_repl_bookmark,
+ { "Bookmark", "mapi.SetCollapseState_repl.bookmark", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetCollapseState_req_CollapseState,
+ { "CollapseState", "mapi.SetCollapseState_req.CollapseState", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetColumns_repl_TableStatus,
+ { "TableStatus", "mapi.SetColumns_repl.TableStatus", FT_UINT8, BASE_DEC, VALS(mapi_TableStatus_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SetColumns_req_SetColumnsFlags,
+ { "SetColumnsFlags", "mapi.SetColumns_req.SetColumnsFlags", FT_UINT8, BASE_DEC, VALS(mapi_SetColumnsFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SetColumns_req_prop_count,
+ { "Prop Count", "mapi.SetColumns_req.prop_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetColumns_req_properties,
+ { "Properties", "mapi.SetColumns_req.properties", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_ClientData_ClientData,
+ { "ClientData", "mapi.SetMessageReadFlag_ClientData.ClientData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_LogonId_LogonId,
+ { "LogonId", "mapi.SetMessageReadFlag_LogonId.LogonId", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_repl_ClientData,
+ { "ClientData", "mapi.SetMessageReadFlag_repl.ClientData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_repl_LogonId,
+ { "LogonId", "mapi.SetMessageReadFlag_repl.LogonId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_repl_ReadStatusChanged,
+ { "ReadStatusChanged", "mapi.SetMessageReadFlag_repl.ReadStatusChanged", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_req_ReadFlags,
+ { "ReadFlags", "mapi.SetMessageReadFlag_req.ReadFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageReadFlag_req_clientdata,
+ { "Clientdata", "mapi.SetMessageReadFlag_req.clientdata", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageStatus_repl_ulOldStatus,
+ { "UlOldStatus", "mapi.SetMessageStatus_repl.ulOldStatus", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageStatus_req_msgid,
+ { "Msgid", "mapi.SetMessageStatus_req.msgid", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageStatus_req_ulNewStatus,
+ { "UlNewStatus", "mapi.SetMessageStatus_req.ulNewStatus", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetMessageStatus_req_ulNewStatusMask,
+ { "UlNewStatusMask", "mapi.SetMessageStatus_req.ulNewStatusMask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetPropertiesNoReplicate_repl_PropertyProblem,
+ { "PropertyProblem", "mapi.SetPropertiesNoReplicate_repl.PropertyProblem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetPropertiesNoReplicate_repl_PropertyProblemCount,
+ { "PropertyProblemCount", "mapi.SetPropertiesNoReplicate_repl.PropertyProblemCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetPropertiesNoReplicate_req_values,
+ { "Values", "mapi.SetPropertiesNoReplicate_req.values", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetProps_repl_PropertyProblem,
+ { "PropertyProblem", "mapi.SetProps_repl.PropertyProblem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetProps_repl_PropertyProblemCount,
+ { "PropertyProblemCount", "mapi.SetProps_repl.PropertyProblemCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetProps_req_values,
+ { "Values", "mapi.SetProps_req.values", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReadFlags_repl_PartialCompletion,
+ { "PartialCompletion", "mapi.SetReadFlags_repl.PartialCompletion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReadFlags_req_MessageIdCount,
+ { "MessageIdCount", "mapi.SetReadFlags_req.MessageIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReadFlags_req_MessageIds,
+ { "MessageIds", "mapi.SetReadFlags_req.MessageIds", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReadFlags_req_ReadFlags,
+ { "ReadFlags", "mapi.SetReadFlags_req.ReadFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReadFlags_req_WantAsynchronous,
+ { "WantAsynchronous", "mapi.SetReadFlags_req.WantAsynchronous", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReceiveFolder_req_fid,
+ { "Fid", "mapi.SetReceiveFolder_req.fid", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetReceiveFolder_req_lpszMessageClass,
+ { "LpszMessageClass", "mapi.SetReceiveFolder_req.lpszMessageClass", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetSearchCriteria_req_FolderIdCount,
+ { "FolderIdCount", "mapi.SetSearchCriteria_req.FolderIdCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetSearchCriteria_req_FolderIds,
+ { "FolderIds", "mapi.SetSearchCriteria_req.FolderIds", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetSearchCriteria_req_SearchFlags,
+ { "SearchFlags", "mapi.SetSearchCriteria_req.SearchFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetSearchCriteria_req_res,
+ { "Res", "mapi.SetSearchCriteria_req.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetStreamSize_req_SizeStream,
+ { "SizeStream", "mapi.SetStreamSize_req.SizeStream", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SetSyncNotificationGuid_req_NotificationGuid,
+ { "NotificationGuid", "mapi.SetSyncNotificationGuid_req.NotificationGuid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ShortArray_r_cValues,
+ { "CValues", "mapi.ShortArray_r.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_ShortArray_r_lpi,
+ { "Lpi", "mapi.ShortArray_r.lpi", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SortTable_repl_TableStatus,
+ { "TableStatus", "mapi.SortTable_repl.TableStatus", FT_UINT8, BASE_DEC, VALS(mapi_TableStatus_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SortTable_req_SortTableFlags,
+ { "SortTableFlags", "mapi.SortTable_req.SortTableFlags", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SortTable_req_lpSortCriteria,
+ { "LpSortCriteria", "mapi.SortTable_req.lpSortCriteria", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SpoolerLockMessage_req_LockState,
+ { "LockState", "mapi.SpoolerLockMessage_req.LockState", FT_UINT8, BASE_DEC, VALS(mapi_LockState_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SpoolerLockMessage_req_MessageId,
+ { "MessageId", "mapi.SpoolerLockMessage_req.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_StoreState_STORE_HAS_SEARCHES,
+ { "STORE HAS SEARCHES", "mapi.StoreState.STORE_HAS_SEARCHES", FT_BOOLEAN, 32, TFS(&StoreState_STORE_HAS_SEARCHES_tfs), ( 0x010000000 ), NULL, HFILL }},
+ { &hf_mapi_String_lpszA,
+ { "LpszA", "mapi.String.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_String_lpszW,
+ { "LpszW", "mapi.String.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_String_lpszW_reduced,
+ { "LpszW Reduced", "mapi.String.lpszW_reduced", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SubmitMessage_req_SubmitFlags,
+ { "SubmitFlags", "mapi.SubmitMessage_req.SubmitFlags", FT_UINT8, BASE_DEC, VALS(mapi_SubmitFlags_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SyncConfigure_req_PropertyTags,
+ { "PropertyTags", "mapi.SyncConfigure_req.PropertyTags", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncConfigure_req_RestrictionData,
+ { "RestrictionData", "mapi.SyncConfigure_req.RestrictionData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncConfigure_req_SendOptions,
+ { "SendOptions", "mapi.SyncConfigure_req.SendOptions", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncConfigure_req_SynchronizationExtraFlags,
+ { "SynchronizationExtraFlags", "mapi.SyncConfigure_req.SynchronizationExtraFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncConfigure_req_SynchronizationFlag,
+ { "SynchronizationFlag", "mapi.SyncConfigure_req.SynchronizationFlag", FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncConfigure_req_SynchronizationType,
+ { "SynchronizationType", "mapi.SyncConfigure_req.SynchronizationType", FT_UINT8, BASE_DEC, VALS(mapi_SynchronizationType_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportDeletes_req_IsHierarchy,
+ { "IsHierarchy", "mapi.SyncImportDeletes_req.IsHierarchy", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportDeletes_req_PropertyValues,
+ { "PropertyValues", "mapi.SyncImportDeletes_req.PropertyValues", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportHierarchyChange_repl_FolderId,
+ { "FolderId", "mapi.SyncImportHierarchyChange_repl.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportHierarchyChange_req_HierarchyValues,
+ { "HierarchyValues", "mapi.SyncImportHierarchyChange_req.HierarchyValues", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportHierarchyChange_req_PropertyValues,
+ { "PropertyValues", "mapi.SyncImportHierarchyChange_req.PropertyValues", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageChange_repl_MessageId,
+ { "MessageId", "mapi.SyncImportMessageChange_repl.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageChange_req_ImportFlag,
+ { "ImportFlag", "mapi.SyncImportMessageChange_req.ImportFlag", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageChange_req_PropertyValues,
+ { "PropertyValues", "mapi.SyncImportMessageChange_req.PropertyValues", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_repl_MessageId,
+ { "MessageId", "mapi.SyncImportMessageMove_repl.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_ChangeNumberSize,
+ { "ChangeNumberSize", "mapi.SyncImportMessageMove_req.ChangeNumberSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_ChangeNumberValue,
+ { "ChangeNumber", "mapi.SyncImportMessageMove_req.ChangeNumber", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_DestinationMessageIdSize,
+ { "DestinationMessageIdSize", "mapi.SyncImportMessageMove_req.DestinationMessageIdSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_DestinationMessageIdValue,
+ { "DestinationMessageId", "mapi.SyncImportMessageMove_req.DestinationMessageId", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_PredecessorChangeListSize,
+ { "PredecessorChangeListSize", "mapi.SyncImportMessageMove_req.PredecessorChangeListSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_PredecessorChangeListValue,
+ { "PredecessorChangeList", "mapi.SyncImportMessageMove_req.PredecessorChangeList", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_SourceFolderIdSize,
+ { "SourceFolderIdSize", "mapi.SyncImportMessageMove_req.SourceFolderIdSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_SourceFolderIdValue,
+ { "SourceFolderId", "mapi.SyncImportMessageMove_req.SourceFolderId", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_SourceMessageIdSize,
+ { "SourceMessageIdSize", "mapi.SyncImportMessageMove_req.SourceMessageIdSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncImportMessageMove_req_SourceMessageIdValue,
+ { "SourceMessageId", "mapi.SyncImportMessageMove_req.SourceMessageId", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_SyncImportReadStateChanges_req_MessageStates,
+ { "MessageStates", "mapi.SyncImportReadStateChanges_req.MessageStates", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncOpenCollector_req_IsContentsCollector,
+ { "IsContentsCollector", "mapi.SyncOpenCollector_req.IsContentsCollector", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncUploadStateStreamBegin_req_StateProperty,
+ { "StateProperty", "mapi.SyncUploadStateStreamBegin_req.StateProperty", FT_UINT32, BASE_DEC, VALS(mapi_StateProperty_vals), 0, NULL, HFILL }},
+ { &hf_mapi_SyncUploadStateStreamBegin_req_TransferBufferSize,
+ { "TransferBufferSize", "mapi.SyncUploadStateStreamBegin_req.TransferBufferSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncUploadStateStreamContinue_req_StreamDataSize,
+ { "StreamDataSize", "mapi.SyncUploadStateStreamContinue_req.StreamDataSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_SyncUploadStateStreamContinue_req_StreamDataValue,
+ { "StreamData", "mapi.SyncUploadStateStreamContinue_req.StreamData", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_SynchronizationExtraFlags_Cn,
+ { "Cn", "mapi.SynchronizationExtraFlags.Cn", FT_BOOLEAN, 32, TFS(&SynchronizationExtraFlags_Cn_tfs), ( 0x00000004 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationExtraFlags_Eid,
+ { "Eid", "mapi.SynchronizationExtraFlags.Eid", FT_BOOLEAN, 32, TFS(&SynchronizationExtraFlags_Eid_tfs), ( 0x00000001 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationExtraFlags_MessageSize,
+ { "MessageSize", "mapi.SynchronizationExtraFlags.MessageSize", FT_BOOLEAN, 32, TFS(&SynchronizationExtraFlags_MessageSize_tfs), ( 0x00000002 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationExtraFlags_OrderByDeliveryTime,
+ { "OrderByDeliveryTime", "mapi.SynchronizationExtraFlags.OrderByDeliveryTime", FT_BOOLEAN, 32, TFS(&SynchronizationExtraFlags_OrderByDeliveryTime_tfs), ( 0x00000008 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_BestBody,
+ { "SynchronizationFlag BestBody", "mapi.SynchronizationFlag.SynchronizationFlag_BestBody", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_BestBody_tfs), ( 0x2000 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_FAI,
+ { "SynchronizationFlag FAI", "mapi.SynchronizationFlag.SynchronizationFlag_FAI", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_FAI_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_IgnoreSpecifiedOnFAI,
+ { "SynchronizationFlag IgnoreSpecifiedOnFAI", "mapi.SynchronizationFlag.SynchronizationFlag_IgnoreSpecifiedOnFAI", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_IgnoreSpecifiedOnFAI_tfs), ( 0x4000 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_NoDeletions,
+ { "SynchronizationFlag NoDeletions", "mapi.SynchronizationFlag.SynchronizationFlag_NoDeletions", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_NoDeletions_tfs), ( 0x2 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_NoForeignIdentifiers,
+ { "SynchronizationFlag NoForeignIdentifiers", "mapi.SynchronizationFlag.SynchronizationFlag_NoForeignIdentifiers", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_NoForeignIdentifiers_tfs), ( 0x100 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_NoSoftDeletions,
+ { "SynchronizationFlag NoSoftDeletions", "mapi.SynchronizationFlag.SynchronizationFlag_NoSoftDeletions", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_NoSoftDeletions_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_Normal,
+ { "SynchronizationFlag Normal", "mapi.SynchronizationFlag.SynchronizationFlag_Normal", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_Normal_tfs), ( 0x20 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_OnlySpecifiedProperties,
+ { "SynchronizationFlag OnlySpecifiedProperties", "mapi.SynchronizationFlag.SynchronizationFlag_OnlySpecifiedProperties", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_OnlySpecifiedProperties_tfs), ( 0x80 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_Progress,
+ { "SynchronizationFlag Progress", "mapi.SynchronizationFlag.SynchronizationFlag_Progress", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_Progress_tfs), ( 0x8000 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_ReadState,
+ { "SynchronizationFlag ReadState", "mapi.SynchronizationFlag.SynchronizationFlag_ReadState", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_ReadState_tfs), ( 0x8 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_Reserved,
+ { "SynchronizationFlag Reserved", "mapi.SynchronizationFlag.SynchronizationFlag_Reserved", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_Reserved_tfs), ( 0x1000 ), NULL, HFILL }},
+ { &hf_mapi_SynchronizationFlag_SynchronizationFlag_Unicode,
+ { "SynchronizationFlag Unicode", "mapi.SynchronizationFlag.SynchronizationFlag_Unicode", FT_BOOLEAN, 16, TFS(&SynchronizationFlag_SynchronizationFlag_Unicode_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_TableFlags_TableFlags_DeferredErrors,
+ { "TableFlags DeferredErrors", "mapi.TableFlags.TableFlags_DeferredErrors", FT_BOOLEAN, 8, TFS(&TableFlags_TableFlags_DeferredErrors_tfs), ( 0x8 ), NULL, HFILL }},
+ { &hf_mapi_TableFlags_TableFlags_Depth,
+ { "TableFlags Depth", "mapi.TableFlags.TableFlags_Depth", FT_BOOLEAN, 8, TFS(&TableFlags_TableFlags_Depth_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_TableFlags_TableFlags_NoNotifications,
+ { "TableFlags NoNotifications", "mapi.TableFlags.TableFlags_NoNotifications", FT_BOOLEAN, 8, TFS(&TableFlags_TableFlags_NoNotifications_tfs), ( 0x10 ), NULL, HFILL }},
+ { &hf_mapi_TableFlags_TableFlags_SoftDeletes,
+ { "TableFlags SoftDeletes", "mapi.TableFlags.TableFlags_SoftDeletes", FT_BOOLEAN, 8, TFS(&TableFlags_TableFlags_SoftDeletes_tfs), ( 0x20 ), NULL, HFILL }},
+ { &hf_mapi_TableFlags_TableFlags_SuppressNotifications,
+ { "TableFlags SuppressNotifications", "mapi.TableFlags.TableFlags_SuppressNotifications", FT_BOOLEAN, 8, TFS(&TableFlags_TableFlags_SuppressNotifications_tfs), ( 0x80 ), NULL, HFILL }},
+ { &hf_mapi_TableFlags_TableFlags_UseUnicode,
+ { "TableFlags UseUnicode", "mapi.TableFlags.TableFlags_UseUnicode", FT_BOOLEAN, 8, TFS(&TableFlags_TableFlags_UseUnicode_tfs), ( 0x40 ), NULL, HFILL }},
+ { &hf_mapi_TransportNewMail_req_FolderId,
+ { "FolderId", "mapi.TransportNewMail_req.FolderId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TransportNewMail_req_MessageClass,
+ { "MessageClass", "mapi.TransportNewMail_req.MessageClass", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TransportNewMail_req_MessageFlags,
+ { "MessageFlags", "mapi.TransportNewMail_req.MessageFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TransportNewMail_req_MessageId,
+ { "MessageId", "mapi.TransportNewMail_req.MessageId", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TransportSend_lpProps_lpProps,
+ { "LpProps", "mapi.TransportSend_lpProps.lpProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TransportSend_repl_NoPropertiesReturned,
+ { "NoPropertiesReturned", "mapi.TransportSend_repl.NoPropertiesReturned", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TransportSend_repl_properties,
+ { "Properties", "mapi.TransportSend_repl.properties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TypedString_String,
+ { "String", "mapi.TypedString.String", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_TypedString_StringType,
+ { "StringType", "mapi.TypedString.StringType", FT_UINT8, BASE_DEC, VALS(mapi_StringType_vals), 0, NULL, HFILL }},
+ { &hf_mapi_UnlockRegionStream_req_LockFlags,
+ { "LockFlags", "mapi.UnlockRegionStream_req.LockFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_UnlockRegionStream_req_RegionOffset,
+ { "RegionOffset", "mapi.UnlockRegionStream_req.RegionOffset", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_UnlockRegionStream_req_RegionSize,
+ { "RegionSize", "mapi.UnlockRegionStream_req.RegionSize", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_UpdateDeferredActionMessages_req_ClientEntryId,
+ { "ClientEntryId", "mapi.UpdateDeferredActionMessages_req.ClientEntryId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_UpdateDeferredActionMessages_req_ServerEntryId,
+ { "ServerEntryId", "mapi.UpdateDeferredActionMessages_req.ServerEntryId", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_WriteAndCommitStream_repl_WrittenSize,
+ { "WrittenSize", "mapi.WriteAndCommitStream_repl.WrittenSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_WriteAndCommitStream_req_data,
+ { "Data", "mapi.WriteAndCommitStream_req.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_WriteStream_repl_WrittenSize,
+ { "WrittenSize", "mapi.WriteStream_repl.WrittenSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_WriteStream_req_data,
+ { "Data", "mapi.WriteStream_req.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
{ &hf_mapi_decrypted_data,
{ "Decrypted data", "mapi.decrypted.data", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_handle,
- { "Handle", "mapi.handle", FT_BYTES, BASE_NONE, NULL, 0, "NULL", HFILL }},
- { &hf_mapi_input_locale_language,
- { "Language", "mapi.input_locale.language", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_input_locale_method,
- { "Method", "mapi.input_locale.method", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_mapi_request_mapi_req,
- { "Mapi Req", "mapi.mapi_request.mapi_req", FT_NONE, BASE_NONE, NULL, 0, "HFILL", HFILL }},
- { &hf_mapi_mapi_response_mapi_repl,
- { "Mapi Repl", "mapi.mapi_response.mapi_repl", FT_NONE, BASE_NONE, NULL, 0, "NULL", HFILL }},
+ { &hf_mapi_fuzzyLevel_FL_IGNORECASE,
+ { "FL IGNORECASE", "mapi.fuzzyLevel.FL_IGNORECASE", FT_BOOLEAN, 32, TFS(&fuzzyLevel_FL_IGNORECASE_tfs), ( 0x10000 ), NULL, HFILL }},
+ { &hf_mapi_fuzzyLevel_FL_IGNORENONSPACE,
+ { "FL IGNORENONSPACE", "mapi.fuzzyLevel.FL_IGNORENONSPACE", FT_BOOLEAN, 32, TFS(&fuzzyLevel_FL_IGNORENONSPACE_tfs), ( 0x20000 ), NULL, HFILL }},
+ { &hf_mapi_fuzzyLevel_FL_LOOSE,
+ { "FL LOOSE", "mapi.fuzzyLevel.FL_LOOSE", FT_BOOLEAN, 32, TFS(&fuzzyLevel_FL_LOOSE_tfs), ( 0x40000 ), NULL, HFILL }},
+ { &hf_mapi_fuzzyLevel_FL_PREFIX,
+ { "FL PREFIX", "mapi.fuzzyLevel.FL_PREFIX", FT_BOOLEAN, 32, TFS(&fuzzyLevel_FL_PREFIX_tfs), ( 0x00002 ), NULL, HFILL }},
+ { &hf_mapi_fuzzyLevel_FL_SUBSTRING,
+ { "FL SUBSTRING", "mapi.fuzzyLevel.FL_SUBSTRING", FT_BOOLEAN, 32, TFS(&fuzzyLevel_FL_SUBSTRING_tfs), ( 0x00001 ), NULL, HFILL }},
+ { &hf_mapi_hyperbool_ID,
+ { "ID", "mapi.hyperbool.ID", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncConnectEx_cxh,
+ { "Cxh", "mapi.mapi_EcDoAsyncConnectEx.cxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncConnectEx_pacxh,
+ { "Pacxh", "mapi.mapi_EcDoAsyncConnectEx.pacxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncConnect_cxh,
+ { "Cxh", "mapi.mapi_EcDoAsyncConnect.cxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncConnect_pacxh,
+ { "Pacxh", "mapi.mapi_EcDoAsyncConnect.pacxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncWait_cxh,
+ { "Cxh", "mapi.mapi_EcDoAsyncWait.cxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncWait_pulFlagsOut,
+ { "PulFlagsOut", "mapi.mapi_EcDoAsyncWait.pulFlagsOut", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoAsyncWait_ulFlagsIn,
+ { "UlFlagsIn", "mapi.mapi_EcDoAsyncWait.ulFlagsIn", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_cbAuxIn,
+ { "CbAuxIn", "mapi.mapi_EcDoConnectEx.cbAuxIn", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_cbLimit,
+ { "CbLimit", "mapi.mapi_EcDoConnectEx.cbLimit", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_handle,
+ { "Handle", "mapi.mapi_EcDoConnectEx.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_pcRetry,
+ { "PcRetry", "mapi.mapi_EcDoConnectEx.pcRetry", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_pcbAuxOut,
+ { "PcbAuxOut", "mapi.mapi_EcDoConnectEx.pcbAuxOut", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_pcmsPollsMax,
+ { "PcmsPollsMax", "mapi.mapi_EcDoConnectEx.pcmsPollsMax", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_pcmsRetryDelay,
+ { "PcmsRetryDelay", "mapi.mapi_EcDoConnectEx.pcmsRetryDelay", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_picxr,
+ { "Picxr", "mapi.mapi_EcDoConnectEx.picxr", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_pulTimeStamp,
+ { "PulTimeStamp", "mapi.mapi_EcDoConnectEx.pulTimeStamp", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_rgbAuxIn,
+ { "RgbAuxIn", "mapi.mapi_EcDoConnectEx.rgbAuxIn", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_rgbAuxOut,
+ { "RgbAuxOut", "mapi.mapi_EcDoConnectEx.rgbAuxOut", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_rgwBestVersion,
+ { "RgwBestVersion", "mapi.mapi_EcDoConnectEx.rgwBestVersion", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_rgwClientVersion,
+ { "RgwClientVersion", "mapi.mapi_EcDoConnectEx.rgwClientVersion", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_rgwServerVersion,
+ { "RgwServerVersion", "mapi.mapi_EcDoConnectEx.rgwServerVersion", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_szDNPrefix,
+ { "SzDNPrefix", "mapi.mapi_EcDoConnectEx.szDNPrefix", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_szDisplayName,
+ { "SzDisplayName", "mapi.mapi_EcDoConnectEx.szDisplayName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_szUserDN,
+ { "SzUserDN", "mapi.mapi_EcDoConnectEx.szUserDN", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_ulConMod,
+ { "UlConMod", "mapi.mapi_EcDoConnectEx.ulConMod", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_ulCpid,
+ { "UlCpid", "mapi.mapi_EcDoConnectEx.ulCpid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_ulFlags,
+ { "UlFlags", "mapi.mapi_EcDoConnectEx.ulFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_ulIcxrLink,
+ { "UlIcxrLink", "mapi.mapi_EcDoConnectEx.ulIcxrLink", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_ulLcidSort,
+ { "UlLcidSort", "mapi.mapi_EcDoConnectEx.ulLcidSort", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_ulLcidString,
+ { "UlLcidString", "mapi.mapi_EcDoConnectEx.ulLcidString", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnectEx_usFCanConvertCodePages,
+ { "UsFCanConvertCodePages", "mapi.mapi_EcDoConnectEx.usFCanConvertCodePages", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_cbLimit,
+ { "CbLimit", "mapi.mapi_EcDoConnect.cbLimit", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_hBinding,
+ { "HBinding", "mapi.mapi_EcDoConnect.hBinding", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_pcRetry,
+ { "PcRetry", "mapi.mapi_EcDoConnect.pcRetry", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_pcmsPollsMax,
+ { "PcmsPollsMax", "mapi.mapi_EcDoConnect.pcmsPollsMax", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_pcmsRetryDelay,
+ { "PcmsRetryDelay", "mapi.mapi_EcDoConnect.pcmsRetryDelay", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_picxr,
+ { "Picxr", "mapi.mapi_EcDoConnect.picxr", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_pullTimeStamp,
+ { "PullTimeStamp", "mapi.mapi_EcDoConnect.pullTimeStamp", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_rgwBestVersion,
+ { "RgwBestVersion", "mapi.mapi_EcDoConnect.rgwBestVersion", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_rgwClientVersion,
+ { "RgwClientVersion", "mapi.mapi_EcDoConnect.rgwClientVersion", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_rgwServerVersion,
+ { "RgwServerVersion", "mapi.mapi_EcDoConnect.rgwServerVersion", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_szDNPrefix,
+ { "SzDNPrefix", "mapi.mapi_EcDoConnect.szDNPrefix", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_szDisplayName,
+ { "SzDisplayName", "mapi.mapi_EcDoConnect.szDisplayName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_szUserDN,
+ { "SzUserDN", "mapi.mapi_EcDoConnect.szUserDN", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_ulConMod,
+ { "UlConMod", "mapi.mapi_EcDoConnect.ulConMod", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_ulCpid,
+ { "UlCpid", "mapi.mapi_EcDoConnect.ulCpid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_ulFlags,
+ { "UlFlags", "mapi.mapi_EcDoConnect.ulFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_ulIcxrLink,
+ { "UlIcxrLink", "mapi.mapi_EcDoConnect.ulIcxrLink", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_ulLcidSort,
+ { "UlLcidSort", "mapi.mapi_EcDoConnect.ulLcidSort", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_ulLcidString,
+ { "UlLcidString", "mapi.mapi_EcDoConnect.ulLcidString", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoConnect_usFCanConvertCodePages,
+ { "UsFCanConvertCodePages", "mapi.mapi_EcDoConnect.usFCanConvertCodePages", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoDisconnect_pcxh,
+ { "Pcxh", "mapi.mapi_EcDoDisconnect.pcxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_cbAuxIn,
+ { "CbAuxIn", "mapi.mapi_EcDoRpcExt2.cbAuxIn", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_cbIn,
+ { "CbIn", "mapi.mapi_EcDoRpcExt2.cbIn", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_pcbAuxOut,
+ { "PcbAuxOut", "mapi.mapi_EcDoRpcExt2.pcbAuxOut", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_pcbOut,
+ { "PcbOut", "mapi.mapi_EcDoRpcExt2.pcbOut", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_pcxh,
+ { "Pcxh", "mapi.mapi_EcDoRpcExt2.pcxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_pulFlags,
+ { "PulFlags", "mapi.mapi_EcDoRpcExt2.pulFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_pulTransTime,
+ { "PulTransTime", "mapi.mapi_EcDoRpcExt2.pulTransTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_rgbAuxIn,
+ { "RgbAuxIn", "mapi.mapi_EcDoRpcExt2.rgbAuxIn", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_rgbAuxOut,
+ { "RgbAuxOut", "mapi.mapi_EcDoRpcExt2.rgbAuxOut", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_rgbIn,
+ { "RgbIn", "mapi.mapi_EcDoRpcExt2.rgbIn", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt2_rgbOut,
+ { "RgbOut", "mapi.mapi_EcDoRpcExt2.rgbOut", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_cbAuxIn,
+ { "CbAuxIn", "mapi.mapi_EcDoRpcExt.cbAuxIn", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_cbIn,
+ { "CbIn", "mapi.mapi_EcDoRpcExt.cbIn", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_pcbOut,
+ { "PcbOut", "mapi.mapi_EcDoRpcExt.pcbOut", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_pcxh,
+ { "Pcxh", "mapi.mapi_EcDoRpcExt.pcxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_pulFlags,
+ { "PulFlags", "mapi.mapi_EcDoRpcExt.pulFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_pulTransTime,
+ { "PulTransTime", "mapi.mapi_EcDoRpcExt.pulTransTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_rgbAuxIn,
+ { "RgbAuxIn", "mapi.mapi_EcDoRpcExt.rgbAuxIn", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_rgbIn,
+ { "RgbIn", "mapi.mapi_EcDoRpcExt.rgbIn", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpcExt_rgbOut,
+ { "RgbOut", "mapi.mapi_EcDoRpcExt.rgbOut", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_handle,
+ { "Handle", "mapi.mapi_EcDoRpc.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_length,
+ { "Length", "mapi.mapi_EcDoRpc.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_mapi_request,
+ { "Mapi Request", "mapi.mapi_EcDoRpc.mapi_request", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_mapi_response,
+ { "Mapi Response", "mapi.mapi_EcDoRpc.mapi_response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_max_data,
+ { "Max Data", "mapi.mapi_EcDoRpc.max_data", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_offset,
+ { "Offset", "mapi.mapi_EcDoRpc.offset", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcDoRpc_size,
+ { "Size", "mapi.mapi_EcDoRpc.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcGetMoreRpc_pcxh,
+ { "Pcxh", "mapi.mapi_EcGetMoreRpc.pcxh", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcGetMoreRpc_pusLength,
+ { "PusLength", "mapi.mapi_EcGetMoreRpc.pusLength", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcGetMoreRpc_rgb,
+ { "Rgb", "mapi.mapi_EcGetMoreRpc.rgb", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcGetMoreRpc_usSize,
+ { "UsSize", "mapi.mapi_EcGetMoreRpc.usSize", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRGetDCName_handle,
+ { "Handle", "mapi.mapi_EcRGetDCName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRGetDCName_rgchDomainController,
+ { "RgchDomainController", "mapi.mapi_EcRGetDCName.rgchDomainController", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRGetDCName_szDomainName,
+ { "SzDomainName", "mapi.mapi_EcRGetDCName.szDomainName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRNetGetDCName_rgchDomainController,
+ { "RgchDomainController", "mapi.mapi_EcRNetGetDCName.rgchDomainController", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRNetGetDCName_szDomainName,
+ { "SzDomainName", "mapi.mapi_EcRNetGetDCName.szDomainName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_cbCallbackAddress,
+ { "CbCallbackAddress", "mapi.mapi_EcRRegisterPushNotification.cbCallbackAddress", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_cbContext,
+ { "CbContext", "mapi.mapi_EcRRegisterPushNotification.cbContext", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_grbitMapiAdviseBits,
+ { "GrbitMapiAdviseBits", "mapi.mapi_EcRRegisterPushNotification.grbitMapiAdviseBits", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_hNotification,
+ { "HNotification", "mapi.mapi_EcRRegisterPushNotification.hNotification", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_handle,
+ { "Handle", "mapi.mapi_EcRRegisterPushNotification.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_iRpc,
+ { "IRpc", "mapi.mapi_EcRRegisterPushNotification.iRpc", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_rgbCallbackAddress,
+ { "RgbCallbackAddress", "mapi.mapi_EcRRegisterPushNotification.rgbCallbackAddress", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRRegisterPushNotification_rgbContext,
+ { "RgbContext", "mapi.mapi_EcRRegisterPushNotification.rgbContext", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRUnregisterPushNotification_hNotification,
+ { "HNotification", "mapi.mapi_EcRUnregisterPushNotification.hNotification", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRUnregisterPushNotification_handle,
+ { "Handle", "mapi.mapi_EcRUnregisterPushNotification.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_EcRUnregisterPushNotification_iRpc,
+ { "IRpc", "mapi.mapi_EcRUnregisterPushNotification.iRpc", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_LPSTR_lppszA,
+ { "LppszA", "mapi.mapi_LPSTR.lppszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_LPWSTR_lppszW,
+ { "LppszW", "mapi.mapi_LPWSTR.lppszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_MV_LONG_STRUCT_cValues,
+ { "CValues", "mapi.mapi_MV_LONG_STRUCT.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_MV_LONG_STRUCT_lpl,
+ { "Lpl", "mapi.mapi_MV_LONG_STRUCT.lpl", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_PermissionsData_ModifyCount,
+ { "ModifyCount", "mapi.mapi_PermissionsData.ModifyCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_PermissionsData_ModifyFlags,
+ { "ModifyFlags", "mapi.mapi_PermissionsData.ModifyFlags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_PermissionsData_PermissionsData,
+ { "PermissionsData", "mapi.mapi_PermissionsData.PermissionsData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SAndRestriction_cRes,
+ { "CRes", "mapi.mapi_SAndRestriction.cRes", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SAndRestriction_res,
+ { "Res", "mapi.mapi_SAndRestriction.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SBinaryArray_bin,
+ { "Bin", "mapi.mapi_SBinaryArray.bin", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SBinaryArray_cValues,
+ { "CValues", "mapi.mapi_SBinaryArray.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SBitmaskRestriction_relMBR,
+ { "RelMBR", "mapi.mapi_SBitmaskRestriction.relMBR", FT_UINT8, BASE_DEC, VALS(mapi_relMBR_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SBitmaskRestriction_ulMask,
+ { "UlMask", "mapi.mapi_SBitmaskRestriction.ulMask", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SBitmaskRestriction_ulPropTag,
+ { "UlPropTag", "mapi.mapi_SBitmaskRestriction.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCommentRestriction_Restriction,
+ { "Restriction", "mapi.mapi_SCommentRestriction.Restriction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCommentRestriction_RestrictionPresent,
+ { "RestrictionPresent", "mapi.mapi_SCommentRestriction.RestrictionPresent", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCommentRestriction_TaggedValues,
+ { "TaggedValues", "mapi.mapi_SCommentRestriction.TaggedValues", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCommentRestriction_TaggedValuesCount,
+ { "TaggedValuesCount", "mapi.mapi_SCommentRestriction.TaggedValuesCount", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCompareProps_relop,
+ { "Relop", "mapi.mapi_SCompareProps.relop", FT_UINT8, BASE_DEC, VALS(mapi_CompareRelop_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCompareProps_ulPropTag1,
+ { "UlPropTag1", "mapi.mapi_SCompareProps.ulPropTag1", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SCompareProps_ulPropTag2,
+ { "UlPropTag2", "mapi.mapi_SCompareProps.ulPropTag2", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SContentRestriction_fuzzy,
+ { "Fuzzy", "mapi.mapi_SContentRestriction.fuzzy", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SContentRestriction_lpProp,
+ { "LpProp", "mapi.mapi_SContentRestriction.lpProp", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SContentRestriction_ulPropTag,
+ { "UlPropTag", "mapi.mapi_SContentRestriction.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SExistRestriction_ulPropTag,
+ { "UlPropTag", "mapi.mapi_SExistRestriction.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SGuidArray_cValues,
+ { "CValues", "mapi.mapi_SGuidArray.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SGuidArray_lpguid,
+ { "Lpguid", "mapi.mapi_SGuidArray.lpguid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SLPSTRArray_cValues,
+ { "CValues", "mapi.mapi_SLPSTRArray.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SLPSTRArray_strings,
+ { "Strings", "mapi.mapi_SLPSTRArray.strings", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SNotRestriction_res,
+ { "Res", "mapi.mapi_SNotRestriction.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SOrRestriction_cRes,
+ { "CRes", "mapi.mapi_SOrRestriction.cRes", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SOrRestriction_res,
+ { "Res", "mapi.mapi_SOrRestriction.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPLSTRArrayW_cValues,
+ { "CValues", "mapi.mapi_SPLSTRArrayW.cValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPLSTRArrayW_strings,
+ { "Strings", "mapi.mapi_SPLSTRArrayW.strings", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropTagArray_aulPropTag,
+ { "AulPropTag", "mapi.mapi_SPropTagArray.aulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropTagArray_cValues,
+ { "CValues", "mapi.mapi_SPropTagArray.cValues", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVbin,
+ { "MVbin", "mapi.mapi_SPropValue_CTR.MVbin", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVft,
+ { "MVft", "mapi.mapi_SPropValue_CTR.MVft", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVguid,
+ { "MVguid", "mapi.mapi_SPropValue_CTR.MVguid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVi,
+ { "MVi", "mapi.mapi_SPropValue_CTR.MVi", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVl,
+ { "MVl", "mapi.mapi_SPropValue_CTR.MVl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVszA,
+ { "MVszA", "mapi.mapi_SPropValue_CTR.MVszA", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_MVszW,
+ { "MVszW", "mapi.mapi_SPropValue_CTR.MVszW", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_Restrictions,
+ { "Restrictions", "mapi.mapi_SPropValue_CTR.Restrictions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_RuleAction,
+ { "RuleAction", "mapi.mapi_SPropValue_CTR.RuleAction", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_b,
+ { "B", "mapi.mapi_SPropValue_CTR.b", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_bin,
+ { "Bin", "mapi.mapi_SPropValue_CTR.bin", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_d,
+ { "D", "mapi.mapi_SPropValue_CTR.d", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_dbl,
+ { "Dbl", "mapi.mapi_SPropValue_CTR.dbl", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_err,
+ { "Err", "mapi.mapi_SPropValue_CTR.err", FT_UINT32, BASE_DEC, VALS(mapi_MAPISTATUS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_ft,
+ { "Ft", "mapi.mapi_SPropValue_CTR.ft", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_i,
+ { "I", "mapi.mapi_SPropValue_CTR.i", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_l,
+ { "L", "mapi.mapi_SPropValue_CTR.l", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_lpguid,
+ { "Lpguid", "mapi.mapi_SPropValue_CTR.lpguid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_lpszA,
+ { "LpszA", "mapi.mapi_SPropValue_CTR.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_lpszW,
+ { "LpszW", "mapi.mapi_SPropValue_CTR.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_null,
+ { "Null", "mapi.mapi_SPropValue_CTR.null", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_object,
+ { "Object", "mapi.mapi_SPropValue_CTR.object", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_CTR_svreid,
+ { "Svreid", "mapi.mapi_SPropValue_CTR.svreid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_array_cValues,
+ { "CValues", "mapi.mapi_SPropValue_array.cValues", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_array_lpProps,
+ { "LpProps", "mapi.mapi_SPropValue_array.lpProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_array_wrap_wrap,
+ { "Wrap", "mapi.mapi_SPropValue_array_wrap.wrap", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_ulPropTag,
+ { "UlPropTag", "mapi.mapi_SPropValue.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_value,
+ { "Value", "mapi.mapi_SPropValue.value", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropValue_wrap_wrap,
+ { "Wrap", "mapi.mapi_SPropValue_wrap.wrap", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropertyRestriction_lpProp,
+ { "LpProp", "mapi.mapi_SPropertyRestriction.lpProp", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropertyRestriction_relop,
+ { "Relop", "mapi.mapi_SPropertyRestriction.relop", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SPropertyRestriction_ulPropTag,
+ { "UlPropTag", "mapi.mapi_SPropertyRestriction.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resAnd,
+ { "ResAnd", "mapi.mapi_SRestriction_CTR.resAnd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resBitmask,
+ { "ResBitmask", "mapi.mapi_SRestriction_CTR.resBitmask", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resComment,
+ { "ResComment", "mapi.mapi_SRestriction_CTR.resComment", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resCompareProps,
+ { "ResCompareProps", "mapi.mapi_SRestriction_CTR.resCompareProps", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resContent,
+ { "ResContent", "mapi.mapi_SRestriction_CTR.resContent", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resExist,
+ { "ResExist", "mapi.mapi_SRestriction_CTR.resExist", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resNot,
+ { "ResNot", "mapi.mapi_SRestriction_CTR.resNot", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resOr,
+ { "ResOr", "mapi.mapi_SRestriction_CTR.resOr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resProperty,
+ { "ResProperty", "mapi.mapi_SRestriction_CTR.resProperty", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resSize,
+ { "ResSize", "mapi.mapi_SRestriction_CTR.resSize", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_CTR_resSub,
+ { "ResSub", "mapi.mapi_SRestriction_CTR.resSub", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_res,
+ { "Res", "mapi.mapi_SRestriction.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_rt,
+ { "Rt", "mapi.mapi_SRestriction.rt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SRestriction_wrap_wrap,
+ { "Wrap", "mapi.mapi_SRestriction_wrap.wrap", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SSizeRestriction_relop,
+ { "Relop", "mapi.mapi_SSizeRestriction.relop", FT_UINT8, BASE_DEC, VALS(mapi_CompareRelop_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SSizeRestriction_size,
+ { "Size", "mapi.mapi_SSizeRestriction.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SSizeRestriction_ulPropTag,
+ { "UlPropTag", "mapi.mapi_SSizeRestriction.ulPropTag", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SSubRestriction_res,
+ { "Res", "mapi.mapi_SSubRestriction.res", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_SSubRestriction_ulSubObject,
+ { "UlSubObject", "mapi.mapi_SSubRestriction.ulSubObject", FT_UINT32, BASE_DEC, VALS(mapi_MAPITAGS_vals), 0, NULL, HFILL }},
+ { &hf_mapi_mapi_name_Name,
+ { "Name", "mapi.mapi_name.Name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_name_NameSize,
+ { "NameSize", "mapi.mapi_name.NameSize", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_request_handles,
+ { "Handles", "mapi.mapi_request.handles", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_request_length,
+ { "Length", "mapi.mapi_request.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_request_mapi_len,
+ { "Mapi Len", "mapi.mapi_request.mapi_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_request_rpcRequest,
+ { "RpcRequest", "mapi.mapi_request.rpcRequest", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_response_handles,
+ { "Handles", "mapi.mapi_response.handles", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_response_length,
+ { "Length", "mapi.mapi_response.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_response_mapi_len,
+ { "Mapi Len", "mapi.mapi_response.mapi_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_mapi_response_rpcResponse,
+ { "RpcResponse", "mapi.mapi_response.rpcResponse", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
{ &hf_mapi_opnum,
{ "Operation", "mapi.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_pdu_len,
- { "Length", "mapi.pdu.len", FT_UINT16, BASE_HEX, NULL, 0x0, "Size of the command PDU", HFILL }},
- { &hf_mapi_property_types,
- { "Value", "mapi.SPropValue.value", FT_UINT32, BASE_HEX, VALS(mapi_property_types_vals), 0, "NULL", HFILL }},
- { &hf_mapi_recipient_displayname_7bit_lpszA,
- { "LpszA", "mapi.recipient_displayname_7bit.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_recipient_type,
- { "Recipient Type", "mapi.recipients_headers.type", FT_UINT16, BASE_HEX, VALS(mapi_OM_recipient_type_vals), 0, "NULL", HFILL }},
+ { &hf_mapi_recipient_DisplayName_lpszA,
+ { "LpszA", "mapi.recipient_DisplayName.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_DisplayName_lpszW,
+ { "LpszW", "mapi.recipient_DisplayName.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_EmailAddress_lpszA,
+ { "LpszA", "mapi.recipient_EmailAddress.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_EmailAddress_lpszW,
+ { "LpszW", "mapi.recipient_EmailAddress.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_SimpleDisplayName_lpszA,
+ { "LpszA", "mapi.recipient_SimpleDisplayName.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_SimpleDisplayName_lpszW,
+ { "LpszW", "mapi.recipient_SimpleDisplayName.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_TransmittableDisplayName_lpszA,
+ { "LpszA", "mapi.recipient_TransmittableDisplayName.lpszA", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mapi_recipient_TransmittableDisplayName_lpszW,
+ { "LpszW", "mapi.recipient_TransmittableDisplayName.lpszW", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
{ &hf_mapi_recipient_type_EXCHANGE,
{ "EXCHANGE", "mapi.recipient_type.EXCHANGE", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
{ &hf_mapi_recipient_type_SMTP,
{ "SMTP", "mapi.recipient_type.SMTP", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_recipients_headers_bitmask,
- { "Bitmask", "mapi.recipients_headers.bitmask", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_recipients_headers_layout,
- { "Layout", "mapi.recipients_headers.layout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_recipients_headers_prop_count,
- { "Prop Count", "mapi.recipients_headers.prop_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
- { &hf_mapi_recipients_headers_prop_values,
- { "Prop Values", "mapi.recipients_headers.prop_values", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_recipients_headers_username,
- { "Username", "mapi.recipients_headers.username", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevCriticalError,
- { "FnevCriticalError", "mapi.ulEventType.fnevCriticalError", FT_BOOLEAN, 16, TFS(&ulEventType_fnevCriticalError_tfs), ( 0x00000001 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevExtended,
- { "FnevExtended", "mapi.ulEventType.fnevExtended", FT_BOOLEAN, 16, TFS(&ulEventType_fnevExtended_tfs), ( 0x80000000 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevNewMail,
- { "FnevNewMail", "mapi.ulEventType.fnevNewMail", FT_BOOLEAN, 16, TFS(&ulEventType_fnevNewMail_tfs), ( 0x00000002 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevObjectCopied,
- { "FnevObjectCopied", "mapi.ulEventType.fnevObjectCopied", FT_BOOLEAN, 16, TFS(&ulEventType_fnevObjectCopied_tfs), ( 0x00000040 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevObjectCreated,
- { "FnevObjectCreated", "mapi.ulEventType.fnevObjectCreated", FT_BOOLEAN, 16, TFS(&ulEventType_fnevObjectCreated_tfs), ( 0x00000004 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevObjectDeleted,
- { "FnevObjectDeleted", "mapi.ulEventType.fnevObjectDeleted", FT_BOOLEAN, 16, TFS(&ulEventType_fnevObjectDeleted_tfs), ( 0x00000008 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevObjectModified,
- { "FnevObjectModified", "mapi.ulEventType.fnevObjectModified", FT_BOOLEAN, 16, TFS(&ulEventType_fnevObjectModified_tfs), ( 0x00000010 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevObjectMoved,
- { "FnevObjectMoved", "mapi.ulEventType.fnevObjectMoved", FT_BOOLEAN, 16, TFS(&ulEventType_fnevObjectMoved_tfs), ( 0x00000020 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevReservedForMapi,
- { "FnevReservedForMapi", "mapi.ulEventType.fnevReservedForMapi", FT_BOOLEAN, 16, TFS(&ulEventType_fnevReservedForMapi_tfs), ( 0x40000000 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevSearchComplete,
- { "FnevSearchComplete", "mapi.ulEventType.fnevSearchComplete", FT_BOOLEAN, 16, TFS(&ulEventType_fnevSearchComplete_tfs), ( 0x00000080 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevStatusObjectModified,
- { "FnevStatusObjectModified", "mapi.ulEventType.fnevStatusObjectModified", FT_BOOLEAN, 16, TFS(&ulEventType_fnevStatusObjectModified_tfs), ( 0x00000200 ), NULL, HFILL }},
- { &hf_mapi_ulEventType_fnevTableModified,
- { "FnevTableModified", "mapi.ulEventType.fnevTableModified", FT_BOOLEAN, 16, TFS(&ulEventType_fnevTableModified_tfs), ( 0x00000100 ), NULL, HFILL }},
+ { &hf_mapi_ulMessageStatus_MSGSTATUS_DELMARKED,
+ { "MSGSTATUS DELMARKED", "mapi.ulMessageStatus.MSGSTATUS_DELMARKED", FT_BOOLEAN, 32, TFS(&ulMessageStatus_MSGSTATUS_DELMARKED_tfs), ( 0x8 ), NULL, HFILL }},
+ { &hf_mapi_ulMessageStatus_MSGSTATUS_HIDDEN,
+ { "MSGSTATUS HIDDEN", "mapi.ulMessageStatus.MSGSTATUS_HIDDEN", FT_BOOLEAN, 32, TFS(&ulMessageStatus_MSGSTATUS_HIDDEN_tfs), ( 0x4 ), NULL, HFILL }},
+ { &hf_mapi_ulMessageStatus_MSGSTATUS_HIGHLIGHTED,
+ { "MSGSTATUS HIGHLIGHTED", "mapi.ulMessageStatus.MSGSTATUS_HIGHLIGHTED", FT_BOOLEAN, 32, TFS(&ulMessageStatus_MSGSTATUS_HIGHLIGHTED_tfs), ( 0x1 ), NULL, HFILL }},
+ { &hf_mapi_ulMessageStatus_MSGSTATUS_REMOTE_DELETE,
+ { "MSGSTATUS REMOTE DELETE", "mapi.ulMessageStatus.MSGSTATUS_REMOTE_DELETE", FT_BOOLEAN, 32, TFS(&ulMessageStatus_MSGSTATUS_REMOTE_DELETE_tfs), ( 0x2000 ), NULL, HFILL }},
+ { &hf_mapi_ulMessageStatus_MSGSTATUS_REMOTE_DOWNLOAD,
+ { "MSGSTATUS REMOTE DOWNLOAD", "mapi.ulMessageStatus.MSGSTATUS_REMOTE_DOWNLOAD", FT_BOOLEAN, 32, TFS(&ulMessageStatus_MSGSTATUS_REMOTE_DOWNLOAD_tfs), ( 0x1000 ), NULL, HFILL }},
+ { &hf_mapi_ulMessageStatus_MSGSTATUS_TAGGED,
+ { "MSGSTATUS TAGGED", "mapi.ulMessageStatus.MSGSTATUS_TAGGED", FT_BOOLEAN, 32, TFS(&ulMessageStatus_MSGSTATUS_TAGGED_tfs), ( 0x2 ), NULL, HFILL }},
+ { &hf_mapi_werror,
+ { "Windows Error", "mapi.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, NULL, HFILL }},
};
static gint *ett[] = {
- &ett_mapi_mapi_request,
- &ett_mapi_EcDoRpc_MAPI_REQ,
- &ett_mapi_OpenFolder_req,
- &ett_mapi_GetProps_req,
- &ett_mapi_OpenMsgStore_req,
- &ett_mapi_mapi_response,
- &ett_mapi_EcDoRpc_MAPI_REPL,
- &ett_mapi_OpenFolder_repl,
- &ett_mapi_GetProps_repl,
+ &ett_mapi_connect_request,
+ &ett_ServerObjectHandleTable,
&ett_dcerpc_mapi,
&ett_mapi_DATA_BLOB,
- &ett_mapi_input_locale,
- &ett_mapi_FILETIME,
- &ett_mapi_LPSTR,
- &ett_mapi_SPropValue_CTR,
- &ett_mapi_SPropValue,
- &ett_mapi_SRow,
+ &ett_mapi_SBinary_short,
+ &ett_mapi_mapi_MV_LONG_STRUCT,
+ &ett_mapi_mapi_LPSTR,
+ &ett_mapi_mapi_SLPSTRArray,
+ &ett_mapi_mapi_LPWSTR,
+ &ett_mapi_mapi_SPLSTRArrayW,
+ &ett_mapi_mapi_SBinaryArray,
+ &ett_mapi_mapi_SGuidArray,
+ &ett_mapi_mapi_SRestriction_wrap,
+ &ett_mapi_mapi_SPropValue_wrap,
+ &ett_mapi_mapi_SPropValue_array_wrap,
+ &ett_mapi_MoveCopy_Action,
+ &ett_mapi_ReplyOOF_Action,
+ &ett_mapi_RecipientBlock,
+ &ett_mapi_ForwardDelegate_Action,
+ &ett_mapi_ActionData,
+ &ett_mapi_ActionBlockData,
+ &ett_mapi_ActionBlock,
+ &ett_mapi_RuleAction,
+ &ett_mapi_ShortArray_r,
+ &ett_mapi_LongArray_r,
+ &ett_mapi_BinaryArray_r,
+ &ett_mapi_DateTimeArray_r,
+ &ett_mapi_Binary_r,
+ &ett_mapi_mapi_SPropValue_CTR,
+ &ett_mapi_mapi_SPropValue,
+ &ett_mapi_mapi_SPropValue_array,
+ &ett_mapi_mapi_SPropTagArray,
&ett_mapi_Release_req,
&ett_mapi_Release_repl,
+ &ett_mapi_OpenFolder_req,
+ &ett_mapi_OpenFolder_Replicas,
+ &ett_mapi_IsGhosted,
+ &ett_mapi_OpenFolder_Success,
+ &ett_mapi_OpenFolder_repl_status,
+ &ett_mapi_OpenFolder_repl,
+ &ett_mapi_String,
+ &ett_mapi_TypedString,
&ett_mapi_OpenMessage_req,
&ett_mapi_RecipExchange,
&ett_mapi_RecipSMTP,
&ett_mapi_recipient_type,
- &ett_mapi_recipient_displayname_7bit,
- &ett_mapi_recipients_headers,
+ &ett_mapi_recipient_SimpleDisplayName,
+ &ett_mapi_recipient_TransmittableDisplayName,
+ &ett_mapi_recipient_DisplayName,
+ &ett_mapi_recipient_EmailAddress,
+ &ett_mapi_RecipientRow,
&ett_mapi_OpenMessage_recipients,
- &ett_mapi_ulEventType,
- &ett_mapi_EcDoRpc_MAPI_REQ_UNION,
- &ett_mapi_EcDoRpc_MAPI_REPL_UNION,
+ &ett_mapi_OpenMessage_Success,
+ &ett_mapi_OpenMessage_repl_status,
+ &ett_mapi_OpenMessage_repl,
+ &ett_mapi_TableFlags,
+ &ett_mapi_GetHierarchyTable_req,
+ &ett_mapi_GetHierarchyTable_repl_success,
+ &ett_mapi_GetHierarchyTable_repl_status,
+ &ett_mapi_GetHierarchyTable_repl,
+ &ett_mapi_GetContentsTable_req,
+ &ett_mapi_GetContentsTable_repl_success,
+ &ett_mapi_GetContentsTable_repl_status,
+ &ett_mapi_GetContentsTable_repl,
+ &ett_mapi_CreateMessage_req,
+ &ett_mapi_CreateMessage_MessageId,
+ &ett_mapi_CreateMessage_repl_success,
+ &ett_mapi_CreateMessage_repl_status,
+ &ett_mapi_CreateMessage_repl,
+ &ett_mapi_GetProps_req,
+ &ett_mapi_GetProps_repl_success,
+ &ett_mapi_GetProps_repl_status,
+ &ett_mapi_GetProps_repl,
+ &ett_mapi_GetPropsAll_req,
+ &ett_mapi_GetPropsAll_repl_success,
+ &ett_mapi_GetPropsAll_repl_status,
+ &ett_mapi_GetPropsAll_repl,
+ &ett_mapi_GetPropList_req,
+ &ett_mapi_GetPropList_repl,
+ &ett_mapi_PropertyProblem,
+ &ett_mapi_SetProps_req,
+ &ett_mapi_SetProps_repl,
+ &ett_mapi_DeleteProps_req,
+ &ett_mapi_DeleteProps_repl,
+ &ett_mapi_SaveChangesMessage_req,
+ &ett_mapi_SaveChangesMessage_repl,
+ &ett_mapi_RemoveAllRecipients_req,
+ &ett_mapi_RemoveAllRecipients_repl,
+ &ett_mapi_ModifyRecipientRow,
+ &ett_mapi_ModifyRecipients_req,
+ &ett_mapi_ModifyRecipients_repl,
+ &ett_mapi_ReadRecipients_req,
+ &ett_mapi_ReadRecipientRow,
+ &ett_mapi_ReadRecipients_repl,
+ &ett_mapi_OpenRecipientRow,
+ &ett_mapi_ReloadCachedInformation_req,
+ &ett_mapi_ReloadCachedInformation_repl,
+ &ett_mapi_MSGFLAG_READ,
+ &ett_mapi_SetMessageReadFlag_req,
+ &ett_mapi_SetMessageReadFlag_LogonId,
+ &ett_mapi_SetMessageReadFlag_ClientData,
+ &ett_mapi_SetMessageReadFlag_repl,
+ &ett_mapi_SetColumns_req,
+ &ett_mapi_SetColumns_repl,
+ &ett_mapi_SSortOrder,
+ &ett_mapi_SSortOrderSet,
+ &ett_mapi_SortTable_req,
+ &ett_mapi_SortTable_repl,
+ &ett_mapi_mapi_SAndRestriction,
+ &ett_mapi_mapi_SOrRestriction,
+ &ett_mapi_mapi_SNotRestriction,
+ &ett_mapi_fuzzyLevel,
+ &ett_mapi_mapi_SContentRestriction,
+ &ett_mapi_mapi_SBitmaskRestriction,
+ &ett_mapi_mapi_SSizeRestriction,
+ &ett_mapi_mapi_SPropertyRestriction,
+ &ett_mapi_mapi_SCompareProps,
+ &ett_mapi_mapi_SExistRestriction,
+ &ett_mapi_mapi_SSubRestriction,
+ &ett_mapi_RestrictionVariable,
+ &ett_mapi_mapi_SCommentRestriction,
+ &ett_mapi_mapi_SRestriction_CTR,
+ &ett_mapi_mapi_SRestriction,
+ &ett_mapi_SRestriction_and,
+ &ett_mapi_SRestriction_or,
+ &ett_mapi_SRestriction_sub,
+ &ett_mapi_SRestriction_comment,
+ &ett_mapi_Restrict_req,
+ &ett_mapi_Restrict_repl,
+ &ett_mapi_QueryRows_req,
+ &ett_mapi_QueryRows_repl,
+ &ett_mapi_GetStatus_req,
+ &ett_mapi_GetStatus_repl,
+ &ett_mapi_QueryPosition_req,
+ &ett_mapi_QueryPosition_repl,
+ &ett_mapi_SeekRow_req,
+ &ett_mapi_SeekRow_repl,
+ &ett_mapi_SeekRowBookmark_req,
+ &ett_mapi_SeekRowBookmark_repl,
+ &ett_mapi_SeekRowApprox_req,
+ &ett_mapi_SeekRowApprox_repl,
+ &ett_mapi_CreateBookmark_req,
+ &ett_mapi_CreateBookmark_repl,
+ &ett_mapi_LPTSTR,
+ &ett_mapi_CreateFolder_req,
+ &ett_mapi_CreateFolder_GhostInfo,
+ &ett_mapi_CreateFolder_GhostUnion,
+ &ett_mapi_CreateFolder_repl,
+ &ett_mapi_DeleteFolderFlags,
+ &ett_mapi_DeleteFolder_req,
+ &ett_mapi_DeleteFolder_repl,
+ &ett_mapi_DeleteMessages_req,
+ &ett_mapi_DeleteMessages_repl,
+ &ett_mapi_GetMessageStatus_req,
+ &ett_mapi_ulMessageStatus,
+ &ett_mapi_SetMessageStatus_req,
+ &ett_mapi_SetMessageStatus_repl,
+ &ett_mapi_GetAttachmentTable_req,
+ &ett_mapi_GetAttachmentTable_repl,
+ &ett_mapi_OpenAttach_req,
+ &ett_mapi_OpenAttach_repl,
+ &ett_mapi_CreateAttach_req,
+ &ett_mapi_CreateAttach_repl,
+ &ett_mapi_DeleteAttach_req,
+ &ett_mapi_DeleteAttach_repl,
+ &ett_mapi_SaveChangesAttachment_req,
+ &ett_mapi_SaveChangesAttachment_repl,
+ &ett_mapi_SetReceiveFolder_req,
+ &ett_mapi_SetReceiveFolder_repl,
+ &ett_mapi_GetReceiveFolder_req,
+ &ett_mapi_GetReceiveFolder_repl,
+ &ett_mapi_hyperbool,
+ &ett_mapi_RegisterNotification_req,
+ &ett_mapi_RegisterNotification_repl,
+ &ett_mapi_MsgFlags,
+ &ett_mapi_MessageClass,
+ &ett_mapi_GID,
+ &ett_mapi_NewMailNotification,
+ &ett_mapi_FolderCreatedNotification,
+ &ett_mapi_FolderDeletedNotification,
+ &ett_mapi_FolderModifiedNotification_10,
+ &ett_mapi_FolderMoveCopyNotification,
+ &ett_mapi_SearchCompleteNotification,
+ &ett_mapi_HierarchyRowAddedNotification,
+ &ett_mapi_HierarchyRowDeletedNotification,
+ &ett_mapi_HierarchyRowModifiedNotification,
+ &ett_mapi_HierarchyTableChangeUnion,
+ &ett_mapi_HierarchyTableChange,
+ &ett_mapi_IcsNotification,
+ &ett_mapi_FolderModifiedNotification_1010,
+ &ett_mapi_FolderModifiedNotification_2010,
+ &ett_mapi_FolderModifiedNotification_3010,
+ &ett_mapi_MessageCreatedNotification,
+ &ett_mapi_MessageDeletedNotification,
+ &ett_mapi_MessageModifiedNotification,
+ &ett_mapi_MessageMoveCopyNotification,
+ &ett_mapi_ContentsRowAddedNotification,
+ &ett_mapi_ContentsRowDeletedNotification,
+ &ett_mapi_ContentsRowModifiedNotification,
+ &ett_mapi_ContentsTableChangeUnion,
+ &ett_mapi_ContentsTableChange,
+ &ett_mapi_SearchMessageCreatedNotification,
+ &ett_mapi_SearchMessageRemovedNotification,
+ &ett_mapi_SearchMessageModifiedNotification,
+ &ett_mapi_NotificationData,
+ &ett_mapi_Notify_repl,
+ &ett_mapi_OpenStream_req,
+ &ett_mapi_OpenStream_repl,
+ &ett_mapi_MaximumByteCount,
+ &ett_mapi_ReadStream_req,
+ &ett_mapi_ReadStream_repl,
+ &ett_mapi_WriteStream_req,
+ &ett_mapi_WriteStream_repl,
+ &ett_mapi_SeekStream_req,
+ &ett_mapi_SeekStream_repl,
+ &ett_mapi_SetStreamSize_req,
+ &ett_mapi_SetStreamSize_repl,
+ &ett_mapi_SearchFlags,
+ &ett_mapi_SetSearchCriteria_req,
+ &ett_mapi_SetSearchCriteria_repl,
+ &ett_mapi_GetSearchCriteria_req,
+ &ett_mapi_GetSearchCriteria_repl,
+ &ett_mapi_SubmitMessage_req,
+ &ett_mapi_SubmitMessage_repl,
+ &ett_mapi_MoveCopyMessages_req,
+ &ett_mapi_MoveCopyMessages_repl,
+ &ett_mapi_AbortSubmit_req,
+ &ett_mapi_AbortSubmit_repl,
+ &ett_mapi_Folder_name,
+ &ett_mapi_MoveFolder_req,
+ &ett_mapi_MoveFolder_repl,
+ &ett_mapi_CopyFolder_req,
+ &ett_mapi_CopyFolder_repl,
+ &ett_mapi_QueryColumnsAll_req,
+ &ett_mapi_QueryColumnsAll_repl,
+ &ett_mapi_Abort_req,
+ &ett_mapi_Abort_repl,
+ &ett_mapi_CopyFlags,
+ &ett_mapi_CopyTo_req,
+ &ett_mapi_CopyTo_repl,
+ &ett_mapi_CopyToStream_req,
+ &ett_mapi_CopyToStream_repl,
+ &ett_mapi_CloneStream_req,
+ &ett_mapi_CloneStream_repl,
+ &ett_mapi_PermissionsTableFlags,
+ &ett_mapi_GetPermissionsTable_req,
+ &ett_mapi_GetPermissionsTable_repl,
+ &ett_mapi_RulesTableFlags,
+ &ett_mapi_GetRulesTable_req,
+ &ett_mapi_GetRulesTable_repl,
+ &ett_mapi_ModifyPermissionsFlags,
+ &ett_mapi_PermissionData,
+ &ett_mapi_mapi_PermissionsData,
+ &ett_mapi_ModifyPermissions_req,
+ &ett_mapi_ModifyPermissions_repl,
+ &ett_mapi_RuleData,
+ &ett_mapi_ModifyRulesFlag,
+ &ett_mapi_ModifyRules_req,
+ &ett_mapi_ModifyRules_repl,
+ &ett_mapi_GetOwningServers_req,
+ &ett_mapi_GetOwningServers_repl,
+ &ett_mapi_LongTermIdFromId_req,
+ &ett_mapi_LongTermId,
+ &ett_mapi_LongTermIdFromId_repl_Success,
+ &ett_mapi_LongTermIdFromId_repl_status,
+ &ett_mapi_LongTermIdFromId_repl,
+ &ett_mapi_IdFromLongTermId_req,
+ &ett_mapi_IdFromLongTermId_repl,
+ &ett_mapi_PublicFolderIsGhosted_req,
+ &ett_mapi_PublicFolderIsGhosted_repl,
+ &ett_mapi_OpenEmbeddedMessage_req,
+ &ett_mapi_OpenEmbeddedMessage_repl,
+ &ett_mapi_SetSpooler_req,
+ &ett_mapi_SetSpooler_repl,
+ &ett_mapi_SpoolerLockMessage_req,
+ &ett_mapi_SpoolerLockMessage_repl,
+ &ett_mapi_AddressTypes_req,
+ &ett_mapi_AddressTypes_repl,
+ &ett_mapi_TransportSend_req,
+ &ett_mapi_TransportSend_lpProps,
+ &ett_mapi_TransportSend_repl,
+ &ett_mapi_FastTransferSourceGetBuffer_req,
+ &ett_mapi_FastTransferSourceGetBuffer_repl,
+ &ett_mapi_FindRow_req,
+ &ett_mapi_FindRow_repl,
+ &ett_mapi_Progress_req,
+ &ett_mapi_Progress_repl,
+ &ett_mapi_TransportNewMail_req,
+ &ett_mapi_TransportNewMail_repl,
+ &ett_mapi_GetValidAttachments_req,
+ &ett_mapi_GetValidAttachments_repl,
+ &ett_mapi_mapi_name,
+ &ett_mapi_Kind,
+ &ett_mapi_MAPINAMEID,
+ &ett_mapi_GetNamesFromIDs_req,
+ &ett_mapi_GetNamesFromIDs_repl,
+ &ett_mapi_GetIDsFromNames_req,
+ &ett_mapi_GetIDsFromNames_repl,
+ &ett_mapi_UpdateDeferredActionMessages_req,
+ &ett_mapi_UpdateDeferredActionMessages_repl,
+ &ett_mapi_EmptyFolder_req,
+ &ett_mapi_EmptyFolder_repl,
+ &ett_mapi_ExpandRow_req,
+ &ett_mapi_ExpandRow_repl,
+ &ett_mapi_CollapseRow_req,
+ &ett_mapi_CollapseRow_repl,
+ &ett_mapi_LockRegionStream_req,
+ &ett_mapi_LockRegionStream_repl,
+ &ett_mapi_UnlockRegionStream_req,
+ &ett_mapi_UnlockRegionStream_repl,
+ &ett_mapi_CommitStream_req,
+ &ett_mapi_CommitStream_repl,
+ &ett_mapi_GetStreamSize_req,
+ &ett_mapi_GetStreamSize_repl,
+ &ett_mapi_QueryFlags,
+ &ett_mapi_QueryNamedProperties_guid,
+ &ett_mapi_QueryNamedProperties_req,
+ &ett_mapi_QueryNamedProperties_repl,
+ &ett_mapi_GetPerUserLongTermIds_req,
+ &ett_mapi_GetPerUserLongTermIds_repl,
+ &ett_mapi_GetPerUserGuid_req,
+ &ett_mapi_GetPerUserGuid_repl,
+ &ett_mapi_ReadPerUserInformation_req,
+ &ett_mapi_ReadPerUserInformation_repl,
+ &ett_mapi_SetReadFlags_req,
+ &ett_mapi_SetReadFlags_repl,
+ &ett_mapi_CopyProperties_req,
+ &ett_mapi_CopyProperties_repl,
+ &ett_mapi_FILETIME,
+ &ett_mapi_ReceiveFolder,
+ &ett_mapi_GetReceiveFolderTable_req,
+ &ett_mapi_GetReceiveFolderTable_repl,
+ &ett_mapi_GetCollapseState_req,
+ &ett_mapi_GetCollapseState_repl,
+ &ett_mapi_SetCollapseState_req,
+ &ett_mapi_SetCollapseState_repl,
+ &ett_mapi_GetTransportFolder_req,
+ &ett_mapi_GetTransportFolder_repl,
+ &ett_mapi_Pending_repl,
+ &ett_mapi_OptionsData_req,
+ &ett_mapi_OptionsData_HelpFileName,
+ &ett_mapi_OptionsData_repl,
+ &ett_mapi_SendOptions,
+ &ett_mapi_SynchronizationFlag,
+ &ett_mapi_SynchronizationExtraFlags,
+ &ett_mapi_SyncConfigure_req,
+ &ett_mapi_SyncConfigure_repl,
+ &ett_mapi_ImportFlag,
+ &ett_mapi_SyncImportMessageChange_req,
+ &ett_mapi_SyncImportMessageChange_repl,
+ &ett_mapi_SyncImportHierarchyChange_req,
+ &ett_mapi_SyncImportHierarchyChange_repl,
+ &ett_mapi_SyncImportDeletes_req,
+ &ett_mapi_SyncImportDeletes_repl,
+ &ett_mapi_SyncUploadStateStreamBegin_req,
+ &ett_mapi_SyncUploadStateStreamBegin_repl,
+ &ett_mapi_SyncUploadStateStreamContinue_req,
+ &ett_mapi_SyncUploadStateStreamContinue_repl,
+ &ett_mapi_SyncUploadStateStreamEnd_req,
+ &ett_mapi_SyncUploadStateStreamEnd_repl,
+ &ett_mapi_SyncImportMessageMove_req,
+ &ett_mapi_SyncImportMessageMove_repl,
+ &ett_mapi_SetPropertiesNoReplicate_req,
+ &ett_mapi_SetPropertiesNoReplicate_repl,
+ &ett_mapi_DeletePropertiesNoReplicate_req,
+ &ett_mapi_DeletePropertiesNoReplicate_repl,
+ &ett_mapi_StoreState,
+ &ett_mapi_GetStoreState_req,
+ &ett_mapi_GetStoreState_repl,
+ &ett_mapi_SyncOpenCollector_req,
+ &ett_mapi_SyncOpenCollector_repl,
+ &ett_mapi_GetLocalReplicaIds_req,
+ &ett_mapi_GetLocalReplicaIds_repl,
+ &ett_mapi_SyncImportReadStateChanges_req,
+ &ett_mapi_SyncImportReadStateChanges_repl,
+ &ett_mapi_ResetTable_req,
+ &ett_mapi_ResetTable_repl,
+ &ett_mapi_SyncGetTransferState_req,
+ &ett_mapi_SyncGetTransferState_repl,
+ &ett_mapi_OpenPublicFolderByName_req,
+ &ett_mapi_OpenPublicFolderByName_repl,
+ &ett_mapi_SetSyncNotificationGuid_req,
+ &ett_mapi_SetSyncNotificationGuid_repl,
+ &ett_mapi_FreeBookmark_req,
+ &ett_mapi_FreeBookmark_repl,
+ &ett_mapi_WriteAndCommitStream_req,
+ &ett_mapi_WriteAndCommitStream_repl,
+ &ett_mapi_HardDeleteMessages_req,
+ &ett_mapi_HardDeleteMessages_repl,
+ &ett_mapi_HardDeleteMessagesAndSubfolders_req,
+ &ett_mapi_HardDeleteMessagesAndSubfolders_repl,
+ &ett_mapi_OpenFlags,
+ &ett_mapi_LogonTime,
+ &ett_mapi_ResponseFlags,
+ &ett_mapi_Logon_req,
+ &ett_mapi_Logon_repl,
+ &ett_mapi_RopBufferTooSmall_repl,
+ &ett_mapi_RopRequest,
+ &ett_mapi_RopReply,
+ &ett_mapi_EcDoRpcMapiRequest,
+ &ett_mapi_EcDoRpcMapiResponse,
+ &ett_mapi_mapi_request,
+ &ett_mapi_mapi_response,
+ &ett_mapi_AUX_HEADER_TYPE_ENUM,
+ &ett_mapi_AUX_PERF_REQUESTID,
+ &ett_mapi_AUX_PERF_CLIENTINFO,
+ &ett_mapi_AUX_PERF_SERVERINFO,
+ &ett_mapi_AUX_PERF_SESSIONINFO,
+ &ett_mapi_AUX_PERF_SESSIONINFO_V2,
+ &ett_mapi_AUX_PERF_DEFMDB_SUCCESS,
+ &ett_mapi_AUX_PERF_DEFGC_SUCCESS,
+ &ett_mapi_AUX_PERF_MDB_SUCCESS,
+ &ett_mapi_AUX_PERF_MDB_SUCCESS_V2,
+ &ett_mapi_AUX_PERF_GC_SUCCESS,
+ &ett_mapi_AUX_PERF_GC_SUCCESS_V2,
+ &ett_mapi_AUX_PERF_FAILURE,
+ &ett_mapi_AUX_PERF_FAILURE_V2,
+ &ett_mapi_CLIENT_CONTROL_EnableFlags,
+ &ett_mapi_AUX_CLIENT_CONTROL,
+ &ett_mapi_AUX_PERF_PROCESSINFO,
+ &ett_mapi_AUX_OSVERSIONINFO,
+ &ett_mapi_EXORGINFO_OrgFlags,
+ &ett_mapi_AUX_EXORGINFO,
+ &ett_mapi_AuxDataVersion1,
+ &ett_mapi_AuxDataVersion2,
+ &ett_mapi_AUX_DATA,
+ &ett_mapi_AUX_HEADER,
+ &ett_mapi_RPC_HEADER_EXT_Flags,
+ &ett_mapi_RPC_HEADER_EXT,
+ &ett_mapi_AuxInfo,
+ &ett_mapi_AuxInfoOut,
+ &ett_mapi_RpcExt2Flags,
+ &ett_mapi_RopInput,
+ &ett_mapi_ROPInputBuffer,
+ &ett_mapi_RgbIn,
+ &ett_mapi_RopOutput,
+ &ett_mapi_ROPOutputBuffer,
+ &ett_mapi_RgbOut,
};
- proto_dcerpc_mapi = proto_register_protocol("Exchange 5.5 EMSMDB", "MAPI", "mapi");
+ proto_dcerpc_mapi = proto_register_protocol("MAPI", "MAPI", "mapi");
proto_register_field_array(proto_dcerpc_mapi, hf, array_length (hf));
proto_register_subtree_array(ett, array_length(ett));
}