VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/include/VBoxDisplay.h@ 30689

Last change on this file since 30689 was 30462, checked in by vboxsync, 15 years ago

wddm/3d: visible regions reporting API & impl (not tested enough yet)

  • Property svn:eol-style set to native
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBoxDisplay - private windows additions display header
4 *
5 * Copyright (C) 2006-2007 Oracle Corporation
6 *
7 * This file is part of VirtualBox Open Source Edition (OSE), as
8 * available from http://www.virtualbox.org. This file is free software;
9 * you can redistribute it and/or modify it under the terms of the GNU
10 * General Public License (GPL) as published by the Free Software
11 * Foundation, in version 2 as it comes in the "COPYING" file of the
12 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14 */
15#ifndef __VBoxDisplay_h__
16#define __VBoxDisplay_h__
17
18#define VBOXESC_SETVISIBLEREGION 0xABCD9001
19#define VBOXESC_ISVRDPACTIVE 0xABCD9002
20#ifdef VBOXWDDM
21# define VBOXESC_REINITVIDEOMODES 0xABCD9003
22# define VBOXESC_GETVBOXVIDEOCMCMD 0xABCD9004
23
24#include <iprt/assert.h>
25
26typedef struct
27{
28 ULONG Id;
29 DWORD Width;
30 DWORD Height;
31 DWORD BitsPerPixel;
32} VBOXWDDM_RECOMMENDVIDPN_SCREEN_INFO, *PVBOXWDDM_RECOMMENDVIDPN_SCREEN_INFO;
33
34typedef struct
35{
36 uint32_t cScreenInfos;
37 VBOXWDDM_RECOMMENDVIDPN_SCREEN_INFO aScreenInfos[1];
38} VBOXWDDM_RECOMMENDVIDPN, *PVBOXWDDM_RECOMMENDVIDPN;
39
40#define VBOXWDDM_RECOMMENDVIDPN_SIZE(_c) (RT_OFFSETOF(VBOXWDDM_RECOMMENDVIDPN, aScreenInfos[_c]))
41
42#endif /* #ifdef VBOXWDDM */
43
44typedef struct VBOXDISPIFESCAPE
45{
46 int32_t escapeCode;
47 uint32_t u32CmdSpecific;
48} VBOXDISPIFESCAPE, *PVBOXDISPIFESCAPE;
49
50/* ensure command body is always 8-byte-aligned*/
51AssertCompile((sizeof (VBOXDISPIFESCAPE) & 7) == 0);
52
53#define VBOXDISPIFESCAPE_DATA_OFFSET() ((sizeof (VBOXDISPIFESCAPE) + 7) & ~7)
54#define VBOXDISPIFESCAPE_DATA(_pHead, _t) ( (_t*)(((uint8_t*)(_pHead)) + VBOXDISPIFESCAPE_DATA_OFFSET()))
55#define VBOXDISPIFESCAPE_DATA_SIZE(_s) ( (_s) < VBOXDISPIFESCAPE_DATA_OFFSET() ? 0 : (_s) - VBOXDISPIFESCAPE_DATA_OFFSET() )
56#define VBOXDISPIFESCAPE_SIZE(_cbData) ((_cbData) ? VBOXDISPIFESCAPE_DATA_OFFSET() + (_cbData) : sizeof (VBOXDISPIFESCAPE))
57
58#define IOCTL_VIDEO_VBOX_SETVISIBLEREGION \
59 CTL_CODE(FILE_DEVICE_VIDEO, 0xA01, METHOD_BUFFERED, FILE_ANY_ACCESS)
60
61#endif /* __VBoxDisplay_h__ */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette