oxcmsg.c File Reference

Message and Attachment object routines and Rops. More...

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_RopGetMessageStatus (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)
 
static void oxcmsg_fill_RecipientRow (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct RecipientRow *row, struct mapistore_message_recipient *recipient, struct SPropTagArray *properties)
 
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 enum MAPISTATUS oxcmsg_parse_ModifyRecipientRow (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct ModifyRecipientRow *recipient_row, uint16_t modify_recipients_prop_count, enum MAPITAGS *properties, struct mapistore_message_recipient *recipient)
 
static enum MAPISTATUS oxcmsg_resolve_partial_x500name (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint8_t prefix_size, const char *x500name, char **username_p)
 

Detailed Description

Message and Attachment object routines and Rops.

Function Documentation

◆ EcDoRpc_RopCreateAttach()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the CreateAttach EcDoRpc_MAPI_REQ structure
mapi_replpointer to the CreateAttach EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_object::emsmdbp_ctx, 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 dcesrv_EcDoRpc().

◆ EcDoRpc_RopCreateMessage()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the CreateMessage EcDoRpc_MAPI_REQ structure
mapi_replpointer to the CreateMessage EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

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_message_create(), emsmdbp_object_message::read_write, emsmdbp_context::szDisplayName, emsmdbp_context::szUserDN, and emsmdbp_context::username.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopGetAttachmentTable()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetAttachmentTable EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetAttachmentTable EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, 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 dcesrv_EcDoRpc().

◆ EcDoRpc_RopGetMessageStatus()

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetMessageStatus ( 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 GetMessageStatus (0x1c) Rop. This operation returns the status of a message in a folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetMessageStatus EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetMessageStatus EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Todo:
Replace Stub implementation with mapistore calls
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, emsmdbp_context::handles_ctx, libmapiserver_RopGetMessageStatus_size(), mapi_handles_get_private_data(), mapi_handles_search(), and emsmdbp_object::type.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopModifyRecipients()

_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).

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the ModifyRecipients EcDoRpc_MAPI_REQ structure
mapi_replpointer to the ModifyRecipients EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, 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, and oxcmsg_parse_ModifyRecipientRow().

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopOpenAttach()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OpenAttach EcDoRpc_MAPI_REQ structure
mapi_replpointer to the OpenAttach EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_object::emsmdbp_ctx, 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 dcesrv_EcDoRpc().

◆ EcDoRpc_RopOpenEmbeddedMessage()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OpenEmbeddedMessage EcDoRpc_MAPI_REQ structure
mapi_replpointer to the OpenEmbeddedMessage EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_object::emsmdbp_ctx, 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, oxcmsg_fill_OpenRecipientRow(), emsmdbp_object_message::read_write, and emsmdbp_object::type.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopOpenMessage()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OpenMessage EcDoRpc_MAPI_REQ structure
mapi_replpointer to the OpenMessage EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, 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(), and emsmdbp_object::type.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopReloadCachedInformation()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the ReloadCachedInformation EcDoRpc_MAPI_REQ structure
mapi_replpointer to the ReloadCachedInformation EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, 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(), and mapi_handles::private_data.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopRemoveAllRecipients()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the RemoveAllRecipients EcDoRpc_MAPI_REQ structure
mapi_replpointer to the RemoveAllRecipients EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, 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, and emsmdbp_object::object.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopSaveChangesAttachment()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SaveChangesAttachment EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SaveChangesAttachment EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, and libmapiserver_RopSaveChangesAttachment_size().

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopSaveChangesMessage()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SaveChangesMessage EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SaveChangesMessage EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::emsmdbp_ctx, 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, emsmdbp_context::oc_ctx, openchangedb_message_save(), and mapi_handles::private_data.

Referenced by dcesrv_EcDoRpc().

◆ EcDoRpc_RopSetMessageReadFlag()

_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.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SetMessageReadFlag EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SetMessageReadFlag EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_object::emsmdbp_ctx, 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 dcesrv_EcDoRpc().

◆ oxcmsg_fill_OpenRecipientRow()

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 
)
static

◆ oxcmsg_fill_RecipientRow()

static void oxcmsg_fill_RecipientRow ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct RecipientRow *  row,
struct mapistore_message_recipient *  recipient,
struct SPropTagArray *  properties 
)
static

◆ oxcmsg_fill_RecipientRow_data()

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

◆ oxcmsg_parse_ModifyRecipientRow()

static enum MAPISTATUS oxcmsg_parse_ModifyRecipientRow ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct ModifyRecipientRow *  recipient_row,
uint16_t  modify_recipients_prop_count,
enum MAPITAGS *  properties,
struct mapistore_message_recipient *  recipient 
)
static

◆ oxcmsg_resolve_partial_x500name()

static enum MAPISTATUS oxcmsg_resolve_partial_x500name ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
uint8_t  prefix_size,
const char *  x500name,
char **  username_p 
)
static

Resolve partial username in x500dn format to a sAMAccountName for corresponding user. If no such user, then just returns reconstructed x500dn (legaxyExchangeDN)

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
prefix_sizeamount of DN Prefix to use
x500namepartial (or full) x500dn to resolve
username_ppointe to buffer to store resolved user name
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

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/