Уроки Iczelion'а

       

Создание процедур внутри VxD


Вы объявляете процедуру в VxD внутри сегмента. Вам следует определить сначала сегмент, а затем поместить внутрь него процедуру. Hапример, если вы хотите, чтобы ваша функция была в выгружаемом ('рageable') сегменте, вам следует определить сначала сегмент, примерно так:

VxD_PAGEABLE_CODE_SEG

[Ваша процедура]

VxD_PAGEABLE_CODE_ENDS

Вы можете поместить много процедур внутри сегмента. Вы, как создатель VxD, должны решить, в каком сегменте вам следует содержать свои процедуры. Если ваши процедуры должны быть в памяти все время (например, обработчики хардварных прерываний), поместите их в залоченный сегмент. В противном случае, вам придется поместить их в выгружаемый сегмент.

Вы определяет вашу процедуру с помощью макросов BeginProc и EndProc.

BeginProc name

EndProc name

name - это имя процедуры. Макрос BeginProc может принимать несколько параметров. Вам следует обратиться к документации Win95 DDK за подробностями. Hо большую часть времени вам надо будет передавать только имя процедуры.

Вам следует использовать макросы BeginProc-EndProc, так как они предоставляют больше функциональности, чем рroc-endр.



Содержание раздела