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

Описания RDS

Приложения

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

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

А.5.24. Вспомогательный объект для работы со списком блоков и связей

А.5.24.1. rdsBCLCreateList – создать объект для хранения списка блоков и связей

# Приложения

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

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

#### А.5.24. Вспомогательный объект для работы со списком блоков и связей

Описываются функции и команды вспомогательного объекта RDS, предназначенного для создания и поддержания в актуальном состоянии списков блоков и связей схемы.

##### А.5.24.1. rdsBCLCreateList – создать объект для хранения списка блоков и связей

Функция rdsBCLCreateList создает вспомогательный объект RDS, во внутренних данных которого может храниться список идентификаторов блоков и связей схемы. Список может создаваться пустым или автоматически заполняться блоками и связями указанной подсистемы.

      RDS_HOBJECT RDSCALL rdsBCLCreateList(
        RDS_BHANDLE System,  // Подсистема
        DWORD TypeMask,      // Набор типов объектов
        BOOL Recurse         // Добавлять из вложенных подсистем
      );

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

RDS_HoBhDwB

Параметры

System(RDS_BHANDLE)
  Идентификатор подсистемы, блоки и связи которой нужно добавить в создаваемый список, либо NULL, если нужно создать пустой список.
TypeMask(DWORD)
  Набор объединенных битовым ИЛИ констант типов блоков и связей, которые нужно добавить в список из подсистемы System. Если в System передано значение NULL, параметр TypeMask игнорируется.

  RDS_BTSYSTEM | подсистема
  RDS_BTSIMPLEBLOCK | простой блок
  RDS_BTINPUTBLOCK | внешний вход
  RDS_BTOUTPUTBLOCK | внешний выход
  RDS_BTBUSPORT | ввод шины
  RDS_CTCONNECTION | связь
  RDS_CTBUS | шина

  Кроме указанных выше стандартных констант типов можно также использовать специальные объединяющие константы:

  RDS_BTALLTYPES | все типы блоков
  RDS_CTALLTYPES | связи и шины

Recurse(BOOL)
  TRUE, если нужно добавлять в список не только блоки и связи, непосредственно находящиеся в подсистеме System, но и блоки и связи во всех ее вложенных подсистемах. FALSE, если нужно добавить только блоки и связи, непосредственно находящиеся в подсистеме System. Если в System передано значение NULL, параметр Recurse игнорируется.

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

Уникальный идентификатор созданного объекта.

Примечания

Эта функция создает вспомогательный объект для хранения списка блоков и связей и возвращает его идентификатор типа RDS_HOBJECT. Список может быть автоматически заполнен идентификаторами блоков и связей из подсистемы System, или оставлен пустым, если System==NULL. После создания списка в него могут добавляться отдельные блоки и связи функциями rdsBCLAddBlock и rdsBCLAddConn соответственно. Для доступа к массивам идентификаторов, хранящимся внутри объекта, служат команды RDS_HBCL_BLOCKARRAY и RDS_HBCL_CONNARRAY. По умолчанию объект не отслеживает удаление блоков и связей, попавших в список – это можно изменить командой RDS_HBCL_AUTODELETE.

Созданный вспомогательный объект будет существовать до тех пор, пока схема не будет выгружена из памяти, или пока он не будет удален вызовом функции rdsDeleteObject.

Пример

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

См. также

Вспомогательные объекты, rdsBCLAddBlock, rdsBCLAddConn, RDS_HBCL_BLOCKARRAY, RDS_HBCL_CONNARRAY, RDS_HBCL_AUTODELETE.