DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 TestCooperativeLevel   [목차열람] [주소복사] [슬롯비우기]
IDirect3DDevice9::TestCooperativeLevel 메서드
 
Microsoft DirectX 9.0

IDirect3DDevice9::TestCooperativeLevel 메서드


윈도우 애플리케이션 또는 풀 스크린 애플리케이션에 대한 Microsoft® Direct3D® 장치의 현재의 협조 레벨 스테이터스를 보고한다.

구문

HRESULT TestCooperativeLevel(VOID);

반환값

성공했을 경우는,D3D_OK 를 돌려준다. 이 반환값은, 장치가 동작하고 있어, 호출측 애플리케이션을 속행할 수 있는 것을 나타낸다.

실패했을 경우는, 다음의 몇개의 값을 돌려준다 ( 「주의」를 참조).

D3DERR_DEVICELOST장치는, 손실하고 있지만, 현재 리셋 할 수 없다. 따라서, 렌더링은 불가능하다.
D3DERR_DEVICENOTRESET장치는, 손실하고 있지만, 현재 리셋 할 수 있다.


주의

장치가 없어졌음에도 불구하고, 현시점에서 복원할 수 없는 경우,IDirect3DDevice9::TestCooperativeLevelD3DERR_DEVICELOST 반환 코드를 돌려준다. 예를 들어, 풀 스크린 장치가 포커스를 잃은 것 같은 경우이다. 애플리케이션으로 손실한 장치를 검출했을 경우, 애플리케이션은 일시정지해 IDirect3DDevice9::TestCooperativeLevel 를 정기적으로 호출해, 반환값 D3DERR_DEVICENOTRESET 를 받을 때까지 대기할 필요가 있다. 그 후로,IDirect3DDevice9::Reset 를 호출해 장치를 리셋 한다. 이것에 성공했을 경우는, 필요한 리소스를 복원해, 보통의 처리를 재개한다. 장치 상태가 "손실" 또는 "비리셋" 의 몇개의 경우는,IDirect3DDevice9::Present 는 D3DERR_DEVICELOST 를 돌려주는 것에 주의한다.

리셋 하는 장치를 생성 한 thread와는 다른 thread로 IDirect3DDevice9::TestCooperativeLevel 를 호출하면, 이 호출은 실패한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP