ScRelocProps  (MAPI32.172)


 SCODE ScRelocProps
  int          cValues,
  LPSPropValue lpProps,
  LPVOID       lpOld,
  LPVOID       lpNew,
  ULONG*       lpCount


Relocate the pointers in an array of property values after it has been copied.


cValues [In] Number of properties in lpProps.
lpProps [Out] Property array to relocate the pointers in.
lpOld [In] Position where the data was copied from.
lpNew [In] Position where the data was copied to.
lpCount [Out] If non-NULL, destination for the number of bytes of data at lpDst.


Success: S_OK. Any pointers in lpProps are relocated.

Failure: MAPI_E_INVALID_PARAMETER, if any parameter is invalid.


MSDN states that this function can be used for serialisation by passing NULL as either lpOld or lpNew, thus converting any pointers in lpProps between offsets and pointers. This does not work in native (it crashes), and cannot be made to work in Wine because the original interface design is deficient. The only use left for this function is to remap pointers in a contiguous property array that has been copied with memcpy to another memory location.


Declared in "mapiutil.h".

Implemented in "dlls/mapi32/prop.c".

Debug channel "mapi".

Copyright © 2021 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Jun 2021.