MAPIClientLibraries 2.0 API Documentation

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

- File List
- Globals

Functions
IMSProvider.c File Reference

Provider operations. More...

`#include "libmapi/libmapi.h"`

## Functions
enum MAPISTATUS | GetNewLogonId (struct mapi_session *session, uint8_t *logon_id)
_PUBLIC_ enum MAPISTATUS | Logoff (mapi_object_t *obj_store)
_PUBLIC_ enum MAPISTATUS | RegisterAsyncNotification (struct mapi_session *session, uint32_t *resultFlag)
_PUBLIC_ enum MAPISTATUS | RegisterNotification (struct mapi_session *session)
_PUBLIC_ enum MAPISTATUS | RfrGetFQDNFromLegacyDN (struct mapi_context *mapi_ctx, struct mapi_session *session, const char **serverFQDN)
_PUBLIC_ enum MAPISTATUS | RfrGetNewDSA (struct mapi_context *mapi_ctx, struct mapi_session *session, const char *server, const char *userDN, char **dsa)

## Detailed Description

Provider operations.

## Function Documentation

enum MAPISTATUS GetNewLogonId | ( | struct mapi_session * | session,
|  | uint8_t * | logon_id
| ) |  |

Retrieve a free logon identifier within the session

Parameters

  session | pointer to the MAPI session context
  logon_id | pointer to the logon identifier the function returns

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI eorr

Referenced by OpenPublicFolder(), and OpenUserMailbox().

_PUBLIC_ enum MAPISTATUS Logoff | ( | mapi_object_t * | obj_store | ) |

Logoff an Exchange store

This function uninitializes the MAPI session associated to the object.

Parameters

  obj_store | pointer to the store object

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI_E_NOT_FOUND

Examples:
  fetchappointment.c, and fetchmail.c.

References mapi_object_get_session(), mapi_object_release(), and MAPIFreeBuffer().

_PUBLIC_ enum MAPISTATUS RegisterAsyncNotification | ( | struct mapi_session * | session,
|  | uint32_t * | resultFlag
| ) |  |

Create an asynchronous notification

This function initializes the notification subsystem and configures the server to send notifications. Note that this call will block.

Parameters

  session | the session context to register for notifications on.
  resultFlag | the result of the operation (true if there was anything returned)

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
  RegisterNotification

References emsmdb_async_waitex().

_PUBLIC_ enum MAPISTATUS RegisterNotification | ( | struct mapi_session * | session | ) |

Initialize the notification subsystem

This function initializes the notification subsystem, binds a local UDP port to receive Exchange (server side) notifications and configures the server to send notifications on this port.

Parameters

  session | the session context to register for notifications on.

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
  RegisterAsyncNotification, Subscribe, Unsubscribe, MonitorNotification, GetLastError

References emsmdb_bind_notification(), and emsmdb_register_notification().

_PUBLIC_ enum MAPISTATUS RfrGetFQDNFromLegacyDN | ( | struct mapi_context * | mapi_ctx,
|  | struct mapi_session * | session,
|  | const char ** | serverFQDN
| ) |  |

Returns the FQDN of the NSPI server corresponding to a DN

Parameters

  mapi_ctx | pointer to the MAPI context
  session | pointer to the MAPI session context
  serverFQDN | pointer to the server FQDN string (return value)

Returns
  MAPI_E_SUCCESS on success, otherwise a MAPI error and serverFQDN content set to NULL.

_PUBLIC_ enum MAPISTATUS RfrGetNewDSA | ( | struct mapi_context * | mapi_ctx,
|  | struct mapi_session * | session,
|  | const char * | server,
|  | const char * | userDN,
|  | char ** | dsa
| ) |  |

Returns the name of an NSPI server

Parameters

  mapi_ctx | pointer to the MAPI context
  session | pointer to the MAPI session context
  server | the Exchange server address (IP or FQDN)
  userDN | optional user mailbox DN
  dsa | pointer to a new dsa (return value), containing a valid allocated string on success, otherwise NULL

Returns
  MAPI_E_SUCCESS on success, otherwise a MAPI error and serverFQDN content set to NULL.

Note
  The string returned can either be RfrGetNewDSA one on success, or a copy of the server's argument one on failure. If no server string is provided, NULL is returned.

It is up to the developer to free the returned string when not needed anymore.

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