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

Описания RDS

Приложения

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

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

А.4.11. RDS_FUNCPROVIDERLINK – подписка на исполнителя функции

# Приложения

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

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

#### А.4.11. RDS_FUNCPROVIDERLINK – подписка на исполнителя функции

Структура RDS_FUNCPROVIDERLINK создается во внутренней памяти RDS при подписке блока на информацию об блоке-исполнителе какой-либо функции (см. §2.13.6 руководства программиста) и используется моделью блока для вызова функции этого блока. Модели не требуется самостоятельно создавать эти структуры, она всегда работает с указателями на них, возвращенными сервисной функцией rdsSubscribeToFuncProvider. Структура уничтожается RDS автоматически при прекращении подписки на исполнителя или удалении подписавшегося блока.

      typedef struct {
        RDS_BHANDLE Block; // Блок-исполнитель
        RDSINT32 FuncId;   // Функция
      } RDS_FUNCPROVIDERLINK;
      typedef RDS_FUNCPROVIDERLINK *RDS_PFUNCPROVIDERLINK;

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

Block(RDS_BHANDLE)
  Идентификатор блока, зарегистрировавшегося как исполнитель функции с запрошенным идентификатором. Если такого блока в схеме нет, в этом поле будет находиться NULL. RDS автоматически обновляет это поле в созданных структурах по мере регистрации новых блоков и удалении старых.
FuncId(RDSINT32)
  Идентификатор функции, подписка на исполнителя которой запрашивалась.

Если поле Block этой структуры не равно NULL, пару Block, FuncId можно использовать для вызова функции при помощи rdsCallBlockFunction или rdsQueueCallBlockFunction.

См. также

rdsRegisterFunction, rdsCallBlockFunction, rdsQueueCallBlockFunction, rdsSubscribeToFuncProvider, rdsUnsubscribeFromFuncProvider, rdsRegisterFuncProvider, rdsUnregisterFuncProvider.