Сорока Тарас
Шрифт:
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 для дополнительной информации об ошибке.