The basic process that you need to use is:
1. In an offline tool generate a texture which holds every character you need from the font, along with some metadata to tell you where each character is in the texture. You may also want other details like kerning pair data if the font is not monospaced. The texture can be single channel - D3DFMT_A8 for example as you can apply a colour at runtime. GetGlyphOutline(..., GGO_GRAY8_BITMAP, ...) will extract the data from a Windows font. A quick search should also find tools that will do this step for you.
2. At runtime go through the string building up a vertex buffer one character at at time, and then render it. This is essentially the same process as drawing a bunch of sprites from a sprite sheet. You'll also need special case handling of whitespace characters, and you'll probably need to handle word wrapping.