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

Описания RDS

Приложения

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

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

А.5.13. Вызов функций блоков

А.5.13.11. rdsRegisterFuncProvider – регистрация блока как исполнителя функции

# Приложения

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

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

#### А.5.13. Вызов функций блоков

##### А.5.13.11. rdsRegisterFuncProvider – регистрация блока как исполнителя функции

Функция rdsRegisterFuncProvider регистрирует вызвавший ее блок в качестве исполнителя функции с указанным идентификатором. После этого другие блоки схемы смогут легко найти этот блок.

      int RDSCALL rdsRegisterFuncProvider(
        int FuncId,          // Идентификатор функции
        BOOL ChildrenOnly    // Только для вложенных блоков
      );

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

RDS_IIB

Параметры

FuncId(int)
  Целый идентификатор функции, полученный при ее регистрации вызовом rdsRegisterFunction.
ChildrenOnly(BOOL)
  Этот параметр используется только тогда, когда функция rdsRegisterFuncProvider вызывается из модели подсистемы, в противном случае он игнорируется. Если в этом параметре передано значение TRUE, подсистема будет зарегистрирована как исполнитель функции только для блоков, находящихся внутри нее (на всех уровнях вложенности). Если в параметре передано FALSE, подсистема будет зарегистрирована как исполнитель функции не только для своих внутренних блоков, но и для всех блоков и подсистем, находящихся в одной с ней подсистеме («соседей» по подсистеме) и для всех их внутренних блоков.

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

Ненулевое значение при успешной регистрации, ноль при ошибке.

Примечания

Вызов этой функции регистрирует вызвавший блок в качестве исполнителя указанной функции для всех блоков, находящихся в одной с ним подсистеме и во всех вложенных подсистемах на всех уровнях иерархии (за исключением случая, когда rdsRegisterFuncProvider вызвана из модели подсистемы и в параметре ChildrenOnly передано TRUE – в этом случае доступ к исполнителю получат только внутренние блоки этой подсистемы). Любой блок может подписаться на идентификатор зарегистрированного исполнителя функции вызовом rdsSubscribeToFuncProvider.

Пример

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

См. также

rdsUnregisterFuncProvider, rdsSubscribeToFuncProvider, rdsRegisterFunction.