Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.13. Вызов функций блоков
А.5.13.13. rdsSubscribeToFuncProvider – подписка на блок-исполнитель функции
Функция rdsSubscribeToFuncProvider создает во внутренних данных блока, из модели которого она вызвана, специальную структуру, в которую RDS будет записывать идентификатор блока, зарегистрировавшегося как исполнитель указанной функции.
RDS_PFUNCPROVIDERLINK RDSCALL rdsSubscribeToFuncProvider( int FuncId // Идентификатор функции );
Тип указателя на эту функцию
RDS_FlI
Параметр
- FuncId (int)
- Целый идентификатор функции, полученный при ее регистрации вызовом rdsRegisterFunction.
Возвращаемое значение
Указатель на созданную во внутренней памяти RDS структуру RDS_FUNCPROVIDERLINK.
Примечания
Вызов этой функции запрашивает у RDS подписку блока, из модели которого вызвана rdsSubscribeToFuncProvider, на исполнителя указанной функции. В результате вызова RDS создает структуру RDS_FUNCPROVIDERLINK и начинает отслеживать наличие в схеме блока-исполнителя функции FuncId, записывая его идентификатор в поле Block этой структуры. Если в схеме нет такого блока, в поле Block будет записано значение NULL. При любых изменениях в регистрации исполнителя этой функции (появление исполнителя ближе по иерархии подсистем, отмена регистрации и т.п.) RDS будет автоматически обновлять данные в структуре RDS_FUNCPROVIDERLINK. Эта структура будет уничтожена при отмене подписки вызовом rdsUnsubscribeFromFuncProvider или при удалении подписавшегося блока.
Пример
Пример использования функции rdsSubscribeToFuncProvider приведен в §2.13.6 руководства программиста.
См. также
RDS_FUNCPROVIDERLINK, rdsRegisterFuncProvider, rdsUnsubscribeFromFuncProvider.