Приложения
Приложение А. Функции, константы и структуры 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);
См. также