메인 콘텐츠로 건너뛰기
특정 GameInput API 버전에 대한 IGameInput 인터페이스의 인스턴스를 가져옵니다.

구문

매개변수

riid   _In_
형식: REFIID
가져올 IGameInput 인터페이스의 인터페이스 ID(IID)입니다. IID는 GameInput API 버전을 선택합니다. 예를 들어 v4의 경우 __uuidof(GameInput::v4::IGameInput), v0의 경우 __uuidof(GameInput::v0::IGameInput)입니다. ppv   _COM_Outptr_
형식: LPVOID*
기본 프로세스당 싱글톤의 요청된 인터페이스를 받습니다. 함수가 실패하면 nullptr로 설정됩니다.

반환값

형식: HRESULT 성공하면 S_OK를 반환합니다. riid가 IGameInput 인터페이스의 IID가 아니거나 설치된 GameInput 런타임이 요청된 API 버전을 지원하지 않으면 E_NOINTERFACE를 반환합니다. GameInput 런타임을 로드할 수 없으면 다른 오류 코드를 반환합니다.

설명

GameInputInitialize는 GameInputCreate처럼 작동하지만 원하는 IGameInput 버전의 IID를 받습니다. 두 함수 모두 동일한 프로세스당 싱글톤에 대한 인터페이스를 반환합니다. 첫 번째 호출에서 싱글톤이 생성되고, 이후 호출에서는 싱글톤에 대한 참조가 추가됩니다. 이러한 함수를 호출할 시점과 참조를 유지할 기간에 대한 지침은 GameInputCreate를 참조하세요. GameInput 런타임은 자신의 주 버전 이하인 모든 API 버전을 지원합니다. 예를 들어 GameInput 4.0 런타임은 v0부터 v4까지 모든 IGameInput 버전의 IID를 허용합니다. 설치된 런타임보다 최신 버전을 요청하면 함수는 E_NOINTERFACE로 실패합니다. 이를 사용하여 런타임에 최신 API 버전을 사용할 수 있는지 확인할 수 있습니다.

GameInputCreate와의 관계

v3부터 GameInput 헤더의 GameInputCreate는 헤더가 선언하는 IGameInput 인터페이스의 IID로 GameInputInitialize를 호출하는 인라인 함수입니다.
따라서 v3 이상에서 GameInputCreate를 호출하면 포함하는 헤더와 일치하는 버전의 IGameInput이 생성됩니다. 해당 헤더를 포함하지 않고 다른 버전을 만들려면 GameInputInitialize를 직접 호출하세요. v0에서 GameInputCreate는 GameInput.lib에서 내보내는 함수이며 항상 v0 인터페이스를 만듭니다. Microsoft.GameInput NuGet 패키지의 GameInput.lib는 대신 GameInputInitialize를 내보냅니다. 해당 라이브러리에 링크할 때 v0 인터페이스를 만들려면 v0 IID로 GameInputInitialize를 호출하세요. v0 헤더는 GameInputInitialize를 선언하지 않으므로 직접 선언해야 합니다.
설치된 런타임이 너무 오래되어 GameInputInitialize를 제공하지 않는 경우, 라이브러리는 v0 IID에 대해서는 런타임의 GameInputCreate로 대체하고, 다른 IID에 대해서는 E_NOINTERFACE를 반환합니다. 이미 가지고 있는 IGameInput 개체의 다른 API 버전을 가져오려면 GameInputInitialize를 다시 호출하는 대신 해당 개체에서 QueryInterface를 호출하세요. 자세한 내용과 예제는 하나의 애플리케이션에서 여러 GameInput API 버전 사용을 참조하세요.

요구 사항

헤더: GameInput.h 라이브러리: GameInput.lib 지원되는 플랫폼: Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

함께 보기

GameInputCreate
GameInput API 버전 관리
하나의 애플리케이션에서 여러 GameInput API 버전 사용
GameInput

버전 기록

마지막 수정일 2026년 11월 6일