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 и выше.