Microsoft DirectX 8.1 (C++)

IDirect3DDevice8::TestCooperativeLevel

Reports the current cooperative-level status of the Microsoft® Direct3D® device for a windowed or full-screen application.

HRESULT TestCooperativeLevel();

Parameters

None.

Return Values

If the method succeeds, the return value is D3D_OK, indicating that the device is operational and the calling application can continue.

If the method fails, the return value can be one of the following values (see Remarks).

D3DERR_DEVICELOST
D3DERR_DEVICENOTRESET

Remarks

If the device is lost but cannot be restored at the current time, IDirect3DDevice8::TestCooperativeLevel returns the D3DERR_DEVICELOST return code. This would be the case, for example, when a full-screen device has lost focus. If an application detects a lost device, it should pause and periodically call TestCooperativeLevel until it receives a return value of D3DERR_DEVICENOTRESET. The application may then attempt to reset the device by calling IDirect3DDevice8::Reset and, if this succeeds, restore the necessary resources and resume normal operation. Note that IDirect3DDevice8::Present will return D3DERR_DEVICELOST if the device is either "lost" or "not reset".

A call to TestCooperative Level will fail if called on a different thread than that used to create the device being reset.

Requirements

  Header: Declared in D3d8.h.
  Import Library: Use D3d8.lib.