Jump to content

Physical Device Driver (DevHlp) Functions: Difference between revisions

From EDM2
No edit summary
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
You can find more information at the [[Physical Device Driver Reference]].  
You can find more information at the [[Physical Device Driver Reference]].
 
==Functions==


== DevHlp Services ==
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
===OS/2 Monitor Functions===
* [[DosMonOpen]]
* [[DosMonReg]]
* [[DosMonRead]]
* [[DosMonWrite]]
* [[DosMonClose]]
=== DevHlp Services ===
* [[DevHelp_ABIOSCall]]
* [[DevHelp_ABIOSCall]]
* [[DevHelp_ABIOSCommonEntry]]
* [[DevHelp_ABIOSCommonEntry]]
Line 73: Line 63:
* [[DevHelp_ROMCritSection]]
* [[DevHelp_ROMCritSection]]
* [[DevHelp_Save_Message]]
* [[DevHelp_Save_Message]]
* [[DevHelp_SchedClock]]
* [[DevHlp_SchedClock]]
* [[DevHelp_SemClear]]
* [[DevHelp_SemClear]]
* [[DevHelp_SemHandle]]
* [[DevHelp_SemHandle]]
Line 100: Line 90:
* [[DevHelp_VMUnLock]]
* [[DevHelp_VMUnLock]]
* [[DevHelp_Yield]]
* [[DevHelp_Yield]]
 
</div>
===RMCALLS library (Resource Manager)===
* [[RMADDToHDevice]]
* [[RMAdjToHandleList]]
* [[RMAllocResource]]
* [[RMConvertID]]
* [[RMCreateAdapter]]
* [[RMCreateDetected]]
* RMCreateDevice
* RMCreateDriver
* RMCreateLDev
* RMCreateSysName
* RMDeAllocResource
* RMDestroyAdapter
* RMDestroyDetected
* RMDestroyDevice
* RMDestroyDriver
* RMDestroyLDev
* RMDestroySysName
* RMDevIDToHandleList
* RMGetCommandLine
* RMGetDriverName
* RMGetNodeInfo
* RMGetVersion
* RMHandleToParent
* RMHandleToResourceHandleList
* RMHandleToType
* RMHDevToHLDev
* RMKeyToHandleList
* RMModifyNodeFlags
* RMModifyResources
* RMParseSCSIInquiry
* RMResToHandleList
* RMUpdateAdjunct
 
===SMP DevHlps===
* [[DosCreateSpinLock]]
* [[DosFreeSpinLock]]
* [[DosAcquireSpinLock]] [[image:Vraag.gif]]
* [[DosReleaseSpinLock]] [[image:Vraag.gif]]
* [[DosAllocThreadLocalMemory]]
* [[DosFreeThreadLocalMemory]]
* [[DosQuerySysInfo]]


===Services and Function Codes===
===Services and Function Codes===
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* [[DevHlp_OpenFile]]
* [[DevHlp_OpenFile]]
* [[DevHlp_CloseFile]]
* [[DevHlp_CloseFile]]
Line 152: Line 101:
* [[DevHlp_QSysState]]
* [[DevHlp_QSysState]]
* [[DevHlp_KillProc]]
* [[DevHlp_KillProc]]
* [[DevHlp_Security]]  
* [[DevHlp_Security]]
* [[DevHlp_SysTrace]]
* [[DevHlp_SysTrace]]
</div>


===Undocumented===
===Undocumented===
* [[DevHlp_EOI]] [[image:Vraag.gif]]
* [[DevHlp_PhytoUsableVirt]]
* [[DevHlp_PhytoUsableVirt]] [[image:Vraag.gif]]
* DevHlp32_GetInfoSegs
* DevHlp32_GetInfoSegs [[image:Vraag.gif]]
</div>
 
==Data Types==
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* [[ADAPTERSTRUCT]]
* [[ADJHANDLELIST]]
* [[ADJINFO]]
* [[ADJUNCT]]
* [[AHRESOURCE]]
* [[DATESTAMP]]
* [[DETECTEDSTRUCT]]
* [[DEVICESTRUCT]]
* [[DMARESOURCE]]
* [[DRIVERINFO]]
* [[DRIVERSTRUCT]]
* [[HANDLELIST]]
* [[IORESOURCE]]
* [[IRQRESOURCE]]
* [[LDEVSTRUCT]]
* [[MEMRESOURCE]]
* [[NODEENTRY]]
* [[RESOURCELIST]]
* [[RESOURCETYPE]]
* [[RM_GETNODE_DATA]]
* [[RM_NODE]]
* [[SYSNAMESTRUCT]]
* [[TMRRESOURCE]]
</div>
 
