Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 198


Таблица 56. Значения, возвращаемые функцией WaitForSingleObjectQ

Параметр

Значение

 

Описание

 

WAIT OBJECT 0 WAITJTIMEOUT

WAIT_ABANDONED WAIT_FAILED

 

0x00000000 0x00000102

0x00000080 OxFFFFFFFF

 

Объект перешел в состояние свободного Объект за указанное время не перешел в состояние свободного Объект mutex стал свободным из-за отказа от него Произошла ошибка

 

237

Для того чтобы использовать событие, его нужно создать. Делается это посредством функции CreateEvent(), описание которой, приведенное ниже, взято из файла winbase.h:

WINBASEAPI HANDLE W1NAPI CreateEventA(

LPSECURITY_ATTRIBUTESlpEvc[itAttributes,

BOOL bManualResel,

BOOL blnitialState,

1.PCS1 R IpName); WINBASEAPI HANDLE WINAPI CreatcEvcntW(

LPSnCURITY_ATTRIBUTES IpEveiuAtlribules,

BOOL bManualReset,

BOOL blnitialState,

LPCWSTR IpName);

#ifdef UNICODE

#definc CreateEvcnt CreateEvcntW

«else

Adeline CreateEvent CreateEventA

#endif// IUNICODE

С первым аргументом этой функции - указателем на структуру, со­держащую атрибуты доступа, мы уже знакомы.

Второй аргумент определяет тип создаваемого события. Если значение этого параметра равно TRUE, то создается объект, для сброса которого в свободное состояние необходимо использовать функцию ResetEventQ. При значении FALSE создается событие, автоматически сбрасывающееся в свободное состояние.

Третий аргумент определяет начальное состояние создаваемого собы­тия. Значение TRUE определяет, что создается событие в СВОБОДНОМ состоянии. Если поток намерен создать событие в занятом состоянии, то он должен установить этот параметр в FALSE.

И наконец, последний, четвертый аргумент, определяет имя создавае­мого объекта - события.

При успешном выполнении функция возвращает хэндл созданного объекта-события. Если при выполнении функции встретилась ошибка, то возвращается значение NULL.

Для того чтобы сигнализировать о наступлении события, в потоке должна присутствовать функция SetEventQ, переводящая событие в свободное состояние, описанная в winbase.h следующим образом:




Начало  Назад  Вперед



Книжный магазин