Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This method determines the top-level behavior of the application.
HRESULT SetCooperativeLevel(HWNDhWnd,DWORDdwFlags);
Parameters
hWnd
Window handle used for the application. Set to the calling application's top-level window handle (not a handle for any child windows created by the top-level window). This parameter can be NULL when the DDSCL_NORMAL flag is specified in the dwFlags parameter.dwFlags
The following table shows the possible flags.Flag Description DDSCL_CREATEDEVICEWINDOW Is not supported in Windows CE. DDSCL_EXCLUSIVE Requests the exclusive level. This flag must be used with the DDSCL_FULLSCREEN flag.
DDSCL_FULLSCREEN Indicates that the exclusive-mode owner will be responsible for the entire primary surface. GDI can be ignored. This flag must be used with the DDSCL_EXCLUSIVE flag.
DDSCL_NORMAL Indicates that the application will function as a regular Windows application. This flag cannot be used with the DDSCL_ALLOWMODEX, DDSCL_EXCLUSIVE, or DDSCL_FULLSCREEN flags.
The current Windows CE implementation allows for processes with NORMAL level to access DirectDraw resources when there is a process in full-screen exclusive mode.
Processes in NORMAL mode can access primary surfaces but are restricted with regard to flipping, creating complex primaries, and setting display modes.
A process may go into full-screen exclusive mode if no other process is in exclusive mode, regardless of whether processes are running at a NORMAL level of cooperation.
DDSCL_NOWINDOWCHANGES Indicates that DirectDraw is not allowed to minimize or restore the application window on activation. These flags are not supported in Windows CE.
DDSCL_ALLOWMODEX DDSCL_ALLOWREBOOT DDSCL_ALLOWSYSKEY DDSCL_FPUSETUP DDSCL_MULTITHREADED DDSCL_SETDEVICEWINDOW DDSCL_SETFOCUSWINDOW
Return Values
If the method succeeds, the return value is DD_OK.
If the method fails, the return value may be one of the following error values:
DDERR_EXCLUSIVEMODEALREADYSET |
DDERR_HWNDALREADYSET |
DDERR_HWNDSUBCLASSED |
DDERR_INVALIDOBJECT |
DDERR_INVALIDPARAMS |
DDERR_OUTOFMEMORY |
Remarks
This method must be called by the same thread that created the application window.
An application must set either the DDSCL_EXCLUSIVE or the DDSCL_NORMAL flag.
The DDSCL_EXCLUSIVE flag must be set to call functions that can have drastic performance consequences for other applications.
Interaction between this method and the IDirectDraw4::SetDisplayMode method differs from their IDirectDraw counterparts.
Developers using Microsoft Foundation Classes (MFC) should keep in mind that the window handle passed to this method should identify the application's top-level window, not a derived child window.
To retrieve your MFC application's top level window handle, use the following code.
HWND hwndTop = AfxGetMainWnd()->GetSafeHwnd();
Requirements
OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header: Ddraw.h.
Link Library: Ddraw.lib.
See Also
IDirectDraw4::SetDisplayMode | IDirectDraw4::Compact | IDirectDraw4::EnumDisplayModes
Send Feedback on this topic to the authors