As far as the older versions of DirectX are concerned, you obtain a texture by querying its interface from a surface.
surface->QueryInterface( IID_IDirect3DTexture2, (void**)&texture );
Also, the Direct3DX utility library that comes with DirectX 7 (it's actually part of DirectX, not just some .h files thrown in as an afterthought) has functions for loading textures from .BMP, .DIB, .TGA, and .DDS file formats, not to mention about a hundred other incredibly useful functions.
[This message has been edited by Shinkage (edited September 27, 1999).]