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.