ScRelocProps

适用于:Outlook 2013 | Outlook 2016

在将数组及其数据复制或移动到新位置后,调整 SPropValue 数组中的指针。

属性
标头文件:
Mapidefs.h
实现者:
MAPI
调用者:
客户端应用程序和服务提供商
SCODE ScRelocProps(
  int cprop,
  LPSPropValue rgprop,
  LPVOID pvBaseOld,
  LPVOID pvBaseNew,
  ULONG FAR * pcb
);

参数

cprop

[in] rgprop 参数指向的数组中的属性计数。

rgprop

[in]指向要为其调整指针的 SPropValue 结构数组的指针。

pvBaseOld

[in]指向 rgprop 参数指向的数组的原始基址的指针。

pvBaseNew

[in]指向 rgprop 参数指向的数组的新基址的指针。

Pcb

[in,out]指向 pvBaseNew 参数指示的数组的大小(以字节为单位)的可选指针。 如果不是 NULL, 则将参数 设置为 pvD 参数中存储的字节数。

返回值

S_OK

已成功调整指针。

MAPI_E_INVALID_PARAMETER

一个或两个参数无效,或者遇到未知属性类型。

备注

ScRelocProps 函数操作的假设是,调整指针的属性值数组最初是在单个调用中分配的,类似于对 ScCopyProps 函数的调用。 如果客户端应用程序或服务提供程序使用从不连续的内存块生成的属性值,则应改用 ScCopyProps 来复制属性。

ScRelocProps 用于维护 SPropValue 数组中指针的有效性。 若要在将此类数组写入磁盘并从磁盘中读取数组时保持指针的有效性,请执行以下操作:

  1. 在将数组和数据写入磁盘之前,请在数组上调用 ScRelocProps ,其中 pvBaseNew 参数指向某个标准值零,例如。

  2. 从磁盘读取数组和数据后,对数组调用 ScRelocProps ,其 pvBaseOld 参数等于步骤 1 中使用的相同标准值。 数组和数据必须读入使用单个分配创建的缓冲区。

  3. ScRelocProps印刷机参数是可选的。

另请参阅

MAPIAllocateBuffer

ScCountProps

ScDupPropset

ScRelocNotifications