MAPIClientLibraries 2.0 API Documentation

- Main Page
- Related Pages
- Data Structures
- Files
- Examples

- File List
- Globals

Macros | Functions
mapi_object.c File Reference

mapi_object_t support functions More...

`#include "libmapi/libmapi.h"`
`#include "libmapi/libmapi_private.h"`

## Macros
#define | INVALID_HANDLE_VALUE 0xffffffff
| keep intern to this file

## Functions
_PUBLIC_ enum MAPISTATUS | mapi_object_bookmark_debug (mapi_object_t *obj_table)
enum MAPISTATUS | mapi_object_bookmark_find (mapi_object_t *obj_table, uint32_t bkPosition, struct SBinary_short *bin)
_PUBLIC_ enum MAPISTATUS | mapi_object_bookmark_get_count (mapi_object_t *obj_table, uint32_t *count)
_PUBLIC_ enum MAPISTATUS | mapi_object_copy (mapi_object_t *dst, mapi_object_t *src)
_PUBLIC_ void | mapi_object_debug (mapi_object_t *obj)
mapi_handle_t | mapi_object_get_handle (mapi_object_t *obj)
_PUBLIC_ mapi_id_t | mapi_object_get_id (mapi_object_t *obj)
_PUBLIC_ enum MAPISTATUS | mapi_object_get_logon_id (mapi_object_t *obj, uint8_t *logon_id)
_PUBLIC_ struct mapi_session * | mapi_object_get_session (mapi_object_t *obj)
_PUBLIC_ enum MAPISTATUS | mapi_object_init (mapi_object_t *obj)
int | mapi_object_is_invalid (mapi_object_t *obj)
_PUBLIC_ void | mapi_object_release (mapi_object_t *obj)
void | mapi_object_set_handle (mapi_object_t *obj, mapi_handle_t handle)
void | mapi_object_set_id (mapi_object_t *obj, mapi_id_t id)
_PUBLIC_ void | mapi_object_set_logon_id (mapi_object_t *obj, uint8_t logon_id)
_PUBLIC_ void | mapi_object_set_logon_store (mapi_object_t *obj)
_PUBLIC_ void | mapi_object_set_session (mapi_object_t *obj, struct mapi_session *session)
void | mapi_object_table_init (TALLOC_CTX *mem_ctx, mapi_object_t *obj_table)

## Detailed Description

mapi_object_t support functions

## Function Documentation

_PUBLIC_ enum MAPISTATUS mapi_object_bookmark_debug | ( | mapi_object_t * | obj_table | ) |

Dump bookmarks associated to a MAPI object table

Parameters

  obj_table | pointer on the MAPI object table

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error.

enum MAPISTATUS mapi_object_bookmark_find | ( | mapi_object_t * | obj_table,
|  | uint32_t | bkPosition,
|  | struct SBinary_short * | bin
| ) |  |

Fetch a bookmark within a MAPI object table

Parameters

  obj_table | pointer on the MAPI object table
  bkPosition | the bookmark position to find
  bin | pointer on the Sbinary_short the function fills

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error.

Referenced by FindRow(), and SeekRowBookmark().

_PUBLIC_ enum MAPISTATUS mapi_object_bookmark_get_count | ( | mapi_object_t * | obj_table,
|  | uint32_t * | count
| ) |  |

Retrieve the number of bookmarks stored in a MAPI object table

Parameters

  obj_table | pointer to the MAPI object table
  count | pointer to the number of bookmarks to return

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error.

_PUBLIC_ enum MAPISTATUS mapi_object_copy | ( | mapi_object_t * | dst,
|  | mapi_object_t * | src
| ) |  |

Copy MAPI object

This function copies mapi_object data from source to destination.

Parameters

  dst | pointer on the destination MAPI object
  src | pointer on the source MAPI object

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI_E_NOT_INITIALIZED

_PUBLIC_ void mapi_object_debug | ( | mapi_object_t * | obj | ) |

Dump a MAPI object (for debugging)

Parameters

  obj | pointer on the MAPI object to dump out

mapi_handle_t mapi_object_get_handle | ( | mapi_object_t * | obj | ) |

Retrieve the handle associated to a MAPI object

Parameters

  obj | pointer on the MAPI object to retrieve the handle from

Returns
  a valid MAPI object handle on success, otherwise 0xFFFFFFFF.

