When the bit-map handle is NULL, the DC must be a memory DC with a bit map currently selected. Otherwise, the DC must be valid for that device. When the format of the supplied bit map does not match that of the device, the handling routine must use the supplied BITMAPINFO or BITMAPINFO2 structure to convert it. Only standard formats and device formats that are compatible with the target device are supported.