DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };
↓
DDSURFACEDESC ddsd;
ddsd.dwSize = sizeof(DDSURFACEDESC);

は間違い

DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };
↓
DDSURFACEDESC ddsd;
ZeroMemory(&ddsd);
ddsd.dwSize = sizeof(DDSURFACEDESC);

これが正解っしょ、こうなるとドッチが見やすいかは微妙になてくるとおもうけどねぇ