Display minidrivers should pass any escapes that they have not implemented directly to the DIB engine (using the DIB_Control function) and let the DIB engine determine how to handle the escape, as shown in the following example:
lds di,lpInData ;Get pointer to the data mov bx,function cmp bx,GETCOLORTABLE je C_GetColorTable cmp bx,QUERYROPSUPPORT je C_QueryRopSupport push lpDevice push function push lpInData push lpOutData call DIB_Control ;Let the DIB Engine handle the rest.