==Generic IOCtl Commands==
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
;Category 01h ASYNC (RS232-C) Control IOCtl Commands
        ASYNC_SETBAUDRATE (41h) - Set Bit Rate
        ASYNC_SETLINECTRL (42h) - Set Line Characteristics
        ASYNC_EXTSETBAUDRATE (43h) - Extended Set Bit Rate
        ASYNC_TRANSMITIMM (44h) - Transmit Byte Immediate
        ASYNC_SETBREAKOFF (45h) - Set Break OFF
        ASYNC_SETMODEMCTRL (46h) - Set Modem Control Signals
        ASYNC_STOPTRANSMIT (47h) - Behave as if XOFF Received
        ASYNC_STARTTRANSMIT (48h) - Behave as if XON Received
        ASYNC_SETBREAKON (4Bh) - Set Break On
        ASYNC_SETDCBINFO (53h) - Set Device Control Block (DCB) Parameters
        ASYNC_SETENHANCEDMODEPARMS (54h) - Set Enhanced Mode Parameters
        ASYNC_GETBAUDRATE (61h) - Query Current Bit Rate
        ASYNC_GETLINECTRL (62h) - Query Line Characteristics
        ASYNC_EXTGETBAUDRATE (63h) - Extended Query Bit Rate
        ASYNC_GETCOMMSTATUS (64h) - Query COM Status
        ASYNC_GETLINESTATUS (65h) - Query Transmit Data Status
        ASYNC_GETMODEMOUTPUT (66h) - Query Modem Output Signals
        ASYNC_GETMODEMINPUT (67h) - Query Current Modem Input Signals
        ASYNC_GETINQUECOUNT (68h) - Query Number of Characters in Receive Queue
        ASYNC_GETOUTQUECOUNT (69h) - Query Number of Characters in Transmit Queue
        ASYNC_GETCOMMERROR (6Dh) - Query COM Error
        ASYNC_GETCOMMEVENT (72h) - Query COM Event Information
        ASYNC_GETDCBINFO (73h) - Query Device Control Block (DCB) Parameters
        ASYNC_GETENHANCEDMODEPARMS (74h) - Query Enhanced Mode Parameters
;Category 03h Video Control IOCtl Commands
        SCR_ALLOCLDT (70h) - Allocate an LDT Selector
        SCR_DEALLOCLDT (71h) - Deallocate an LDT Selector
        PTR_GETPTRDRAWADDRESS (72h) - Query Pointer Draw Access
        VID_INITCALLVECTOR (73h) - Initialize Call Vector Table
        SCR_ABIOSPASSTHRU (74h) - ABIOS Pass-Through
        SCR_ALLOCLDTOFF (75h) - Allocate an LDT Selector with Offset
        SCR_ALLOCLDTBGVAL (76h) - Allocate an LDT Selector with Background Validation
        SCR_ALLOCVIDEOBUFFER (7Eh) - Allocate Video Buffer - DBCS
        SCR_GETROMFONTADDR (7Fh) - Get Address to ROM Font - DBCS
;Category 04h Keyboard Control IOCtl Commands
        KBD_SETTRANSTABLE (50h) - Set Code Page
        KBD_SETINPUTMODE (51h) - Set Input Mode (Default ASCII)
        KBD_SETINTERIMFLAG (52h) - Set Interim Character Flags
        KBD_SETSHIFTSTATE (53h) - Set Shift State
        KBD_SETTYPAMATICRATE (54h) - Set Typematic Rate and Delay
        KBD_SETSESMGRHOTKEY (56h) - Set Session Manager Hot Key
        KBD_SETKCB (57h) - Set Keyboard Control Block (KCB)
        KBD_SETCP (58h) - Set Code Page Number
        KBD_SETREADNOTIFICATION (59h) - Set Read/Peek Notification
        KBD_ALTERKBDLED (5Ah) - Alter Keyboard LEDs
        KBD_SETNLS (5Ch) - Set NLS and Custom Code Page
        KBD_CREATE (5Dh) - Create New Logical Keyboard
        KBD_DESTROY (5Eh) - Destroy Logical Keyboard
        KBD_GETINPUTMODE (71h) - Query Input Mode
        KBD_GETINTERIMFLAG (72h) - Query Interim Character Flags
        KBD_GETSHIFTSTATE (73h) - Query Shift State
        KBD_READCHAR (74h) - Read Character Data Records
        KBD_PEEKCHAR (75h) - Peek Character Data Record
        KBD_GETSESMGRHOTKEY (76h) - Query Session Manager Hot Key
        KBD_GETKEYBDTYPE (77h) - Query Keyboard Type
        KBD_GETCODEPAGEID (78h) - Query Code Page Number
        KBD_XLATESCAN (79h) - Translate Scan Code to ASCII
        KBD_QUERYKBDHARDWAREID (7Ah) - Query Keyboard Hardware ID
        KBD_QUERYKBDCODEPAGESUPPORT (7Bh) - Query Keyboard Code Page Information
