VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Miniport/vboxioctl.h@ 3153

Last change on this file since 3153 was 3153, checked in by vboxsync, 17 years ago

Multimonitor support.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1/** @file
2 *
3 * VBoxGuest -- VirtualBox Win 2000/XP guest video driver
4 *
5 * Display driver entry points.
6 *
7 * Copyright (C) 2006-2007 innotek GmbH
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License as published by the Free Software Foundation,
13 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14 * distribution. VirtualBox OSE is distributed in the hope that it will
15 * be useful, but WITHOUT ANY WARRANTY of any kind.
16 *
17 * If you received this file as part of a commercial VirtualBox
18 * distribution, then only the terms of your commercial VirtualBox
19 * license agreement apply instead of the previous paragraph.
20 *
21 */
22
23#ifndef __VBOXIOCTL__H
24#define __VBOXIOCTL__H
25
26#include <VBox/VBoxGuest.h>
27
28#define IOCTL_VIDEO_INTERPRET_DISPLAY_MEMORY \
29 CTL_CODE(FILE_DEVICE_VIDEO, 0x420, METHOD_BUFFERED, FILE_ANY_ACCESS)
30
31#define IOCTL_VIDEO_QUERY_DISPLAY_INFO \
32 CTL_CODE(FILE_DEVICE_VIDEO, 0x421, METHOD_BUFFERED, FILE_ANY_ACCESS)
33
34/** Called by the display driver when it is ready to
35 * switch to VBVA operation mode.
36 * Successful return means that VBVA can be used and
37 * output buffer contains VBVAENABLERESULT data.
38 * An error means that VBVA can not be used
39 * (disabled or not supported by the host).
40 */
41#define IOCTL_VIDEO_VBVA_ENABLE \
42 CTL_CODE(FILE_DEVICE_VIDEO, 0x400, METHOD_BUFFERED, FILE_ANY_ACCESS)
43
44#pragma pack(1)
45/**
46 * Data returned by IOCTL_VIDEO_VBVA_ENABLE.
47 *
48 */
49typedef struct _VBVAENABLERESULT
50{
51 /** Pointer to VBVAMemory part of VMMDev memory region. */
52 VBVAMEMORY *pVbvaMemory;
53
54 /** Called to force the host to process VBVA memory,
55 * when there is no more free space in VBVA memory.
56 * Normally this never happens.
57 *
58 * The other purpose is to perform a synchronous command.
59 * But the goal is to have no such commands at all.
60 */
61 DECLCALLBACKMEMBER(void, pfnFlush) (void *pvFlush);
62
63 /** Pointer required by the pfnFlush callback. */
64 void *pvFlush;
65
66} VBVAENABLERESULT;
67
68/**
69 * Data returned by IOCTL_VIDEO_QUERY_DISPLAY_INFO.
70 *
71 */
72typedef struct _QUERYDISPLAYINFORESULT
73{
74 /* Device index (0 for primary) */
75 ULONG iDevice;
76
77 /* Size of the display information area. */
78 uint32_t u32DisplayInfoSize;
79} QUERYDISPLAYINFORESULT;
80#pragma pack()
81
82#endif /* __VBOXIOCTL__H */
Note: See TracBrowser for help on using the repository browser.

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