LPDIRECT3DTEXTURE
может содержать несколько изображений разных размеров . Вам нужно будет указать, какой вы хотите. Обычно 0 - это исходный размер, другие - это мип-карты, которые используются для оптимизации производительности на графическом процессоре.
D3DSURFACE_DESC surfaceDesc;
int level = 0; //The level to get the width/height of (probably 0 if unsure)
myTexture->GetLevelDesc(level, &surfaceDesc);
size_t size = surfaceDesc.Width * surfaceDesc.Height;