Referenced by Abort(), AbortSubmit(), AddressTypes(), CloneStream(), CollapseRow(), CommitStream(), CopyFolder(), CopyProps(), CopyTo(), CopyToStream(), CreateAttach(), CreateBookmark(), CreateFolder(), CreateMessage(), DeleteAttach(), DeleteFolder(), DeleteMessage(), DeletePropertiesNoReplicate(), DeleteProps(), EmptyFolder(), ExpandRow(), FindRow(), FreeBookmark(), FXCopyFolder(), FXCopyMessages(), FXCopyProperties(), FXCopyTo(), FXDestConfigure(), FXGetBuffer(), FXPutBuffer(), GetAttachmentTable(), GetCollapseState(), GetContentsTable(), GetHierarchyTable(), GetIdFromLongTermId(), GetIDsFromNames(), GetLocalReplicaIds(), GetLongTermIdFromId(), GetMessageStatus(), GetNamesFromIDs(), GetOwningServers(), GetPermissionsTable(), GetPropList(), GetProps(), GetPropsAll(), GetReceiveFolder(), GetReceiveFolderTable(), GetRulesTable(), GetSearchCriteria(), GetStatus(), GetStoreState(), GetStreamSize(), GetTransportFolder(), GetValidAttach(), HardDeleteMessage(), HardDeleteMessagesAndSubfolders(), ICSSyncConfigure(), ICSSyncGetTransferState(), ICSSyncOpenCollector(), ICSSyncUploadStateBegin(), ICSSyncUploadStateContinue(), ICSSyncUploadStateEnd(), LockRegionStream(), mapi_object_is_invalid(), ModifyPermissions(), ModifyRecipients(), MoveCopyMessages(), MoveFolder(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolderByName(), OpenStream(), OptionsData(), PublicFolderIsGhosted(), QueryColumns(), QueryNamedProperties(), QueryPosition(), QueryRows(), ReadRecipients(), ReadStream(), Release(), ReloadCachedInformation(), RemoveAllRecipients(), Reset(), Restrict(), SaveChangesAttachment(), SaveChangesMessage(), SeekRow(), SeekRowApprox(), SeekRowBookmark(), SeekStream(), SetCollapseState(), SetColumns(), SetLocalReplicaMidsetDeleted(), SetMessageReadFlag(), SetMessageStatus(), SetPropertiesNoReplicate(), SetProps(), SetReadFlags(), SetReceiveFolder(), SetSearchCriteria(), SetSpooler(), SetStreamSize(), SetSyncNotificationGuid(), SortTable(), SpoolerLockMessage(), SubmitMessage(), Subscribe(), SyncOpenAdvisor(), TellVersion(), TransportNewMail(), TransportSend(), UnlockRegionStream(), WriteAndCommitStream(), and WriteStream().

_PUBLIC_ mapi_id_t mapi_object_get_id | ( | mapi_object_t * | obj | ) |

Retrieve an object ID for a given MAPI object

Parameters

  obj | pointer on the MAPI object to get the ID for

Returns
  the object ID, or 0xFFFFFFFFFFFFFFFF if the object does not exist

Referenced by AbortSubmit(), CopyFolder(), CreateMessage(), GetOwningServers(), mapi_id_array_add_obj(), mapi_id_array_del_obj(), MoveFolder(), PublicFolderIsGhosted(), SetReceiveFolder(), SpoolerLockMessage(), Subscribe(), and TransportNewMail().

_PUBLIC_ enum MAPISTATUS mapi_object_get_logon_id | ( | mapi_object_t * | obj,
|  | uint8_t * | logon_id
| ) |  |

Retrieve the logon id for a given MAPI object

Parameters

  obj | pointer to the object to retrieve the logon id from
  logon_id | pointer to a variable to store the logon id

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error.

Referenced by Abort(), AbortSubmit(), AddressTypes(), CloneStream(), CollapseRow(), CommitStream(), CopyFolder(), CopyProps(), CopyTo(), CopyToStream(), CreateAttach(), CreateBookmark(), CreateFolder(), CreateMessage(), DeleteAttach(), DeleteFolder(), DeleteMessage(), DeletePropertiesNoReplicate(), DeleteProps(), EmptyFolder(), ExpandRow(), FindRow(), FreeBookmark(), FXCopyFolder(), FXCopyMessages(), FXCopyProperties(), FXCopyTo(), FXDestConfigure(), FXGetBuffer(), FXPutBuffer(), GetAttachmentTable(), GetCollapseState(), GetContentsTable(), GetHierarchyTable(), GetIdFromLongTermId(), GetIDsFromNames(), GetLocalReplicaIds(), GetLongTermIdFromId(), GetMessageStatus(), GetNamesFromIDs(), GetOwningServers(), GetPermissionsTable(), GetPropList(), GetProps(), GetPropsAll(), GetReceiveFolder(), GetReceiveFolderTable(), GetRulesTable(), GetSearchCriteria(), GetStatus(), GetStoreState(), GetStreamSize(), GetTransportFolder(), GetValidAttach(), HardDeleteMessage(), HardDeleteMessagesAndSubfolders(), ICSSyncConfigure(), ICSSyncGetTransferState(), ICSSyncOpenCollector(), ICSSyncUploadStateBegin(), ICSSyncUploadStateContinue(), ICSSyncUploadStateEnd(), LockRegionStream(), ModifyPermissions(), ModifyRecipients(), MoveCopyMessages(), MoveFolder(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolderByName(), OpenStream(), OptionsData(), PublicFolderIsGhosted(), QueryColumns(), QueryNamedProperties(), QueryPosition(), QueryRows(), ReadRecipients(), ReadStream(), Release(), ReloadCachedInformation(), RemoveAllRecipients(), Reset(), Restrict(), SaveChangesAttachment(), SaveChangesMessage(), SeekRow(), SeekRowApprox(), SeekRowBookmark(), SeekStream(), SetCollapseState(), SetColumns(), SetLocalReplicaMidsetDeleted(), SetMessageReadFlag(), SetMessageStatus(), SetPropertiesNoReplicate(), SetProps(), SetReadFlags(), SetReceiveFolder(), SetSearchCriteria(), SetSpooler(), SetStreamSize(), SetSyncNotificationGuid(), SortTable(), SpoolerLockMessage(), SubmitMessage(), Subscribe(), SyncOpenAdvisor(), TellVersion(), TransportNewMail(), TransportSend(), UnlockRegionStream(), WriteAndCommitStream(), and WriteStream().

_PUBLIC_ struct mapi_session* mapi_object_get_session | ( | mapi_object_t * | obj | ) |
| read

Retrieve the session associated to the MAPI object

Parameters

  obj | the object to get the session for

Returns
  pointer on a MAPI session on success, otherwise NULL

Referenced by Abort(), AbortSubmit(), AddressTypes(), AddUserPermission(), CloneStream(), CollapseRow(), CommitStream(), CopyFolder(), CopyProps(), CopyTo(), CopyToStream(), CreateAttach(), CreateBookmark(), CreateFolder(), CreateMessage(), DeleteAttach(), DeleteFolder(), DeleteMessage(), DeletePropertiesNoReplicate(), DeleteProps(), EmptyFolder(), ExpandRow(), FindRow(), FreeBookmark(), FXCopyFolder(), FXCopyMessages(), FXCopyProperties(), FXCopyTo(), FXDestConfigure(), FXGetBuffer(), FXPutBuffer(), GetAttachmentTable(), GetBestBody(), GetCollapseState(), GetContentsTable(), GetFolderItemsCount(), GetHierarchyTable(), GetIdFromLongTermId(), GetIDsFromNames(), GetLocalReplicaIds(), GetLongTermIdFromId(), GetMessageStatus(), GetNamesFromIDs(), GetOwningServers(), GetPermissionsTable(), GetPropList(), GetProps(), GetPropsAll(), GetReceiveFolder(), GetReceiveFolderTable(), GetRulesTable(), GetSearchCriteria(), GetStatus(), GetStoreState(), GetStreamSize(), GetTransportFolder(), GetUserFreeBusyData(), GetValidAttach(), HardDeleteMessage(), HardDeleteMessagesAndSubfolders(), ICSSyncConfigure(), ICSSyncGetTransferState(), ICSSyncOpenCollector(), ICSSyncUploadStateBegin(), ICSSyncUploadStateContinue(), ICSSyncUploadStateEnd(), IsFreeBusyConflict(), LockRegionStream(), Logoff(), ModifyPermissions(), ModifyRecipients(), ModifyUserPermission(), MoveCopyMessages(), MoveFolder(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolderByName(), OpenStream(), OptionsData(), PublicFolderIsGhosted(), QueryColumns(), QueryNamedProperties(), QueryPosition(), QueryRows(), ReadRecipients(), ReadStream(), Release(), ReloadCachedInformation(), RemoveAllRecipients(), RemoveUserPermission(), Reset(), Restrict(), SaveChangesAttachment(), SaveChangesMessage(), SeekRow(), SeekRowApprox(), SeekRowBookmark(), SeekStream(), SetCollapseState(), SetColumns(), SetLocalReplicaMidsetDeleted(), SetMessageReadFlag(), SetMessageStatus(), SetPropertiesNoReplicate(), SetProps(), SetReadFlags(), SetReceiveFolder(), SetSearchCriteria(), SetSpooler(), SetStreamSize(), SetSyncNotificationGuid(), SortTable(), SpoolerLockMessage(), SubmitMessage(), Subscribe(), SyncOpenAdvisor(), TellVersion(), TransportNewMail(), TransportSend(), UnlockRegionStream(), WrapCompressedRTFStream(), WriteAndCommitStream(), and WriteStream().

_PUBLIC_ enum MAPISTATUS mapi_object_init | ( | mapi_object_t * | obj | ) |

Initialize MAPI object

This function is required to be called before any manipulation of this MAPI object.

Parameters

  obj | the object to initialize

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error.

Note
  Developers may also call GetLastError() to retrieve the last MAPI error code. Possible MAPI error codes are:
  - MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized.

See Also
  mapi_object_release

Examples:
  fetchappointment.c, and fetchmail.c.

Referenced by CreateFolder(), GetUserFreeBusyData(), ModifyUserPermission(), RemoveUserPermission(), and Subscribe().

int mapi_object_is_invalid | ( | mapi_object_t * | obj | ) |

Check if the supplied object has a valid handle

Parameters

  obj | pointer on the MAPI object to test

Returns
  0 on success, otherwise 1

References INVALID_HANDLE_VALUE, and mapi_object_get_handle().

_PUBLIC_ void mapi_object_release | ( | mapi_object_t * | obj | ) |

Release MAPI object

This function is required to be called when this MAPI object is no longer required.

Parameters

  obj | pointer on the MAPI object to release

See Also
  mapi_object_initialize, Release

Examples:
  fetchappointment.c, and fetchmail.c.

References INVALID_HANDLE_VALUE, and Release().

Referenced by GetUserFreeBusyData(), Logoff(), ModifyUserPermission(), and RemoveUserPermission().

void mapi_object_set_handle | ( | mapi_object_t * | obj,
|  | mapi_handle_t | handle
| ) |  |

Associate a handle to a MAPI object

Parameters

  obj | pointer on the MAPI object on which handle has to be set
  handle | the MAPI handle value

Referenced by CloneStream(), CreateAttach(), CreateFolder(), CreateMessage(), FXCopyFolder(), FXCopyMessages(), FXCopyProperties(), FXCopyTo(), FXDestConfigure(), GetAttachmentTable(), GetContentsTable(), GetHierarchyTable(), GetPermissionsTable(), GetRulesTable(), ICSSyncConfigure(), ICSSyncGetTransferState(), ICSSyncOpenCollector(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolder(), OpenPublicFolderByName(), OpenStream(), OpenUserMailbox(), Subscribe(), and SyncOpenAdvisor().

void mapi_object_set_id | ( | mapi_object_t * | obj,
|  | mapi_id_t | id
| ) |  |

Set the id for a given MAPI object

Parameters

  obj | pointer on the MAPI object to set the session for
  id | Identifier to set to the object obj

Referenced by CreateFolder(), OpenFolder(), and SaveChangesMessage().

_PUBLIC_ void mapi_object_set_logon_id | ( | mapi_object_t * | obj,
|  | uint8_t | logon_id
| ) |  |

Set the logon id for a given MAPI object

Parameters

  obj | pointer to the object to set the logon id for
  logon_id | the logon identifier to associate to the MAPI object

Referenced by CloneStream(), CreateAttach(), CreateFolder(), CreateMessage(), FXCopyFolder(), FXCopyMessages(), FXCopyProperties(), FXCopyTo(), FXDestConfigure(), GetAttachmentTable(), GetContentsTable(), GetHierarchyTable(), GetPermissionsTable(), GetRulesTable(), ICSSyncConfigure(), ICSSyncGetTransferState(), ICSSyncOpenCollector(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolder(), OpenPublicFolderByName(), OpenStream(), OpenUserMailbox(), and SyncOpenAdvisor().

_PUBLIC_ void mapi_object_set_logon_store | ( | mapi_object_t * | obj | ) |

Mark a MAPI object as a store object

Parameters

  obj | pointer to the object to set the store boolean for

Referenced by OpenPublicFolder(), and OpenUserMailbox().

_PUBLIC_ void mapi_object_set_session | ( | mapi_object_t * | obj,
|  | struct mapi_session * | session
| ) |  |

Set the session for a given MAPI object

Parameters

  obj | pointer on the object to set the session for
  session | pointer on the MAPI session to associate to the MAPI object

Referenced by CloneStream(), CreateAttach(), CreateFolder(), CreateMessage(), FXCopyFolder(), FXCopyMessages(), FXCopyProperties(), FXCopyTo(), FXDestConfigure(), GetAttachmentTable(), GetContentsTable(), GetHierarchyTable(), GetPermissionsTable(), GetRulesTable(), ICSSyncConfigure(), ICSSyncGetTransferState(), ICSSyncOpenCollector(), OpenAttach(), OpenEmbeddedMessage(), OpenFolder(), OpenMessage(), OpenPublicFolder(), OpenPublicFolderByName(), OpenStream(), OpenUserMailbox(), Subscribe(), and SyncOpenAdvisor().

void mapi_object_table_init | ( | TALLOC_CTX * | mem_ctx,
|  | mapi_object_t * | obj_table
| ) |  |

Initialize MAPI object private data to store a MAPI object table

Parameters

  mem_ctx | pointer on the memory context
  obj_table | pointer on the MAPI object

Referenced by GetContentsTable(), GetHierarchyTable(), GetPermissionsTable(), and GetRulesTable().

| This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/