過去の遺産DirectDrawについてなんだけど、
今MFCで画像ビューアつくろうとしてて、(ウィンドウモードで)
各画像が8ビットグレー階調だったり24ビットRGBだったりするので、
bmpファイル読み込んだとき、ビット数をチェックして、
プライマリサーフェイス作成時のDDSURFACEDESC構造体で

DDSURFACEDESC ddsd;
ddsd.dwSize=sizeof(DDSURFACEDESC);
ddsd.dwFlags=DDSD_CAPS | DDSD_PIXELFORMAT;
ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE;
ddsd.ddpfPixelFormat.dwflag=DDPF_PALETTEINDEXED8←8ビットグレーの場合

ってやってCreateSurfaceってやるとプライマリサーフェイス作成時に失敗する。
もしかしてプライマリサーフェイスに任意にddpfPixelFormatを設定することはできない?