VBoxDisplay.h revision 3d70f3ec78f520a478d660d7f4ea7e2c7c916e94
4604ab7d38c2bd2dfc255aa1facffdf81c1c9153vboxsync * VBoxDisplay - private windows additions display header
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * Copyright (C) 2006-2012 Oracle Corporation
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync * available from http://www.virtualbox.org. This file is free software;
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
87150caf549846b0edba30c50dabe5092df70b5fvboxsync# define VBOXESC_CRHGSMICTLCON_GETCLIENTID 0xABCD900F
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#endif /* #ifdef VBOX_WITH_WDDM */
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync/* ensure command body is always 8-byte-aligned*/
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsyncAssertCompile((sizeof (VBOXDISPIFESCAPE) & 7) == 0);
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXDISPIFESCAPE_DATA_OFFSET() ((sizeof (VBOXDISPIFESCAPE) + 7) & ~7)
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXDISPIFESCAPE_DATA(_pHead, _t) ( (_t*)(((uint8_t*)(_pHead)) + VBOXDISPIFESCAPE_DATA_OFFSET()))
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXDISPIFESCAPE_DATA_SIZE(_s) ( (_s) < VBOXDISPIFESCAPE_DATA_OFFSET() ? 0 : (_s) - VBOXDISPIFESCAPE_DATA_OFFSET() )
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXDISPIFESCAPE_SIZE(_cbData) ((_cbData) ? VBOXDISPIFESCAPE_DATA_OFFSET() + (_cbData) : sizeof (VBOXDISPIFESCAPE))
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync CTL_CODE(FILE_DEVICE_VIDEO, 0xA01, METHOD_BUFFERED, FILE_ANY_ACCESS)
c30683beea9ebd049c548102f74645cf018daa23vboxsync CTL_CODE(FILE_DEVICE_VIDEO, 0xA02, METHOD_BUFFERED, FILE_ANY_ACCESS)
c30683beea9ebd049c548102f74645cf018daa23vboxsync} VBOXDISPIFESCAPE_ISANYX, *PVBOXDISPIFESCAPE_ISANYX;
c30683beea9ebd049c548102f74645cf018daa23vboxsync/* for VBOX_VIDEO_MAX_SCREENS definition */
8df90b726c1e1b6fc7a56dd44cad73191e53b406vboxsynctypedef struct
8df90b726c1e1b6fc7a56dd44cad73191e53b406vboxsync} VBOXWDDM_RECOMMENDVIDPN_SCREEN_INFO, *PVBOXWDDM_RECOMMENDVIDPN_SCREEN_INFO;
8df90b726c1e1b6fc7a56dd44cad73191e53b406vboxsynctypedef struct
8df90b726c1e1b6fc7a56dd44cad73191e53b406vboxsync VBOXWDDM_RECOMMENDVIDPN_SCREEN_INFO aScreenInfos[1];
8df90b726c1e1b6fc7a56dd44cad73191e53b406vboxsync} VBOXWDDM_RECOMMENDVIDPN, *PVBOXWDDM_RECOMMENDVIDPN;
8df90b726c1e1b6fc7a56dd44cad73191e53b406vboxsync#define VBOXWDDM_RECOMMENDVIDPN_SIZE(_c) (RT_OFFSETOF(VBOXWDDM_RECOMMENDVIDPN, aScreenInfos[_c]))
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync/* the mode was adjusted */
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXWDDM_ADJUSTVIDEOMODE_F_ADJUSTED 0x00000001
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync/* the mode is the currently active one */
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXWDDM_ADJUSTVIDEOMODE_F_CURRENT 0x00000002
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync/* the mode is unsupported */
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXWDDM_ADJUSTVIDEOMODE_F_UNSUPPORTED 0x00000004
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync/* invalid screen id */
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXWDDM_ADJUSTVIDEOMODE_F_INVALISCREENID 0x00000008
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync} VBOXWDDM_ADJUSTVIDEOMODE, *PVBOXWDDM_ADJUSTVIDEOMODE;
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync} VBOXDISPIFESCAPE_ADJUSTVIDEOMODES, *PVBOXDISPIFESCAPE_ADJUSTVIDEOMODES;
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXWDDM_REINITVIDEOMODESBYMASK_F_RECONNECT_DISPLAYS_ON_CHANGE 0x00000001
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#define VBOXWDDM_SCREENMASK_SIZE ((VBOX_VIDEO_MAX_SCREENS + 7) >> 3)
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsynctypedef struct VBOXDISPIFESCAPE_REINITVIDEOMODESBYMASK
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync} VBOXDISPIFESCAPE_REINITVIDEOMODESBYMASK, *PVBOXDISPIFESCAPE_REINITVIDEOMODESBYMASK;
c7d2f5508ab9703a7a6c5cce5c9d4bf335af660avboxsync#endif /* VBOX_WITH_WDDM */
4604ab7d38c2bd2dfc255aa1facffdf81c1c9153vboxsync#endif /* __VBoxDisplay_h__ */