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

мастер по ремонту стиральных машин на дому http://remavtomash.ru/

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


WINBASEAPI BOOL WINAPI Se(Event(HANDLE hEvent);

Единственный аргумент этой функции очевиден - хэндл события, соз­данного посредством CreateEventQ.

238

Каким образом прикладная программа может узнать о наступлении события? Да с помощью уже знакомой нам функции WaitForSingleObjectf).

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

WINBASEAPI BOOL WINAPI ResetEvent(HANDLE hEvent);

В качестве аргумента функции передается хэндл события.

Достаточно часто встречаются случаи, когда после установки события с помощью SetEventQ тут же следует вызов ResetEventQ. Для этих целей предусмотрена функция PulseEvent(), описанная так:

WINBASHAPI BOOL WINAPI PulscEvcnt(HANDLE hEvent);

Аргументом является хэндл события. После выполнения функции объект-событие остается в занятом состоянии.

Алгоритм использования объекта-события полностью аналогичен ал­горитму использования семафора.

Надеюсь, что после того, что сейчас узнал читатель, разобрать кри­тические секции и объекты типа mutex ему не составит труда.

ДИНАМИЧЕСКИ ПОДКЛЮЧАЕМЫЕ БИБЛИОТЕКИ

Думаю, что, посмотрев на размер исполняемого файла, полученного после компиляции нашей первой программы «Helloworld», многие были поражены. Как! Столько всего умеет делать программа при таком малом размере! Даже на ассемблере невозможно написать библиотеку такого размера и обладающую такими возможностями. Как же это сделано'? Ответ прост - большая часть кода, обеспечивающего возможности про­граммы, находится вне самое программы, в библиотеках. Это естественно и понятно. Но с исполняемым файлом эти библиотеки соединяются не на стадии липковаиия, как обычные библиотеки, а НА СТАДИИ ВЫПОЛ-НР.НИц! Это одно из принципиальных положений, отличающих все версии Windows от ее главного в прошлом конкурента MS DOS.

Библиотеки динамической компоновки представляют собою одного из тех китов, на которых базировались Windows всех версий, в том числе и Windows'95. Все функции API, с которыми мы работаем, находятся в библиотеках динамической компоновки - DLL (dynamic iink libraries). Основу Windows составляют три библиотеки: kerne!32dll, user32.dll и gdi32.dll. Первая отвечает за управление памятью, процессами и потока­ми, вторая - за систему окон с подсистемой сообщений, третья - за графи­ку и вывод текста (само название - GDI - является аббревиатурой выра­жения Graphical User Interface - графический интерфейс пользователя).




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



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