The following list summarizes most of the VDH functions:
VDH API Description
VDHAllocDosMem Reserve memory for stub DOS device driver
VDHAllocMem Allocate small buffers
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 Deallocate small buffers
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 Resets VDHPostIdle
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.
[ Leser: 39 ] |