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

Описания RDS

Приложения

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

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

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

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

# Приложения

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

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

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

Описываются функции, позволяющие работать со значениями и параметрами переменных блока. Специализированные функции для работы с матрицами и массивами описаны в приложении А.5.15, функции работы с динамическими переменными – в приложении А.5.16.

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

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

      BOOL RDSCALL rdsBlockVarFromMem(
        RDS_BHANDLE Block,    // Идентификатор блока
        int VarNum,           // Номер переменной или -1
        LPVOID Buffer,        // Указатель на начало данных
        int Size              // Размер данных
      );

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

RDS_BBhIpVI

Параметры

Block(RDS_BHANDLE)
  Идентификатор блока, значение переменной которого нужно загрузить из области памяти Buffer. Если в этом параметре передано значение NULL, функция будет работать с блоком, из модели которого она вызвана.
VarNum(int)
  Порядковый номер переменной (начиная с нуля), значение которой нужно загрузить из памяти, или −1, если из памяти нужно загрузить значения всех переменных блока.
Buffer(LPVOID)
  Указатель на начало области памяти, в которой находится значение переменной.
Size(int)
  Размер области памяти Buffer в байтах.

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

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

Примечания

Эта функция, вместе с rdsBlockVarToMem, позволяет сохранять значение переменной блока в последовательную область памяти и восстанавливать его оттуда. Такую область памяти можно скопировать, сохранить на диск или передать по сети с тем, чтобы позже (или в другой схеме) считать эту область и восстановить из нее значение переменной. Тип переменной с номером VarNum, в которую считывается значение из области Buffer длиной в Size байтов, должен в точности совпадать с типом переменной, значение которой было записано в эту область функцией rdsBlockVarToMem. Если восстанавливается вся структура переменных блока (в VarNum передано −1), вся структура должна соответствовать структуре, записанной в области Buffer.

Пример

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

См. также

rdsBlockVarToMem.