Поделиться через


ScRelocProps

Область применения: Outlook 2013 | Outlook 2016

Настраивает указатели в массиве SPropValue после копирования или перемещения массива и его данных в новое расположение.

Свойство Значение
Файл заголовка:
Mapidefs.h
Реализовано в:
MAPI
Вызывающая сторона:
Клиентские приложения и поставщики услуг
SCODE ScRelocProps(
  int cprop,
  LPSPropValue rgprop,
  LPVOID pvBaseOld,
  LPVOID pvBaseNew,
  ULONG FAR * pcb
);

Параметры

cprop

[в] Количество свойств в массиве, на который указывает параметр rgprop .

rgprop

[в] Указатель на массив структур SPropValue , для которых необходимо настроить указатели.

pvBaseOld

[в] Указатель на исходный базовый адрес массива, на который указывает параметр rgprop .

pvBaseNew

[в] Указатель на новый базовый адрес массива, на который указывает параметр rgprop .

Pcb

[вход, выход] Необязательный указатель на размер (в байтах) массива, указанного параметром pvBaseNew . Если значение не равно NULL, для параметра pcb задается количество байтов, хранящихся в параметре pvD .

Возвращаемое значение

S_OK

Указатели были успешно скорректированы.

MAPI_E_INVALID_PARAMETER

Один или оба параметра были недопустимыми или обнаружен неизвестный тип свойства.

Замечания

Функция ScRelocProps исходит из предположения, что массив значений свойств, для которого корректируются указатели, изначально был выделен в одном вызове, аналогичном вызову функции ScCopyProps . Если клиентское приложение или поставщик услуг работает со значением свойства, созданным из несвязанных блоков памяти, для копирования свойств следует использовать ScCopyProps .

ScRelocProps используется для поддержания допустимости указателей в массиве SPropValue . Чтобы сохранить допустимость указателей при записи такого массива в и считывании его с диска, выполните следующие операции:

  1. Перед записью массива и данных на диск вызовите ScRelocProps в массиве с параметром pvBaseNew, указывающим , например, на некоторое стандартное значение нулевым.

  2. После чтения массива и данных с диска вызовите ScRelocProps в массиве с параметром pvBaseOld , равным тому же стандартному значению, которое использовалось на шаге 1. Массив и данные должны считываться в буфер, созданный с одним выделением.

  3. Параметр pcb для ScRelocProps является необязательным.

См. также

MAPIAllocateBuffer

ScCountProps

ScDupPropset

ScRelocNotifications