;Category 05h Parallel Port Control IOCtl Commands
        PRT_SETFRAMECTL (42h) - Set Frame Control
        PRT_SETINFINITERETRY (44h) - Set Infinite Retry
        PRT_INITPRINTER (46h) - Initialize Parallel Port Device
        PRT_ACTIVATEFONT (48h) - Activate Font
        PRT_SETPRINTJOBTITLE (4Dh) - Set Print-Job Title
        PRT_SETIRQTIMEOUT (4Eh) - Set Parallel Port Write Timeout Value
        PRT_SETCOMMMODE (52h) - Set Parallel Port Communication Mode
        PRT_SETDATAXFERMODE (53h) - Set the Parallel Port Data Transfer Mode
        PRT_GETFRAMECTL (62h) - Query Frame Control
        PRT_GETINFINITERETRY (64h) - Query Infinite Retry
        PRT_GETPRINTERSTATUS (66h) - Query Parallel Port Status
        PRT_QUERYACTIVEFONT (69h) - Query Active Font
        PRT_VERIFYFONT (6Ah) - Verify Font
        PRT_QUERYIRQTIMEOUT (6Eh) - Query Parallel Port Write Timeout Value
        PRT_QUERYCOMMMODE (72h) - Query Parallel Port Communication Mode
        PRT_QUERYDATAXFERMODE (73h) - Query the Parallel Port Data Transfer Mode
        PRT_QUERYDEVICEID (74h) - Query Parallel Port Device ID
;Category 07h Mouse Control IOCtl Commands
        MOU_UPDATEDISPLAYMODE (51h) - Notification of Display Mode Change
        MOU_SETSCALEFACTORS (53h) - Reassign Current Mouse Scaling Factors
        MOU_SETEVENTMASK (54h) - Assign New Mouse Event Mask
        MOU_REASSIGNTHRESHOLDVALUES (55h) - Reassign Mouse Threshold Values
        MOU_SETPTRSHAPE (56h) - Set Pointer Shape
        MOU_UNMARKCOLLISIONAREA (57h) - Unmark Collision Area
        MOU_MARKCOLLISIONAREA (58h) - Mark Collision Area
        MOU_SETPTRPOS (59h) - Specify/Replace Pointer Screen Position
        MOU_SETPROTDRAWADDRESS (5Ah) - Set OS/2 Mode Pointer Draw Device Driver Address
        MOU_SETMOUSTATUS (5Ch) - Set Physical Mouse Device Driver Status Flags
        MOU_DISPLAYMODECHANGE (5Dh) - Notification of Mode Switch Completion
        MOU_GETBUTTONCOUNT (60h) - Query Number of Mouse Buttons Supported
        MOU_GETMICKEYCOUNT (61h) - Query Mouse Device Motion Sensitivity
        MOU_GETMOUSTATUS (62h) - Query Current Physical Mouse Driver Status Flags
        MOU_READEVENTQUE (63h) - Read Mouse Event Queue
        MOU_GETQUESTATUS (64h) - Query Event Queue Status
        MOU_GETEVENTMASK (65h) - Query Current Mouse Event Mask
        MOU_GETSCALEFACTORS (66h) - Query Current Mouse Scaling Factors
        MOU_GETPTRPOS (67h) - Query Current Pointer Screen Position
        MOU_GETPTRSHAPE (68h) - Query Current Pointer Shape
        MOU_QUERYTHRESHOLDVALUES (69h) - Query Mouse Threshold Values
        MOU_VER (6Ah) - Query Physical Mouse Device Driver Level/Version Number
        MOU_QUERYPOINTERID (6Bh) - Query Pointing Device ID
