CreateDXGIFactory 함수(dxgi.h)
다른 DXGI 개체를 생성하는 데 사용할 수 있는 DXGI 1.0 팩터리를 만듭니다.
구문
HRESULT CreateDXGIFactory(
REFIID riid,
[out] void **ppFactory
);
매개 변수
riid
형식: REFIID
ppFactory 매개 변수에서 참조하는 IDXGIFactory 개체의 GUID(Globally Unique Identifier)입니다.
[out] ppFactory
형식: void**
IDXGIFactory 개체에 대한 포인터의 주소입니다.
반환 값
형식: HRESULT
성공하면 S_OK 반환합니다. 그렇지 않으면 다음 DXGI_ERROR 중 하나를 반환합니다.
설명
DXGI 팩터리를 사용하여 어댑터를 열거하고, 스왑 체인을 만들고, 전체 화면 표시 모드로 전환하기 위해 alt+Enter 키 시퀀스와 창을 연결하는 개체를 생성합니다.
CreateDXGIFactory 함수가 성공하면 IDXGIFactory 인터페이스의 참조 수가 증가합니다. 메모리 누수 방지를 위해 인터페이스 사용을 마치면 IDXGIFactory::Release 메서드를 호출하여 인터페이스를 해제합니다.
참고 애플리케이션에서 DXGI 1.0(IDXGIFactory) 및 DXGI 1.1(IDXGIFactory1) 사용을 혼합하지 마세요. IDXGIFactory 또는 IDXGIFactory1을 사용하지만 애플리케이션에서 둘 다 사용하지는 않습니다.
참고 앱의 DllMain 함수가 호출하면 CreateDXGIFactory가 실패합니다. DXGI가 DllMain에서 응답하는 방법에 대한 자세한 내용은 DLLMain의 DXGI 응답을 참조하세요.
참고 Windows 8부터 모든 DXGI 팩터리(CreateDXGIFactory 또는 CreateDXGIFactory1로 만들어졌는지 여부에 관계없이)는 어댑터를 동일하게 열거합니다. IDXGIFactory::EnumAdapters 또는 IDXGIFactory1::EnumAdapters1을 사용하여 검색하는 어댑터의 열거 순서는 다음과 같습니다.
- 데스크톱 주 데이터베이스가 표시되는 출력이 있는 어댑터입니다. 이 어댑터는 인덱스 0에 해당합니다.
- 출력이 있는 어댑터.
- 출력이 없는 어댑터.
예제
DXGI 1.0 팩터리 만들기
다음 코드 예제에서는 DXGI 1.0 팩터리를 만드는 방법을 보여 줍니다. 이 예제에서는 __uuidof() 내장 함수를 사용하여 IDXGIFactory 인터페이스의 REFIID 또는 GUID를 가져옵니다.
IDXGIFactory * pFactory;
HRESULT hr = CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)(&pFactory) );
요구 사항
대상 플랫폼 | Windows |
헤더 | dxgi.h |
라이브러리 | DXGI.lib |
DLL | DXGI.dll |