MAPIProxy 2.0 API Documentation

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

Functions
oxcfold.c File Reference

Folder object routines and Rops. More...

`#include "mapiproxy/dcesrv_mapiproxy.h"`
`#include "mapiproxy/libmapiproxy/libmapiproxy.h"`
`#include "mapiproxy/libmapiserver/libmapiserver.h"`
`#include "dcesrv_exchange_emsmdb.h"`

## Functions
enum MAPISTATUS | EcDoRpc_RopCopyFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopCreateFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopDeleteFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopDeleteMessages (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopEmptyFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopGetContentsTable (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopGetHierarchyTable (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopGetSearchCriteria (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
enum MAPISTATUS | EcDoRpc_RopMoveFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopOpenFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopSetSearchCriteria (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)

## Detailed Description

Folder object routines and Rops.

## Function Documentation

enum MAPISTATUS EcDoRpc_RopCopyFolder | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_get_contextID(), emsmdbp_is_mapistore(), libmapiserver_RopCopyFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateFolder | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc CreateFolder (0x1c) Rop. This operation creates a folder on the remote server.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the CreateFolder EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the CreateFolder EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

Note
  We do not provide support for GhostInfo

References emsmdbp_object_open_folder_by_fid(), libmapiserver_ROP_request_to_properties(), libmapiserver_RopCreateFolder_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), openchangedb_get_new_changeNumber(), and openchangedb_get_new_folderID().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteFolder | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc DeleteFolder (0x1d) Rop. This operation deletes a folder on the remote server.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the DeleteFolder EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the DeleteFolder EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopDeleteFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteMessages | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc DeleteMessage (0x1e) Rop. This operation (soft) deletes a message on the server.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the DeleteMessage EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the DeleteMessage EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), libmapiserver_RopDeleteMessage_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopEmptyFolder | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), libmapiserver_RopEmptyFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetContentsTable | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc GetContentsTable (0x05) Rop. This operation get the content table of a container.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the GetContentsTable EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the GetContentsTable EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetContentsTable_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetHierarchyTable | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc GetHierarchyTable (0x04) Rop. This operation gets the subfolder hierarchy table for a folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the GetHierarchyTable EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the GetHierarchyTable EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetHierarchyTable_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetSearchCriteria | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc GetSearchCriteria (0x31) Rop. This operation gets the search criteria for a search folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the GetSearchCriteria EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the GetSearchCriteria EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetSearchCriteria_size().

enum MAPISTATUS EcDoRpc_RopMoveFolder | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopMoveFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenFolder | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc OpenFolder (0x02) Rop. This operation opens an existing folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the OpenFolder EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the OpenFolder EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object_open_folder_by_fid(), libmapiserver_RopOpenFolder_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetSearchCriteria | ( | TALLOC_CTX * | mem_ctx,
|  | struct emsmdbp_context * | emsmdbp_ctx,
|  | struct EcDoRpc_MAPI_REQ * | mapi_req,
|  | struct EcDoRpc_MAPI_REPL * | mapi_repl,
|  | uint32_t * | handles,
|  | uint16_t * | size
| ) |  |

EcDoRpc SetSearchCriteria (0x30) Rop. This operation sets the search criteria for a search folder.

Parameters

  mem_ctx | pointer to the memory context
  emsmdbp_ctx | pointer to the emsmdb provider context
  mapi_req | pointer to the SetSearchCriteria EcDoRpc_MAPI_REQ structure
  mapi_repl | pointer to the SetSearchCriteria EcDoRpc_MAPI_REPL structure
  handles | pointer to the MAPI handles array
  size | pointer to the mapi_response size to update

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopSetSearchCriteria_size().

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