;Category 08h Logical Disk Control IOCtl Commands
        DSK_LOCKDRIVE (00h) - Lock Drive
        DSK_UNLOCKDRIVE (01h) - Unlock Drive
        DSK_REDETERMINEMEDIA (02h) - Redetermine Media
        DSK_SETLOGICALMAP (03h) - Set Logical Map
        DSK_BEGINFORMAT (04h) - Begin Format
        DSK_BLOCKREMOVABLE (20h) - Block Removable
        DSK_GETLOGICALMAP (21h) - Query Logical Map
        DSK_UNLOCKEJECTMEDIA (40h) - Removable Media Control
        DSK_SETDEVICEPARAMS (43h) - Set Device Parameters
        DSK_WRITETRACK (44h) - Write Logical Track
        DSK_FORMATVERIFY (45h) - Format and Verify Track
        DSK_DISKETTECONTROL (5Dh) - Diskette Control
        DSK_QUERYMEDIASENSE (60h) - Query Media Sense
        DSK_GETDEVICEPARAMS (63h) - Query Device Parameters
        DSK_READTRACK (64h) - Read Logical Track
        DSK_VERIFYTRACK (65h) - Verify Logical Track
        DSK_GETLOCKSTATUS (66h) - Status
;Category 09h Physical Disk Control IOCtl Commands
        PDSK_LOCKPHYSDRIVE (00h) - Lock Physical Drive
        PDSK_UNLOCKPHYSDRIVE (01h) - Unlock Physical Drive
        PDSK_WRITEPHYSTRACK (44h) - Write Physical Track
        PDSK_GETPHYSDEVICEPARAMS (63h) - Query Physical Device Parameters
        PDSK_READPHYSTRACK (64h) - Read Physical Track
        PDSK_VERIFYPHYSTRACK (65h) - Verify Physical Track
;Category 0Ah Character Device Monitor IOCtl Command
        MON_REGISTERMONITOR (40h) - Register Monitor
;Category 0Bh General Device Control IOCtl Commands
        DEV_FLUSHINPUT (01h) - Flush Input Buffer
        DEV_FLUSHOUTPUT (02h) - Flush Output Buffer
        DEV_SYSTEMNOTIFYPDD (41h) - System Notifications for Physical Device Drivers
        DEV_QUERYMONSUPPORT (60h) - Query Monitor Support
;Category 0Ch Advanced Power Management
        POWER_SENDPOWEREVENT (40h) - Send Power Event
        POWER_SETPOWEREVENTRES (41h) - Set Power Event Resource
        POWER_OEMFUNCTION (45h) - OEM APM Function
        POWER_GETPOWERSTATUS (60h) - Query Power Status
        POWER_GETPOWEREVENT (61h) - Query Power Event
        POWER_GETPOWERINFO (62h) - Query Power Information
        POWER_GETPOWERSTATE (63h) - Query Power State
;Category 80h Screen Control IOCtl Commands
        SCREENDD_GETCURRENTBANK (00h) - Get Current Video Memory Bank
        SCREENDD_SETCURRENTBANK (01h) - Set Current Video Memory Bank
        SCREENDD_SVGA_ID (08h) - Return Adapter Video Configuration
        SCREENDD_SVGA_OEM (09h) - Return Manufacturer-Specific Adapter Data
        SCREENDD_UPDATEMEMORY (0Ah) - Update Adapter Video Memory Information
        SCREENDD_GETLINEARACCESS (0Bh) - Return Linear Address Mapped to Physical Address
;Category 80h OEMHLP IOCtls
        OEMHLP IOCtls Summary
        OEMHLP_GETOEMADAPTIONINFO (00h) - Query OEM Adaptation Information
        OEMHLP_GETMACHINEINFO (01h) - Query Machine Information
        OEMHLP_GETDISPLAYCOMBCODE (02h) - Query Display Combination Code
        OEMHLP_GETVIDEOFONTS (03h) - Return Video Fonts
        OEMHLP_READEISACONFIGINFO (04h) - Read EISA Slot Configuration Information - Subfunction 00
        Read EISA Function Configuration Information - Subfunction 01 - Function 04h
        OEMHLP_GETROMBIOSINFO (05h) - Query ROM BIOS Information
        OEMHLP_GETMISCVIDEOINFO (06h) - Query Miscellaneous Video Information
        OEMHLP_GETVIDEOADAPTER (07h)
        OEMHLP_GETSVGAINFO (08h)
        OEMHLP_GETMEMINFO (09h)
        OEMHLP_GETDMQSINFO (0Ah)
        OEMHLP_PCI (0Bh)
        OEMHLP_PCI (0Bh) - Subfunction 00h
        OEMHLP_PCI (0Bh) - Subfunction 01h
        OEMHLP_PCI (0Bh) - Subfunction 02h
        OEMHLP_PCI (0Bh) - Subfunction 03h
        OEMHLP_PCI (0Bh) - Subfunction 04h
