XSystemHandleTrack
게임 런타임에서 핸들 수명 이벤트를 추적하는 콜백을 등록합니다.
구문
HRESULT XSystemHandleTrack(
XSystemHandleCallback callback,
void * context
)
매개 변수
callback _In_
형식: XSystemHandleCallback
핸들 생성 및 소멸 시 호출될 사용자 지정 콜백입니다. 콜백에 대해 NULL에서 핸들 추적 패스를 사용하지 않도록 설정합니다.
context _In_opt_
형식: void *
사용자가 콜백에 전달할 컨텍스트를 정의합니다.
반환 값
형식: HRESULT
성공한 경우 S_OK를 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 오류 코드 목록은 오류 코드를 참조하세요.
설명
게임 개발자는 잘못된 핸들 사용과 관련된 버그 문제를 해결할 수 있어야 합니다. 대부분의 GRTS API는 플랫폼 구현에서 내부 개체의 수명에 해당하는 핸들을 활용합니다. 게임에서는 개발자가 실수로 이러한 API에 잘못된(NULL, 이전에 해제된 등) 핸들을 제공하여 타이틀 충돌이 발생하는 문제가 발생하는 경우가 많습니다. 또한 개발자는 실수로 핸들을 누수하여 과도한 리소스 사용이 발생할 수 있습니다. 핸들 추적 API의 목표는 개발자가 이러한 문제를 진단하고 해결할 수 있도록 하는 것입니다.
API에는 활성 및 수동의 두 가지 구성 요소가 있습니다. GRTS에서 만든 모든 핸들은 디버그 및 소매 시나리오 모두에 대해 지속적으로 추적됩니다. 핸들이 API에 전달될 때마다 플랫폼은 유효성 검사를 수행하여 이러한 핸들이 유효한 내부 개체에 해당하는지 확인합니다. 잘못된 핸들이 검색되면 플랫폼에서 오류를 기록하고 XErrorReport를 호출하여 개발자에게 문제를 알립니다. 플랫폼은 잘못된 핸들 사용을 억제하고 이 기능 이전과 마찬가지로 애플리케이션의 작동이 중단되도록 하기 위해 추가적인 노력을 하지 않습니다. 마지막으로, XGameRuntimeUninitialize 시의 핸들 누수도 XErrorReport를 통해 보고됩니다. 현재 핸들 추적 시스템은 GRTS 외부에 있는 핸들을 추적할 수 없습니다.
요구 사항
헤더: XSystem.h
라이브러리: xgameruntime.lib
지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