The interaction between the IDirectDraw2::SetCooperativeLevel and IDirectDraw2::SetDisplayMode methods differs from that of their IDirectDraw counterparts.
If your application uses the IDirectDraw interface to set the full-screen exclusive cooperative level and change the display mode, the display mode will not be automatically restored when you return to the normal cooperative level—you have to call the IDirectDraw::RestoreDisplayMode method. However, if you use the IDirectDraw2 interface, calling RestoreDisplayMode isn't necessary. However, the IDirectDraw2::RestoreDisplayMode method is supported for applications that want to explicitly restore the original display mode.