ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ntddvdeo.h
Go to the documentation of this file.
00001 /*
00002  * ntddvdeo.h
00003  *
00004  * Definitions for video devices
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef _NTDDVDEO_
00024 #define _NTDDVDEO_
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 #define VIDEO_DEVICE_NAME                 "DISPLAY%d"
00031 #define WVIDEO_DEVICE_NAME                L"DISPLAY%d"
00032 
00033 #define DD_FULLSCREEN_VIDEO_DEVICE_NAME   L"\\Device\\FSVideo"
00034 
00035 DEFINE_GUID(GUID_DEVINTERFACE_DISPLAY_ADAPTER, \
00036   0x5b45201d, 0xf2f2, 0x4f3b, 0x85, 0xbb, 0x30, 0xff, 0x1f, 0x95, 0x35, 0x99);
00037 
00038 #define IOCTL_VIDEO_ENABLE_VDM \
00039   CTL_CODE(FILE_DEVICE_VIDEO, 0x00, METHOD_BUFFERED, FILE_ANY_ACCESS)
00040     
00041 #define IOCTL_VIDEO_DISABLE_VDM \
00042   CTL_CODE(FILE_DEVICE_VIDEO, 0x01, METHOD_BUFFERED, FILE_ANY_ACCESS)
00043 
00044 #define IOCTL_VIDEO_REGISTER_VDM \
00045   CTL_CODE(FILE_DEVICE_VIDEO, 0x02, METHOD_BUFFERED, FILE_ANY_ACCESS)
00046 
00047 #define IOCTL_VIDEO_SET_OUTPUT_DEVICE_POWER_STATE \
00048   CTL_CODE(FILE_DEVICE_VIDEO, 0x03, METHOD_BUFFERED, FILE_ANY_ACCESS)
00049 
00050 #define IOCTL_VIDEO_GET_OUTPUT_DEVICE_POWER_STATE \
00051   CTL_CODE(FILE_DEVICE_VIDEO, 0x04, METHOD_BUFFERED, FILE_ANY_ACCESS)
00052 
00053 #define IOCTL_VIDEO_MONITOR_DEVICE \
00054   CTL_CODE(FILE_DEVICE_VIDEO, 0x05, METHOD_BUFFERED, FILE_ANY_ACCESS)
00055 
00056 #define IOCTL_VIDEO_ENUM_MONITOR_PDO \
00057   CTL_CODE(FILE_DEVICE_VIDEO, 0x06, METHOD_BUFFERED, FILE_ANY_ACCESS)
00058 
00059 #define IOCTL_VIDEO_INIT_WIN32K_CALLBACKS \
00060   CTL_CODE(FILE_DEVICE_VIDEO, 0x07, METHOD_BUFFERED, FILE_ANY_ACCESS)
00061 
00062 #define IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS \
00063   CTL_CODE(FILE_DEVICE_VIDEO, 0x08, METHOD_BUFFERED, FILE_ANY_ACCESS)
00064 
00065 #define IOCTL_VIDEO_IS_VGA_DEVICE \
00066   CTL_CODE(FILE_DEVICE_VIDEO, 0x09, METHOD_BUFFERED, FILE_ANY_ACCESS)
00067 
00068 #define IOCTL_VIDEO_USE_DEVICE_IN_SESSION \
00069   CTL_CODE(FILE_DEVICE_VIDEO, 0x0a, METHOD_BUFFERED, FILE_ANY_ACCESS)
00070 
00071 #define IOCTL_VIDEO_PREPARE_FOR_EARECOVERY \
00072   CTL_CODE(FILE_DEVICE_VIDEO, 0x0b, METHOD_BUFFERED, FILE_ANY_ACCESS)
00073 
00074 #define IOCTL_VIDEO_DISABLE_CURSOR \
00075   CTL_CODE (FILE_DEVICE_VIDEO, 0x109, METHOD_BUFFERED, FILE_ANY_ACCESS)
00076 
00077 #define IOCTL_VIDEO_DISABLE_POINTER \
00078   CTL_CODE(FILE_DEVICE_VIDEO, 0x10f, METHOD_BUFFERED, FILE_ANY_ACCESS)
00079 
00080 #define IOCTL_VIDEO_ENABLE_CURSOR \
00081   CTL_CODE(FILE_DEVICE_VIDEO, 0x108, METHOD_BUFFERED, FILE_ANY_ACCESS)
00082 
00083 #define IOCTL_VIDEO_ENABLE_POINTER \
00084   CTL_CODE(FILE_DEVICE_VIDEO, 0x10e, METHOD_BUFFERED, FILE_ANY_ACCESS)
00085 
00086 #define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES \
00087   CTL_CODE(FILE_DEVICE_VIDEO, 0x119, METHOD_BUFFERED, FILE_ANY_ACCESS)
00088 
00089 #define IOCTL_VIDEO_GET_BANK_SELECT_CODE \
00090   CTL_CODE(FILE_DEVICE_VIDEO, 0x115, METHOD_BUFFERED, FILE_ANY_ACCESS)
00091 
00092 #define IOCTL_VIDEO_GET_CHILD_STATE \
00093   CTL_CODE(FILE_DEVICE_VIDEO, 0x120, METHOD_BUFFERED, FILE_ANY_ACCESS)
00094 
00095 #define IOCTL_VIDEO_GET_POWER_MANAGEMENT \
00096   CTL_CODE(FILE_DEVICE_VIDEO, 0x11c, METHOD_BUFFERED, FILE_ANY_ACCESS)
00097 
00098 #define IOCTL_VIDEO_LOAD_AND_SET_FONT \
00099   CTL_CODE(FILE_DEVICE_VIDEO, 0x105, METHOD_BUFFERED, FILE_ANY_ACCESS)
00100 
00101 #define IOCTL_VIDEO_MAP_VIDEO_MEMORY \
00102   CTL_CODE(FILE_DEVICE_VIDEO, 0x116, METHOD_BUFFERED, FILE_ANY_ACCESS)
00103 
00104 #define IOCTL_VIDEO_QUERY_AVAIL_MODES \
00105   CTL_CODE(FILE_DEVICE_VIDEO, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
00106 
00107 #define IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES \
00108   CTL_CODE(FILE_DEVICE_VIDEO, 0x11a, METHOD_BUFFERED, FILE_ANY_ACCESS)
00109 
00110 #define IOCTL_VIDEO_QUERY_CURRENT_MODE \
00111   CTL_CODE(FILE_DEVICE_VIDEO, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS)
00112 
00113 #define IOCTL_VIDEO_QUERY_CURSOR_ATTR \
00114   CTL_CODE(FILE_DEVICE_VIDEO, 0x10b, METHOD_BUFFERED, FILE_ANY_ACCESS)
00115 
00116 #define IOCTL_VIDEO_QUERY_CURSOR_POSITION \
00117   CTL_CODE(FILE_DEVICE_VIDEO, 0x10d, METHOD_BUFFERED, FILE_ANY_ACCESS)
00118 
00119 #define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES \
00120   CTL_CODE(FILE_DEVICE_VIDEO, 0x101, METHOD_BUFFERED, FILE_ANY_ACCESS)
00121 
00122 #define IOCTL_VIDEO_QUERY_POINTER_ATTR \
00123   CTL_CODE(FILE_DEVICE_VIDEO, 0x111, METHOD_BUFFERED, FILE_ANY_ACCESS)
00124 
00125 #define IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES \
00126   CTL_CODE(FILE_DEVICE_VIDEO, 0x114, METHOD_BUFFERED, FILE_ANY_ACCESS)
00127 
00128 #define IOCTL_VIDEO_QUERY_POINTER_POSITION \
00129   CTL_CODE(FILE_DEVICE_VIDEO, 0x113, METHOD_BUFFERED, FILE_ANY_ACCESS)
00130 
00131 #define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES \
00132   CTL_CODE(FILE_DEVICE_VIDEO, 0x118, METHOD_BUFFERED, FILE_ANY_ACCESS)
00133 
00134 #define IOCTL_VIDEO_RESET_DEVICE \
00135   CTL_CODE(FILE_DEVICE_VIDEO, 0x104, METHOD_BUFFERED, FILE_ANY_ACCESS)
00136 
00137 #define IOCTL_VIDEO_RESTORE_HARDWARE_STATE \
00138   CTL_CODE(FILE_DEVICE_VIDEO, 0x81, METHOD_BUFFERED, FILE_ANY_ACCESS)
00139 
00140 #define IOCTL_VIDEO_SAVE_HARDWARE_STATE \
00141   CTL_CODE(FILE_DEVICE_VIDEO, 0x80, METHOD_BUFFERED, FILE_ANY_ACCESS)
00142 
00143 #define IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION \
00144   CTL_CODE(FILE_DEVICE_VIDEO, 0x122, METHOD_BUFFERED, FILE_ANY_ACCESS)
00145 
00146 #define IOCTL_VIDEO_SET_COLOR_REGISTERS \
00147   CTL_CODE(FILE_DEVICE_VIDEO, 0x107, METHOD_BUFFERED, FILE_ANY_ACCESS)
00148 
00149 #define IOCTL_VIDEO_SET_CURRENT_MODE \
00150   CTL_CODE(FILE_DEVICE_VIDEO, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS)
00151 
00152 #define IOCTL_VIDEO_SET_CURSOR_ATTR \
00153   CTL_CODE(FILE_DEVICE_VIDEO, 0x10a, METHOD_BUFFERED, FILE_ANY_ACCESS)
00154 
00155 #define IOCTL_VIDEO_SET_CURSOR_POSITION \
00156   CTL_CODE(FILE_DEVICE_VIDEO, 0x10c, METHOD_BUFFERED, FILE_ANY_ACCESS)
00157 
00158 #define IOCTL_VIDEO_SET_PALETTE_REGISTERS \
00159   CTL_CODE(FILE_DEVICE_VIDEO, 0x106, METHOD_BUFFERED, FILE_ANY_ACCESS)
00160 
00161 #define IOCTL_VIDEO_SET_POINTER_ATTR \
00162   CTL_CODE(FILE_DEVICE_VIDEO, 0x110, METHOD_BUFFERED, FILE_ANY_ACCESS)
00163 
00164 #define IOCTL_VIDEO_SET_POINTER_POSITION \
00165   CTL_CODE(FILE_DEVICE_VIDEO, 0x112, METHOD_BUFFERED, FILE_ANY_ACCESS)
00166 
00167 #define IOCTL_VIDEO_SET_POWER_MANAGEMENT \
00168   CTL_CODE(FILE_DEVICE_VIDEO, 0x11b, METHOD_BUFFERED, FILE_ANY_ACCESS)
00169 
00170 #define IOCTL_VIDEO_SHARE_VIDEO_MEMORY \
00171   CTL_CODE(FILE_DEVICE_VIDEO, 0x11d, METHOD_BUFFERED, FILE_ANY_ACCESS)
00172 
00173 #define IOCTL_VIDEO_SWITCH_DUALVIEW \
00174   CTL_CODE(FILE_DEVICE_VIDEO, 0x123, METHOD_BUFFERED, FILE_ANY_ACCESS)
00175 
00176 #define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY \
00177   CTL_CODE(FILE_DEVICE_VIDEO, 0x117, METHOD_BUFFERED, FILE_ANY_ACCESS)
00178 
00179 #define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY \
00180   CTL_CODE(FILE_DEVICE_VIDEO, 0x11e, METHOD_BUFFERED, FILE_ANY_ACCESS)
00181 
00182 #define IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION \
00183   CTL_CODE(FILE_DEVICE_VIDEO, 0x121, METHOD_BUFFERED, FILE_ANY_ACCESS)
00184 
00185 
00186 
00187 typedef struct _VIDEO_MEMORY {
00188   PVOID  RequestedVirtualAddress;
00189 } VIDEO_MEMORY, *PVIDEO_MEMORY;
00190 
00191 typedef struct _VIDEO_MEMORY_INFORMATION {
00192   PVOID  VideoRamBase;
00193   ULONG  VideoRamLength;
00194   PVOID  FrameBufferBase;
00195   ULONG  FrameBufferLength;
00196 } VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION;
00197 
00198 /* VIDEO_MODE.RequestedMode */
00199 #define VIDEO_MODE_MAP_MEM_LINEAR         0x40000000
00200 #define VIDEO_MODE_NO_ZERO_MEMORY         0x80000000
00201 
00202 typedef struct _VIDEO_MODE {
00203   ULONG  RequestedMode;
00204 } VIDEO_MODE, *PVIDEO_MODE;
00205 
00206 /* VIDEO_MODE_INFORMATION.AttributeFlags */
00207 #define VIDEO_MODE_COLOR                  0x0001
00208 #define VIDEO_MODE_GRAPHICS               0x0002
00209 #define VIDEO_MODE_PALETTE_DRIVEN         0x0004
00210 #define VIDEO_MODE_MANAGED_PALETTE        0x0008
00211 #define VIDEO_MODE_INTERLACED             0x0010
00212 #define VIDEO_MODE_NO_OFF_SCREEN          0x0020
00213 #define VIDEO_MODE_NO_64_BIT_ACCESS       0x0040
00214 #define VIDEO_MODE_BANKED                 0x0080
00215 #define VIDEO_MODE_LINEAR                 0x0100
00216 
00217 typedef struct _VIDEO_MODE_INFORMATION {
00218   ULONG  Length;
00219   ULONG  ModeIndex;
00220   ULONG  VisScreenWidth;
00221   ULONG  VisScreenHeight;
00222   ULONG  ScreenStride;
00223   ULONG  NumberOfPlanes;
00224   ULONG  BitsPerPlane;
00225   ULONG  Frequency;
00226   ULONG  XMillimeter;
00227   ULONG  YMillimeter;
00228   ULONG  NumberRedBits;
00229   ULONG  NumberGreenBits;
00230   ULONG  NumberBlueBits;
00231   ULONG  RedMask;
00232   ULONG  GreenMask;
00233   ULONG  BlueMask;
00234   ULONG  AttributeFlags;
00235   ULONG  VideoMemoryBitmapWidth;
00236   ULONG  VideoMemoryBitmapHeight;
00237   ULONG  DriverSpecificAttributeFlags;
00238 } VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;
00239 
00240 typedef struct _VIDEO_NUM_MODES {
00241   ULONG  NumModes;
00242   ULONG  ModeInformationLength;
00243 } VIDEO_NUM_MODES, *PVIDEO_NUM_MODES;
00244 
00245 typedef enum _VIDEO_POWER_STATE {
00246   VideoPowerUnspecified = 0,
00247   VideoPowerOn = 1,
00248   VideoPowerStandBy,
00249   VideoPowerSuspend,
00250   VideoPowerOff,
00251   VideoPowerHibernate,
00252   VideoPowerShutdown,
00253   VideoPowerMaximum
00254 } VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;
00255 
00256 typedef struct _VIDEO_POWER_MANAGEMENT {
00257   ULONG  Length;
00258   ULONG  DPMSVersion;
00259   ULONG  PowerState;
00260 } VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;
00261 
00262 typedef struct _VIDEO_PUBLIC_ACCESS_RANGES {
00263   ULONG  InIoSpace;
00264   ULONG  MappedInIoSpace;
00265   PVOID  VirtualAddress;
00266 } VIDEO_PUBLIC_ACCESS_RANGES, *PVIDEO_PUBLIC_ACCESS_RANGES;
00267 
00268 typedef struct _VIDEO_SHARE_MEMORY {
00269   HANDLE  ProcessHandle;
00270   ULONG  ViewOffset;
00271   ULONG  ViewSize;
00272   PVOID  RequestedVirtualAddress;
00273 } VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
00274 
00275 typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
00276   ULONG  SharedViewOffset;
00277   ULONG  SharedViewSize;
00278   PVOID  VirtualAddress;
00279 } VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;
00280 
00281 /* VIDEO_BANK_SELECT.BankingFlags constants */
00282 #define PLANAR_HC                         0x00000001
00283 
00284 /* VIDEO_BANK_SELECT.BankingType and PlanarHCBankingType constants */
00285 typedef enum _VIDEO_BANK_TYPE {
00286   VideoNotBanked = 0,
00287   VideoBanked1RW,
00288   VideoBanked1R1W,
00289   VideoBanked2RW,
00290   NumVideoBankTypes
00291 } VIDEO_BANK_TYPE, *PVIDEO_BANK_TYPE;
00292 
00293 typedef struct _VIDEO_BANK_SELECT {
00294   ULONG  Length;
00295   ULONG  Size;
00296   ULONG  BankingFlags;
00297   ULONG  BankingType;
00298   ULONG  PlanarHCBankingType;
00299   ULONG  BitmapWidthInBytes;
00300   ULONG  BitmapSize;
00301   ULONG  Granularity;
00302   ULONG  PlanarHCGranularity;
00303   ULONG  CodeOffset;
00304   ULONG  PlanarHCBankCodeOffset;
00305   ULONG  PlanarHCEnableCodeOffset;
00306   ULONG  PlanarHCDisableCodeOffset;
00307 } VIDEO_BANK_SELECT, *PVIDEO_BANK_SELECT;
00308 
00309 typedef struct _VIDEO_LOAD_FONT_INFORMATION {
00310   USHORT  WidthInPixels;
00311   USHORT  HeightInPixels;
00312   ULONG  FontSize;
00313   UCHAR  Font[1];
00314 } VIDEO_LOAD_FONT_INFORMATION, *PVIDEO_LOAD_FONT_INFORMATION;
00315 
00316 /* VIDEO_COLOR_CAPABILITIES.AttributeFlags constants */
00317 #define VIDEO_DEVICE_COLOR                0x00000001
00318 #define VIDEO_OPTIONAL_GAMMET_TABLE       0x00000002
00319 
00320 typedef struct _VIDEO_COLOR_CAPABILITIES {
00321   ULONG  Length;
00322   ULONG  AttributeFlags;
00323   LONG  RedPhosphoreDecay;
00324   LONG  GreenPhosphoreDecay;
00325   LONG  BluePhosphoreDecay;
00326   LONG  WhiteChromaticity_x;
00327   LONG  WhiteChromaticity_y;
00328   LONG  WhiteChromaticity_Y;
00329   LONG  RedChromaticity_x;
00330   LONG  RedChromaticity_y;
00331   LONG  GreenChromaticity_x;
00332   LONG  GreenChromaticity_y;
00333   LONG  BlueChromaticity_x;
00334   LONG  BlueChromaticity_y;
00335   LONG  WhiteGamma;
00336   LONG  RedGamma;
00337   LONG  GreenGamma;
00338   LONG  BlueGamma;
00339 } VIDEO_COLOR_CAPABILITIES, *PVIDEO_COLOR_CAPABILITIES;
00340 
00341 typedef struct _VIDEO_CURSOR_ATTRIBUTES {
00342   USHORT  Width;
00343   USHORT  Height;
00344   SHORT  Column;
00345   SHORT  Row;
00346   UCHAR  Rate;
00347   UCHAR  Enable;
00348 } VIDEO_CURSOR_ATTRIBUTES, *PVIDEO_CURSOR_ATTRIBUTES;
00349 
00350 typedef struct _VIDEO_CURSOR_POSITION {
00351   SHORT  Column;
00352   SHORT  Row;
00353 } VIDEO_CURSOR_POSITION, *PVIDEO_CURSOR_POSITION;
00354 
00355 typedef struct _VIDEO_POINTER_ATTRIBUTES {
00356   ULONG  Flags;
00357   ULONG  Width;
00358   ULONG  Height;
00359   ULONG  WidthInBytes;
00360   ULONG  Enable;
00361   SHORT  Column;
00362   SHORT  Row;
00363   UCHAR  Pixels[1];
00364 } VIDEO_POINTER_ATTRIBUTES, *PVIDEO_POINTER_ATTRIBUTES;
00365 
00366 /* VIDEO_POINTER_CAPABILITIES.Flags */
00367 #define VIDEO_MODE_ASYNC_POINTER          0x01
00368 #define VIDEO_MODE_MONO_POINTER           0x02
00369 #define VIDEO_MODE_COLOR_POINTER          0x04
00370 #define VIDEO_MODE_ANIMATE_START          0x08
00371 #define VIDEO_MODE_ANIMATE_UPDATE         0x10
00372 
00373 typedef struct _VIDEO_POINTER_CAPABILITIES {
00374   ULONG  Flags;
00375   ULONG  MaxWidth;
00376   ULONG  MaxHeight;
00377   ULONG  HWPtrBitmapStart;
00378   ULONG  HWPtrBitmapEnd;
00379 } VIDEO_POINTER_CAPABILITIES, *PVIDEO_POINTER_CAPABILITIES;
00380 
00381 typedef struct _VIDEO_POINTER_POSITION {
00382   SHORT  Column;
00383   SHORT  Row;
00384 } VIDEO_POINTER_POSITION, *PVIDEO_POINTER_POSITION;
00385 
00386 
00387 /* VIDEO_HARDWARE_STATE_HEADER.VGAStateFlags constants */
00388 #define VIDEO_STATE_NON_STANDARD_VGA      0x00000001
00389 #define VIDEO_STATE_UNEMULATED_VGA_STATE  0x00000002
00390 #define VIDEO_STATE_PACKED_CHAIN4_MODE    0x00000004
00391 
00392 typedef struct _VIDEO_HARDWARE_STATE_HEADER {
00393   ULONG  Length;
00394   UCHAR  PortValue[0x30];
00395   ULONG  AttribIndexDataState;
00396   ULONG  BasicSequencerOffset;
00397   ULONG  BasicCrtContOffset;
00398   ULONG  BasicGraphContOffset;
00399   ULONG  BasicAttribContOffset;
00400   ULONG  BasicDacOffset;
00401   ULONG  BasicLatchesOffset;
00402   ULONG  ExtendedSequencerOffset;
00403   ULONG  ExtendedCrtContOffset;
00404   ULONG  ExtendedGraphContOffset;
00405   ULONG  ExtendedAttribContOffset;
00406   ULONG  ExtendedDacOffset;
00407   ULONG  ExtendedValidatorStateOffset;
00408   ULONG  ExtendedMiscDataOffset;
00409   ULONG  PlaneLength;
00410   ULONG  Plane1Offset;
00411   ULONG  Plane2Offset;
00412   ULONG  Plane3Offset;
00413   ULONG  Plane4Offset;
00414   ULONG  VGAStateFlags;
00415   ULONG  DIBOffset;
00416   ULONG  DIBBitsPerPixel;
00417   ULONG  DIBXResolution;
00418   ULONG  DIBYResolution;
00419   ULONG  DIBXlatOffset;
00420   ULONG  DIBXlatLength;
00421   ULONG  VesaInfoOffset;
00422   PVOID  FrameBufferData;
00423 } VIDEO_HARDWARE_STATE_HEADER, *PVIDEO_HARDWARE_STATE_HEADER;
00424 
00425 typedef struct _VIDEO_CLUTDATA {
00426   UCHAR  Red;
00427   UCHAR  Green;
00428   UCHAR  Blue;
00429   UCHAR  Unused;
00430 } VIDEO_CLUTDATA, *PVIDEO_CLUTDATA;
00431 
00432 typedef struct {
00433     USHORT  NumEntries;
00434     USHORT  FirstEntry;
00435     union {
00436     VIDEO_CLUTDATA  RgbArray;
00437     ULONG  RgbLong;
00438     } LookupTable[1];
00439 } VIDEO_CLUT, *PVIDEO_CLUT;
00440 
00441 typedef struct _VIDEO_PALETTE_DATA {
00442   USHORT  NumEntries;
00443   USHORT  FirstEntry;
00444   USHORT  Colors[1];
00445 } VIDEO_PALETTE_DATA, *PVIDEO_PALETTE_DATA;
00446 
00447 typedef struct _VIDEO_HARDWARE_STATE {
00448     PVIDEO_HARDWARE_STATE_HEADER  StateHeader;
00449     ULONG  StateLength;
00450 } VIDEO_HARDWARE_STATE, *PVIDEO_HARDWARE_STATE;
00451 
00452 #define VIDEO_CHILD_ACTIVE                0x00000001
00453 #define VIDEO_CHILD_DETACHED              0x00000002
00454 #define VIDEO_CHILD_NOPRUNE_FREQ          0x80000000
00455 #define VIDEO_CHILD_NOPRUNE_RESOLUTION    0x40000000
00456 
00457 #define VIDEO_DUALVIEW_REMOVABLE          0x00000001
00458 #define VIDEO_DUALVIEW_PRIMARY            0x80000000
00459 #define VIDEO_DUALVIEW_SECONDARY          0x40000000
00460 
00461 #ifndef _WINDDI_
00462 typedef struct _ENG_EVENT *PEVENT;
00463 #endif
00464 
00465 typedef struct _ENG_EVENT
00466 {
00467     PVOID pKEvent;
00468     ULONG fFlags;
00469 } ENG_EVENT, *PENG_EVENT;
00470 
00471 typedef struct _DISPLAY_BRIGHTNESS {
00472   UCHAR ucDisplayPolicy;
00473   UCHAR ucACBrightness;
00474   UCHAR ucDCBrightness;
00475 } DISPLAY_BRIGHTNESS, *PDISPLAY_BRIGHTNESS;
00476 
00477 #define DISPLAYPOLICY_AC                0x00000001
00478 #define DISPLAYPOLICY_DC                0x00000002
00479 #define DISPLAYPOLICY_BOTH              0x00000003
00480 
00481 #ifdef __cplusplus
00482 }
00483 #endif
00484 
00485 #endif /* _NTDDVDEO_ */

Generated on Mon May 28 2012 04:31:52 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.