## Virtual Device Driver Reference for OS/2

[prev][next][parent][TOC]

### C Language Virtual DevHlp Services

Virtual DevHlp functions are used by virtual device drivers to access various services provided by the OS/2 operating system and by other virtual device drivers. These functions are provided because normal OS/2 API calls from a virtual device driver and routines in a C-language run-time library cannot be used for access purposes.

The virtual DevHlp services are categorized in the following list and subsequent sections. Individual functions follow and are listed alphabetically with an explanation of their purpose, parameters, and calling conventions.

Function Type
VDHAllocBlock byte-granular memory management service
VDHAllocDMABuffer DMA service
VDHAllocDOSMem byte-granular memory management service
VDHAllocHook hook management service
VDHAllocMem byte-granular memory management service
VDHAllocPages page-granular memory management service
VDHArmBPHook hook management service
VDHArmContextHook hook management service
VDHArmReturnHook hook management service
VDHArmSTIHook hook management service
VDHArmTimerHook timer service
VDHArmVPMBPHook DPMI service
VDHBeginUseVPMStack DPMI service
VDHCallOutDMA DMA service
VDHChangeVPMIF DPMI service
VDHCheckPagePerm DPMI service
VDHCheckVPMIntVector DPMI service
VDHClearVIRR Virtual interrupt service
VDHClose file or device I/O service
VDHCloseVDD inter-device communication service
VDHCloseVIRQ Virtual interrupt service
VDHCopyMem byte-granular memory management service
VDHCreateBlockPool byte-granular memory management service
VDHCreateSel GDT selector service
VDHCreateSem semaphore service
VDHDecodeProperty DOS settings service
VDHDestroyBlockPool byte-granular memory management service
VDHDestroySel GDT selector service
VDHDestroySem semaphore service
VDHDevBeep miscellaneous virtual DevHlp service
VDHDevIOCtl file or device I/O service
VDHDisarmTimerHook timer service
VDHEndUseVPMStack DPMI service
VDHEnumerateVDMs miscellaneous virtual DevHlp service
VDHExchangeMem byte-granular memory management service
VDHFindFreePages page-granular memory management service
VDHFreeBlock byte-granular memory management service
VDHFreeDMABuffer DMA service
VDHFreeHook hook management service
VDHFreeMem byte-granular memory management service
VDHFreePages page-granular memory management service
VDHFreezeVDM DOS session control service
VDHGetCodePageFont miscellaneous virtual DevHlp service
VDHGetDirtyPageInfo page-granular memory management service
VDHGetError miscellaneous virtual DevHlp service
VDHGetFlags miscellaneous virtual DevHlp service
VDHGetSelBase DPMI service
VDHGetVPMExcept DPMI service
VDHGetVPMIntVector DPMI service
VDHHaltSystem DOS session control service
VDHHandleFromPID miscellaneous virtual DevHlp service
VDHHandleFromSGID miscellaneous virtual DevHlp service
VDHInstallFaultHook page-granular memory management service
VDHInstallIntHook hook management service
VDHInstallIOHook hook management service
VDHInstallUserHook hook management service
VDHIsVDMFrozen DOS session control service
VDHKillVDM DOS session control service
VDHLockMem memory-locking memory management service
VDHMapPages page-granular memory management service
VDHOpen file or device I/O service
VDHOpenPDD inter-device communication service
VDHOpenVDD inter-device communication service
VDHOpenVIRQ Virtual interrupt service
VDHPhysicalDisk file or device I/O service
VDHPopInt V8086 stack manipulation service
VDHPopRegs V8086 stack manipulation service
VDHPopStack V8086 stack manipulation service
VDHPopup miscellaneous virtual DevHlp service
VDHPostEventSem semaphore service
VDHPrintClose parallel port and printer service
VDHPushFarCall V8086 stack manipulation service
VDHPushInt V8086 stack manipulation service
VDHPushRegs V8086 stack manipulation service
VDHPushStack V8086 stack manipulation service
VDHPutSysValue miscellaneous virtual DevHlp service
VDHQueryFreePages page-granular memory management service
VDHQueryHookData hook management service
VDHQueryLin miscellaneous virtual DevHlp service
VDHQueryKeyShift keyboard service
VDHQueryProperty DOS settings service
VDHQuerySel GDT selector service
VDHQuerySem semaphore service
VDHQuerySysValue miscellaneous virtual DevHlp service
VDHQueryVIRQ Virtual interrupt service
VDHRaiseException DPMI service
VDHRead file or device I/O service
VDHReadUBuf DPMI service
VDHReallocPages page-granular memory management service
VDHRegisterAPI Register API handler
VDHRegisterDMAChannel DMA service
VDHRegisterProperty DOS settings service
VDHRegisterVDD inter-device communication service
VDHReleaseCodePageFont miscellaneous virtual DevHlp service
VDHReleaseMutexSem semaphore service
VDHRemoveFaultHook page-granular memory management service
VDHRemoveIOHook hook management service
VDHReportPeek idle DOS application management service
VDHRequestMutexSem semaphore service
VDHRequestVDD inter-device communication service
VDHReservePages page-granular memory management service
VDHResetEventSem semaphore service
VDHSeek file or device I/O service
VDHSendVEOI Virtual interrupt service
VDHSetDosDevice miscellaneous virtual DevHlp service
VDHSetError miscellaneous virtual DevHlp service
VDHSetFlags miscellaneous virtual DevHlp service
VDHSetIOHookState hook management service
VDHSetPriority DOS session control service
VDHSetVIRR Virtual interrupt service
VDHSetVPMExcept DPMI service
VDHSetVPMIntVector DPMI service
VDHSwitchToVPM DPMI service
VDHSwitchToV86 DPMI service
VDHThawVDM DOS session control service
VDHUnlockMem memory-locking memory management service
VDHUnreservePages page-granular memory management service
VDHWaitEventSem semaphore service
VDHWaitVIRRs Virtual interrupt service
VDHWakeIdle idle DOS application management service
VDHWakeVIRRs Virtual interrupt service
VDHWrite file or device I/O service
VDHWriteUBuf DPMI service
VDHYield DOS session control service