VDH Functions
The following list summarizes most of the VDH functions:
VDH API
VDHAllocDosMem
Reserve memory for stub
DOS device driver
VDHAllocMem
VDHAllocPages
Allocate linear space
and commit backing storage
VDHArmReturnHook
Used to catch return
from a VDHPushFarCall
VDHArmSTIHook
Receive control when
current DOS session enables simulated interrupts
VDHClearVIRR
Clear interrupt request
flag
VDHClearSem
Used to protect global
structures
VDHCloseVDD
Terminate communication
between virtual device driver and physical device driver
VDHCopyMem
Used by the EMM copy service
and to copy device driver stub to VDM
VDHExchangeMem
Used by the EMM exchange
service
VDHFindFreePages
Find a region of free
linear space below 1MB + 64KB
VDHFreeMem
VDHFreePages
Deallocate memory objects
VDHGetDirtyPageInfo
Read and clear
dirty-page bits (Dirty bits indicate whether a page has been written to)
VDHInstallFaultHook
Install hook for
page faults
VDHInstallIntHook
Used to hook INT
67h (EMS interrupt)
VDHInstallUserHook
Register to get
notification about VDM creation and termination
VDHLockMem
Verifies that a specified
memory region is available and locks it
VDHMapPages
Used to map EMS windows
to EMS objects or to unmap pages
VDHNotIdle
VDHOpenVDD
Establish communication
between virtual device driver and physical device driver
VDHOpenVIRQ
Returns an IRQ handle for
use with the other VPIC services
VDHPopInt
Remove ROM return address
from user's CS:IP
VDHPostIdle
Put VDM into sleeping state.
VDHPushFarCall
Used by the EMM map
and call service
VDHPushInt
Change control to the V86-interrupt
handler
VDHQueryConfigString
Used to retrieve
configuration data strings
VDHQueryFreePages
Determine amount
of free virtual memory
VDHQuerySysValues
Determine VDM conventional
memory size
VDHReallocPage
Change previous page
allocation
VDHRequestSem
Used to protect global
data
VDHRequestVDD
Requests the operation
of a VDD
VDHReservePage
Reserve region of linear
space below 1MB + 64KB
VDHSetDOSDevic
Register DOS device
driver
VDHSetVIRR
Set interrupt request flag
VDHUnreservePages
Unreserve region
of linear space below 1MB + 64KB
VDHWakeIdle
Awake VDM from sleeping
state
VDHYield
Yield the processor to any
other thread of equal or higher priority
These functions are only valid when issued from within a module executing
at privilege level 0; they cannot be issued by normal protected mode application
processes.
[Back: Other Services]
[Next: VDM Termination]