К чему может привести подобный подход( я про return reinterpret_cast< int >( font );?
int CreateFont( int size, const char * name, int italic, int underlined )
{
ID3DXFont * font;
D3DXCreateFontA( g_device, -1, size, FW_BOLD, 0, italic, RUSSIAN_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, name, &font );
return reinterpret_cast< int >( font );
}