At initialization, the driver calls the RegisterDeviceClass DevHlp to register its direct call command handler entry point with the kernel.

Processing

──────────────────────────────────────────────────────────────────────────
LDS  SI, ADD_Name            ; DS:SI = Ptr device driver to ASCIIZ name
                             ;         maximum of 16 chars
MOV  AX,SEGMENT ADD_Function ; AX:BX = Ptr to driver's DirectCall
LEA  BX,ADD_Function         ;         Command Handler
MOV  DI,Device_Flags         ; Must be 0 for adapter device drivers
MOV  CX,Device_Class         ; Must be 1 for adapter device drivers
MOV  DL,DevHlp_RegisterADD
CALL [Device_Help]
──────────────────────────────────────────────────────────────────────────

Results

──────────────────────────────────────────────────────────────────────────
'C' Cleared if successful
AX = ADDHandle
'C' Set if error
AX = ERROR_NOT_ENOUGH_MEMORY
                 if CX out of range
                 if table is full
──────────────────────────────────────────────────────────────────────────


[Back: Device Helpers (DevHlp)]
[Next: GetDOSVar]