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

Приложения

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

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

А.4.5. RDS_CONNDESCRIPTION – описание связи или шины

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

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

  typedef struct {
     servSize;         // Размер этой структуры в байтах
     Conn;       // Идентификатор связи
     ConnType;      // Тип связи
     Parent;     // Идентификатор родительской подсистемы
     ParentNameA;    // Имя родительской подсистемы (UTF8)
     ParentNameW;   // Имя родительской подсистемы (UTF16)
    // ParentName;  // Имя родительской подсистемы ()
     Active;            // Состояние связи (включена или отключена)
     LayerId;       // Идентификатор слоя
     NumPoints;     // Число точек в связи
     BusNameA;       // Имя (только для шины, UTF8)
     BusNameW;      // Имя (только для шины, UTF16)
    // BusName;     // Имя (только для шины, )
     NumChannels;   // Число каналов (только для шины)
     NumLines;      // Число линий
     ExtId;            // Внешний уникальный идентификатор
  } RDS_CONNDESCRIPTION;
  typedef RDS_CONNDESCRIPTION *RDS_PCONNDESCRIPTION;

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

servSize (DWORD)
Размер этой структуры в байтах. Перед вызовом любой сервисной функции, работающей с этой структурой, полю servSize необходимо присвоить значение sizeof(RDS_CONNDESCRIPTION).
Conn (RDS_CHANDLE)
Уникальный идентификатор данной связи или шины. Для идентификаторов связей и шин в RDS введен специальный тип RDS_CHANDLE, такие идентификаторы используются в сервисных функциях для указания связи или шины, с которыми нужно произвести то или иное действие.
ConnType (RDSINT32)
Тип объекта: связь или шина. В RDS шины являются подвидом связей, поэтому большинство сервисных функция у шин и связей общие. В этом поле содержится одна из следующих констант:
RDS_TUNKNOWN Неизвестный тип (при вызове функции, заполняющей эту структуру, возникла ошибка).
RDS_CTCONNECTION Связь.
RDS_CTBUS Шина.
Parent (RDS_BHANDLE)
Идентификатор родительской подсистемы, то есть подсистемы, непосредственно внутри которой находится данная связь или шина.
ParentNameA (RDSCSTR), ParentNameW (RDSWCSTR), ParentName (RDSXCSTR)
Указатель на строку с именем родительской подсистемы. Строка находится во внутренней памяти RDS, ее нельзя изменять.
Active (BOOL)
TRUE, если связь включена, и FALSE, если выключена. Включение/выключение связей обычно производится пользователем с клавиатуры или через контекстное меню.
LayerId ()
Идентификатор слоя подсистемы, на котором находится данная связь или шина. Для ее перемещения на другой слой можно использовать функцию rdsSetConnLayer.
NumPoints ()
Общее число узловых точек в геометрическом изображении связи или шины. В это число входят и точки соединения с блоками, и промежуточные точки (точки излома), и точки разветвления. Получить описание конкретной точки с заданным номером (ее координаты, тип и т.п.) можно при помощи функции rdsGetPointDescription.
BusNameA (), BusNameW (), BusName ()
Указатель на строку с именем шины (только для шин, для связей не используется). Строка находится во внутренней памяти RDS, ее нельзя изменять.
NumChannels ()
Общее число каналов передачи данных в шине (для связей не используется).
NumLines ()
Общее число линий (прямых и кривых Безье), соединяющих пары узловых точек в геометрическом изображении связи или шины. Получить описание линии с заданным номером (ее тип, координаты касательных кривой и т.п.) можно при помощи функции rdsGetLineDescription.
ExtId ()
Уникальный в пределах схемы целый идентификатор данной связи или шины, не изменяющийся при сохранении и последующей загрузке этой схемы.

Пример

Пример использования структуры RDS_CONNDESCRIPTION приведен в §2.13.4 руководства программиста.

См. также

rdsGetConnDescription, rdsGetFirstConn, rdsGetNextConn, RDS_CONNAPPEARANCE, rdsSetConnLayer, rdsGetPointDescription, rdsGetLineDescription, rdsCECreateEditor.


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