oxcprpt.c File Reference

Property and Stream Object routines and Rops. More...

#include <stdlib.h>
#include <unistd.h>
#include "libmapi/libmapi.h"
#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_RopCommitStream (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_RopCopyTo (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_RopDeleteProperties (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_RopDeletePropertiesNoReplicate (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_RopGetNamesFromIDs (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_RopGetPropertiesAll (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_RopGetPropertiesList (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)
 
types h _PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertiesSpecific (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_RopGetPropertyIdsFromNames (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_RopGetStreamSize (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_RopOpenStream (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_RopReadStream (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_RopSeekStream (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_RopSetProperties (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_RopSetStreamSize (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_RopWriteStream (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

Property and Stream Object routines and Rops.

Function Documentation

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCommitStream ( 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 CommitStream (0x5d) Rop.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteProperties 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_STREAM, emsmdbp_object_stream_commit(), emsmdbp_context::handles_ctx, libmapiserver_RopCommitStream_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_object_stream::read_write, emsmdbp_objects::stream, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCopyTo ( 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 CopyTo (0x39) Rop. This operation copy messages from one folder to another.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteProperties 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_copy_properties(), emsmdbp_context::handles_ctx, libmapiserver_RopCopyTo_size(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles::private_data.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteProperties ( 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 DeleteProperties (0x0b) Rop. This operation deletes property values for an object.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteProperties 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 libmapiserver_RopDeleteProperties_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeletePropertiesNoReplicate ( 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 DeletePropertiesNoReplicate (0x7a) Rop. deletes property values from an object without invoking replication.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeletePropertiesNoReplicate EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeletePropertiesNoReplicate 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 libmapiserver_RopDeletePropertiesNoReplicate_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetNamesFromIDs ( 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 GetNamesFromIDs (0x56) Rop. This operation gets property IDs for specified property names.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetNamesFromIDs EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetNamesFromIDs 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 libmapiserver_RopGetNamesFromIDs_size(), and emsmdbp_context::mstore_ctx.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertiesAll ( 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 GetPropertiesAll (0x08) Rop. This operation gets all the property values for an object.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetPropertiesAll EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetPropertiesAll 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_get_available_properties(), emsmdbp_object_get_properties(), emsmdbp_context::handles_ctx, libmapiserver_RopGetPropertiesAll_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, and mapi_handles::private_data.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertiesList ( 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 GetPropertiesList (0x9) Rop. This operation retrieves the list of MAPI tags for an object.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SetProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SetProperties 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_get_available_properties(), emsmdbp_context::handles_ctx, libmapiserver_RopGetPropertiesList_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, and mapi_handles::private_data.

Referenced by EcDoRpc_process_transaction().

types h _PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertiesSpecific ( 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 GetPropertiesSpecific (0x07) Rop. This operation retrieves from properties data from specified object.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetPropertiesSpecific EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetPropertiesSpecific 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_fill_row_blob(), emsmdbp_getstr_type(), EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, emsmdbp_object_get_properties(), EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, emsmdbp_stream_data_from_value(), emsmdbp_context::handles_ctx, libmapiserver_RopGetPropertiesSpecific_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, mapi_handles::private_data, emsmdbp_object::stream_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPropertyIdsFromNames ( 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 GetPropertyIdsFromNames (0x56) Rop. This operation gets property IDs for specified property names.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetPropertyIdsFromNames EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetPropertyIdsFromNames 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 libmapiserver_RopGetPropertyIdsFromNames_size(), and emsmdbp_context::mstore_ctx.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetStreamSize ( 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 GetStreamSize (0x5e) Rop. This operation returns the number of bytes in a stream.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the WriteStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the WriteStream 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_STREAM, emsmdbp_context::handles_ctx, libmapiserver_RopGetStreamSize_size(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles::private_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenStream ( 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 OpenStream (0x2b) Rop. This operation opens a property for streaming access.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OpenStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the OpenStream 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_stream::buffer, emsmdbp_stream_data::data, EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, emsmdbp_object_get_properties(), emsmdbp_object_get_stream_data(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_object_stream_init(), emsmdbp_stream_data_from_value(), mapi_handles::handle, emsmdbp_context::handles_ctx, libmapiserver_RopOpenStream_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_objects::message, emsmdbp_object::object, emsmdbp_object::parent_object, emsmdbp_object_stream::property, emsmdbp_object_message::read_write, emsmdbp_object_stream::read_write, emsmdbp_object_stream::stream, emsmdbp_objects::stream, emsmdbp_object::stream_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopReadStream ( 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 ReadStream (0x2c) Rop. This operation reads bytes from a stream.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the ReadStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the ReadStream 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_STREAM, emsmdbp_stream_read_buffer(), emsmdbp_context::handles_ctx, libmapiserver_RopReadStream_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, mapi_handles::private_data, emsmdbp_object_stream::stream, emsmdbp_objects::stream, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSeekStream ( 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 SeekStream (0x2e) Rop. This operation positions the cursor in the stream.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the WriteStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the WriteStream 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_STREAM, emsmdbp_context::handles_ctx, libmapiserver_RopSeekStream_size(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles::private_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetProperties ( 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 SetProperties (0x0a) Rop. This operation sets property values for an object.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SetProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SetProperties 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_MESSAGE, emsmdbp_object_set_properties(), emsmdbp_context::handles_ctx, libmapiserver_RopSetProperties_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_objects::message, emsmdbp_object::object, mapi_handles::private_data, emsmdbp_object_message::read_write, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetStreamSize ( 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 SetStreamSize (0x2f) Rop. This operation copy messages from one folder to another.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteProperties EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteProperties 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_STREAM, emsmdbp_context::handles_ctx, libmapiserver_RopSetStreamSize_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, mapi_handles::private_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopWriteStream ( 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 WriteStream (0x2d) Rop. This operation writes bytes to a stream.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the WriteStream EcDoRpc_MAPI_REQ structure
mapi_replpointer to the WriteStream 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_STREAM, emsmdbp_stream_write_buffer(), emsmdbp_context::handles_ctx, libmapiserver_RopWriteStream_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, mapi_handles::private_data, emsmdbp_object_stream::read_write, emsmdbp_object_stream::stream, emsmdbp_objects::stream, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().


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/