Jump to content

SMPProgAdd - STRACE - VDH Functions: Difference between revisions

From EDM2
Created page with "VDH Functions ┌────────────────────┬──────────────────────────────────────────────────┐ │Hook ID │Event Name │ │Major/Minor Code │ │ ├────────────────────┼────..."
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
VDH Functions
{{IBM-Reprint}}
{{SMPProgAdd}}


┌────────────────────┬──────────────────────────────────────────────────┐
{| class="wikitable"
│Hook ID             │Event Name                                       │
|+ Hook ID and Event Name Codes
│Major/Minor Code   │                                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
! Hook ID <br/> Major/Minor Code
│8D/01               │VDHCreateSem                                      │
! Event Name
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/02               │VDHDestroySem                                    │
| 8D/01
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCreateSem|VDHCreateSem]]
│8D/03               │VDHWaitEventSem                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/02
│8D/04               │VDHRequestMutexSem                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHDestroySem|VDHDestroySem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/05               │VDHReleaseMutexSem                                │
| 8D/03
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHWaitEventSem|VDHWaitEventSem]]
│8D/06               │VDHResetEventSem                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/04
│8D/07               │VDHPostEventSem                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRequestMutexSem|VDHRequestMutexSem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/08               │VDHQuerySem                                      │
| 8D/05
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHReleaseMutexSem|VDHReleaseMutexSem]]
│8D/09               │VDHArmTimerHook                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/06
│8D/0A               │VDHDisArmTimerHook                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHResetEventSem|VDHResetEventSem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/0B               │VDHAllocMem                                      │
| 8D/07
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPostEventSem|VDHPostEventSem]]
│8D/0C               │VDHFreeMem                                        │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/08
│8D/0D               │VDHAllocDosMem                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQuerySem|VDHQuerySem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/0E               │VDHCreateBlockPool                                │
| 8D/09
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHArmTimerHook|VDHArmTimerHook]]
│8D/0F               │VDHAllocBlock                                    │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/0A
│8D/10               │VDHFreeBlock                                      │
| [[VDDR/2_-_C_Language_Virtual_DevHlp_Services#VDHDisarmTimerHook|VDHDisArmTimerHook]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/11               │VDHDestroyBlockPool                              │
| 8D/0B
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHAllocMem|VDHAllocMem]]
│8D/12               │VDHCopyMem                                        │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/0C
│8D/13               │VDHExchangeMem                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFreeMem|VDHFreeMem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/14               │VDHAllocPages                                    │
| 8D/0D
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_C_Language_Virtual_DevHlp_Services#VDHAllocDOSMem|VDHAllocDosMem]]
│8D/15               │VDHReallocPages                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/0E
│8D/16               │VDHFreePages                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCreateBlockPool|VDHCreateBlockPool]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/17               │VDHFindFreePages                                  │
| 8D/0F
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHAllocBlock|VDHAllocBlock]]
│8D/18               │VDHGetDirtyPageInfo                              │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/10
│8D/19               │VDHQueryFreePages                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFreeBlock|VDHFreeBlock]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/1A               │VDHReservePages                                  │
| 8D/11
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHDestroyBlockPool|VDHDestroyBlockPool]]
│8D/1B               │VDHUnreservePages                                │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/12
│8D/1C               │VDHMapPages                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCopyMem|VDHCopyMem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/1D               │VDHAllocDMABuffer                                │
| 8D/13
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHExchangeMem|VDHExchangeMem]]
│8D/1E               │VDHFreeDMABuffer                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/14
│8D/1F               │VDHYield                                          │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHAllocPages|VDHAllocPages]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/20               │VDHSetPriority                                    │
| 8D/15
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHReallocPages|VDHReallocPages]]
│8D/21               │VDHCreateSel                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/16
│8D/22               │VDHDestroySel                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFreePages|VDHFreePages]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/23               │VDHLockMem                                        │
| 8D/17
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFindFreePages|VDHFindFreePages]]
│8D/24               │VDHUnlockMem                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/18
│8D/25               │VDHQueryHookData                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHGetDirtyPageInfo|VDHGetDirtyPageInfo]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/26               │VDHArmContextHook                                │
| 8D/19
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQueryFreePages|VDHQueryFreePages]]
│8D/27               │VDHArmSTIHook                                    │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/1A
│8D/28               │VDHArmReturnHook                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHReservePages|VDHReservePages]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/29               │VDHPushFarCall                                    │
| 8D/1B
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHUnreservePages|VDHUnreservePages]]
│8D/2F               │VDHPushRegs                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/1C
│8D/30               │VDHPopRegs                                        │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHMapPages|VDHMapPages]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/31               │VDHPushStack                                      │
| 8D/1D
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHAllocDMABuffer|VDHAllocDMABuffer]]
│8D/32               │VDHPopStack                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/1E
│8D/33               │VDHSwitchToVPM                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFreeDMABuffer|VDHFreeDMABuffer]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/34               │VDHSwitchToV86                                    │
| 8D/1F
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHYield|VDHYield]]
│8D/35               │VDHSetFlags                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/20
│8D/36               │VDHPushInt                                        │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetPriority|VDHSetPriority]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/37               │VDHPopInt                                        │
| 8D/21
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCreateSel|VDHCreateSel]]
│8D/39               │VDHSetDosDevice                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/22
│8D/3A               │VDHInstallIOHook                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHDestroySel|VDHDestroySel]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/3B               │VDHRemoveIOHook                                  │
| 8D/23
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHLockMem|VDHLockMem]]
│8D/3C               │VDHSetIOHookState                                │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/24
│8D/3D               │VDHInstallIntHook                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHUnlockMem|VDHUnlockMem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/3E               │VDHAllocHook                                      │
| 8D/25
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQueryHookData|VDHQueryHookData]]
│8D/3F               │VDHFreeHook                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/26
│8D/40               │VDHArmBPHook                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHArmContextHook|VDHArmContextHook]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/41               │VDHRegisterDPMI                                  │
| 8D/27
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHArmSTIHook|VDHArmSTIHook]]
│8D/42               │VDHGetSelBase                                    │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/28
│8D/43               │VDHChangeVPMIF                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHArmReturnHook|VDHArmReturnHook]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/44               │VDHReadUBuf                                      │
| 8D/29
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPushFarCall|VDHPushFarCall]]
│8D/45               │VDHWriteUBuf                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/2F
│8D/46               │VDHStartHWInt                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPushRegs|VDHPushRegs]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/47               │VDHCheckPagePerm                                  │
| 8D/30
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPopRegs|VDHPopRegs]]
│8D/48               │VDHRaiseException                                │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/31
│8D/49               │VDHCheckVPMExcept                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPushStack|VDHPushStack]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/4A               │VDHGetVPMExcept                                  │
| 8D/32
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPopStack|VDHPopStack]]
│8D/4B               │VDHSetVPMExcept                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/33
│8D/4C               │VDHCheckVPMIntVector                              │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSwitchToVPM|VDHSwitchToVPM]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/4D               │VDHGetVPMIntVector                                │
| 8D/34
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSwitchToV86|VDHSwitchToV86]]
│8D/4E               │VDHSetVPMIntVector                                │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/35
│8D/4F               │VDHArmVPMBPHook                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetFlags|VDHSetFlags]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/50               │VDHBeginUseVPMStack                              │
| 8D/36
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPushInt|VDHPushInt]]
│8D/51               │VDHEndUseVPMStack                                │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/37
│8D/52               │VDHProbeUBuf                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPopInt|VDHPopInt]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/53               │VDHPopVPMFarRet                                  │
| 8D/39
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetDosDevice|VDHSetDosDevice]]
│8D/54               │VDHPrepVPMIret                                    │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/3A
│8D/55               │VDHKillVDM                                        │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHInstallIOHook|VDHInstallIOHook]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/56               │VDHHaltSystem                                    │
| 8D/3B
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRemoveIOHook|VDHRemoveIOHook]]
│8D/57               │VDHFreezeVDM                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/3C
│8D/58               │VDHThawVDM                                        │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetIOHookState|VDHSetIOHookState]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/59               │VDHIsVDMFrozen                                    │
| 8D/3D
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHInstallIntHook|VDHInstallIntHook]]
│8D/5A               │VDHOpenPDD                                        │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/3E
│8D/5B               │VDHRegisterVDD                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHAllocHook|VDHAllocHook]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/5C               │VDHInstallUserHook                                │
| 8D/3F
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFreeHook|VDHFreeHook]]
│8D/5D               │VDHValidatePID                                    │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/40
│8D/5E               │VDHVMGetHandle                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHArmBPHook|VDHArmBPHook]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/5F               │VDHVMAttach                                      │
| 8D/41
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRegisterDPMI|VDHRegisterDPMI]]
│8D/60               │VDHOpenVDD                                        │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/42
│8D/61               │VDHCloseVDD                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHGetSelBase|VDHGetSelBase]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/62               │VDHHandleFromPID                                  │
| 8D/43
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHChangeVPMIF|VDHChangeVPMIF]]
│8D/63               │VDHQuerySel                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/44
│8D/64               │VDHPutSysValue                                    │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHReadUBuf|VDHReadUBuf]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/65               │VDHRequestVDD                                    │
| 8D/45
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHWriteUBuf|VDHWriteUBuf]]
│8D/66               │VDHRegisterPerfCtrs                              │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/46
│8D/67               │VDHDecodeProperty                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHStartHWInt|VDHStartHWInt]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/68               │VDHCreateThread                                  │
| 8D/47
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCheckPagePerm|VDHCheckPagePerm]]
│8D/69               │VDHExitThread                                    │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/48
│8D/6A               │VDHGetError                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRaiseException|VDHRaiseException]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/6B               │VDHSetError                                      │
| 8D/49
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCheckVPMExcept|VDHCheckVPMExcept]]
│8D/6C               │VDHHandleFromSGID                                │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/4A
│8D/6D               │VDHEnumerateVDMs                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHGetVPMExcept|VDHGetVPMExcept]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/6E               │VDHQueryLin                                      │
| 8D/4B
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetVPMExcept|VDHSetVPMExcept]]
│8D/6F               │VDHQuerySysValue                                  │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/4C
│8D/70               │VDHDevBeep                                        │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCheckVPMIntVector|VDHCheckVPMIntVector]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/71               │VDHProcessToGlobal                                │
| 8D/4D
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHGetVPMIntVector|VDHGetVPMIntVector]]
│8D/72               │VDHInstallFaultHook                              │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/4E
│8D/73               │VDHRemoveFaultHook                                │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetVPMIntVector|VDHSetVPMIntVector]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8D/74               │VDHMapMemBlock                                    │
| 8D/4F
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHArmVPMBPHook|VDHArmVPMBPHook]]
│8D/75               │VDHRegisterProperty                              │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/50
│8D/76               │VDHQueryProperty                                  │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHBeginUseVPMStack|VDHBeginUseVPMStack]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8E/2A               │VDHSetVIRR                                        │
| 8D/51
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHEndUseVPMStack|VDHEndUseVPMStack]]
│8E/2B               │VDHClearVIRR                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/52
│8E/2C               │VDHQueryVIRQ                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHProbeUBuf|VDHProbeUBuf]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8E/2D               │VDHWaitVIRRs                                      │
| 8D/53
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPopVPMFarRet|VDHPopVPMFarRet]]
│8E/2E               │VDHWakeVIRRs                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/54
│8E/38               │VDHSendVEOI                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPrepVPMIret|VDHPrepVPMIret]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8E/AA               │VDHSetVIRR                                        │
| 8D/55
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHKillVDM|VDHKillVDM]]
│8E/AB               │VDHClearVIRR                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/56
│8E/AC               │VDHQueryVIRQ                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHHaltSystem|VDHHaltSystem]]
├────────────────────┼──────────────────────────────────────────────────┤
|-
│8E/AD               │VDHWaitVIRRs                                      │
| 8D/57
├────────────────────┼──────────────────────────────────────────────────┤
| [[VDDR/2_-_Assembler_Language_Syntax#VDHFreezeVDM|VDHFreezeVDM]]
│8E/AE               │VDHWakeVIRRs                                      │
|-
├────────────────────┼──────────────────────────────────────────────────┤
| 8D/58
│8E/B8               │VDHSendVEOI                                      │
| [[VDDR/2_-_Assembler_Language_Syntax#VDHThawVDM|VDHThawVDM]]
└────────────────────┴──────────────────────────────────────────────────┘
|-
| 8D/59
| [[VDDR/2_-_Assembler_Language_Syntax#VDHIsVDMFrozen|VDHIsVDMFrozen]]
|-
| 8D/5A
| [[VDDR/2_-_Assembler_Language_Syntax#VDHOpenPDD|VDHOpenPDD]]
|-
| 8D/5B
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRegisterVDD|VDHRegisterVDD]]
|-
| 8D/5C
| [[VDDR/2_-_Assembler_Language_Syntax#VDHInstallUserHook|VDHInstallUserHook]]
|-
| 8D/5D
| [[VDDR/2_-_Assembler_Language_Syntax#VDHValidatePID|VDHValidatePID]]
|-
| 8D/5E
| [[VDDR/2_-_Assembler_Language_Syntax#VDHVMGetHandle|VDHVMGetHandle]]
|-
| 8D/5F
| [[VDDR/2_-_Assembler_Language_Syntax#VDHVMAttach|VDHVMAttach]]
|-
| 8D/60
| [[VDDR/2_-_Assembler_Language_Syntax#VDHOpenVDD|VDHOpenVDD]]
|-
| 8D/61
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCloseVDD|VDHCloseVDD]]
|-
| 8D/62
| [[VDDR/2_-_Assembler_Language_Syntax#VDHHandleFromPID|VDHHandleFromPID]]
|-
| 8D/63
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQuerySel|VDHQuerySel]]
|-
| 8D/64
| [[VDDR/2_-_Assembler_Language_Syntax#VDHPutSysValue|VDHPutSysValue]]
|-
| 8D/65
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRequestVDD|VDHRequestVDD]]
|-
| 8D/66
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRegisterPerfCtrs|VDHRegisterPerfCtrs]]
|-
| 8D/67
| [[VDDR/2_-_Assembler_Language_Syntax#VDHDecodeProperty|VDHDecodeProperty]]
|-
| 8D/68
| [[VDDR/2_-_Assembler_Language_Syntax#VDHCreateThread|VDHCreateThread]]
|-
| 8D/69
| [[VDDR/2_-_Assembler_Language_Syntax#VDHExitThread|VDHExitThread]]
|-
| 8D/6A
| [[VDDR/2_-_Assembler_Language_Syntax#VDHGetError|VDHGetError]]
|-
| 8D/6B
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetError|VDHSetError]]
|-
| 8D/6C
| [[VDDR/2_-_Assembler_Language_Syntax#VDHHandleFromSGID|VDHHandleFromSGID]]
|-
| 8D/6D
| [[VDDR/2_-_Assembler_Language_Syntax#VDHEnumerateVDMs|VDHEnumerateVDMs]]
|-
| 8D/6E
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQueryLin|VDHQueryLin]]
|-
| 8D/6F
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQuerySysValue|VDHQuerySysValue]]
|-
| 8D/70
| [[VDDR/2_-_Assembler_Language_Syntax#VDHDevBeep|VDHDevBeep]]
|-
| 8D/71
| [[VDDR/2_-_Assembler_Language_Syntax#VDHProcessToGlobal|VDHProcessToGlobal]]
|-
| 8D/72
| [[VDDR/2_-_Assembler_Language_Syntax#VDHInstallFaultHook|VDHInstallFaultHook]]
|-
| 8D/73
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRemoveFaultHook|VDHRemoveFaultHook]]
|-
| 8D/74
| [[VDDR/2_-_Assembler_Language_Syntax#VDHMapMemBlock|VDHMapMemBlock]]
|-
| 8D/75
| [[VDDR/2_-_Assembler_Language_Syntax#VDHRegisterProperty|VDHRegisterProperty]]
|-
| 8D/76
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQueryProperty|VDHQueryProperty]]
|-
| 8E/2A
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetVIRR|VDHSetVIRR]]
|-
| 8E/2B
| [[VDDR/2_-_Assembler_Language_Syntax#VDHClearVIRR|VDHClearVIRR]]
|-
| 8E/2C
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQueryVIRQ|VDHQueryVIRQ]]
|-
| 8E/2D
| [[VDDR/2_-_Assembler_Language_Syntax#VDHWaitVIRRs|VDHWaitVIRRs]]
|-
| 8E/2E
| [[VDDR/2_-_Assembler_Language_Syntax#VDHWakeVIRRs|VDHWakeVIRRs]]
|-
| 8E/38
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSendVEOI|VDHSendVEOI]]
|-
| 8E/AA
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSetVIRR|VDHSetVIRR]]
|-
| 8E/AB
| [[VDDR/2_-_Assembler_Language_Syntax#VDHClearVIRR|VDHClearVIRR]]
|-
| 8E/AC
| [[VDDR/2_-_Assembler_Language_Syntax#VDHQueryVIRQ|VDHQueryVIRQ]]
|-
| 8E/AD
| [[VDDR/2_-_Assembler_Language_Syntax#VDHWaitVIRRs|VDHWaitVIRRs]]
|-
| 8E/AE
| [[VDDR/2_-_Assembler_Language_Syntax#VDHWakeVIRRs|VDHWakeVIRRs]]
|-
| 8E/B8
| [[VDDR/2_-_Assembler_Language_Syntax#VDHSendVEOI|VDHSendVEOI]]
|}

Latest revision as of 21:52, 20 May 2025

Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation

SMP Programming Addendum
  1. How to Use the SMP Programming Addendum
  2. Introduction to OS/2 Warp Server Version 4 Advanced
  3. Platform Specific Drivers (PSDs)
  4. High Memory Support
  5. Raw File System
  6. Processor Management and Performance Functions
  7. Application Considerations
  8. Device Drivers In OS/2 Warp Server for SMP
  9. New Device Helper (DevHlp) Routines
  10. Kernel Debugger
  11. The ICAT Debugger
  12. Software Trace Facility (STRACE)
  13. View and Set Program Type For Executable File (MARKEXE)
  14. Data Types
  15. Errors
  16. Generic IOCtl Commands
  17. Sample Source Code for a PSD
  18. Comments, Please!
  19. Glossary
  20. Notices
Hook ID and Event Name Codes
Hook ID
Major/Minor Code
Event Name
8D/01 VDHCreateSem
8D/02 VDHDestroySem
8D/03 VDHWaitEventSem
8D/04 VDHRequestMutexSem
8D/05 VDHReleaseMutexSem
8D/06 VDHResetEventSem
8D/07 VDHPostEventSem
8D/08 VDHQuerySem
8D/09 VDHArmTimerHook
8D/0A VDHDisArmTimerHook
8D/0B VDHAllocMem
8D/0C VDHFreeMem
8D/0D VDHAllocDosMem
8D/0E VDHCreateBlockPool
8D/0F VDHAllocBlock
8D/10 VDHFreeBlock
8D/11 VDHDestroyBlockPool
8D/12 VDHCopyMem
8D/13 VDHExchangeMem
8D/14 VDHAllocPages
8D/15 VDHReallocPages
8D/16 VDHFreePages
8D/17 VDHFindFreePages
8D/18 VDHGetDirtyPageInfo
8D/19 VDHQueryFreePages
8D/1A VDHReservePages
8D/1B VDHUnreservePages
8D/1C VDHMapPages
8D/1D VDHAllocDMABuffer
8D/1E VDHFreeDMABuffer
8D/1F VDHYield
8D/20 VDHSetPriority
8D/21 VDHCreateSel
8D/22 VDHDestroySel
8D/23 VDHLockMem
8D/24 VDHUnlockMem
8D/25 VDHQueryHookData
8D/26 VDHArmContextHook
8D/27 VDHArmSTIHook
8D/28 VDHArmReturnHook
8D/29 VDHPushFarCall
8D/2F VDHPushRegs
8D/30 VDHPopRegs
8D/31 VDHPushStack
8D/32 VDHPopStack
8D/33 VDHSwitchToVPM
8D/34 VDHSwitchToV86
8D/35 VDHSetFlags
8D/36 VDHPushInt
8D/37 VDHPopInt
8D/39 VDHSetDosDevice
8D/3A VDHInstallIOHook
8D/3B VDHRemoveIOHook
8D/3C VDHSetIOHookState
8D/3D VDHInstallIntHook
8D/3E VDHAllocHook
8D/3F VDHFreeHook
8D/40 VDHArmBPHook
8D/41 VDHRegisterDPMI
8D/42 VDHGetSelBase
8D/43 VDHChangeVPMIF
8D/44 VDHReadUBuf
8D/45 VDHWriteUBuf
8D/46 VDHStartHWInt
8D/47 VDHCheckPagePerm
8D/48 VDHRaiseException
8D/49 VDHCheckVPMExcept
8D/4A VDHGetVPMExcept
8D/4B VDHSetVPMExcept
8D/4C VDHCheckVPMIntVector
8D/4D VDHGetVPMIntVector
8D/4E VDHSetVPMIntVector
8D/4F VDHArmVPMBPHook
8D/50 VDHBeginUseVPMStack
8D/51 VDHEndUseVPMStack
8D/52 VDHProbeUBuf
8D/53 VDHPopVPMFarRet
8D/54 VDHPrepVPMIret
8D/55 VDHKillVDM
8D/56 VDHHaltSystem
8D/57 VDHFreezeVDM
8D/58 VDHThawVDM
8D/59 VDHIsVDMFrozen
8D/5A VDHOpenPDD
8D/5B VDHRegisterVDD
8D/5C VDHInstallUserHook
8D/5D VDHValidatePID
8D/5E VDHVMGetHandle
8D/5F VDHVMAttach
8D/60 VDHOpenVDD
8D/61 VDHCloseVDD
8D/62 VDHHandleFromPID
8D/63 VDHQuerySel
8D/64 VDHPutSysValue
8D/65 VDHRequestVDD
8D/66 VDHRegisterPerfCtrs
8D/67 VDHDecodeProperty
8D/68 VDHCreateThread
8D/69 VDHExitThread
8D/6A VDHGetError
8D/6B VDHSetError
8D/6C VDHHandleFromSGID
8D/6D VDHEnumerateVDMs
8D/6E VDHQueryLin
8D/6F VDHQuerySysValue
8D/70 VDHDevBeep
8D/71 VDHProcessToGlobal
8D/72 VDHInstallFaultHook
8D/73 VDHRemoveFaultHook
8D/74 VDHMapMemBlock
8D/75 VDHRegisterProperty
8D/76 VDHQueryProperty
8E/2A VDHSetVIRR
8E/2B VDHClearVIRR
8E/2C VDHQueryVIRQ
8E/2D VDHWaitVIRRs
8E/2E VDHWakeVIRRs
8E/38 VDHSendVEOI
8E/AA VDHSetVIRR
8E/AB VDHClearVIRR
8E/AC VDHQueryVIRQ
8E/AD VDHWaitVIRRs
8E/AE VDHWakeVIRRs
8E/B8 VDHSendVEOI