In Windows, I have read that it is a bad idea to switch pixel formats on a DC on the fly. However, I might be wrong.
Generally, you’ll have to iterate through the available pixel formats and if you don’t want acceleration, pick one that has the PFD_GENERIC_FORMAT descriptor. Note if you are using the ChoosePixelFormat function that you are never guaranteed to get what you ask for. I found that the ChoosePixelFormat function is OK in many cass, but if you want to anything special (like picking a non-accelerated pixel format when there are accelerated ones available) then the ChoosePixelFormat function becomes pretty useless.