List of DevHlp Functions
DevHlp function names with request code{|class="wikitable" |+ DevHlp function names with request code !Function Name||Code||Description |- |DevHlp_SchedClock||0x0||Called each timer tick |- |DevHlp_DevDone||0x1||Device I/O complete |- |DevHlp_Yield||0x2||Yield CPU if resched set |- |DevHlp_TCYield||0x3||Yield to time critical task |- |DevHlp_ProcBlock||0x4||Block on event |- |DevHlp_ProcRun||0x5||Unblock process |- |DevHlp_SemRequest||0x6||Claim a semaphore |- |DevHlp_SemClear||0x7||Release a semaphore |- |DevHlp_SemHandle||0x8||Obtain a semaphore handle |- |DevHlp_PushRequest||0x9||Push the request |- |DevHlp_PullRequest||0xA||Pull next request from Q |- |DevHlp_PullParticular||0xB||Pull a specific request |- |DevHlp_SortRequest||0xC||Push request in sorted order |- |DevHlp_AllocReqPacket||0xD||Allocate request packet |- |DevHlp_FreeReqPacket||0xE||free request packet |- |DevHlp_QueueInit||0xF||Init/Clear char queue |- |DevHlp_QueueFlush||0x10||flush queue |- |DevHlp_QueueWrite||0x11||Put a char in the queue |- |DevHlp_QueueRead||0x12||Get a char from the queue |- |DevHlp_Lock||0x13||Lock segment |- |DevHlp_Unlock||0x14||Unlock segment |- |DevHlp_PhysToVirt||0x15||Convert physical address to virtual |- |DevHlp_VirtToPhys||0x16||Convert virtual address to physical |- |DevHlp_PhysToUVirt||0x17||Convert physical to LDT |- |DevHlp_AllocPhys||0x18||Allocate physical memory |- |DevHlp_FreePhys||0x19||Free physical memory |- |DevHlp_SetROMVector||0x1A||Set a ROM service routine vector |- |DevHlp_SetIRQ||0x1B||Set an IRQ interrupt |- |DevHlp_UnSetIRQ||0x1C||Unset an IRQ interrupt |- |DevHlp_SetTimer||0x1D||Set timer request handler |- |DevHlp_ResetTimer||0x1E||Unset timer request handler |- |DevHlp_MonitorCreate||0x1F||Create a monitor |- |DevHlp_Register||0x20||Install a monitor |- |DevHlp_DeRegister||0x21||Remove a monitor |- |DevHlp_MonWrite||0x22||pass data records to monitor |- |DevHlp_MonFlush||0x23||remove all data from stream |- |DevHlp_GetDOSVar||0x24||Return pointer to DOS variable |- |DevHlp_SendEvent||0x25||an event occurred |- |DevHlp_ROMCritSection||0x26||ROM Critical Section |- |DevHlp_VerifyAccess||0x27||Verify access to memory |- |DevHlp_RAS||0x28||Put info in RAS trace buffer |- |DevHlp_ABIOSGetParms||0x29||Get ABIOS Calling Parameters |- |DevHlp_AttachDD||0x2A||Attach to a device driver |- |DevHlp_InternalError||0x2B||Signal an internal error |- |DevHlp_ModifyPriority||0x2C||Undocumented (used by PM) |- |DevHlp_AllocGDTSelector||0x2D||Allocate GDT Selectors |- |DevHlp_PhysToGDTSelector||0x2E||Convert physical address to GDT selector |- |DevHlp_RealToProt||0x2F||Change from real to protected mode |- |DevHlp_ProtToReal||0x30||Change from protected to real mode |- |DevHlp_EOI||0x31||Send EOI to PIC |- |DevHlp_UnPhysToVirt||0x32||Mark completion of PhysToVirt |- |DevHlp_TickCount||0x33||Modify timer |- |DevHlp_GetLIDEntry||0x34||Obtain Logical ID |- |DevHlp_FreeLIDEntry||0x35||Release Logical ID |- |DevHlp_ABIOSCall||0x36||Call ABIOS |- |DevHlp_ABIOSCommonEntry||0x37||Invoke Common Entry Point |- |DevHlp_GetDeviceBlock||0x38||Get ABIOS Device Block |- |DevHlp_RegisterStackUsag||0x3A||Register for stack usage |- |DevHlp_LogEntry||0x3B||Place data in log buffer |- |DevHlp_VideoPause||0x3C||Video pause on/off |- |DevHlp_Save_Message||0x3D||Save message in SysInit Message Table |- |DevHlp_SegRealloc||0x3E||Realloc DD protect mode segment |- |DevHlp_PutWaitingQueue||0x3F||Put I/O request on waiting queue |- |DevHlp_GetWaitingQueue||0x40||Get I/O request from waiting queue |- |DevHlp_PhysToSys||0x41||Address conversion for the AOX |- |DevHlp_PhysToSysHook||0x42||Address conversion for the AOX |- |DevHlp_RegisterDeviceClass||0x43||Register DC entry point |- |DevHlp_Sec||0x44||Register Security table |- |DevHlp_PerfSysTrace||0x45||Put info in performance trace buffer |- |DevHlp_RegisterPDD||0x50||Register PDD entry point with VDM manager for later PDD-VDD communication |- |DevHlp_RegisterBeep||0x51||register PTD beep service entry point with kernel |- |DevHlp_Beep||0x52||preempt beep service via PTD |- |DevHlp_FreeGDTSelector||0x53||Free allocated GDT selector |- |DevHlp_PhysToGDTSel||0x54||Convert Phys Addr to GDT sel with given access |- |DevHlp_VMLock||0x55||Lock linear address range |- |DevHlp_VMUnlock||0x56||Unlock address range |- |DevHlp_VMAlloc||0x56||Allocate memory |- |DevHlp_VMFree||0x58||Free memory or mapping |- |DevHlp_VMProcessToGlobal||0x59||Create global mapping to process memory |- |DevHlp_VMGlobalToProcess||0x5A||Create process mapping to global memory |- |DevHlp_VirtToLin||0x5B||Convert virtual address to linear |- |DevHlp_LinToGDTSelector||0x5C||Convert linear address to virtual |- |DevHlp_GetDescInfo||0x5D||Return descriptor information |- |DevHlp_LinToPageList||0x5E||build pagelist array from linear address |- |DevHlp_PageListToLin||0x5F||map page list array to linear address |- |DevHlp_PageListToGDTSelector||0x60||map page list array to GDT selector |- |DevHlp_RegisterTmrDD||0x61||Register TMR Device Driver |- |DevHlp_RegisterPerfCtrs||0x62||Register device driver perf. ctrs (PVW) |- |DevHlp_AllocateCtxHook||0x63||Allocate a context hook |- |DevHlp_FreeCtxHook||0x64||Free a context hook |- |DevHlp_ArmCtxHook||0x65||Arm a context hook |- |DevHlp_VMSetMem||0x66||commit/decommit memory |- |DevHlp_OpenEventSem||0x67||Open an event semaphore |- |DevHlp_CloseEventSem||0x68||Close an event semaphore |- |DevHlp_PostEventSem||0x69||post an event semaphore |- |DevHlp_ResetEventSem||0x6A||Reset an event semaphore |- |DevHlp_RegisterFreq||0x6B||Register PTD freq service entry point with kernel |- |DevHlp_DynamicAPI||0x6C||Add a dynamic API |- |DevHlp_ProcRun2||0x6D||Unblock process via procrun2 |- |DevHlp_CreateInt13VDM||0x6E||Create Int13 VDM (Internal Only) OEMINT13 |- |DevHlp_RegisterKrnlExit||0x6F||Used to capture Kernel Exits F78693 |- |DevHlp_PMPostEventSem||0x70||PM Post Event Semaphore |- |DevHlp_AcquireSpinLock||0x71||acquire Spin Lock |- |DevHlp_ReleaseSpinLock||0x72||release Spin Lock |- |DevHlp_InitIntMouseCursorData||0x73||Initialize Mouse/Cursor Data |- |DevHlp_StartIntMouseCursor||0x74||Start Int Time Mouse/Cursor |- |DevHlp_EndIntMouseCursor||0x75||End Int Time Mouse/Cursor |- |DevHlp_Port_IO||0x76||Port I/O |- |DevHlp_SetIRQMask||0x77||Set/Unset an IRQ Mask |- |DevHlp_GetIRQMask||0x78||Retrieve an IRQ Mask state |- |DevHlp_CreateSpinLock||0x79||Create Spin Lock |- |DevHlp_FreeSpinLock||0x7A||Free Spin Lock |- |DevHlp_KillProc||0x7D||Kill Proc |- |DevHlp_QSysState||0x7E||Query System State |- |DevHlp_OpenFile||0x7F||Ring-0 File system Write |- |DevHlp_CloseFile||0x80||Ring-0 File system Seek |- |DevHlp_ReadFile||0x81||Ring-0 File system Read |- |DevHlp_ReadFileAt||0x82||File system Read at (seek) |- |DevHlp_RegisterKDD||0x83||Register driver with kernel debugger |}