Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.14. Общие функции работы с переменными блока

А.5.14.5. rdsCopyVarGeneral – копировать значение переменной в другую переменную

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.14. Общие функции работы с переменными блока

##### А.5.14.5. rdsCopyVarGeneral – копировать значение переменной в другую переменную

Функция rdsCopyVarGeneral копирует значение одной переменной в другую.

      BOOL RDSCALL rdsCopyVarGeneral(
        RDS_VHANDLE DestVar,  // Переменная-получатель
        LPVOID DestBaseAddr,  // Базовый адрес получателя
        RDS_VHANDLE SrcVar,   // Переменная-источник
        LPVOID SrcBaseAddr    // Базовый адрес источника
      );

Тип указателя на эту функцию

RDS_BVhpVVhpV

Параметры

DestVar(RDS_VHANDLE)
  Идентификатор переменной-получателя данных.
DestBaseAddr(LPVOID)
  Базовый адрес переменной-получателя данных в дереве, то есть указатель на начало области, которую эта переменная занимает в дереве переменных блока (см. §2.5.1 руководства программиста).
SrcVar(RDS_VHANDLE)
  Идентификатор переменной-источника данных.
SrcBaseAddr(LPVOID)
  Базовый адрес переменной-источника данных в дереве переменных блока.

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

TRUE – значение переменной скопировано успешно, FALSE – произошла ошибка (недопустимые параметры функции).

Примечания

Эта функция позволяет скопировать значение одной переменной в другую, если для каждой из переменных известен уникальный идентификатор типа RDS_VHANDLE и базовый адрес этой переменной. Идентификатор статической переменной блока можно получить вызовом rdsGetBlockVar или rdsFindBlockVar, идентификатор динамической хранится в структуре RDS_DYNVARLINK, создаваемой RDS при подписке на эту динамическую переменную.

Чаще всего модели блоков работают с переменными непосредственно по адресам, и в использовании функции rdsCopyVarGeneral нет необходимости. Она может пригодиться в тех случаях, когда блок имеет изменяемую структуру переменных (например, настраиваемую пользователем) и при этом выполняет над своими переменными однотипные действия (например, копирует значение входа на один из выходов в зависимости от какого-либо условия).

См. также

rdsCopyVarArray, rdsCopyRuntimeType, rdsGetBlockVar, rdsFindBlockVar, RDS_DYNVARLINK, rdsSubscribeToDynamicVar, rdsCreateAndSubscribeDV, rdsGetBlockVarBase.