Some applications still use DirectDraw, like iTunes and most older games so I assume it'll take a while for it to become completely deprecated.
Crappy ones. DirectDraw IS deprecated and dead. It has been merged with Direct3D to produce DirectGraphics. You cannot use a pure blit function with color key support in Direct3D. You must use alpha blending to accomplish this. DirectDraw is dead.
If you insist on just using DirectDraw you are working against the modern DirectX API, not with it.
EDIT: Althought DirectDraw is a good start for learning DirectX
...and ceased to be as of about DirectX 8.0. DirectDraw and how you init objects has nearly nothing to do with how you do it in Direct3D or in DirectX 9.0c+. I wouldn't even bother with the DirectDraw stuff. Use Direct3D.
If you do not understand how to use ID3DXSprite here is a simple vertex structure that can be used for 2D. This only supports one texture but you could change it to produce some dazzling lighting effects - even for a 2D game.
D3DAPPVertexTypes.h
Code:
#ifndef D3DAPP_VERTEXTYPES
#define D3DAPP_VERTEXTYPES
//Pre-transformed, pre-lit vertex supporting 1 texture
struct TLVertex
{
D3DXVECTOR3 Pos;
float RHW;
D3DCOLOR Diffuse;
D3DCOLOR Specular;
float tu,tv;
TLVertex(void):Pos(D3DXVECTOR3(0.0f,0.0f,0.0f),
RHW(1.0f),,Diffuse(0),Specular(0),tu(0.0f),tv(0.0f) {}
TLVertex(D3DXVECTOR3 _pos,D3DCOLOR _diffuse,D3DCOLOR _specular,float _tu,float _tv):Pos(_pos),
RHW(1.0f),Diffuse(_diffuse),Specular(_specular),tu(_tu),tv(_tv) {}
static const DWORD FVF;
};
#endif
D3DAPPVertexTypes.cpp
Code:
#include "D3DAPPVertexTypes.h"
const DWORD TLVertex::FVF=D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1