Поделиться через


Функция CreateDXGIFactory (dxgi.h)

Создает фабрику DXGI 1.0, которую можно использовать для создания других объектов DXGI.

Синтаксис

HRESULT CreateDXGIFactory(
        REFIID riid,
  [out] void   **ppFactory
);

Параметры

riid

Тип: REFIID

Глобальный уникальный идентификатор (GUID) объекта IDXGIFactory , на который ссылается параметр ppFactory .

[out] ppFactory

Тип: void**

Адрес указателя на объект IDXGIFactory .

Возвращаемое значение

Тип: HRESULT

В случае успешного выполнения возвращает S_OK . В противном случае возвращает одно из следующих DXGI_ERROR.

Комментарии

Используйте фабрику DXGI для создания объектов, которые перечисляют адаптеры, создают цепочки буферов и связывают окно с последовательностью клавиш ALT+ВВОД для переключения в полноэкранный режим отображения и из нее.

Если функция CreateDXGIFactory завершается успешно, количество ссылок в интерфейсе IDXGIFactory увеличивается. Чтобы избежать утечки памяти, по завершении работы с интерфейсом вызовите метод IDXGIFactory::Release , чтобы освободить интерфейс.

Примечание Не следует использовать DXGI 1.0 (IDXGIFactory) и DXGI 1.1 (IDXGIFactory1) в приложении. Используйте IDXGIFactory или IDXGIFactory1, но не оба в приложении.
 
Примечание. CreateDXGIFactory завершается сбоем , если функция DllMain приложения вызывает его. Дополнительные сведения о том, как DXGI отвечает от DllMain, см. в разделе Ответы DXGI от DLLMain.
 
Примечание Начиная с Windows 8, все фабрики DXGI (независимо от того, были ли они созданы с помощью CreateDXGIFactory или CreateDXGIFactory1) перечисляют адаптеры одинаково. Порядок перечисления адаптеров, извлекаемых с помощью IDXGIFactory::EnumAdapters или IDXGIFactory1::EnumAdapters1, выглядит следующим образом:
  • Адаптер с выходными данными, на которых отображается основной рабочий стол. Этот адаптер соответствует индексу, равному нулю.
  • Адаптеры с выходными данными.
  • Адаптеры без выходных данных.
 
Функция CreateDXGIFactory не существует для приложений Магазина Windows. Вместо этого приложения Магазина Windows используют функцию CreateDXGIFactory1 .

Примеры

Создание фабрики DXGI 1.0

В следующем примере кода показано, как создать фабрику DXGI 1.0. В этом примере используется встроенная __uuidof() для получения идентификатора REFIID или GUID интерфейса IDXGIFactory .


IDXGIFactory * pFactory;
HRESULT hr = CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)(&pFactory) );

Требования

   
Целевая платформа Windows
Header dxgi.h
Библиотека DXGI.lib
DLL DXGI.dll

См. также раздел

Функции DXGI