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


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

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

Синтаксис

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

Параметры

riid

Тип: REFIID

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

[out] ppFactory

Тип: void**

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

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

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения; в противном случае — код ошибки. Список кодов ошибок см. в разделе DXGI_ERROR.

Комментарии

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

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

Эта точка входа не поддерживается DXGI 1.0, которая поставляется в Windows Vista и Windows Server 2008. Требуется поддержка DXGI 1.1, которая доступна в Windows 7, Windows Server 2008 R2, а также в качестве обновления для Windows Vista с пакетом обновления 2 (SP2) (971644 базы знаний) и Windows Server 2008 (971512 базы знаний).

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

Примеры

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

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


IDXGIFactory1 * pFactory;
HRESULT hr = CreateDXGIFactory1(__uuidof(IDXGIFactory1), (void**)(&pFactory) );
          

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header dxgi.h
Библиотека DXGI.lib
DLL Dxgi.dll

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

Функции DXGI