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

Приложения

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

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

А.4.6. RDS_DYNVARLINK – подписка на динамическую переменную

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

  typedef struct {
     Data;          // Адрес области данных переменной
  
    // Имя переменной
     VarNameA;     // UTF8
     VarNameW;    // UTF16
    // VarName;   // 
  
    // Тип переменной
     VarTypeA;     // UTF8
     VarTypeW;    // UTF16
    // VarType;   // 
  
     Provider; // Блок-владелец переменной
     UID;           // Служебный идентификатор переменной
                          // (служебное поле, изменять нельзя)
     Var;      // Идентификатор переменной для
                          // использования в сервисных функциях
  } RDS_DYNVARLINK;
  typedef RDS_DYNVARLINK *RDS_PDYNVARLINK;

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

Data (LPVOID)
Указатель на область данных переменной. Структура этой области данных в точности соответствует данным статической переменной такого же типа в дереве переменных блока (см. §2.5 руководства программиста). Если динамическая переменная не найдена, в этом поле будет находиться значение NULL.
VarNameA (RDSCSTR), VarNameW (RDSWCSTR), VarName (RDSXCSTR)
Указатель на строку с именем динамической переменной. Строка находится во внутренней памяти RDS, ее нельзя изменять.
VarTypeA (), VarTypeW (), VarType ()
Указатель на строку типа динамической переменной (она устроена так же, как и строка типа статических переменных). Строка находится во внутренней памяти RDS, ее нельзя изменять.
Provider (RDS_BHANDLE)
Идентификатор блока, в котором находится данная динамическая переменная.
UID (LPVOID)
Служебный идентификатор данной переменной, используемый внутри RDS. Значение этого поля нельзя изменять.
Var (RDS_VHANDLE)
Идентификатор переменной, используемый в некоторых сервисных функциях для работы с переменными.

См. также

rdsSubscribeToDynamicVar, rdsUnsubscribeFromDynamicVar, rdsCreateAndSubscribeDV.


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