;Category 80h Adapter Presence-Check Services (TESTCFG.SYS)
        TESTCFG_SYS_GETBIOSADAPTER (40h)
        TESTCFG_SYS_ISSUEINIOINSTR (41h)
        TESTCFG_SYS_ISSUEOUTIOINSTR (42h)
        TESTCFG_SYS_GETBUSARCH (60h)
        TESTCFG_SYS_GETALLPOSIDS (61h)
        TESTCFG_SYS_GETALLEISAIDS (62h)
;Category 80h Resource Manager IOCtl Commands
        Get Resource Manager Node Data - Function 01h
        Enumerate Resource Manager Nodes - Function 02h
;Category 80h CD-ROM Drive and Disc IOCtl Commands
        CDROMDISK_RESETDRIVE (40h)
        CDROMDISK_EJECTDISK (44h)
        CDROMDISC_CLOSETRAY (45h)
        CDROMDISK_LOCKUNLOCKDOOR (46h)
        CDROMDISK_SEEK (50h)
        CDROMDISK_DEVICESTATUS (60h)
        CDROMDISK_GETDRIVER (61h)
        CDROMDISK_GETSECTORSIZE (63h)
        CDROMDISK_GETHEADLOC (70h)
        CDROMDISK_READLONG (72h)
        CDROMDISK_GETVOLUMESIZE (78h)
        CDROMDISK_GETUPC (79h)
;Category 81h CD-ROM Audio IOCtl Commands
        CDROMAUDIO_SETCHANNELCTRL (40h)
        CDROMAUDIO_PLAYAUDIO (50h)
        CDROMAUDIO_STOPAUDIO (51h)
        CDROMAUDIO_RESUMEAUDIO (52h)
        CDROMAUDIO_GETCHANNEL (60h)
        CDROMAUDIO_GETAUDIODISK (61h)
        CDROMAUDIO_GETAUDIOTRACK (62h)
        CDROMAUDIO_GETSUBCHANNELQ (63h)
        CDROMAUDIO_GETAUDIOSTATUS (65h)
;Category 81h Touch Device-Dependent Driver
        TOUCH_DEVDEP_SETCALIBCONST (52h)
        TOUCH_DEVDEP_READDATA (53h)
        TOUCH_DEVDEP_SETDATAMODE (54h)
        TOUCH_DEVDEP_SETCLICKLOCK (55h)
        TOUCH_DEVDEP_SETTOUCHTHRESHOLD (56h)
        TOUCH_DEVDEP_SETEMULXY (57h)
        TOUCH_DEVDEP_SETDATAREPORTRATE (58h)
        TOUCH_DEVDEP_SETLOWPASSFILTER (59h)
        TOUCH_DEVDEP_WRITEMEMLOC (5Ah)
        TOUCH_DEVDEP_GETCALIBCONST (60h)
        TOUCH_DEVDEP_GETDATAMODE (61h)
        TOUCH_DEVDEP_GETCLICKLOCK (62h)
        TOUCH_DEVDEP_GETTOUCHTHRESHOLD (63h)
        TOUCH_DEVDEP_GETEMULXY (64h)
        TOUCH_DEVDEP_GETDATAREPORTRATE (65h)
        TOUCH_DEVDEP_GETLOWPASSFILTER (66h)
        TOUCH_DEVDEP_READMEMLOC (67h)
;Category 81h Touch Device-Independent Driver
        Device-Independent Device Driver Command Summary
        TOUCH_DEVINDEP_SETCOORDSYS (50h)
        TOUCH_DEVINDEP_SETSELECTMECH (52h)
        TOUCH_DEVINDEP_SETEVENTMASK (53h)
        TOUCH_DEVINDEP_SETQUEUESIZE (54h)
        TOUCH_DEVINDEP_SETEMULSTATE (55h)
        TOUCH_DEVINDEP_GETCOORDSYS (60h)
        TOUCH_DEVINDEP_GETSELECTMECH (62h)
        TOUCH_DEVINDEP_GETEVENTMASK (63h)
        TOUCH_DEVINDEP_GETQUEUESIZE (64h)
        TOUCH_DEVINDEP_GETEMULSTATE (65h)
        TOUCH_DEVINDEP_GETREADEVENTQUEUE (66h)
 
</div>
 
== Icon Legend==
* [[image:Vraag.gif]]: More information is required on this function or symbol.


==Links==
==Links==

Latest revision as of 19:04, 23 May 2025

You can find more information at the Physical Device Driver Reference.

DevHlp Services

Services and Function Codes

Undocumented

Links