Приложения
Приложение А. Функции, константы и структуры 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 руководства программиста.
См. также