Создание процедур внутри 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р.