Из документации по MSDN похоже, что они перешли от использования объекта IDirect3D9 с такими функциями-членами, как IDirect3D9 :: CreateDevice , к использованию глобальных функций, таких как D3D10CreateDevice . С Direct3D 10 они разделили многие функции IDirect3D9, относящиеся, например, к адаптерам, к графической инфраструктуре DirectX (DXGI) .
Другими словами, Direct3D 10 по-прежнему использует COM, но нет, аналога IDirect3D9 нет. Вещи, для которых вы использовали IDirect3D9, теперь выполняются другими способами.
Редактировать: COM-класс с указанным выше GUID - IDirect3D9. Direct3D 10 не имеет обновленной версии этого (нет IDirect3D10, который делает вещи, которые делает IDirect3D9); вместо этого функции-члены этого класса были разделены на глобальные функции (такие как D3D10CreateDevice ), которые вы вызываете напрямую, а не через объект, и на классы DXGI (такие как IDXGIOutput ) , Вам не нужен объект IDirect3D10, потому что задачи, для которых вы бы его использовали, теперь выполняются по-разному.
Вы должны иметь возможность сопоставлять идентификаторы GUID с именами классов COM, выполнив поиск в заголовочных файлах Direct3D для макроса DEFINE_GUID.