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

Описания RDS

Приложения

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

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

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

А.5.2.5. Макрос RDS_SETFLAG – установка битового флага

# Приложения

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

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

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

##### А.5.2.5. Макрос RDS_SETFLAG – установка битового флага

Макрос RDS_SETFLAG предназначен для установки битового флага в беззнаковом целом (DWORD) согласно переданному логическому значению.

      RDS_SETFLAG(
        storage,  // Переменная с набором флагов
        mask,     // Маска (битовый флаг)
        value     // Состояние флага
      )

Определение

      #define RDS_SETFLAG(storage,mask,value) \
        ((storage) = (value)?((storage) | (mask)): \
                     ((DWORD)((storage) & (~(mask)))))

Параметры

storage(DWORD)
  Переменная, в которой взводится или сбрасывается выбранный флаг.
mask(DWORD)
  Устанавливаемый битовый флаг (число, в котором взведен бит в позиции флага).
value(BOOL)
  TRUE, если флаг mask нужно взвести в переменной storage, и FALSE, если его нужно сбросить.

Примечания

Макрос разворачивается в операцию присваивания значения storage, поэтому параметр storage должен быть чем-то, чему можно присваивать значения ( «lvalue» в терминах языка C).

Пример

      DWORD flags=0;
      RDS_SETFLAG(flags,RDS_CTRLCALC,TRUE);

См. также

RDS_GETFLAG