Навигация:
<< >> Оглавление Указатель

Приложения

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

А.4. Структуры RDS

А.4.14. RDS_POINTDESCRIPTION – описание точки связи или шины

Структура RDS_POINTDESCRIPTION используется для получения описания отдельной точки внутри связи или шины. Эта структура заполняется сервисной функцией rdsGetPointDescription и некоторыми другими функциями. Примеры ее использования приведены в §2.7.4, §2.13.2 и §2.13.4 руководства программиста.

Структура используется только для получения описания точки, изменить параметры этой точки с ее помощью нельзя. Для изменения параметров существующих связей или шин и создания новых используется вспомогательный объект, создаваемый функцией rdsCECreateEditor.

  typedef struct {
     servSize;     // Размер этой структуры в байтах
     PointType; // Тип точки (RDS_PT*)
     Source;        // TRUE - источник данных, FALSE - получатель
     Status;    // Состояние (RDS_PS*)
     ObjectName;   // Имя соединенного блока или шины
     VarName;      // Имя соединенной переменной
     Block;  // Соединенный блок или NULL
     Bus;    // Соединенная шина или NULL
     Owner;  // Связь-владелец точки
     x,y;       // Координаты точки
     PointNum;  // Номер этой точки внутри связи или шины
  } RDS_POINTDESCRIPTION;
  typedef RDS_POINTDESCRIPTION *RDS_PPOINTDESCRIPTION;

Поля структуры

servSize (DWORD)
Размер этой структуры в байтах. Перед вызовом любой сервисной функции, работающей с этой структурой, полю servSize необходимо присвоить значение sizeof(RDS_POINTDESCRIPTION).
PointType (RDSINT32)
Тип точки. В этом поле может находиться одна из четырех констант:
RDS_PTINTERNAL Промежуточная точка связи или шины (излом или разветвление).
RDS_PTBLOCK Точка соединения связи с блоком.
RDS_PTBUS Точка соединения связи с шиной.
RDS_PTBUSTOBLOCK Точка соединения шины с подсистемой или шинным вводом.
Source (BOOL)
TRUE, если данная точка связи является источником данных (подключена к выходу блока или шины), и FALSE, если она получает данные (подключена ко входу блока или шины). Используется только для точек соединения с блоками и шинами (в поле PointTypeRDS_PTBLOCK или RDS_PTBUS).
Status (RDSINT32)
Состояние точки (только для точек, не являющихся промежуточными). В этом поле может находиться одна из следующих констант, указывающих на ошибки соединения:
RDS_PSNORMAL Нет ошибок соединения.
RDS_PSBADVAR Отсутствует либо указанный в параметрах точки блок, либо указанная переменная в блоке.
RDS_PSBADTYPE Вход блока, с которой соединена точка, имеет тип, несовместимый с типом выхода, к которому присоединена связь.
ObjectNameA (RDSCSTR), ObjectNameW (RDSWCSTR), ObjectName (RDSXCSTR)
Указатель на строку (char*) во внутренней памяти RDS, в которой хранится имя соединенного с точкой блока (для точек соединения с блоками, типы RDS_PTBLOCK и RDS_PTBUSTOBLOCK) или соединенной шины (для точек соединения связей с шинами, тип RDS_PTBUS). Для промежуточных точек в этом поле записано значение NULL.
VarNameA (), VarNameW (), VarName ()
Указатель на строку (char*) во внутренней памяти RDS, в которой хранится имя соединенной с точкой переменной (для точек соединения связей с блоками, тип RDS_PTBLOCK) или канала шины (для точек соединения связей с шинами, тип RDS_PTBUS). Для всех остальных типов точек в этом поле записано значение NULL.
Block (RDS_BHANDLE)
Идентификатор соединенного с точкой блока для точек соединения с блоками (типы RDS_PTBLOCK и RDS_PTBUSTOBLOCK). Для всех остальных типов точек в этом поле записано значение NULL.
Bus (RDS_CHANDLE)
Идентификатор соединенной с точкой шины для точек соединения связей с шинами (тип RDS_PTBUS). Для всех остальных типов точек в этом поле записано значение NULL.
Owner ()
Идентификатор связи или шины, которой принадлежит данная точка.
xy ()
Горизонтальная (x) и вертикальная (y) координаты точки. Для промежуточных точек и точек соединения связей с шинами (типы RDS_PTINTERNAL и RDS_PTBUS) указываются абсолютные координаты на рабочем поле, то есть смещения относительно его левого верхнего угла. Для точек соединения связей и шин с блоками (типы RDS_PTBLOCK и RDS_PTBUSTOBLOCK) указываются относительные координаты, то есть смещения относительно координат точки привязки соединенного блока. Все координаты указаны для масштаба 100%, горизонтальная ось координат направлена вправо, вертикальная – вниз, начало координат – левый верхний угол рабочего поля (для абсолютных координат) или точка привязки блока (для относительных).
PointNum ()
Порядковый номер данной точки в связи или шине. Обращение к точкам всегда идет по их номеру, общее число точек можно получить через поле NumPoints структуры RDS_CONNDESCRIPTION.

См. также

rdsGetPointDescription, RDS_CONNDESCRIPTION, rdsGetConnDescription, rdsCECreateEditor.


<< >> Оглавление Указатель