Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/ntddvdeo.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * ntddvdeo.h | |
| 3 * | |
| 4 * Definitions for video devices | |
| 5 * | |
| 6 * This file is part of the w32api package. | |
| 7 * | |
| 8 * Contributors: | |
| 9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> | |
| 10 * | |
| 11 * THIS SOFTWARE IS NOT COPYRIGHTED | |
| 12 * | |
| 13 * This source code is offered for use in the public domain. You may | |
| 14 * use, modify or distribute it freely. | |
| 15 * | |
| 16 * This code is distributed in the hope that it will be useful but | |
| 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY | |
| 18 * DISCLAIMED. This includes but is not limited to warranties of | |
| 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
| 20 * | |
| 21 */ | |
| 22 | |
| 23 #ifndef __NTDDVDEO_H | |
| 24 #define __NTDDVDEO_H | |
| 25 | |
| 26 #ifdef __cplusplus | |
| 27 extern "C" { | |
| 28 #endif | |
| 29 | |
| 30 #define VIDEO_DEVICE_NAME "DISPLAY%d" | |
| 31 #define WVIDEO_DEVICE_NAME L"DISPLAY%d" | |
| 32 | |
| 33 #define DD_FULLSCREEN_VIDEO_DEVICE_NAME L"\\Device\\FSVideo" | |
| 34 | |
| 35 DEFINE_GUID(GUID_DEVINTERFACE_DISPLAY_ADAPTER, \ | |
| 36 0x5b45201d, 0xf2f2, 0x4f3b, 0x85, 0xbb, 0x30, 0xff, 0x1f, 0x95, 0x35, 0x99); | |
| 37 | |
| 38 | |
| 39 #define IOCTL_VIDEO_DISABLE_CURSOR \ | |
| 40 CTL_CODE (FILE_DEVICE_VIDEO, 0x109, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 41 | |
| 42 #define IOCTL_VIDEO_DISABLE_POINTER \ | |
| 43 CTL_CODE(FILE_DEVICE_VIDEO, 0x10f, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 44 | |
| 45 #define IOCTL_VIDEO_ENABLE_CURSOR \ | |
| 46 CTL_CODE(FILE_DEVICE_VIDEO, 0x108, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 47 | |
| 48 #define IOCTL_VIDEO_ENABLE_POINTER \ | |
| 49 CTL_CODE(FILE_DEVICE_VIDEO, 0x10e, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 50 | |
| 51 #define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES \ | |
| 52 CTL_CODE(FILE_DEVICE_VIDEO, 0x119, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 53 | |
| 54 #define IOCTL_VIDEO_GET_BANK_SELECT_CODE \ | |
| 55 CTL_CODE(FILE_DEVICE_VIDEO, 0x115, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 56 | |
| 57 #define IOCTL_VIDEO_GET_CHILD_STATE \ | |
| 58 CTL_CODE(FILE_DEVICE_VIDEO, 0x120, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 59 | |
| 60 #define IOCTL_VIDEO_GET_POWER_MANAGEMENT \ | |
| 61 CTL_CODE(FILE_DEVICE_VIDEO, 0x11c, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 62 | |
| 63 #define IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS \ | |
| 64 CTL_CODE(FILE_DEVICE_VIDEO, 0x08, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 65 | |
| 66 #define IOCTL_VIDEO_LOAD_AND_SET_FONT \ | |
| 67 CTL_CODE(FILE_DEVICE_VIDEO, 0x105, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 68 | |
| 69 #define IOCTL_VIDEO_MAP_VIDEO_MEMORY \ | |
| 70 CTL_CODE(FILE_DEVICE_VIDEO, 0x116, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 71 | |
| 72 #define IOCTL_VIDEO_QUERY_AVAIL_MODES \ | |
| 73 CTL_CODE(FILE_DEVICE_VIDEO, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 74 | |
| 75 #define IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES \ | |
| 76 CTL_CODE(FILE_DEVICE_VIDEO, 0x11a, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 77 | |
| 78 #define IOCTL_VIDEO_QUERY_CURRENT_MODE \ | |
| 79 CTL_CODE(FILE_DEVICE_VIDEO, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 80 | |
| 81 #define IOCTL_VIDEO_QUERY_CURSOR_ATTR \ | |
| 82 CTL_CODE(FILE_DEVICE_VIDEO, 0x10b, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 83 | |
| 84 #define IOCTL_VIDEO_QUERY_CURSOR_POSITION \ | |
| 85 CTL_CODE(FILE_DEVICE_VIDEO, 0x10d, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 86 | |
| 87 #define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES \ | |
| 88 CTL_CODE(FILE_DEVICE_VIDEO, 0x101, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 89 | |
| 90 #define IOCTL_VIDEO_QUERY_POINTER_ATTR \ | |
| 91 CTL_CODE(FILE_DEVICE_VIDEO, 0x111, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 92 | |
| 93 #define IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES \ | |
| 94 CTL_CODE(FILE_DEVICE_VIDEO, 0x114, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 95 | |
| 96 #define IOCTL_VIDEO_QUERY_POINTER_POSITION \ | |
| 97 CTL_CODE(FILE_DEVICE_VIDEO, 0x113, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 98 | |
| 99 #define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES \ | |
| 100 CTL_CODE(FILE_DEVICE_VIDEO, 0x118, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 101 | |
| 102 #define IOCTL_VIDEO_RESET_DEVICE \ | |
| 103 CTL_CODE(FILE_DEVICE_VIDEO, 0x104, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 104 | |
| 105 #define IOCTL_VIDEO_RESTORE_HARDWARE_STATE \ | |
| 106 CTL_CODE(FILE_DEVICE_VIDEO, 0x81, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 107 | |
| 108 #define IOCTL_VIDEO_SAVE_HARDWARE_STATE \ | |
| 109 CTL_CODE(FILE_DEVICE_VIDEO, 0x80, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 110 | |
| 111 #define IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION \ | |
| 112 CTL_CODE(FILE_DEVICE_VIDEO, 0x122, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 113 | |
| 114 #define IOCTL_VIDEO_SET_COLOR_REGISTERS \ | |
| 115 CTL_CODE(FILE_DEVICE_VIDEO, 0x107, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 116 | |
| 117 #define IOCTL_VIDEO_SET_CURRENT_MODE \ | |
| 118 CTL_CODE(FILE_DEVICE_VIDEO, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 119 | |
| 120 #define IOCTL_VIDEO_SET_CURSOR_ATTR \ | |
| 121 CTL_CODE(FILE_DEVICE_VIDEO, 0x10a, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 122 | |
| 123 #define IOCTL_VIDEO_SET_CURSOR_POSITION \ | |
| 124 CTL_CODE(FILE_DEVICE_VIDEO, 0x10c, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 125 | |
| 126 #define IOCTL_VIDEO_SET_PALETTE_REGISTERS \ | |
| 127 CTL_CODE(FILE_DEVICE_VIDEO, 0x106, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 128 | |
| 129 #define IOCTL_VIDEO_SET_POINTER_ATTR \ | |
| 130 CTL_CODE(FILE_DEVICE_VIDEO, 0x110, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 131 | |
| 132 #define IOCTL_VIDEO_SET_POINTER_POSITION \ | |
| 133 CTL_CODE(FILE_DEVICE_VIDEO, 0x112, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 134 | |
| 135 #define IOCTL_VIDEO_SET_POWER_MANAGEMENT \ | |
| 136 CTL_CODE(FILE_DEVICE_VIDEO, 0x11b, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 137 | |
| 138 #define IOCTL_VIDEO_SHARE_VIDEO_MEMORY \ | |
| 139 CTL_CODE(FILE_DEVICE_VIDEO, 0x11d, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 140 | |
| 141 #define IOCTL_VIDEO_SWITCH_DUALVIEW \ | |
| 142 CTL_CODE(FILE_DEVICE_VIDEO, 0x123, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 143 | |
| 144 #define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY \ | |
| 145 CTL_CODE(FILE_DEVICE_VIDEO, 0x117, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 146 | |
| 147 #define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY \ | |
| 148 CTL_CODE(FILE_DEVICE_VIDEO, 0x11e, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 149 | |
| 150 #define IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION \ | |
| 151 CTL_CODE(FILE_DEVICE_VIDEO, 0x121, METHOD_BUFFERED, FILE_ANY_ACCESS) | |
| 152 | |
| 153 | |
| 154 | |
| 155 typedef struct _VIDEO_MEMORY { | |
| 156 PVOID RequestedVirtualAddress; | |
| 157 } VIDEO_MEMORY, *PVIDEO_MEMORY; | |
| 158 | |
| 159 typedef struct _VIDEO_MEMORY_INFORMATION { | |
| 160 PVOID VideoRamBase; | |
| 161 ULONG VideoRamLength; | |
| 162 PVOID FrameBufferBase; | |
| 163 ULONG FrameBufferLength; | |
| 164 } VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION; | |
| 165 | |
| 166 /* VIDEO_MODE.RequestedMode */ | |
| 167 #define VIDEO_MODE_MAP_MEM_LINEAR 0x40000000 | |
| 168 #define VIDEO_MODE_NO_ZERO_MEMORY 0x80000000 | |
| 169 | |
| 170 typedef struct _VIDEO_MODE { | |
| 171 ULONG RequestedMode; | |
| 172 } VIDEO_MODE, *PVIDEO_MODE; | |
| 173 | |
| 174 /* VIDEO_MODE_INFORMATION.AttributeFlags */ | |
| 175 #define VIDEO_MODE_COLOR 0x0001 | |
| 176 #define VIDEO_MODE_GRAPHICS 0x0002 | |
| 177 #define VIDEO_MODE_PALETTE_DRIVEN 0x0004 | |
| 178 #define VIDEO_MODE_MANAGED_PALETTE 0x0008 | |
| 179 #define VIDEO_MODE_INTERLACED 0x0010 | |
| 180 #define VIDEO_MODE_NO_OFF_SCREEN 0x0020 | |
| 181 #define VIDEO_MODE_NO_64_BIT_ACCESS 0x0040 | |
| 182 #define VIDEO_MODE_BANKED 0x0080 | |
| 183 #define VIDEO_MODE_LINEAR 0x0100 | |
| 184 | |
| 185 typedef struct _VIDEO_MODE_INFORMATION { | |
| 186 ULONG Length; | |
| 187 ULONG ModeIndex; | |
| 188 ULONG VisScreenWidth; | |
| 189 ULONG VisScreenHeight; | |
| 190 ULONG ScreenStride; | |
| 191 ULONG NumberOfPlanes; | |
| 192 ULONG BitsPerPlane; | |
| 193 ULONG Frequency; | |
| 194 ULONG XMillimeter; | |
| 195 ULONG YMillimeter; | |
| 196 ULONG NumberRedBits; | |
| 197 ULONG NumberGreenBits; | |
| 198 ULONG NumberBlueBits; | |
| 199 ULONG RedMask; | |
| 200 ULONG GreenMask; | |
| 201 ULONG BlueMask; | |
| 202 ULONG AttributeFlags; | |
| 203 ULONG VideoMemoryBitmapWidth; | |
| 204 ULONG VideoMemoryBitmapHeight; | |
| 205 ULONG DriverSpecificAttributeFlags; | |
| 206 } VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION; | |
| 207 | |
| 208 typedef struct _VIDEO_NUM_MODES { | |
| 209 ULONG NumModes; | |
| 210 ULONG ModeInformationLength; | |
| 211 } VIDEO_NUM_MODES, *PVIDEO_NUM_MODES; | |
| 212 | |
| 213 typedef enum _VIDEO_POWER_STATE { | |
| 214 VideoPowerUnspecified = 0, | |
| 215 VideoPowerOn = 1, | |
| 216 VideoPowerStandBy, | |
| 217 VideoPowerSuspend, | |
| 218 VideoPowerOff, | |
| 219 VideoPowerHibernate, | |
| 220 VideoPowerShutdown, | |
| 221 VideoPowerMaximum | |
| 222 } VIDEO_POWER_STATE, *PVIDEO_POWER_STATE; | |
| 223 | |
| 224 typedef struct _VIDEO_POWER_MANAGEMENT { | |
| 225 ULONG Length; | |
| 226 ULONG DPMSVersion; | |
| 227 ULONG PowerState; | |
| 228 } VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT; | |
| 229 | |
| 230 typedef struct _VIDEO_PUBLIC_ACCESS_RANGES { | |
| 231 ULONG InIoSpace; | |
| 232 ULONG MappedInIoSpace; | |
| 233 PVOID VirtualAddress; | |
| 234 } VIDEO_PUBLIC_ACCESS_RANGES, *PVIDEO_PUBLIC_ACCESS_RANGES; | |
| 235 | |
| 236 typedef struct _VIDEO_SHARE_MEMORY { | |
| 237 HANDLE ProcessHandle; | |
| 238 ULONG ViewOffset; | |
| 239 ULONG ViewSize; | |
| 240 PVOID RequestedVirtualAddress; | |
| 241 } VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY; | |
| 242 | |
| 243 typedef struct _VIDEO_SHARE_MEMORY_INFORMATION { | |
| 244 ULONG SharedViewOffset; | |
| 245 ULONG SharedViewSize; | |
| 246 PVOID VirtualAddress; | |
| 247 } VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION; | |
| 248 | |
| 249 /* VIDEO_BANK_SELECT.BankingFlags constants */ | |
| 250 #define PLANAR_HC 0x00000001 | |
| 251 | |
| 252 /* VIDEO_BANK_SELECT.BankingType and PlanarHCBankingType constants */ | |
| 253 typedef enum _VIDEO_BANK_TYPE { | |
| 254 VideoNotBanked = 0, | |
| 255 VideoBanked1RW, | |
| 256 VideoBanked1R1W, | |
| 257 VideoBanked2RW, | |
| 258 NumVideoBankTypes | |
| 259 } VIDEO_BANK_TYPE, *PVIDEO_BANK_TYPE; | |
| 260 | |
| 261 typedef struct _VIDEO_BANK_SELECT { | |
| 262 ULONG Length; | |
| 263 ULONG Size; | |
| 264 ULONG BankingFlags; | |
| 265 ULONG BankingType; | |
| 266 ULONG PlanarHCBankingType; | |
| 267 ULONG BitmapWidthInBytes; | |
| 268 ULONG BitmapSize; | |
| 269 ULONG Granularity; | |
| 270 ULONG PlanarHCGranularity; | |
| 271 ULONG CodeOffset; | |
| 272 ULONG PlanarHCBankCodeOffset; | |
| 273 ULONG PlanarHCEnableCodeOffset; | |
| 274 ULONG PlanarHCDisableCodeOffset; | |
| 275 } VIDEO_BANK_SELECT, *PVIDEO_BANK_SELECT; | |
| 276 | |
| 277 typedef struct _VIDEO_LOAD_FONT_INFORMATION { | |
| 278 USHORT WidthInPixels; | |
| 279 USHORT HeightInPixels; | |
| 280 ULONG FontSize; | |
| 281 UCHAR Font[1]; | |
| 282 } VIDEO_LOAD_FONT_INFORMATION, *PVIDEO_LOAD_FONT_INFORMATION; | |
| 283 | |
| 284 /* VIDEO_COLOR_CAPABILITIES.AttributeFlags constants */ | |
| 285 #define VIDEO_DEVICE_COLOR 0x00000001 | |
| 286 #define VIDEO_OPTIONAL_GAMMET_TABLE 0x00000002 | |
| 287 | |
| 288 typedef struct _VIDEO_COLOR_CAPABILITIES { | |
| 289 ULONG Length; | |
| 290 ULONG AttributeFlags; | |
| 291 LONG RedPhosphoreDecay; | |
| 292 LONG GreenPhosphoreDecay; | |
| 293 LONG BluePhosphoreDecay; | |
| 294 LONG WhiteChromaticity_x; | |
| 295 LONG WhiteChromaticity_y; | |
| 296 LONG WhiteChromaticity_Y; | |
| 297 LONG RedChromaticity_x; | |
| 298 LONG RedChromaticity_y; | |
| 299 LONG GreenChromaticity_x; | |
| 300 LONG GreenChromaticity_y; | |
| 301 LONG BlueChromaticity_x; | |
| 302 LONG BlueChromaticity_y; | |
| 303 LONG WhiteGamma; | |
| 304 LONG RedGamma; | |
| 305 LONG GreenGamma; | |
| 306 LONG BlueGamma; | |
| 307 } VIDEO_COLOR_CAPABILITIES, *PVIDEO_COLOR_CAPABILITIES; | |
| 308 | |
| 309 typedef struct _VIDEO_CURSOR_ATTRIBUTES { | |
| 310 USHORT Width; | |
| 311 USHORT Height; | |
| 312 SHORT Column; | |
| 313 SHORT Row; | |
| 314 UCHAR Rate; | |
| 315 UCHAR Enable; | |
| 316 } VIDEO_CURSOR_ATTRIBUTES, *PVIDEO_CURSOR_ATTRIBUTES; | |
| 317 | |
| 318 typedef struct _VIDEO_CURSOR_POSITION { | |
| 319 SHORT Column; | |
| 320 SHORT Row; | |
| 321 } VIDEO_CURSOR_POSITION, *PVIDEO_CURSOR_POSITION; | |
| 322 | |
| 323 typedef struct _VIDEO_POINTER_ATTRIBUTES { | |
| 324 ULONG Flags; | |
| 325 ULONG Width; | |
| 326 ULONG Height; | |
| 327 ULONG WidthInBytes; | |
| 328 ULONG Enable; | |
| 329 SHORT Column; | |
| 330 SHORT Row; | |
| 331 UCHAR Pixels[1]; | |
| 332 } VIDEO_POINTER_ATTRIBUTES, *PVIDEO_POINTER_ATTRIBUTES; | |
| 333 | |
| 334 /* VIDEO_POINTER_CAPABILITIES.Flags */ | |
| 335 #define VIDEO_MODE_ASYNC_POINTER 0x01 | |
| 336 #define VIDEO_MODE_MONO_POINTER 0x02 | |
| 337 #define VIDEO_MODE_COLOR_POINTER 0x04 | |
| 338 #define VIDEO_MODE_ANIMATE_START 0x08 | |
| 339 #define VIDEO_MODE_ANIMATE_UPDATE 0x10 | |
| 340 | |
| 341 typedef struct _VIDEO_POINTER_CAPABILITIES { | |
| 342 ULONG Flags; | |
| 343 ULONG MaxWidth; | |
| 344 ULONG MaxHeight; | |
| 345 ULONG HWPtrBitmapStart; | |
| 346 ULONG HWPtrBitmapEnd; | |
| 347 } VIDEO_POINTER_CAPABILITIES, *PVIDEO_POINTER_CAPABILITIES; | |
| 348 | |
| 349 typedef struct _VIDEO_POINTER_POSITION { | |
| 350 SHORT Column; | |
| 351 SHORT Row; | |
| 352 } VIDEO_POINTER_POSITION, *PVIDEO_POINTER_POSITION; | |
| 353 | |
| 354 | |
| 355 /* VIDEO_HARDWARE_STATE_HEADER.VGAStateFlags constants */ | |
| 356 #define VIDEO_STATE_NON_STANDARD_VGA 0x00000001 | |
| 357 #define VIDEO_STATE_UNEMULATED_VGA_STATE 0x00000002 | |
| 358 #define VIDEO_STATE_PACKED_CHAIN4_MODE 0x00000004 | |
| 359 | |
| 360 typedef struct _VIDEO_HARDWARE_STATE_HEADER { | |
| 361 ULONG Length; | |
| 362 UCHAR PortValue[0x30]; | |
| 363 ULONG AttribIndexDataState; | |
| 364 ULONG BasicSequencerOffset; | |
| 365 ULONG BasicCrtContOffset; | |
| 366 ULONG BasicGraphContOffset; | |
| 367 ULONG BasicAttribContOffset; | |
| 368 ULONG BasicDacOffset; | |
| 369 ULONG BasicLatchesOffset; | |
| 370 ULONG ExtendedSequencerOffset; | |
| 371 ULONG ExtendedCrtContOffset; | |
| 372 ULONG ExtendedGraphContOffset; | |
| 373 ULONG ExtendedAttribContOffset; | |
| 374 ULONG ExtendedDacOffset; | |
| 375 ULONG ExtendedValidatorStateOffset; | |
| 376 ULONG ExtendedMiscDataOffset; | |
| 377 ULONG PlaneLength; | |
| 378 ULONG Plane1Offset; | |
| 379 ULONG Plane2Offset; | |
| 380 ULONG Plane3Offset; | |
| 381 ULONG Plane4Offset; | |
| 382 ULONG VGAStateFlags; | |
| 383 ULONG DIBOffset; | |
| 384 ULONG DIBBitsPerPixel; | |
| 385 ULONG DIBXResolution; | |
| 386 ULONG DIBYResolution; | |
| 387 ULONG DIBXlatOffset; | |
| 388 ULONG DIBXlatLength; | |
| 389 ULONG VesaInfoOffset; | |
| 390 PVOID FrameBufferData; | |
| 391 } VIDEO_HARDWARE_STATE_HEADER, *PVIDEO_HARDWARE_STATE_HEADER; | |
| 392 | |
| 393 typedef struct _VIDEO_CLUTDATA { | |
| 394 UCHAR Red; | |
| 395 UCHAR Green; | |
| 396 UCHAR Blue; | |
| 397 UCHAR Unused; | |
| 398 } VIDEO_CLUTDATA, *PVIDEO_CLUTDATA; | |
| 399 | |
| 400 typedef struct { | |
| 401 USHORT NumEntries; | |
| 402 USHORT FirstEntry; | |
| 403 union { | |
| 404 VIDEO_CLUTDATA RgbArray; | |
| 405 ULONG RgbLong; | |
| 406 } LookupTable[1]; | |
| 407 } VIDEO_CLUT, *PVIDEO_CLUT; | |
| 408 | |
| 409 typedef struct _VIDEO_PALETTE_DATA { | |
| 410 USHORT NumEntries; | |
| 411 USHORT FirstEntry; | |
| 412 USHORT Colors[1]; | |
| 413 } VIDEO_PALETTE_DATA, *PVIDEO_PALETTE_DATA; | |
| 414 | |
| 415 typedef struct _VIDEO_HARDWARE_STATE { | |
| 416 PVIDEO_HARDWARE_STATE_HEADER StateHeader; | |
| 417 ULONG StateLength; | |
| 418 } VIDEO_HARDWARE_STATE, *PVIDEO_HARDWARE_STATE; | |
| 419 | |
| 420 #define VIDEO_CHILD_ACTIVE 0x00000001 | |
| 421 #define VIDEO_CHILD_DETACHED 0x00000002 | |
| 422 #define VIDEO_CHILD_NOPRUNE_FREQ 0x80000000 | |
| 423 #define VIDEO_CHILD_NOPRUNE_RESOLUTION 0x40000000 | |
| 424 | |
| 425 #define VIDEO_DUALVIEW_REMOVABLE 0x00000001 | |
| 426 #define VIDEO_DUALVIEW_PRIMARY 0x80000000 | |
| 427 #define VIDEO_DUALVIEW_SECONDARY 0x40000000 | |
| 428 | |
| 429 #ifndef _WINDDI_ | |
| 430 typedef struct _ENG_EVENT *PEVENT; | |
| 431 #endif | |
| 432 | |
| 433 typedef struct _ENG_EVENT | |
| 434 { | |
| 435 PVOID pKEvent; | |
| 436 ULONG fFlags; | |
| 437 } ENG_EVENT, *PENG_EVENT; | |
| 438 | |
| 439 | |
| 440 #ifdef __cplusplus | |
| 441 } | |
| 442 #endif | |
| 443 | |
| 444 #endif /* __NTDDVDEO_H */ |
