nTopRect - определяет y -координату верхнего левого угла прямоугольной области.
nRightRect - определяет x -координату нижнего правого угла прямоугольника.
nBottomRect - определяет y -координату нижнего правого угла прямоугольника.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль.
Комментарии
Область не включает в себя нижнюю и правую границы прямоугольника.
См. также
CreateRectRgn .
UpdateWindow
Функция UpdateWindow обновляет клиентскую область указанного окна, отправляя ему сообщение WM _ PAINT, если область обновления ( update region ) окна не пуста. Функция отправляет сообщение WM _ PAINT напрямую оконной процедуре указанного окна, обходя очередь сообщений приложения. Если область обновления пуста, то сообщение не отправляется.
BOOL UpdateWindow (
HWND hWnd // дескриптор окна
);
Параметры
hWnd - идентифицирует обновляемое окно.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль.
См. также
ExcludeUpdateRgn, GetUpdateRect, GetUpdateRgn, InvalidateRect, InvalidateRgn , WM_PAINT.
Хуки
ForegroundIdleProc
Функция-ловушка ( hook procedure ) ForegroundIdleProc является определяемой приложением функцией обратного вызова, которую вызывает система каждый раз, когда 32-битный поток переднего плана намеревается стать неактивным.
DWORD ForegroundIdleProc (
int code , // код хука
DWORD wParam , // не используется
LONG lParam // не используется
);
Параметры
code - определяет, должна ли функция-ловушка обработать сообщение. Если значение этого параметра HC_ACTION, то функция-ловушка должна обработать сообщение. Если значение этого параметра отрицательное, функция-ловушка должна передать сообщение функции CallNextHookEx без дальнейшей обработки и должна вернуть значение, возвращенное функцией CallNextHookEx .
wParam - не используется.
lParam - не используется.
Комментарии
Приложение устанавливает функцию-ловушку, указывая в качестве типа хука WH_FOREGROUNDIDLE и передавая указатель на функцию-ловушку в функцию SetWindowsHookEx .
ForegroundIdleProc является "заполнителем" для имени определяемой приложением функции.
См. также
CallNextHookEx, SetWindowsHookEx
UnhookWindowsHookEx
Функция UnhookWindowsHookEx удаляет процедуру хука, установленную в цепочку хуков функцией SetWindowsHookEx .
BOOL UnhookWindowsHookEx (
HHOOK hhk // дескриптор удаляемой процедуры хука
);
Параметры
hhk - идентифицирует хук, подлежащий удалению. Значение этого параметра является дескриптором хука, полученным предыдущим вызовом SetWindowsHookEx .
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль.
Комментарии
Процедура хука может быть в состоянии вызова другим потоком даже после завершения функции UnhookWindowsHookEx . Если процедура хука не вызывается одновременно другим потоком, то она удаляется непосредственно перед завершением функции UnhookWindowsHookEx .
См. также
SetWindowsHookEx, UnhookWindowsHook .
Память
HeapSize
Функция HeapSize возвращает размер блока памяти, выделенного из кучи функциями HeapAlloc или HeapReAlloc , в байтах.
DWORD HeapSize (
HANDLE hHeap , // дескориптор кучи
DWORD dwFlags , // контрольные флаги размера кучи
LPCVOID lpMem // указатель на память, чей размер возвращается
);
Параметры
hHeap - определяет кучу, в которой находится блок памяти. Этот дескриптор возвращается функциями HeapCreate или GetProcessHeap .
dwFlags - определяет некоторые контролируемые аспекты доступа к блоку памяти. В настоящее время определен только один флаг; тем не менее, все остальные значения флагов зарезервированы для будущего использования. Указание этого флага переопределит соответствующее значение флага, указанного в качестве значения параметра flOptions при создании кучи функцией HeapCreate .
Значение
Пояснение
HEAP _ NO _ SERIALIZE
Определяет, что взаимное исключение не будет использоваться, когда функция получает доступ к куче. Для дополнительной информации смотрите раздел "Комментарии" в описании функции HeapCreate .
lpMem - указывает на блок памяти, чей размер функция получает. Указатель возвращается функциями HeapAlloc или HeapReAlloc .
Возвращаемые значения
В случае успеха возвращается размер выделенного блока памяти в байтах.
В случае неудачи возвращается 0 xFFFFFFFF . Функция не вызывает SetLastError . Приложение не может вызвать GetLastError для дополнительной информации об ошибке.
См. также
GetProcessHeap, HeapAlloc, HeapCreate, HeapDestroy, HeapFree, HeapReAlloc, SetLastError .
Подбор цветов
CreateColorSpace
Функция CreateColorSpace создает логическое цветовое пространство.
HCOLORSPACE CreateColorSpace (
LPLOGCOLORSPACE lpLogColorSpace
);
Параметры
lpLogColorSpace - указывает на структуру типа LOGCOLORSPACE .
Возвращаемые значения
В случае успеха возвращается дескриптор, который идентифицирует логическое цветовое пространство.
В случае неудачи возвращается NULL
Комментарии
Когда у вас больше нет необходимости в цветовом пространстве, вызовите функцию DeleteObject для его удаления.
См. также
DeleteObject, LOGCOLORSPACE .
Мультимедиа таймеры
TimeProc
Функция TimeProc является функцией обратного вызова, которая вызывается один раз по завершению одиночного события таймера или периодически по завершению периодических событий.
void CALLBACK TimeProc (
UINT uID,
UINT uMsg,
DWORD dwUser,
DWORD dw1,
DWORD dw2
);
TimeProc является "заполнителем" для имени определяемой приложением функции.
Параметры
uID - идентификатор события таймера. Этот идентификатор был возвращен функцией timeSetEvent при установке события.
uMsg - зарезервирован. Не используется.
dwUser - пользовательские данные, представленные значением параметра dwUser функции timeSetEvent.
dw1 - зарезервирован. Не используется.
dw2 - зарезервирован. Не используется.
Возвращаемые значения
Функция не возвращает значения.
Комментарии
Приложения не должны вызывать определяемые системой функции внутри функции обратного вызова, кроме PostMessage, timeGetSystemTime, timeGetTime, timeSetEvent, timeKillEvent, midiOutShortMsg, midiOutLongMsg и OutputDebugString.
Требования
Windows NT /2000/ XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/ Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem.h; подключать Windows.h.
См . также
timeSetEvent, PostMessage, timeGetSystemTime, timeGetTime, timeKillEvent, midiOutShortMsg, midiOutLongMsg, OutputDebugString.
timeBeginPeriod
Функция timeBeginPeriod устанавливает минимальное разрешение мультимедиа таймера для приложения или драйвера устройства.
MMRESULT timeBeginPeriod (
UINT uPeriod
);
Параметры
uPeriod - минимальное разрешение таймера в миллисекундах для приложения или драйвера устройства.
Возвращаемые значения
В случае успеха возвращается TIMERR_NOERROR или TIMERR_NOCANDO, если разрешение, заданное значением параметра uPeriod , находится вне допустимого диапазона.