en:docs:dpmi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:dpmi [2021/08/06 09:13] prokusheven:docs:dpmi [2023/03/25 03:17] (current) prokushev
Line 2: Line 2:
  
  
-**Note: This API implemented by DPMI extenders under DOS and by DOSX.EXE under Windows **+**Note: This API implemented by DPMI extenders under DOS and by DOSX.EXE under Windows. Under OS/2 MVDM this API implemented by VDPMI **
  
-^ Interrupt ^ AX ^ Description ^ Version ^ +^ Interrupt ^ AX ^ Description ^ Version ^ 32-bit host ^ 16-bit host 
-| 2f | 1680 | Release Current Virtual Machine's Time Slice | 1.0 | +| 2f | [[en:docs:dpmi:api:int2f:16:80|1680]] | Release Current Virtual Machine's Time Slice | 1.0 | Yes | Yes 
-| 2f | 1686 | Get CPU Mode | 0.9 | +| 2f | [[en:docs:dpmi:api:int2f:16:86|1686]] | Get CPU Mode | 0.9 | Yes | Yes 
-| 2f | 1687 | Obtain Real-to-Protected Mode Switch Entry Point | 0.9 | +| 2f | [[en:docs:dpmi:api:int2f:16:87|1687]] | Obtain Real-to-Protected Mode Switch Entry Point | 0.9 | Yes | Yes 
-| 2f | 168a | Get Vendor-Specific API Entry Point | 1.0 | +| 2f | [[en:docs:dpmi:api:int2f:16:8a|168A]] | Get Vendor-Specific API Entry Point | 1.0 | Yes | Yes 
-| 31 | 0000 | Allocate LDT Descriptors | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:00|0000]] | Allocate LDT Descriptors | 0.9 | Yes | Yes 
-| 31 | 0001 | Free LDT Descriptor | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:01|0001]] | Free LDT Descriptor | 0.9 | Yes | Yes 
-| 31 | 0002 | Segment to Descriptor | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:02|0002]] | Segment to Descriptor | 0.9 | 
-| 31 | 0003 | Get Selector Increment Value | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:03|0003]] | Get Selector Increment Value | 0.9 | 
-| 31 | 0004 | Reserved | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:06|0006]] | Get Segment Base Address | 0.9 | 
-| 31 | 0005 | Reserved | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:07|0007]] | Set Segment Base Address | 0.9 | 
-| 31 | 0006 | Get Segment Base Address | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:08|0008]] | Set Segment Limit | 0.9 | 
-| 31 | 0007 | Set Segment Base Address | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:09|0009]] | Set Descriptor Access Rights | 0.9 | 
-| 31 | 0008 | Set Segment Limit | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:0A|000A]] | Create Alias Descriptor | 0.9 | 
-| 31 | 0009 | Set Descriptor Access Rights | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:0B|000B]] | Get Descriptor | 0.9 | 
-| 31 | 000a | Create Alias Descriptor | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:0C|000C]] | Set Descriptor | 0.9 | 
-| 31 | 000b | Get Descriptor | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:0D|000D]] | Allocate Specific LDT Descriptor | 0.9 | 
-| 31 | 000c | Set Descriptor | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:0E|000E]] | Get Multiple Descriptors | 1.0 | 
-| 31 | 000d | Allocate Specific LDT Descriptor | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:00:0F|000F]] | Set Multiple Descriptors | 1.0 | 
-| 31 | 000e | Get Multiple Descriptors | 1.0 | +| 31 | [[en:docs:dpmi:api:int31:01:00|0100]] | Allocate DOS Memory Block | 0.9 | 
-| 31 | 000f | Set Multiple Descriptors | 1.0 | +| 31 | [[en:docs:dpmi:api:int31:01:01|0101]] | Free DOS Memory Block | 0.9 | 
-| 31 | 0100 | Allocate DOS Memory Block | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:01:02|0102]] | Resize DOS Memory Block | 0.9 | 
-| 31 | 0101 | Free DOS Memory Block | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:00|0200]] | Get Real Mode Interrupt Vector | 0.9 | 
-| 31 | 0102 | Resize DOS Memory Block | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:01|0201]] | Set Real Mode Interrupt Vector | 0.9 | 
-| 31 | 0200 | Get Real Mode Interrupt Vector | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:02|0202]] | Get Processor Exception Handler Vector | 0.9 | 
-| 31 | 0201 | Set Real Mode Interrupt Vector | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:03|0203]] | Set Processor Exception Handler Vector | 0.9 | 
-| 31 | 0202 | Get Processor Exception Handler Vector | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:04|0204]] | Get Protected Mode Interrupt Vector | 0.9 | 
-| 31 | 0203 | Set Processor Exception Handler Vector | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:05|0205]] | Set Protected Mode Interrupt Vector | 0.9 | 
-| 31 | 0204 | Get Protected Mode Interrupt Vector | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:10|0210]] | Get Extended Processor Exception Handler Vector (Protected Mode) | 1.0 | 
-| 31 | 0205 | Set Protected Mode Interrupt Vector | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:02:11|0211]] | Get Extended Processor Exception Handler Vector (Real Mode) | 1.0 | 
-| 31 | 0210 | Get Extended Processor Exception Handler Vector (Protected Mode) | 1.0 | +| 31 | [[en:docs:dpmi:api:int31:02:12|0212]] | Set Extended Processor Exception Handler Vector (Protected Mode) | 1.0 | 
-| 31 | 0211 | Get Extended Processor Exception Handler Vector (Real Mode) | 1.0 | +| 31 | [[en:docs:dpmi:api:int31:02:13|0213]] | Set Extended Processor Exception Handler Vector (Real Mode) | 1.0 | 
-| 31 | 0212 | Set Extended Processor Exception Handler Vector (Protected Mode) | 1.0 | +| 31 | [[en:docs:dpmi:api:int31:03:00|0300]] | Simulate Real Mode Interrupt | 0.9 | 
-| 31 | 0213 | Set Extended Processor Exception Handler Vector (Real Mode) | 1.0 | +| 31 | [[en:docs:dpmi:api:int31:03:01|0301]] | Call Real Mode Procedure With Far Return Frame | 0.9 | 
-| 31 | 0300 | Simulate Real Mode Interrupt | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:03:02|0302]] | Call Real Mode Procedure With IRET Frame | 0.9 | 
-| 31 | 0301 | Call Real Mode Procedure With Far Return Frame | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:03:03|0303]] | Allocate Real Mode Callback Address | 0.9 | 
-| 31 | 0302 | Call Real Mode Procedure With IRET Frame | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:03:04|0304]] | Free Real Mode Callback Address | 0.9 
-| 31 | 0303 | Allocate Real Mode Callback Address | 0.9 | +| 31 | [[en:docs:dpmi:api:int31:03:05|0305]] | Get State Save/Restore Addresses | 0.9 
-| [0.9] | 31 | 0304 | Free Real Mode Callback Address | +| 31 | [[en:docs:dpmi:api:int31:03:06|0306]] | Get Raw Mode Switch Addresses | 0.9 
-| [0.9| 31 | 0305 | Get State Save/Restore Addresses | +| 31 | [[en:docs:dpmi:api:int31:04:00|0400]] | Get Version | 0.9 | 
-| [0.9| 31 | 0306 | Get Raw Mode Switch Addresses | +| 31 | [[en:docs:dpmi:api:int31:04:01|0401]] | Get DPMI Capabilities | 1.0 | 
-| [0.9| 31 | 0400 | Get Version | +| 31 | [[en:docs:dpmi:api:int31:05:00|0500]] | Get Free Memory Information | 0.9 
-| [1.0| 31 | 0401 | Get DPMI Capabilities | +| 31 | [[en:docs:dpmi:api:int31:05:01|0501]] | Allocate Memory Block | 0.9 
-| [0.9] | 31 | 0500 | Get Free Memory Information | +| 31 | [[en:docs:dpmi:api:int31:05:02|0502]] | Free Memory Block | 0.9 
-| [0.9| 31 | 0501 | Allocate Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:03|0503]] | Resize Memory Block | 0.9 | 
-| [0.9| 31 | 0502 | Free Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:04|0504]] | Allocate Linear Memory Block | 1.0 
-| [0.9| 31 | 0503 | Resize Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:05|0505]] | Resize Linear Memory Block | 1.0 
-| [1.0| 31 | 0504 | Allocate Linear Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:06|0506]] | Get Page Attributes | 1.0 
-| [1.0| 31 | 0505 | Resize Linear Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:07|0507]] | Set Page Attributes | 1.0 
-| [1.0| 31 | 0506 | Get Page Attributes | +| 31 | [[en:docs:dpmi:api:int31:05:08|0508]] | Map Device in Memory Block | 1.0 
-| [1.0| 31 | 0507 | Set Page Attributes | +| 31 | [[en:docs:dpmi:api:int31:05:09|0509]] | Map Conventional Memory in Memory Block | 1.0 
-| [1.0| 31 | 0508 | Map Device in Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:0A|050A]] | Get Memory Block Size and Base | 1.0 
-| [1.0| 31 | 0509 | Map Conventional Memory in Memory Block | +| 31 | [[en:docs:dpmi:api:int31:05:0B|050B]] | Get Memory Information | 1.0 | 
-| [1.0| 31 | 050a | Get Memory Block Size and Base | +| 31 | [[en:docs:dpmi:api:int31:06:00|0600]] | Lock Linear Region | 0.9 
-| [1.0| 31 | 050b | Get Memory Information | +| 31 | [[en:docs:dpmi:api:int31:06:01|0601]] | Unlock Linear Region | 0.9 
-| [0.9] | 31 | 0600 | Lock Linear Region | +| 31 | [[en:docs:dpmi:api:int31:06:02|0602]] | Mark Real Mode Region as Pageable | 0.9 
-| [0.9| 31 | 0601 | Unlock Linear Region | +| 31 | [[en:docs:dpmi:api:int31:06:03|0603]] | Relock Real Mode Region | 0.9 
-| [0.9| 31 | 0602 | Mark Real Mode Region as Pageable | +| 31 | [[en:docs:dpmi:api:int31:06:04|0604]] | Get Page Size | 0.9 | 
-| [0.9| 31 | 0603 | Relock Real Mode Region | +| 31 | [[en:docs:dpmi:api:int31:07:02|0702]] | Mark Page as Demand Paging Candidate | 0.9 
-| [0.9| 31 | 0604 | Get Page Size | +| 31 | [[en:docs:dpmi:api:int31:07:03|0703]] | Discard Page Contents | 0.9 
-| [0.9] | 31 | 0700 | Reserved +| 31 | [[en:docs:dpmi:api:int31:08:00|0800]] | Physical Address Mapping | 0.9 | 
-| [0.9] | 31 | 0701 | Reserved | +| 31 | [[en:docs:dpmi:api:int31:08:01|0801]] | Free Physical Address Mapping | 1.0 | 
-| [0.9] | 31 | 0702 | Mark Page as Demand Paging Candidate | +| 31 | [[en:docs:dpmi:api:int31:09:00|0900]] | Get and Disable Virtual Interrupt State | 0.9 
-| [0.9| 31 | 0703 | Discard Page Contents | +| 31 | [[en:docs:dpmi:api:int31:09:01|0901]] | Get and Enable Virtual Interrupt State | 0.9 
-| [0.9| 31 | 0800 | Physical Address Mapping | +| 31 | [[en:docs:dpmi:api:int31:09:02|0902]] | Get Virtual Interrupt State | 0.9 
-| [1.0| 31 | 0801 | Free Physical Address Mapping | +| 31 | [[en:docs:dpmi:api:int31:0A:00|0A00]] | Get Vendor-Specific API Entry Point | 0.9 
-| [0.9] | 31 | 0900 | Get and Disable Virtual Interrupt State | +| 31 | [[en:docs:dpmi:api:int31:0B:00|0B00]] | Set Debug Watchpoint | 0.9 
-| [0.9| 31 | 0901 | Get and Enable Virtual Interrupt State | +| 31 | [[en:docs:dpmi:api:int31:0B:01|0B01]] | Clear Debug Watchpoint | 0.9 
-| [0.9| 31 | 0902 | Get Virtual Interrupt State | +| 31 | [[en:docs:dpmi:api:int31:0B:02|0B02]] | Get State of Debug Watchpoint | 0.9 
-| [0.9| 31 | 0a00 | Get Vendor-Specific API Entry Point | +| 31 | [[en:docs:dpmi:api:int31:0B:03|0B03]] | Reset Debug Watchpoint | 0.9 | 
-| [0.9| 31 | 0b00 | Set Debug Watchpoint | +| 31 | [[en:docs:dpmi:api:int31:0C:00|0C00]] | Install Resident Service Provider Callback | 1.0 
-| [0.9| 31 | 0b01 | Clear Debug Watchpoint | +| 31 | [[en:docs:dpmi:api:int31:0C:01|0C01]] | Terminate and Stay Resident | 1.0 
-| [0.9| 31 | 0b02 | Get State of Debug Watchpoint | +| 31 | [[en:docs:dpmi:api:int31:0D:00|0D00]] | Allocate Shared Memory | 1.0 
-| [0.9| 31 | 0b03 | Reset Debug Watchpoint | +| 31 | [[en:docs:dpmi:api:int31:0D:01|0D01]] | Free Shared Memory | 1.0 
-| [1.0| 31 | 0c00 | Install Resident Service Provider Callback | +| 31 | [[en:docs:dpmi:api:int31:0D:02|0D02]] | Serialize on Shared Memory | 1.0 
-| [1.0| 31 | 0c01 | Terminate and Stay Resident | +| 31 | [[en:docs:dpmi:api:int31:0D:03|0D03]] | Free Serialization on Shared Memory | 1.0 
-| [1.0| 31 | 0d00 | Allocate Shared Memory | +| 31 | [[en:docs:dpmi:api:int31:0E:00|0E00]] | Get Coprocessor Status | 1.0 
-| [1.0| 31 | 0d01 | Free Shared Memory | +| 31 | [[en:docs:dpmi:api:int31:0E:01|0E01]] | Set Coprocessor Emulation | 1.0 | 
-| [1.0| 31 | 0d02 | Serialize on Shared Memory | + 
-| [1.0| 31 | 0d03 | Free Serialization on Shared Memory | +{{page>en:templates:dpmi:int}}
-| [1.0| 31 | 0e00 | Get Coprocessor Status | +
-| [1.0| 31 | 0e01 | Set Coprocessor Emulation |+