Параметры функции
Подавляющее количество Windows API-функций использует переданные им статические параметры для выполнения с их участием каких-либо действий. Тем не менее, определенная часть функций возвращает значения, которые должны быть сохранены в буфере, и этот буфер функция возвращает в виде указателя на него. Для большинства функций этот буфер должен быть создан самим приложением перед вызовом функции. Во многих случаях параметр может принимать одно или более значений из некоторой таблицы. Эти значения определяются как константы и объединяются с использованием логического оператора or. Реальные параметры, передаваемые в функцию, идентифицируются с битовой маской, в которой позиция определенных бит имеет определенный смысл для функции.
Пример такого слияния: функция createWindowEx имеет параметр, называемый dwStyle, который является суммой констант, связанных оператором or. Чтобы передать функции более чем одну константу, параметр должен выглядеть, к примеру, так: "ws_caption or ws_child or ws_clipchildren". (Будет создано дочернее окно с полосой заголовка, при этом будет запрещено рисование родительского окна в области, занятой дочерним окном.)
Наоборот, если функция должна возвращать одно или более значений, определяемых специальными константами, то с помощью логического умножения (оператор and) определяется, входит ли результат в набор возвращаемых значений.
Комментарии (0)