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 . Чтобы сохранить допустимость указателей при записи такого массива в и считывании его с диска, выполните следующие операции:
Перед записью массива и данных на диск вызовите ScRelocProps в массиве с параметром pvBaseNew, указывающим , например, на некоторое стандартное значение нулевым.
После чтения массива и данных с диска вызовите ScRelocProps в массиве с параметром pvBaseOld , равным тому же стандартному значению, которое использовалось на шаге 1. Массив и данные должны считываться в буфер, созданный с одним выделением.
Параметр pcb для ScRelocProps является необязательным.