GDI / DDI (cont.)
Hooking, Punting
Electing to handle a drawing function in the display
driver is known as hooking. When a call is hooked,
ie., DrvBitBlt (does a BitBlt), the GDI will call the
driver to handle this operation. However, the driver does not handle to all cases. The driver can check
for the cases it does handle (e.g., all BitBlts except
for 24-bit color cases) and if it can’t handle the call, the driver can punt the call back to the GDI. The GDI
will then do the operation.
DrvBitBlt versus EngBitBlt
As an example, the DrvBitBlt call is the bitblt operation done via the display driver. The EngBitBlt
call is the GDI simulation of this operation.