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

Описания RDS

Приложения

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

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

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

А.5.14.2. rdsBlockVarToMem – записать значение переменной блока в буфер в памяти

# Приложения

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

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

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

##### А.5.14.2. rdsBlockVarToMem – записать значение переменной блока в буфер в памяти

Функция rdsBlockVarToMem записывает значение какой-либо статической переменной указанного блока или всей его структуры переменных в динамически отводимую область памяти. Это значение может быть загружено обратно в переменную вызовом rdsBlockVarFromMem.

      LPVOID RDSCALL rdsBlockVarToMem(
        RDS_BHANDLE Block,    // Идентификатор блока
        int VarNum,           // Номер переменной или -1
        BOOL Check,           // Записать данные типа переменной
        int *pSize            // Возвращаемый размер данных
      );

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

RDS_pVBhIBpI

Параметры

Block(RDS_BHANDLE)
  Идентификатор блока, значение переменной которого нужно записать. Если в этом параметре передано значение NULL, функция будет работать с блоком, из модели которого она вызвана.
VarNum(int)
  Порядковый номер переменной (начиная с нуля), значение которой нужно записать, или −1, если нужно записать значения всех переменных блока.
Check(BOOL)
  TRUE – записывать вместе со значением переменной информацию о ее типе для проверки при загрузке функцией rdsBlockVarFromMem. FALSE – не записывать информацию о типе (данные займут меньше места, но надежность программы снизится).
pSize(int*)
  Указатель на целую переменную, в которую функция запишет размер (в байтах) динамически отведенной области памяти.

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

Указатель на динамически отведенную область памяти, содержащую записанное значение переменной (или переменных, если в VarNum передано −1).

Примечания

Эта функция, вместе с rdsBlockVarFromMem, позволяет сохранять значение переменной блока в память и восстанавливать его оттуда. Такую область памяти можно скопировать, сохранить на диск или передать по сети с тем, чтобы позже (или в другой схеме) считать эту область и восстановить из нее значение переменной. Динамическая область памяти, созданная этой функцией, должна быть обязательно освобождена вызовом rdsFree.

Пример

Пример использования функции rdsBlockVarToMem приведен в §2.16.1 руководства программиста.

См. также

rdsBlockVarFromMem, rdsFree.