Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenntddvdeo.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
1.7.6.1
|