libmapi/IUnknown.c File Reference

Various miscellaneous (ungrouped) functions. More...

#include <libmapi/libmapi.h>

Functions

_PUBLIC_ enum MAPISTATUS GetIdFromLongTermId (mapi_object_t *obj, struct LongTermId long_term_id, mapi_id_t *id)
_PUBLIC_ enum MAPISTATUS GetLastError (void)
_PUBLIC_ enum MAPISTATUS GetLongTermIdFromId (mapi_object_t *obj, mapi_id_t id, struct LongTermId *long_term_id)
_PUBLIC_ enum MAPISTATUS MAPIAllocateBuffer (uint32_t size, void **ptr)
_PUBLIC_ enum MAPISTATUS MAPIFreeBuffer (void *ptr)
_PUBLIC_ enum MAPISTATUS Release (mapi_object_t *obj)

Detailed Description

Various miscellaneous (ungrouped) functions.


Function Documentation

_PUBLIC_ enum MAPISTATUS GetIdFromLongTermId ( mapi_object_t *  obj,
struct LongTermId  long_term_id,
mapi_id_t *  id 
)

Convert an Long Term Id into an Id

The function looks up the Id for a specified Long Term Id value.

Parameters:
obj the object to look up on
long_term_id the id to look up
id the id returned by the server
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
  • MAPI_E_INVALID_PARAMETER: obj is null
  • MAPI_E_CALL_FAILED: A network problem was encountered during the transaction
See also:
GetLongTermIdFromId

References emsmdb_transaction(), mapi_object_get_handle(), mapi_object_get_logon_id(), and mapi_object_get_session().

_PUBLIC_ enum MAPISTATUS GetLastError ( void   ) 

Returns the latest error code.

This function returns the error code set by a previous function call.

Note:
Calls to the function won't work in multi-threaded or multisession code.
Examples:
mapi_sample1.c.

Referenced by mapi_nameid_GetIDsFromNames(), OpenMsgStore(), Unsubscribe(), and WrapCompressedRTFStream().

_PUBLIC_ enum MAPISTATUS GetLongTermIdFromId ( mapi_object_t *  obj,
mapi_id_t  id,
struct LongTermId *  long_term_id 
)

Convert an ID to a Long Term Id

The function looks up the Long Term Id for a specified ID value.

Parameters:
obj the object to look up on
id the id to look up
long_term_id the long term ID returned from the server
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
  • MAPI_E_INVALID_PARAMETER: obj is null
  • MAPI_E_CALL_FAILED: A network problem was encountered during the transaction
See also:
GetIdFromLongTermId

References emsmdb_transaction(), mapi_object_get_handle(), mapi_object_get_logon_id(), and mapi_object_get_session().

_PUBLIC_ enum MAPISTATUS MAPIAllocateBuffer ( uint32_t  size,
void **  ptr 
)

Allocate memory using the MAPI memory context

Parameters:
size the number of bytes to allocate
ptr pointer to the allocated byte region
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
  • MAPI_E_SESSION_LIMIT: No session has been opened on the provider
  • MAPI_E_NOT_ENOUGH_RESOURCES: MAPI subsystem failed to allocate the necessary resources to operate properly
  • MAPI_E_INVALID_PARAMER: size is not set properly.
See also:
MAPIFreeBuffer, GetLastError
_PUBLIC_ enum MAPISTATUS MAPIFreeBuffer ( void *  ptr  ) 

Free allocated memory

This function frees memory previously allocated with MAPIAllocateBuffer.

Parameters:
ptr memory region to free
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_INVALID_PARAMER: ptr is not set properly.
See also:
MAPIAllocateBuffer, GetLastError
Examples:
fetchappointment.c, and fetchmail.c.

Referenced by AddUserPermission(), FreeBookmark(), GetABRecipientInfo(), GetBestBody(), GetFolderItemsCount(), GetProps(), GetUserFreeBusyData(), ModifyUserPermission(), ProcessNetworkProfile(), RemoveUserPermission(), and SetProps().

_PUBLIC_ enum MAPISTATUS Release ( mapi_object_t *  obj  ) 

Release an object on the server

The function releases the object obj on the server.

Parameters:
obj the object to release
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
  • MAPI_E_CALL_FAILED: A network problem was encountered during the transaction
See also:
GetLastError

References emsmdb_transaction(), mapi_object_get_handle(), mapi_object_get_logon_id(), and mapi_object_get_session().

Referenced by mapi_object_release(), and Unsubscribe().


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