Из документации по MSDN похоже, что они перешли от объекта IDirect3D9 с функциями-членами, такими как IDirect3D9::CreateDevice, к использованию глобальных функций, таких как D3D10CreateDevice. С Direct3D 10 они разделили многие функции, которые были в IDirect3D9, относящиеся к (например) адаптерам в DirectX Graphics Infrastructure (DXGI).
Другими словами, Direct3D 10 по-прежнему использует COM, но нет, нет аналога IDirect3D9. Вещи, которые вы использовали для IDirect3D9, теперь выполняются другими способами.
Редактировать: Класс COM с указанным GUID является IDirect3D9. Direct3D 10 не имеет обновленной версии этого (нет IDirect3D10, который делает то, что делает IDirect3D9); вместо этого функции-члены этого класса были разделены на глобальные функции (такие как D3D10CreateDevice), которые вы вызываете напрямую, а не через объект, и в классы DXGI (например, IDXGIOutput). Вам не нужен объект IDirect3D10, потому что задачи, для которых вы его использовали, выполняются по-разному.
Вы должны иметь возможность сопоставлять идентификаторы GUID с именами классов COM, просматривая файлы заголовков Direct3D для макроса DEFINE_GUID.
Чувак, это фантастика. Извините, я понимаю, что мой вопрос не был на 100% в правильном направлении. Но теперь, когда я вижу GUID в файлах заголовков, я точно понимаю, что вы имеете в виду. Выстрел за помощью! – 2009-05-07 11:26:58
Я рад, что смог мне помочь :-) –