Introduction to Virtual Device Drivers


Virtual Device Declaration



Download 274.5 Kb.
Page20/80
Date19.01.2022
Size274.5 Kb.
#58083
1   ...   16   17   18   19   20   21   22   23   ...   80
VXDS

Virtual Device Declaration


Every virtual device must declare a name, a version number, an initialization order, and a device control procedure. Many virtual devices also declare a device identifier and API procedures. Virtual devices typically use the Declare_Virtual_Device macro to make these declarations as in the following example:

Declare_Virtual_Device VSAMPLED, 4,0, VSAMPLED_Control, \

VSAMPLED_Device_ID, VSAMPLED_Init_Order, \

VSAMPLED_V86_API_Handler, \

VSAMPLED_PM_API_Handler

This example declares the sample virtual device, VSAMPLED, version 4.0. The device control procedure, which must be defined in the same source file, is named VSAMPLED_Control. The symbols VSAMPLED_Device_ID and VSAMPLED_Init_Order specify the nonstandard virtual device identifier and initialization order. This virtual device supports both V86-mode and protected-mode API procedures.

The VMM uses the information declared by this macro to initialize the virtual device, send system control messages to it, and allow MS-DOS applications, device drivers, and TSRs to call it. To grant access of this information to the VMM, the macro creates a device descriptor block (DDB) and stores it in the protected-mode data segment. (The DDB has the same format as a VxD_Desc_Block structure.) The macro creates a label for the DDB, which must be explicitly exported when the virtual device is linked. In the previous example, the name for the DBB is VSAMPLED_DBB.


Download 274.5 Kb.

Share with your friends:
1   ...   16   17   18   19   20   21   22   23   ...   80




The database is protected by copyright ©ininet.org 2024
send message

    Main page