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

Приложения

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

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

А.5.2. Управление работой RDS и функции общего назначения

А.5.2.3. Макрос RDS_INITSERVSIZE – инициализация поля размера в стандартных структурах RDS

Макрос RDS_INITSERVSIZE присваивает полю servSize переданной в его параметре структуры размер этой структуры в байтах.

  RDS_INITSERVSIZE(
    structvar  // Переменная-структура
  )

Определение

  #define RDS_INITSERVSIZE(structvar) \
            structvar.servSize=sizeof(structvar)

Параметр

structvar (структура)
Переменная, представляющая собой структуру одного из стандартных типов RDS, в которой есть поле servSize.

Примечания

Присваивать полю servSize размер содержащей его структуры необходимо перед вызовом большинства сервисных функций, работающих со стандартными структурами RDS (см. приложение А.4). Сервисные функции, в которые передаются указатели на эти структуры, прежде всего сравнивают беззнаковое целое число (DWORD), содержащееся в самом первом поле структуры, с ожидаемым размером структуры данного типа. Если это число окажется меньше ожидаемого размера, функция либо сообщит вызвавшей программе об ошибке, либо будет работать только с полями структуры, укладывающимися в переданный размер.

Пример

  // Структура описания блока
   descr;
  // Присвоение размера структуры первому полю
  RDS_INITSERVSIZE(descr);
  // Получение описания блока
  (Block,&descr);


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