Message and Attachment 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 | |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopCreateAttach (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_RopCreateMessage (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_RopGetAttachmentTable (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_RopModifyRecipients (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_RopOpenAttach (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_RopOpenEmbeddedMessage (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_RopOpenMessage (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_RopReloadCachedInformation (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_RopRemoveAllRecipients (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_RopSaveChangesAttachment (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_RopSaveChangesMessage (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_RopSetMessageReadFlag (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) |
static void | oxcmsg_fill_OpenRecipientRow (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct OpenRecipientRow *row, struct SPropTagArray *properties, struct mapistore_message_recipient *recipient, struct oxcmsg_prop_index *prop_index) |
static void | oxcmsg_fill_prop_index (struct oxcmsg_prop_index *prop_index, struct SPropTagArray *properties) |
static void | oxcmsg_fill_RecipientRow (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct RecipientRow *row, struct mapistore_message_recipient *recipient, struct oxcmsg_prop_index *prop_index) |
static void | oxcmsg_fill_RecipientRow_data (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct RecipientRow *row, struct SPropTagArray *properties, struct mapistore_message_recipient *recipient) |
static void | oxcmsg_parse_ModifyRecipientRow (TALLOC_CTX *mem_ctx, struct ModifyRecipientRow *recipient_row, uint16_t prop_count, enum MAPITAGS *properties, struct mapistore_message_recipient *recipient) |
Message and Attachment object routines and Rops.
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateAttach | ( | 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 CreateAttach (0x23) Rop. This operation open an attachment from the message handle.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the CreateAttach EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the CreateAttach EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_attachment_init(), EMSMDBP_OBJECT_MESSAGE, mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopCreateAttach_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_objects::message, emsmdbp_object_message::messageID, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_object_message::read_write, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateMessage | ( | 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 CreateMessage (0x06) Rop. This operation creates a message object in the mailbox.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the CreateMessage EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the CreateMessage EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_message_init(), emsmdbp_object_open_folder_by_fid(), emsmdbp_object_set_properties(), entryid_set_AB_EntryID(), mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopCreateMessage_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_objects::message, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_new_folderID(), openchangedb_message_create(), emsmdbp_object_message::read_write, emsmdbp_context::szDisplayName, and emsmdbp_context::szUserDN.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetAttachmentTable | ( | 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 GetAttachmentTable (0x21) Rop. This operation gets the attachment table of a message.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the GetAttachmentTable EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the GetAttachmentTable EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References EMSMDBP_OBJECT_MESSAGE, emsmdbp_object_message_open_attachment_table(), mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopGetAttachmentTable_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopModifyRecipients | ( | 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 ModifyRecipients (0x0e) Rop. This operation modifies an existing message to add recipients (TO, CC, BCC).
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the ModifyRecipients EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the ModifyRecipients EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopModifyRecipients_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, oxcmsg_parse_ModifyRecipientRow(), and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenAttach | ( | 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 OpenAttach (0x22) Rop. This operation open an attachment from the message handle.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the OpenAttach EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the OpenAttach EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_attachment_init(), EMSMDBP_OBJECT_MESSAGE, mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopOpenAttach_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_objects::message, emsmdbp_object_message::messageID, emsmdbp_context::mstore_ctx, emsmdbp_object::object, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenEmbeddedMessage | ( | 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 OpenEmbeddedMessage (0x46) Rop. This operation open an attachment from the message handle.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the OpenEmbeddedMessage EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the OpenEmbeddedMessage EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_ATTACHMENT, emsmdbp_object_message_init(), mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopOpenEmbeddedMessage_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_objects::message, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_new_folderID(), oxcmsg_fill_OpenRecipientRow(), oxcmsg_fill_prop_index(), emsmdbp_object_message::read_write, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenMessage | ( | 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 OpenMessage (0x03) Rop. This operation opens an existing message in a mailbox.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the OpenMessage EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the OpenMessage EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, emsmdbp_object_message_open(), mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopOpenMessage_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), oxcmsg_fill_OpenRecipientRow(), oxcmsg_fill_prop_index(), and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopReloadCachedInformation | ( | 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 ReloadCachedInformation (0x10) Rop. This operation gets message and recipient information from a message.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the ReloadCachedInformation EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the ReloadCachedInformation EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopReloadCachedInformation_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, oxcmsg_fill_OpenRecipientRow(), oxcmsg_fill_prop_index(), mapi_handles::private_data, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopRemoveAllRecipients | ( | 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 RemoveAllRecipients (0x0d) Rop. This operation removes all recipients from a message.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the RemoveAllRecipients EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the RemoveAllRecipients EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopRemoveAllRecipients_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSaveChangesAttachment | ( | 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 SaveChangesAttachment (0x25) Rop. This operation open an attachment from the message handle.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the SaveChangesAttachment EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the SaveChangesAttachment EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References libmapiserver_RopSaveChangesAttachment_size().
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSaveChangesMessage | ( | 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 SaveChangesMessage (0x0c) Rop. This operation operation commits the changes made to a message.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the SaveChangesMessage EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the SaveChangesMessage EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopSaveChangesMessage_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, openchangedb_message_save(), mapi_handles::private_data, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetMessageReadFlag | ( | 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 SetMessageReadFlag (0x11) Rop. This operation sets or clears the message read flag.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the SetMessageReadFlag EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the SetMessageReadFlag EcDoRpc_MAPI_REPL structure |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopSetMessageReadFlag_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, and emsmdbp_object::type.
Referenced by EcDoRpc_process_transaction().
|
static |
References oxcmsg_fill_RecipientRow(), and oxcmsg_fill_RecipientRow_data().
Referenced by EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopOpenMessage(), and EcDoRpc_RopReloadCachedInformation().
|
inlinestatic |
Referenced by EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopOpenMessage(), and EcDoRpc_RopReloadCachedInformation().
|
static |
References emsmdbp_context::samdb_ctx, and emsmdbp_context::username.
Referenced by oxcmsg_fill_OpenRecipientRow().
|
static |
References libmapiserver_push_property().
Referenced by oxcmsg_fill_OpenRecipientRow().
|
static |
Referenced by EcDoRpc_RopModifyRecipients().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |