다음을 통해 공유


IGameInputDevice::AcquireExclusiveRawDeviceAccess

참고 항목

이 기능은 아직 구현되지 않았습니다.

프로세스가 포커스를 잃을 때에도 타이틀 프로세스에 장치에 대한 독점 액세스 권한을 부여합니다.

구문

bool AcquireExclusiveRawDeviceAccess(  
         uint64_t timeoutInMicroseconds  
)  

매개 변수

timeoutInMicroseconds _In_
형식: uint64_t

액세스 요청이 시간 초과되기 전 장치 액세스를 기다리는 시간입니다.

반환 값

형식: bool

이 기능은 아직 구현되지 않았습니다.

일단 구현된 경우, 지정된 timeoutInMicroseconds 시간 간격 동안 단독 액세스가 허가되지 않으면 함수는 실패 결과를 반환합니다.

비고

단독 원시 장치 액세스 권한을 얻으면 장치에 대한 원시 장치 I/O만 허용됩니다. 현재 포커스 상태에 있는 프로세스에는 계속 일반 입력이 전송됩니다(이 동작을 없앨 수 없음). 프로세스에 장치에 대한 단독 원시 액세스 권한이 있으면 어떤 프로세스에서든 일반적인 출력 메서드(예: 촉각/힘 피드백)를 계속 호출할 수 있지만, 포커스를 얻은 프로세스에서도 그리고 포커스를 얻은 프로세스가 단독 원시 장치 액세스 권한이 있는 프로세스인 경우라도, 단독 액세스가 릴리스될 때까지는 장치에 출력이 전송되지 않습니다. 이것은 예기치 않은 메시지가 로우 레벨 I/O 트랜잭션 중간에 장치로 전송되지 않도록 하기 위한 것입니다.
프로세스의 단독 장치 I/O 수행이 완료되면 장치와의 일반(포커스 기반) 출력 통신을 재개하기 위해 ReleaseExclusiveRawDeviceAccess를 호출해야 합니다. 획득 및 해제 메서드는 참조 카운팅 모델을 따르므로, 획득 메서드가 호출될 때마다 한 번씩 해제 메서드를 호출해야 합니다. 단독 액세스를 갖고 있는 상태로 프로세스라 종료되면 단독 액세스가 자동으로 해제됩니다.
한 번에 하나의 프로세스만 단독 액세스를 가질 수 있습니다. 다른 프로세스가 AcquireExclusiveRawDeviceAccess 메서드를 호출하려고 시도할 때, 지정된 시간 초과 간격 내에 단독 액세스를 획득할 수 없으면 오류 HRESULT가 반환됩니다.

이 함수 다음에는 IGameInputDevice::ReleaseExclusiveRawDeviceAccess 호출이 수행되어야 합니다. 획득 및 해제 메서드는 참조 카운팅 모델을 따르므로, 획득 메서드가 호출될 때마다 한 번씩 해제 메서드를 호출해야 합니다. 단독 액세스를 갖고 있는 상태로 프로세스라 종료되면 단독 액세스가 자동으로 해제됩니다.

요구 사항

헤더: GameInput.h

라이브러리: xgameruntime.lib

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

입력 API 개요
IGameInputDevice