ReactOS 0.4.15-dev-7788-g1ad9096
video.h
Go to the documentation of this file.
1/*
2 * video.h
3 *
4 * Video port and miniport driver interface
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#pragma once
24
25#define __VIDEO_H__
26
27#include "ntddvdeo.h"
28#include "videoagp.h"
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#ifndef _NTOSDEF_
35
36#ifdef PAGED_CODE
37#undef PAGED_CODE
38#endif
39
40#if defined(_MSC_VER)
41#define ALLOC_PRAGMA 1
42#endif
43
44#if defined(_VIDEOPORT_)
45#define VPAPI
46#else
47#define VPAPI DECLSPEC_IMPORT
48#endif
49
50#if DBG
51#define PAGED_CODE() \
52 if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) { \
53 VideoPortDebugPrint(Error, "Video: Pageable code called at IRQL %d\n", VideoPortGetCurrentIrql() ); \
54 ASSERT(FALSE); \
55 }
56#else
57#define PAGED_CODE()
58#endif /* DBG */
59
65
66#else
67
68#define VPAPI
69
70#endif /* _NTOSDEF_ */
71
72#if DBG
73#define VideoDebugPrint(x) VideoPortDebugPrint x
74#else
75#define VideoDebugPrint(x)
76#endif
77
78#define GET_VIDEO_PHYSICAL_ADDRESS(scatterList, \
79 VirtualAddress, \
80 InputBuffer, \
81 pLength, \
82 Address) \
83 do { \
84 ULONG_PTR byteOffset; \
85 \
86 byteOffset = (PCHAR) VirtualAddress - (PCHAR)InputBuffer; \
87 while (byteOffset >= scatterList->Length) { \
88 byteOffset -= scatterList->Length; \
89 scatterList++; \
90 } \
91 *pLength = scatterList->Length - byteOffset; \
92 Address = (ULONG_PTR) (scatterList->PhysicalAddress + byteOffset); \
93 } while (0)
94
95#define GET_VIDEO_SCATTERGATHER(ppDma) (**(PVRB_SG **)ppDma)
96
97/* VIDEO_ACCESS_RANGE.RangePassive */
98#define VIDEO_RANGE_PASSIVE_DECODE 1
99#define VIDEO_RANGE_10_BIT_DECODE 2
100
101#define SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO FIELD_OFFSET(VIDEO_PORT_CONFIG_INFO, Master)
102#define SIZE_OF_WXP_VIDEO_PORT_CONFIG_INFO sizeof(VIDEO_PORT_CONFIG_INFO)
103
104#define SET_USER_EVENT 0x01
105#define SET_DISPLAY_EVENT 0x02
106
107#define EVENT_TYPE_MASK 1
108#define SYNCHRONIZATION_EVENT 0
109#define NOTIFICATION_EVENT 1
110
111#define INITIAL_EVENT_STATE_MASK 2
112#define INITIAL_EVENT_NOT_SIGNALED 0
113#define INITIAL_EVENT_SIGNALED 2
114
115#define DISPLAY_ADAPTER_HW_ID 0xFFFFFFFF
116
117#define VIDEO_INVALID_CHILD_ID 0xFFFFFFFF
118
119#define SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA FIELD_OFFSET(VIDEO_HW_INITIALIZATION_DATA, HwStartDma)
120#define SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA FIELD_OFFSET(VIDEO_HW_INITIALIZATION_DATA, Reserved)
121#define SIZE_OF_WXP_VIDEO_HW_INITIALIZATION_DATA (SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA + sizeof(ULONG))
122
123#define VIDEO_PORT_AGP_INTERFACE_VERSION_1 1
124#define VIDEO_PORT_AGP_INTERFACE_VERSION_2 2
125#define VIDEO_PORT_I2C_INTERFACE_VERSION_1 1
126#define VIDEO_PORT_I2C_INTERFACE_VERSION_2 2
127#define VIDEO_PORT_INT10_INTERFACE_VERSION_1 1
128#define VIDEO_PORT_WCMEMORYPROTECTION_INTERFACE_VERSION_1 1
129#define VIDEO_PORT_DEBUG_REPORT_INTERFACE_VERSION_1 1
130
131/* Flags for VideoPortGetDeviceBase and VideoPortMapMemory */
132#define VIDEO_MEMORY_SPACE_MEMORY 0x00
133#define VIDEO_MEMORY_SPACE_IO 0x01
134#define VIDEO_MEMORY_SPACE_USER_MODE 0x02
135#define VIDEO_MEMORY_SPACE_DENSE 0x04
136#define VIDEO_MEMORY_SPACE_P6CACHE 0x08
137
138/* PVIDEO_HW_GET_CHILD_DESCRIPTOR return values */
139#define VIDEO_ENUM_MORE_DEVICES ERROR_CONTINUE
140#define VIDEO_ENUM_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
141#define VIDEO_ENUM_INVALID_DEVICE ERROR_INVALID_NAME
142
143#define DEVICE_VGA_ENABLED 1
144
145/* VideoPortCheckForDeviceExistence.Flags constants */
146#define CDE_USE_SUBSYSTEM_IDS 0x00000001
147#define CDE_USE_REVISION 0x00000002
148
149#define BUGCHECK_DATA_SIZE_RESERVED 48
150
151#define VIDEO_DEBUG_REPORT_MAX_SIZE 0x8000
152
155
156typedef struct _VIDEO_PORT_SPIN_LOCK *PSPIN_LOCK;
157typedef struct _VIDEO_DEBUG_REPORT *PVIDEO_DEBUG_REPORT;
158typedef struct __DMA_PARAMETERS *PDMA;
159typedef struct __VP_DMA_ADAPTER *PVP_DMA_ADAPTER;
160
161typedef PVOID
163 IN PVOID HwDeviceExtension,
165
197
200 IN PVOID HwDeviceExtension,
202 IN PWSTR ArgumentString,
203 IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo,
204 OUT PUCHAR Again);
205
206typedef BOOLEAN
208 IN PVOID HwDeviceExtension);
209
210typedef BOOLEAN
212 IN PVOID HwDeviceExtension);
213
214typedef struct _VIDEO_ACCESS_RANGE {
222
223typedef VOID
225 IN ULONG VendorId,
226 IN ULONG DeviceId,
227 IN OUT PVIDEO_ACCESS_RANGE *LegacyResourceList,
228 IN OUT PULONG LegacyResourceCount);
229
230typedef enum _HW_DMA_RETURN {
234
237 PVOID HwDeviceExtension,
238 PDMA pDma);
239
245
251
252typedef VOID
254 IN PVOID HwDeviceExtension,
255 IN PVP_DMA_ADAPTER VpDmaAdapter,
258
259/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.ChildEnumInfo constants */
267
268/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.VideoChildType constants */
269typedef enum _VIDEO_CHILD_TYPE {
273 Other
275
278 IN PVOID HwDeviceExtension,
279 IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
280 OUT PVIDEO_CHILD_TYPE VideoChildType,
281 OUT PUCHAR pChildDescriptor,
282 OUT PULONG UId,
283 OUT PULONG pUnused);
284
287 IN PVOID HwDeviceExtension,
288 IN ULONG HwId,
289 IN PVIDEO_POWER_MANAGEMENT VideoPowerControl);
290
293 IN PVOID HwDeviceExtension,
294 IN ULONG HwId,
295 IN OUT PVIDEO_POWER_MANAGEMENT VideoPowerControl);
296
297typedef struct _QUERY_INTERFACE {
304
307 IN PVOID HwDeviceExtension,
309
312 PVOID HwDeviceExtension,
313 PVOID ChildDeviceExtension);
314
315typedef BOOLEAN
317 IN PVOID HwDeviceExtension,
319 IN ULONG Rows);
320
321typedef struct _STATUS_BLOCK {
322 _ANONYMOUS_UNION union {
328
329typedef struct _VIDEO_REQUEST_PACKET {
337
338typedef BOOLEAN
340 IN PVOID HwDeviceExtension,
341 IN PVIDEO_REQUEST_PACKET RequestPacket);
342
343typedef VOID
345 IN PVOID HwDeviceExtension);
346
347typedef VOID
349 PVOID HwDeviceExtension,
350 UCHAR Data);
351
352typedef VOID
354 PVOID HwDeviceExtension,
355 UCHAR Data);
356
357typedef BOOLEAN
359 PVOID HwDeviceExtension);
360
361typedef BOOLEAN
363 PVOID HwDeviceExtension);
364
365typedef VOID
367 PVOID HwDeviceExtension);
368
369typedef struct _I2C_CALLBACKS {
375
376typedef BOOLEAN
378 IN PVOID HwDeviceExtension,
379 IN PI2C_CALLBACKS I2CCallbacks);
380
381typedef BOOLEAN
383 IN PVOID HwDeviceExtension,
384 IN PI2C_CALLBACKS I2CCallbacks);
385
386typedef BOOLEAN
388 IN PVOID HwDeviceExtension,
389 IN PI2C_CALLBACKS I2CCallbacks,
391 IN ULONG Length);
392
393typedef BOOLEAN
395 IN PVOID HwDeviceExtension,
396 IN PI2C_CALLBACKS I2CCallbacks,
398 IN ULONG Length);
399
400typedef struct _VIDEO_I2C_CONTROL {
407
408typedef BOOLEAN
410 IN PVOID HwDeviceExtension,
411 IN PVIDEO_I2C_CONTROL I2CControl);
412
413typedef BOOLEAN
415 IN PVOID HwDeviceExtension,
416 IN PVIDEO_I2C_CONTROL I2CControl);
417
418typedef BOOLEAN
420 IN PVOID HwDeviceExtension,
421 IN PVIDEO_I2C_CONTROL I2CControl,
423 IN ULONG Length);
424
425typedef BOOLEAN
427 IN PVOID HwDeviceExtension,
428 IN PVIDEO_I2C_CONTROL I2CControl,
431 IN BOOLEAN EndOfRead);
432
433typedef struct _INT10_BIOS_ARGUMENTS {
444
448 IN OUT PINT10_BIOS_ARGUMENTS BiosArguments);
449
453 OUT PUSHORT Seg,
454 OUT PUSHORT Off,
456
460 IN USHORT Seg,
461 IN USHORT Off);
462
466 IN USHORT Seg,
467 IN USHORT Off,
469 IN ULONG Length);
470
474 IN USHORT Seg,
475 IN USHORT Off,
477 IN ULONG Length);
478
482 IN PVOID HwDeviceExtension);
483
487 IN PVOID HwDeviceExtension);
488
496
499 IN PVOID HwDeviceExtension,
501 IN VIDEO_DEVICE_DATA_TYPE DeviceDataType,
503 IN ULONG IdentifierLength,
504 IN PVOID ConfigurationData,
505 IN ULONG ConfigurationDataLength,
506 IN OUT PVOID ComponentInformation,
507 IN ULONG ComponentInformationLength);
508
511 IN PVOID HwDeviceExtension,
516
517typedef VOID
519 IN PVOID HwDeviceExtension,
521
522typedef BOOLEAN
525
526typedef VOID
528 IN PVOID HwDeviceExtension,
529 IN ULONG BugcheckCode,
532
533/* VideoPortSynchronizeExecution.Priority constants */
539
540/* VideoPortAllocatePool.PoolType constants */
541typedef enum _VP_POOL_TYPE {
547
548typedef enum _DMA_FLAGS {
553
554/*
555 * Data returned with VpControllerData.
556 *
557 * The first two fields, InterfaceType and BusNumber, are common
558 * with the CM_FULL_RESOURCE_DESCRIPTOR header.
559 * The other fields are of legacy layout, instead of the newer
560 * CM_PARTIAL_RESOURCE_LIST one.
561 */
576
586
587typedef enum VIDEO_DEBUG_LEVEL {
588 Error = 0,
591 Info
593
594#ifndef _NTOS_
595
599 IN ULONG Port,
601 IN PUCHAR Data);
602
606 IN ULONG Port,
608 IN PUCHAR Data,
610
614 IN ULONG Port,
616 IN PULONG Data);
617
621 IN ULONG Port,
623 IN PULONG Data,
625
629 IN ULONG Port,
631 IN PUSHORT Data);
632
636 IN ULONG Port,
640
641#endif /* _NTOS_ */
642
643typedef struct __VRB_SG {
647
648typedef enum _VP_LOCK_OPERATION {
653
660
661typedef struct _VIDEO_CHILD_STATE {
665
670
694
695typedef struct _I2C_FNC_TABLE {
704
705typedef struct _DDC_CONTROL {
710
711/* VideoPortQueryServices.ServicesType constants */
720
737
755
767
779
792
802
803typedef struct _VPOSVERSIONINFO {
811
819 IN PVOID HwDeviceExtension,
820 IN ULONG ulCode,
821 IN ULONG_PTR ulpArg1,
822 IN ULONG_PTR ulpArg2,
823 IN ULONG_PTR ulpArg3,
824 IN ULONG_PTR ulpArg4
825 );
827 IN OUT PVIDEO_DEBUG_REPORT pReport,
829 IN ULONG ulDataSize
830 );
833 );
835
836/* Video port functions for miniports */
837
838VPAPI
840NTAPI
842 IN PVOID HwDeviceExtension,
843 IN ULONG Size,
844 OUT PVOID *Buffer);
845
846VPAPI
847VOID
848NTAPI
850 IN PVOID HwDeviceExtension);
851
852VPAPI
853ULONG
854NTAPI
856 IN PVOID Source1,
857 IN PVOID Source2,
859
860VPAPI
862NTAPI
864 IN PVOID HwDeviceExtension,
865 IN PVOID DDCControl,
866 IN OUT PUCHAR EdidBuffer,
867 IN ULONG EdidBufferSize);
868
869VPAPI
870VOID
873 IN VIDEO_DEBUG_LEVEL DebugPrintLevel,
874 IN PSTR DebugMessage,
875 IN ...);
876
877VPAPI
879NTAPI
881 IN PVOID HwDeviceExtension);
882
883VPAPI
885NTAPI
887 IN PVOID HwDeviceExtension);
888
889VPAPI
891NTAPI
893 IN PVOID HwDeviceExtension,
895
896VPAPI
897VOID
898NTAPI
900 IN PVOID HwDeviceExtension,
901 IN PVOID MappedAddress);
902
903VPAPI
905NTAPI
907 _In_ PVOID HwDeviceExtension,
908 _In_opt_ ULONG NumRequestedResources,
909 _In_reads_opt_(NumRequestedResources)
910 PIO_RESOURCE_DESCRIPTOR RequestedResources,
911 _In_ ULONG NumAccessRanges,
912 _Out_writes_(NumAccessRanges) PVIDEO_ACCESS_RANGE AccessRanges,
913 _In_ PVOID VendorId,
914 _In_ PVOID DeviceId,
915 _Out_ PULONG Slot);
916
917VPAPI
918PVOID
919NTAPI
922
923VPAPI
924ULONG
925NTAPI
927 IN PVOID HwDeviceExtension,
928 IN BUS_DATA_TYPE BusDataType,
932 IN ULONG Length);
933
934VPAPI
935UCHAR
936NTAPI
938
939VPAPI
940PVOID
941NTAPI
943 IN PVOID HwDeviceExtension,
944 IN PHYSICAL_ADDRESS IoAddress,
945 IN ULONG NumberOfUchars,
946 IN UCHAR InIoSpace);
947
948VPAPI
950NTAPI
952 IN PVOID HwDeviceExtension,
953 IN VIDEO_DEVICE_DATA_TYPE DeviceDataType,
956
957VPAPI
959NTAPI
961 IN PVOID HwDeviceExtension,
963 IN UCHAR IsParameterFileName,
966
967VPAPI
968PVOID
969NTAPI
971 IN PVOID HwDeviceExtension,
972 IN PVOID Unused1,
973 IN ULONG Unused2,
974 IN ULONG Length);
975
976VPAPI
978NTAPI
980 IN PVOID HwDeviceExtension,
981 OUT PULONG VgaStatus);
982
983VPAPI
984LONG
987 IN PLONG Addend);
988
989VPAPI
990LONG
994 IN LONG Value);
995
996VPAPI
997LONG
1000 IN PLONG Addend);
1001
1002VPAPI
1003ULONG
1004NTAPI
1010
1011VPAPI
1013NTAPI
1015 IN PVOID HwDeviceExtension,
1016 IN PVIDEO_X86_BIOS_ARGUMENTS BiosArguments);
1017
1018VPAPI
1019VOID
1020NTAPI
1022 IN PVOID HwDeviceExtension,
1025 IN ULONG UniqueId);
1026
1027VPAPI
1029NTAPI
1031 IN PVOID HwDeviceExtension,
1034 PULONG InIoSpace,
1036 ULONG BankLength,
1037 UCHAR ReadWriteBank,
1038 PBANKED_SECTION_ROUTINE BankRoutine,
1039 PVOID Context);
1040
1041VPAPI
1043NTAPI
1045 IN PVOID HwDeviceExtension,
1048 IN PULONG InIoSpace,
1050
1051VPAPI
1052VOID
1053NTAPI
1056 IN PVOID Source,
1057 IN ULONG Length);
1058
1059VPAPI
1061NTAPI
1063 IN PVOID HwDeviceExtension,
1064 OUT PLONGLONG PerformanceFrequency OPTIONAL);
1065
1066VPAPI
1068NTAPI
1070 IN PVOID HwDeviceExtension,
1071 IN VIDEO_PORT_SERVICES ServicesType,
1073
1074VPAPI
1075BOOLEAN
1076NTAPI
1078 IN PVOID HwDeviceExtension,
1080 IN PVOID Context);
1081
1082VPAPI
1083VOID
1084NTAPI
1086 IN PUCHAR Port,
1088 IN ULONG Count);
1089
1090VPAPI
1091VOID
1092NTAPI
1094 IN PULONG Port,
1096 IN ULONG Count);
1097
1098VPAPI
1099VOID
1100NTAPI
1102 IN PUSHORT Port,
1104 IN ULONG Count);
1105
1106VPAPI
1107UCHAR
1108NTAPI
1110 IN PUCHAR Port);
1111
1112VPAPI
1113ULONG
1114NTAPI
1116 IN PULONG Port);
1117
1118VPAPI
1119USHORT
1120NTAPI
1122 IN PUSHORT Port);
1123
1124VPAPI
1125VOID
1126NTAPI
1130 IN ULONG Count);
1131
1132VPAPI
1133VOID
1134NTAPI
1138 IN ULONG Count);
1139
1140VPAPI
1141VOID
1142NTAPI
1146 IN ULONG Count);
1147
1148VPAPI
1149UCHAR
1150NTAPI
1153
1154VPAPI
1155ULONG
1156NTAPI
1159
1160VPAPI
1161USHORT
1162NTAPI
1165
1166VPAPI
1167VOID
1168NTAPI
1170 IN PVOID HwDeviceExtension,
1171 IN PVOID Buffer);
1172
1173VPAPI
1174VOID
1175NTAPI
1177 IN PVOID HwDeviceExtension);
1178
1179VPAPI
1180BOOLEAN
1181NTAPI
1183 PVOID HwDeviceExtension,
1184 PUCHAR RomBase,
1185 ULONG RomLength,
1186 PUCHAR String);
1187
1188VPAPI
1189ULONG
1190NTAPI
1192 IN PVOID HwDeviceExtension,
1193 IN BUS_DATA_TYPE BusDataType,
1195 IN PVOID Buffer,
1196 IN ULONG Offset,
1197 IN ULONG Length);
1198
1199VPAPI
1201NTAPI
1203 IN PVOID HwDeviceExtension,
1207
1208VPAPI
1210NTAPI
1212 IN PVOID HwDeviceExtension,
1213 IN ULONG NumAccessRanges,
1214 IN PVIDEO_ACCESS_RANGE AccessRange);
1215
1216VPAPI
1217VOID
1218NTAPI
1220 IN ULONG Microseconds);
1221
1222VPAPI
1223VOID
1224NTAPI
1226 IN PVOID HwDeviceExtension);
1227
1228VPAPI
1229VOID
1230NTAPI
1232 IN PVOID HwDeviceExtension);
1233
1234VPAPI
1235BOOLEAN
1236NTAPI
1238 IN PVOID HwDeviceExtension,
1241 IN PVOID Context);
1242
1243VPAPI
1245NTAPI
1247 IN PVOID HwDeviceExtension,
1250
1251VPAPI
1253NTAPI
1255 _In_ PVOID HwDeviceExtension,
1256 _In_opt_ ULONG NumAccessRanges,
1257 _In_reads_opt_(NumAccessRanges) PVIDEO_ACCESS_RANGE AccessRanges);
1258
1259VPAPI
1260VOID
1261NTAPI
1263 IN PUCHAR Port,
1265 IN ULONG Count);
1266
1267VPAPI
1268VOID
1269NTAPI
1271 IN PULONG Port,
1273 IN ULONG Count);
1274
1275VPAPI
1276VOID
1277NTAPI
1279 IN PUSHORT Port,
1281 IN ULONG Count);
1282
1283VPAPI
1284VOID
1285NTAPI
1287 IN PUCHAR Port,
1288 IN UCHAR Value);
1289
1290VPAPI
1291VOID
1292NTAPI
1294 IN PULONG Port,
1295 IN ULONG Value);
1296
1297VPAPI
1298VOID
1299NTAPI
1301 IN PUSHORT Port,
1302 IN USHORT Value);
1303
1304VPAPI
1305VOID
1306NTAPI
1310 IN ULONG Count);
1311
1312VPAPI
1313VOID
1314NTAPI
1318 IN ULONG Count);
1319
1320VPAPI
1321VOID
1322NTAPI
1326 IN ULONG Count);
1327
1328VPAPI
1329VOID
1330NTAPI
1333 IN UCHAR Value);
1334
1335VPAPI
1336VOID
1337NTAPI
1340 IN ULONG Value);
1341
1342VPAPI
1343VOID
1344NTAPI
1347 IN USHORT Value);
1348
1349VPAPI
1350VOID
1351NTAPI
1354 IN ULONG Length);
1355
1356VPAPI
1357VOID
1358NTAPI
1361 IN ULONG Length);
1362
1363VPAPI
1364PVOID
1365NTAPI
1367 IN PVOID HwDeviceExtension,
1370
1371VPAPI
1372PVOID
1373NTAPI
1375 IN PVOID HwDeviceExtension,
1376 IN ULONG DesiredLength,
1378 OUT PPHYSICAL_ADDRESS LogicalAddress,
1379 OUT PULONG pActualLength,
1380 IN BOOLEAN CacheEnabled);
1381
1382VPAPI
1383VOID
1384NTAPI
1386 IN PVOID HwDeviceExtension,
1387 IN ULONG Length,
1389 IN PHYSICAL_ADDRESS LogicalAddress,
1390 IN BOOLEAN CacheEnabled);
1391
1392VPAPI
1393PDMA
1394NTAPI
1396 IN PVOID HwDeviceExtension,
1397 IN PDMA pDma,
1398 IN DMA_FLAGS DmaFlags);
1399
1400VPAPI
1401BOOLEAN
1402NTAPI
1404 IN PVOID HwDeviceExtension,
1406 IN OUT PEVENT pUEvent,
1407 IN PEVENT pDisplayEvent,
1408 IN DMA_FLAGS DmaFlags);
1409
1410VPAPI
1411BOOLEAN
1412NTAPI
1414 IN PVOID hwDeviceExtension,
1415 IN OUT PDMA pDma);
1416
1417VPAPI
1418BOOLEAN
1419NTAPI
1421 IN PVOID HwDeviceExtension,
1422 IN PDMA pDmaHandle);
1423
1424VPAPI
1425PVOID
1426NTAPI
1428 IN PVOID HwDeviceExtension,
1429 IN PDMA pDma);
1430
1431VPAPI
1432PVOID
1433NTAPI
1435 IN PVOID HwDeviceExtension,
1436 IN PDMA pDma);
1437
1438VPAPI
1439VOID
1440NTAPI
1442 IN PVOID HwDeviceExtension,
1443 OUT PDMA pDma,
1444 IN PVOID InstanceContext);
1445
1446VPAPI
1447ULONG
1448NTAPI
1450 IN PVOID HwDeviceExtension,
1451 IN PDMA pDma);
1452
1453VPAPI
1454VOID
1455NTAPI
1457 IN PVOID HwDeviceExtension,
1458 IN OUT PDMA pDma,
1459 IN ULONG BytesUsed);
1460
1461VPAPI
1462PDMA
1463NTAPI
1465 IN PVOID HwDeviceExtension,
1467 IN PVOID MappedUserEvent,
1468 IN PVOID DisplayDriverEvent);
1469
1470VPAPI
1471PDMA
1472NTAPI
1474 IN PVOID HwDeviceExtension,
1476 IN PHYSICAL_ADDRESS BoardAddress,
1478 IN PULONG InIoSpace,
1479 IN PVOID MappedUserEvent,
1480 IN PVOID DisplayDriverEvent,
1482
1483VPAPI
1484BOOLEAN
1485NTAPI
1487 IN PVOID HwDeviceExtension,
1490 IN PDMA BoardMemoryHandle);
1491
1492VPAPI
1494NTAPI
1496 IN PVOID HwDeviceExtension,
1497 IN OUT PVOID *SecondaryDeviceExtension,
1498 IN ULONG ulFlag);
1499
1500VPAPI
1502NTAPI
1504 IN PVOID HwDeviceExtension,
1505 IN PVP_DEVICE_DESCRIPTION VpDeviceDescription);
1506
1507VPAPI
1508VOID
1509NTAPI
1511 IN PVOID HwDeviceExtension,
1512 IN PVP_DMA_ADAPTER VpDmaAdapter);
1513
1514VPAPI
1515PVOID
1516NTAPI
1518 IN PVOID HwDeviceExtension,
1519 IN PVP_DMA_ADAPTER VpDmaAdapter,
1520 IN ULONG DesiredLength,
1521 OUT PPHYSICAL_ADDRESS LogicalAddress,
1522 IN BOOLEAN CacheEnabled,
1523 PVOID Reserved);
1524
1525VPAPI
1526VOID
1527NTAPI
1529 IN PVOID HwDeviceExtension,
1530 IN PVP_DMA_ADAPTER VpDmaAdapter,
1531 IN ULONG Length,
1532 IN PHYSICAL_ADDRESS LogicalAddress,
1534 IN BOOLEAN CacheEnabled);
1535
1536VPAPI
1537PVOID
1538NTAPI
1540 IN PVOID HwDeviceExtension,
1542 IN ULONG Length,
1544
1545VPAPI
1546VOID
1547NTAPI
1549 IN PVOID HwDeviceExtension,
1550 IN PVOID Mdl);
1551
1552VPAPI
1554NTAPI
1556 IN PVOID HwDeviceExtension,
1557 IN PVP_DMA_ADAPTER VpDmaAdapter,
1558 IN PVOID Mdl,
1559 IN ULONG Offset,
1560 IN OUT PULONG pLength,
1561 IN PEXECUTE_DMA ExecuteDmaRoutine,
1564
1565VPAPI
1567NTAPI
1569 IN PVOID HwDeviceExtension,
1570 IN PVP_DMA_ADAPTER VpDmaAdapter,
1571 IN PVP_SCATTER_GATHER_LIST VpScatterGather,
1573
1574VPAPI
1576NTAPI
1578 IN PVOID HwDeviceExtension,
1579 IN ULONG EventFlag,
1580 IN PVOID Unused,
1581 OUT PEVENT *ppEvent);
1582
1583VPAPI
1585NTAPI
1587 IN PVOID HwDeviceExtension,
1588 IN PEVENT pEvent);
1589
1590VPAPI
1591LONG
1592NTAPI
1594 IN PVOID HwDeviceExtension,
1595 IN PEVENT pEvent);
1596
1597VPAPI
1598VOID
1599NTAPI
1601 IN PVOID HwDeviceExtension,
1602 IN PEVENT pEvent);
1603
1604VPAPI
1605LONG
1606NTAPI
1608 IN PVOID HwDeviceExtension,
1609 IN PEVENT pEvent);
1610
1611VPAPI
1613NTAPI
1615 IN PVOID HwDeviceExtension,
1616 IN PVOID Object,
1618
1619VPAPI
1620PVOID
1621NTAPI
1623 IN PVOID HwDeviceExtension,
1626 IN ULONG Tag);
1627
1628VPAPI
1629VOID
1630NTAPI
1632 IN PVOID HwDeviceExtension,
1633 IN PVOID Ptr);
1634
1635VPAPI
1637NTAPI
1639 IN PVOID HwDeviceExtension,
1641
1642VPAPI
1644NTAPI
1646 IN PVOID HwDeviceExtension,
1648
1649VPAPI
1650VOID
1651NTAPI
1653 IN PVOID HwDeviceExtension,
1656
1657VPAPI
1658VOID
1659NTAPI
1661 IN PVOID HwDeviceExtension,
1663
1664VPAPI
1665VOID
1666NTAPI
1668 IN PVOID HwDeviceExtension,
1670 IN UCHAR NewIrql);
1671
1672VPAPI
1673VOID
1674NTAPI
1676 IN PVOID HwDeviceExtension,
1678
1679VPAPI
1680VOID
1681NTAPI
1683 OUT PLARGE_INTEGER CurrentTime);
1684
1685VPAPI
1686BOOLEAN
1687NTAPI
1689 IN PVOID HwDeviceExtension,
1690 IN USHORT VendorId,
1691 IN USHORT DeviceId,
1692 IN UCHAR RevisionId,
1693 IN USHORT SubVendorId,
1694 IN USHORT SubSystemId,
1695 IN ULONG Flags);
1696
1697VPAPI
1698ULONG
1699NTAPI
1702
1703VPAPI
1705NTAPI
1707 PVOID HwDeviceExtension);
1708
1709VPAPI
1711NTAPI
1713 IN PVOID HwDeviceExtension,
1714 IN OUT PVPOSVERSIONINFO pVpOsVersionInfo);
1715
1716VPAPI
1717BOOLEAN
1718NTAPI
1720
1721VPAPI
1723NTAPI
1725 IN PVOID HwDeviceExtension,
1726 IN ULONG BugcheckCode,
1728 IN ULONG BugcheckDataSize);
1729
1730VPAPI
1732NTAPI
1734 IN PVOID HwDeviceExtension,
1735 IN ULONG ulCode,
1736 IN ULONG_PTR ulpArg1,
1737 IN ULONG_PTR ulpArg2,
1738 IN ULONG_PTR ulpArg3,
1739 IN ULONG_PTR ulpArg4);
1740
1741VPAPI
1742BOOLEAN
1743NTAPI
1745 IN OUT PVIDEO_DEBUG_REPORT pReport,
1746 IN PVOID pvData,
1747 IN ULONG ulDataSize);
1748
1749VPAPI
1750VOID
1751NTAPI
1753 IN OUT PVIDEO_DEBUG_REPORT pReport);
1754
1755#ifdef __cplusplus
1756}
1757#endif
static KSYNCHRONIZE_ROUTINE SynchronizeRoutine
Definition: IoInterrupt.c:30
unsigned char BOOLEAN
#define __cdecl
Definition: accygwin.h:79
#define VOID
Definition: acefi.h:82
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char * FunctionName
Definition: acpixf.h:1279
@ Identifier
Definition: asmpp.cpp:95
static const COLUMN_LIST Columns[]
Definition: listview.c:19
#define __int64
Definition: basetyps.h:16
_In_opt_ PWSTR _In_ PWSTR ParameterName
Definition: cdrom.h:961
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN WriteToDevice
Definition: cdrom.h:992
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1444
Definition: bufpool.h:45
_In_ PVOID Argument2
Definition: classpnp.h:721
#define BufferSize
Definition: mmc.h:75
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
Definition: precomp.h:16
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
Definition: precomp.h:13
DRIVER_INITIALIZE DriverEntry
Definition: condrv.c:21
IN OUT PLONG Addend
Definition: CrNtStubs.h:25
_Must_inspect_result_ _In_ PFLT_GET_OPERATION_STATUS_CALLBACK CallbackRoutine
Definition: fltkernel.h:1035
FP_OP Operation
Definition: fpcontrol.c:150
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
CPPORT Port[4]
Definition: headless.c:35
_In_ GUID _In_ PVOID ValueData
Definition: hubbusif.h:312
enum _INTERFACE_TYPE INTERFACE_TYPE
#define Unused(x)
Definition: atlwin.h:28
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
#define _Out_writes_(size)
Definition: ms_sal.h:348
#define _Out_
Definition: ms_sal.h:345
#define _In_reads_opt_(size)
Definition: ms_sal.h:320
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
_Out_ PNDIS_HANDLE _Out_ PUINT _In_ PNDIS_STRING _In_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
Definition: ndis.h:3230
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3004
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
__GNU_EXTENSION typedef __int64 * PLONGLONG
Definition: ntbasedef.h:382
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
#define CONST
Definition: pedump.c:81
#define BOOLEAN
Definition: pedump.c:73
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static ULONG Timeout
Definition: ping.c:61
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _BUS_DATA_TYPE BUS_DATA_TYPE
enum _DMA_SPEED DMA_SPEED
VOID(NTAPI * PBANKED_SECTION_ROUTINE)(IN ULONG ReadBank, IN ULONG WriteBank, IN PVOID Context)
Definition: miniport.h:50
enum _DMA_WIDTH DMA_WIDTH
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
Definition: srb.h:907
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA * HwInitializationData
Definition: srb.h:906
VPAPI USHORT NTAPI VideoPortReadRegisterUshort(IN PUSHORT Register)
BOOLEAN(NTAPI * PI2C_START_2)(IN PVOID HwDeviceExtension, IN PVIDEO_I2C_CONTROL I2CControl)
Definition: video.h:409
VPAPI PVOID NTAPI VideoPortLockBuffer(IN PVOID HwDeviceExtension, IN PVOID BaseAddress, IN ULONG Length, IN VP_LOCK_OPERATION Operation)
Definition: resource.c:1079
struct _VIDEO_PORT_INT10_INTERFACE VIDEO_PORT_INT10_INTERFACE
VPAPI PVOID NTAPI VideoPortGetMdl(IN PVOID HwDeviceExtension, IN PDMA pDma)
Definition: stubs.c:58
VPAPI VP_STATUS NTAPI VideoPortGetVersion(IN PVOID HwDeviceExtension, IN OUT PVPOSVERSIONINFO pVpOsVersionInfo)
Definition: videoprt.c:1550
VPAPI VOID NTAPI VideoPortZeroMemory(IN PVOID Destination, IN ULONG Length)
VPAPI VOID NTAPI VideoPortUnlockBuffer(IN PVOID HwDeviceExtension, IN PVOID Mdl)
Definition: resource.c:1144
VPAPI VOID NTAPI VideoPortReleaseCommonBuffer(IN PVOID HwDeviceExtension, IN PVP_DMA_ADAPTER VpDmaAdapter, IN ULONG Length, IN PHYSICAL_ADDRESS LogicalAddress, IN PVOID VirtualAddress, IN BOOLEAN CacheEnabled)
Definition: dma.c:68
struct _VIDEO_HARDWARE_CONFIGURATION_DATA VIDEO_HARDWARE_CONFIGURATION_DATA
VPAPI BOOLEAN NTAPI VideoPortUnmapDmaMemory(IN PVOID HwDeviceExtension, IN PVOID VirtualAddress, IN HANDLE ProcessHandle, IN PDMA BoardMemoryHandle)
VPAPI VP_STATUS NTAPI VideoPortAllocateBuffer(IN PVOID HwDeviceExtension, IN ULONG Size, OUT PVOID *Buffer)
Definition: resource.c:1051
VPAPI VOID NTAPI VideoPortWriteRegisterBufferUchar(IN PUCHAR Register, IN PUCHAR Buffer, IN ULONG Count)
VPAPI UCHAR NTAPI VideoPortGetCurrentIrql(VOID)
Definition: videoprt.c:989
VPAPI BOOLEAN NTAPI VideoPortSynchronizeExecution(IN PVOID HwDeviceExtension, IN VIDEO_SYNCHRONIZE_PRIORITY Priority, IN PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine, IN PVOID Context)
struct _VP_DEVICE_DESCRIPTION VP_DEVICE_DESCRIPTION
VIDEO_DEBUG_LEVEL
Definition: video.h:587
@ Error
Definition: video.h:588
@ Warn
Definition: video.h:589
@ Trace
Definition: video.h:590
VPAPI VP_STATUS NTAPI VideoPortVerifyAccessRanges(_In_ PVOID HwDeviceExtension, _In_opt_ ULONG NumAccessRanges, _In_reads_opt_(NumAccessRanges) PVIDEO_ACCESS_RANGE AccessRanges)
Claims or releases a range of hardware resources and checks for conflicts.
Definition: resource.c:916
VPAPI VOID NTAPI VideoPortWriteRegisterBufferUlong(IN PULONG Register, IN PULONG Buffer, IN ULONG Count)
VPAPI ULONG NTAPI VideoPortGetAssociatedDeviceID(IN PVOID DeviceObject)
Definition: stubs.c:38
VPAPI VOID NTAPI VideoPortSetDmaContext(IN PVOID HwDeviceExtension, OUT PDMA pDma, IN PVOID InstanceContext)
Definition: dma.c:302
PVOID(NTAPI * PVIDEO_PORT_GET_PROC_ADDRESS)(IN PVOID HwDeviceExtension, IN PUCHAR FunctionName)
Definition: video.h:162
VPAPI VOID NTAPI VideoPortWriteRegisterUshort(IN PUSHORT Register, IN USHORT Value)
VOID(NTAPI * PVIDEO_WRITE_CLOCK_LINE)(PVOID HwDeviceExtension, UCHAR Data)
Definition: video.h:348
VPAPI VP_STATUS NTAPI VideoPortDeleteEvent(IN PVOID HwDeviceExtension, IN PEVENT pEvent)
struct __VRB_SG VRB_SG
VPAPI VP_STATUS NTAPI VideoPortMapBankedMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, PULONG InIoSpace, PVOID *VirtualAddress, ULONG BankLength, UCHAR ReadWriteBank, PBANKED_SECTION_ROUTINE BankRoutine, PVOID Context)
VPAPI VP_STATUS NTAPI VideoPortUnmapMemory(IN PVOID HwDeviceExtension, IN OUT PVOID VirtualAddress, IN HANDLE ProcessHandle)
VPAPI PVOID NTAPI VideoPortGetRomImage(IN PVOID HwDeviceExtension, IN PVOID Unused1, IN ULONG Unused2, IN ULONG Length)
Definition: videoprt.c:1140
VPAPI LONG FASTCALL VideoPortInterlockedExchange(IN OUT PLONG Target, IN LONG Value)
Definition: stubs.c:116
VPAPI VOID NTAPI VideoPortZeroDeviceMemory(IN PVOID Destination, IN ULONG Length)
struct _INT10_BIOS_ARGUMENTS * PINT10_BIOS_ARGUMENTS
VPAPI VOID NTAPI VideoPortWritePortBufferUchar(IN PUCHAR Port, IN PUCHAR Buffer, IN ULONG Count)
_VIDEO_DEVICE_DATA_TYPE
Definition: video.h:489
@ VpMachineData
Definition: video.h:490
@ VpBusData
Definition: video.h:492
@ VpControllerData
Definition: video.h:493
@ VpMonitorData
Definition: video.h:494
@ VpCmosData
Definition: video.h:491
HW_DMA_RETURN(NTAPI * PVIDEO_HW_START_DMA)(PVOID HwDeviceExtension, PDMA pDma)
Definition: video.h:236
enum VIDEO_DEBUG_LEVEL * PVIDEO_DEBUG_LEVEL
VPAPI ULONG NTAPI VideoPortReadRegisterUlong(IN PULONG Register)
VPAPI VOID NTAPI VideoPortAcquireDeviceLock(IN PVOID HwDeviceExtension)
Definition: videoprt.c:1680
LONG VP_STATUS
Definition: video.h:153
VPAPI PVOID NTAPI VideoPortGetDeviceBase(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS IoAddress, IN ULONG NumberOfUchars, IN UCHAR InIoSpace)
Definition: resource.c:477
BOOLEAN(NTAPI * PI2C_READ)(IN PVOID HwDeviceExtension, IN PI2C_CALLBACKS I2CCallbacks, OUT PUCHAR Buffer, IN ULONG Length)
Definition: video.h:394
struct _QUERY_INTERFACE QUERY_INTERFACE
VPAPI VP_STATUS NTAPI VideoPortFlushRegistry(PVOID HwDeviceExtension)
Definition: stubs.c:29
struct _VIDEO_PORT_AGP_INTERFACE VIDEO_PORT_AGP_INTERFACE
VPAPI VOID NTAPI VideoPortFreeDeviceBase(IN PVOID HwDeviceExtension, IN PVOID MappedAddress)
Definition: resource.c:498
struct _VP_SCATTER_GATHER_LIST * PVP_SCATTER_GATHER_LIST
BOOLEAN(NTAPI * PVIDEO_HW_INTERRUPT)(IN PVOID HwDeviceExtension)
Definition: video.h:211
VPAPI VOID NTAPI VideoPortFreeCommonBuffer(IN PVOID HwDeviceExtension, IN ULONG Length, IN PVOID VirtualAddress, IN PHYSICAL_ADDRESS LogicalAddress, IN BOOLEAN CacheEnabled)
Definition: dma.c:187
struct _VIDEO_CHILD_ENUM_INFO VIDEO_CHILD_ENUM_INFO
VPAPI VOID NTAPI VideoPortWriteRegisterUchar(IN PUCHAR Register, IN UCHAR Value)
VP_STATUS(NTAPI * RESTORE_WC_MEMORY)(IN PVOID Context, IN PVOID HwDeviceExtension)
Definition: video.h:485
VPAPI VP_STATUS NTAPI VideoPortCreateSpinLock(IN PVOID HwDeviceExtension, OUT PSPIN_LOCK *SpinLock)
Definition: spinlock.c:32
VPAPI BOOLEAN NTAPI VideoPortUnlockPages(IN PVOID hwDeviceExtension, IN OUT PDMA pDma)
VPAPI BOOLEAN NTAPI VideoPortIsNoVesa(VOID)
Definition: videoprt.c:1738
VP_STATUS(NTAPI * PDRIVER_IO_PORT_USHORT_STRING)(IN ULONG_PTR Context, IN ULONG Port, IN UCHAR AccessMode, IN PUSHORT Data, IN ULONG DataLength)
Definition: video.h:634
VPAPI VOID NTAPI VideoPortFreePool(IN PVOID HwDeviceExtension, IN PVOID Ptr)
Definition: resource.c:1039
VPAPI PVOID NTAPI VideoPortGetCommonBuffer(IN PVOID HwDeviceExtension, IN ULONG DesiredLength, IN ULONG Alignment, OUT PPHYSICAL_ADDRESS LogicalAddress, OUT PULONG pActualLength, IN BOOLEAN CacheEnabled)
Definition: dma.c:215
VOID(NTAPI * PVIDEO_BUGCHECK_CALLBACK)(IN PVOID HwDeviceExtension, IN ULONG BugcheckCode, IN PUCHAR Buffer, IN ULONG BufferSize)
Definition: video.h:527
VIDEO_SYNCHRONIZE_PRIORITY
Definition: video.h:534
@ VpMediumPriority
Definition: video.h:536
@ VpLowPriority
Definition: video.h:535
@ VpHighPriority
Definition: video.h:537
VOID(NTAPI * PMINIPORT_DPC_ROUTINE)(IN PVOID HwDeviceExtension, IN PVOID Context)
Definition: video.h:518
VPAPI VP_STATUS NTAPI VideoPortCompleteDma(IN PVOID HwDeviceExtension, IN PVP_DMA_ADAPTER VpDmaAdapter, IN PVP_SCATTER_GATHER_LIST VpScatterGather, IN BOOLEAN WriteToDevice)
Definition: dma.c:453
struct _VIDEO_PORT_I2C_INTERFACE VIDEO_PORT_I2C_INTERFACE
struct _VP_SCATTER_GATHER_ELEMENT * PVP_SCATTER_GATHER_ELEMENT
_DMA_FLAGS
Definition: video.h:548
@ VideoPortUnlockAfterDma
Definition: video.h:549
@ VideoPortKeepPagesLocked
Definition: video.h:550
@ VideoPortDmaInitOnly
Definition: video.h:551
LONG * PVP_STATUS
Definition: video.h:153
BOOLEAN(NTAPI * PVIDEO_HW_START_IO)(IN PVOID HwDeviceExtension, IN PVIDEO_REQUEST_PACKET RequestPacket)
Definition: video.h:339
struct _VIDEO_PORT_WCMEMORYPROTECTION_INTERFACE * PVIDEO_PORT_WCMEMORYPROTECTION_INTERFACE
VPAPI VP_STATUS NTAPI VideoPortGetRegistryParameters(IN PVOID HwDeviceExtension, IN PWSTR ParameterName, IN UCHAR IsParameterFileName, IN PMINIPORT_GET_REGISTRY_ROUTINE CallbackRoutine, IN PVOID Context)
Definition: videoprt.c:1030
struct _VIDEO_PORT_DEBUG_REPORT_INTERFACE * PVIDEO_PORT_DEBUG_REPORT_INTERFACE
struct _VIDEO_HW_INITIALIZATION_DATA VIDEO_HW_INITIALIZATION_DATA
struct _VPOSVERSIONINFO * PVPOSVERSIONINFO
VPAPI VOID NTAPI VideoPortReadPortBufferUlong(IN PULONG Port, OUT PULONG Buffer, IN ULONG Count)
struct __DMA_PARAMETERS * PDMA
Definition: video.h:158
BOOLEAN(NTAPI * PI2C_WRITE_2)(IN PVOID HwDeviceExtension, IN PVIDEO_I2C_CONTROL I2CControl, IN PUCHAR Buffer, IN ULONG Length)
Definition: video.h:419
VPAPI VOID NTAPI VideoPortQuerySystemTime(OUT PLARGE_INTEGER CurrentTime)
VPAPI ULONG NTAPI VideoPortReadPortUlong(IN PULONG Port)
BOOLEAN(NTAPI * PVIDEO_HW_RESET_HW)(IN PVOID HwDeviceExtension, IN ULONG Columns, IN ULONG Rows)
Definition: video.h:316
struct _VIDEO_DEBUG_REPORT * PVIDEO_DEBUG_REPORT
Definition: video.h:157
struct _I2C_FNC_TABLE I2C_FNC_TABLE
VPAPI VOID NTAPI VideoPortWritePortUlong(IN PULONG Port, IN ULONG Value)
enum VIDEO_SYNCHRONIZE_PRIORITY * PVIDEO_SYNCHRONIZE_PRIORITY
VPAPI ULONG NTAPI VideoPortInitialize(IN PVOID Argument1, IN PVOID Argument2, IN PVIDEO_HW_INITIALIZATION_DATA HwInitializationData, IN PVOID HwContext)
Definition: videoprt.c:740
BOOLEAN(NTAPI * PI2C_STOP_2)(IN PVOID HwDeviceExtension, IN PVIDEO_I2C_CONTROL I2CControl)
Definition: video.h:414
struct _VIDEO_X86_BIOS_ARGUMENTS VIDEO_X86_BIOS_ARGUMENTS
enum _VIDEO_DEVICE_DATA_TYPE * PVIDEO_DEVICE_DATA_TYPE
struct _VP_DEVICE_DESCRIPTION * PVP_DEVICE_DESCRIPTION
VPAPI UCHAR NTAPI VideoPortReadPortUchar(IN PUCHAR Port)
struct _VIDEO_CHILD_STATE_CONFIGURATION VIDEO_CHILD_STATE_CONFIGURATION
VPAPI BOOLEAN NTAPI VideoPortDDCMonitorHelper(IN PVOID HwDeviceExtension, IN PVOID DDCControl, IN OUT PUCHAR EdidBuffer, IN ULONG EdidBufferSize)
struct _VPOSVERSIONINFO VPOSVERSIONINFO
VPAPI VP_STATUS NTAPI VideoPortEnumerateChildren(IN PVOID HwDeviceExtension, IN PVOID Reserved)
Definition: videoprt.c:1444
VP_STATUS(NTAPI * PVIDEO_HW_QUERY_INTERFACE)(IN PVOID HwDeviceExtension, IN OUT PQUERY_INTERFACE QueryInterface)
Definition: video.h:306
VPAPI VP_STATUS NTAPI VideoPortMapMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, IN PULONG InIoSpace, IN OUT PVOID *VirtualAddress)
ULONG DMA_EVENT_FLAGS
Definition: video.h:154
VPAPI LONG FASTCALL VideoPortInterlockedDecrement(IN PLONG Addend)
Definition: stubs.c:100
VPAPI VP_STATUS NTAPI VideoPortInt10(IN PVOID HwDeviceExtension, IN PVIDEO_X86_BIOS_ARGUMENTS BiosArguments)
Definition: int10.c:457
VPAPI VOID NTAPI VideoPortReleaseSpinLockFromDpcLevel(IN PVOID HwDeviceExtension, IN PSPIN_LOCK SpinLock)
Definition: spinlock.c:104
VPAPI BOOLEAN NTAPI VideoPortDbgReportSecondaryData(IN OUT PVIDEO_DEBUG_REPORT pReport, IN PVOID pvData, IN ULONG ulDataSize)
VPAPI VOID __cdecl VideoPortDebugPrint(IN VIDEO_DEBUG_LEVEL DebugPrintLevel, IN PSTR DebugMessage, IN ...)
struct _STATUS_BLOCK STATUS_BLOCK
VPAPI BOOLEAN NTAPI VideoPortQueueDpc(IN PVOID HwDeviceExtension, IN PMINIPORT_DPC_ROUTINE CallbackRoutine, IN PVOID Context)
Definition: videoprt.c:1517
VOID(NTAPI * PVIDEO_HW_LEGACYRESOURCES)(IN ULONG VendorId, IN ULONG DeviceId, IN OUT PVIDEO_ACCESS_RANGE *LegacyResourceList, IN OUT PULONG LegacyResourceCount)
Definition: video.h:224
VPAPI USHORT NTAPI VideoPortReadPortUshort(IN PUSHORT Port)
VP_STATUS(NTAPI * PVIDEO_HW_GET_CHILD_DESCRIPTOR)(IN PVOID HwDeviceExtension, IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo, OUT PVIDEO_CHILD_TYPE VideoChildType, OUT PUCHAR pChildDescriptor, OUT PULONG UId, OUT PULONG pUnused)
Definition: video.h:277
VPAPI VP_STATUS NTAPI VideoPortWaitForSingleObject(IN PVOID HwDeviceExtension, IN PVOID Object, IN PLARGE_INTEGER Timeout OPTIONAL)
VPAPI PDMA NTAPI VideoPortDoDma(IN PVOID HwDeviceExtension, IN PDMA pDma, IN DMA_FLAGS DmaFlags)
Definition: dma.c:426
VPAPI VOID NTAPI VideoPortStallExecution(IN ULONG Microseconds)
enum _DMA_FLAGS DMA_FLAGS
VP_STATUS(NTAPI * PVIDEO_HW_FIND_ADAPTER)(IN PVOID HwDeviceExtension, IN PVOID HwContext, IN PWSTR ArgumentString, IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo, OUT PUCHAR Again)
Definition: video.h:199
VPAPI LONG NTAPI VideoPortSetEvent(IN PVOID HwDeviceExtension, IN PEVENT pEvent)
VPAPI VP_STATUS NTAPI VideoPortQueryServices(IN PVOID HwDeviceExtension, IN VIDEO_PORT_SERVICES ServicesType, IN OUT PINTERFACE Interface)
Definition: services.c:40
enum _VP_POOL_TYPE VP_POOL_TYPE
enum _VP_POOL_TYPE * PVP_POOL_TYPE
VPAPI BOOLEAN NTAPI VideoPortCheckForDeviceExistence(IN PVOID HwDeviceExtension, IN USHORT VendorId, IN USHORT DeviceId, IN UCHAR RevisionId, IN USHORT SubVendorId, IN USHORT SubSystemId, IN ULONG Flags)
Definition: videoprt.c:1588
struct _VIDEO_PORT_I2C_INTERFACE_2 VIDEO_PORT_I2C_INTERFACE_2
struct _VP_SCATTER_GATHER_ELEMENT VP_SCATTER_GATHER_ELEMENT
struct _STATUS_BLOCK * PSTATUS_BLOCK
VPAPI VOID NTAPI VideoPortMoveMemory(IN PVOID Destination, IN PVOID Source, IN ULONG Length)
VPAPI VP_STATUS NTAPI VideoPortDeleteSpinLock(IN PVOID HwDeviceExtension, IN PSPIN_LOCK SpinLock)
Definition: spinlock.c:49
enum _HW_DMA_RETURN HW_DMA_RETURN
VOID(NTAPI * PVIDEO_HW_TIMER)(IN PVOID HwDeviceExtension)
Definition: video.h:344
VPAPI VOID NTAPI VideoPortPutDmaAdapter(IN PVOID HwDeviceExtension, IN PVP_DMA_ADAPTER VpDmaAdapter)
Definition: dma.c:93
BOOLEAN(NTAPI * PVIDEO_READ_CLOCK_LINE)(PVOID HwDeviceExtension)
Definition: video.h:358
struct _VIDEO_PORT_INT10_INTERFACE * PVIDEO_PORT_INT10_INTERFACE
VP_STATUS(NTAPI * PINT10_CALL_BIOS)(IN PVOID Context, IN OUT PINT10_BIOS_ARGUMENTS BiosArguments)
Definition: video.h:446
VPAPI VOID NTAPI VideoPortReadRegisterBufferUchar(IN PUCHAR Register, OUT PUCHAR Buffer, IN ULONG Count)
struct _VIDEO_CHILD_STATE VIDEO_CHILD_STATE
VPAPI ULONG NTAPI VideoPortSetBusData(IN PVOID HwDeviceExtension, IN BUS_DATA_TYPE BusDataType, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: resource.c:1210
VP_STATUS(NTAPI * PVIDEO_HW_CHILD_CALLBACK)(PVOID HwDeviceExtension, PVOID ChildDeviceExtension)
Definition: video.h:311
VPAPI UCHAR NTAPI VideoPortReadRegisterUchar(IN PUCHAR Register)
VOID(NTAPI * PVIDEO_WRITE_DATA_LINE)(PVOID HwDeviceExtension, UCHAR Data)
Definition: video.h:353
VP_STATUS(NTAPI * PDRIVER_IO_PORT_ULONG_STRING)(IN ULONG_PTR Context, IN ULONG Port, IN UCHAR AccessMode, IN PULONG Data, IN ULONG DataLength)
Definition: video.h:619
VPAPI LONG NTAPI VideoPortReadStateEvent(IN PVOID HwDeviceExtension, IN PEVENT pEvent)
VP_STATUS(NTAPI * PMINIPORT_QUERY_DEVICE_ROUTINE)(IN PVOID HwDeviceExtension, IN PVOID Context, IN VIDEO_DEVICE_DATA_TYPE DeviceDataType, IN PVOID Identifier, IN ULONG IdentifierLength, IN PVOID ConfigurationData, IN ULONG ConfigurationDataLength, IN OUT PVOID ComponentInformation, IN ULONG ComponentInformationLength)
Definition: video.h:498
VPAPI VOID NTAPI VideoPortReadPortBufferUchar(IN PUCHAR Port, OUT PUCHAR Buffer, IN ULONG Count)
VPAPI VOID NTAPI VideoPortReleaseDeviceLock(IN PVOID HwDeviceExtension)
Definition: videoprt.c:1696
VPAPI VP_STATUS NTAPI VideoPortCreateEvent(IN PVOID HwDeviceExtension, IN ULONG EventFlag, IN PVOID Unused, OUT PEVENT *ppEvent)
VP_STATUS(NTAPI * PINT10_ALLOCATE_BUFFER)(IN PVOID Context, OUT PUSHORT Seg, OUT PUSHORT Off, IN OUT PULONG Length)
Definition: video.h:451
VPAPI VOID NTAPI VideoPortAcquireSpinLockAtDpcLevel(IN PVOID HwDeviceExtension, IN PSPIN_LOCK SpinLock)
Definition: spinlock.c:77
struct _VP_SCATTER_GATHER_LIST VP_SCATTER_GATHER_LIST
struct _VIDEO_CHILD_ENUM_INFO * PVIDEO_CHILD_ENUM_INFO
BOOLEAN(NTAPI * PI2C_WRITE)(IN PVOID HwDeviceExtension, IN PI2C_CALLBACKS I2CCallbacks, IN PUCHAR Buffer, IN ULONG Length)
Definition: video.h:387
enum _VIDEO_CHILD_TYPE * PVIDEO_CHILD_TYPE
VPAPI PVOID NTAPI VideoPortAllocatePool(IN PVOID HwDeviceExtension, IN VP_POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag)
Definition: resource.c:1024
VPAPI VOID NTAPI VideoPortReleaseSpinLock(IN PVOID HwDeviceExtension, IN PSPIN_LOCK SpinLock, IN UCHAR NewIrql)
Definition: spinlock.c:90
VPAPI VP_STATUS NTAPI VideoPortGetDeviceData(IN PVOID HwDeviceExtension, IN VIDEO_DEVICE_DATA_TYPE DeviceDataType, IN PMINIPORT_QUERY_DEVICE_ROUTINE CallbackRoutine, IN PVOID Context)
Definition: resource.c:1008
VPAPI VOID NTAPI VideoPortReadPortBufferUshort(IN PUSHORT Port, OUT PUSHORT Buffer, IN ULONG Count)
_VIDEO_CHILD_TYPE
Definition: video.h:269
@ Monitor
Definition: video.h:270
@ VideoChip
Definition: video.h:272
@ NonPrimaryChip
Definition: video.h:271
@ Other
Definition: video.h:273
VP_STATUS(NTAPI * PVIDEO_HW_POWER_SET)(IN PVOID HwDeviceExtension, IN ULONG HwId, IN PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: video.h:286
struct _VIDEO_HARDWARE_CONFIGURATION_DATA * PVIDEO_HARDWARE_CONFIGURATION_DATA
VPAPI PVOID NTAPI VideoPortAllocateContiguousMemory(IN PVOID HwDeviceExtension, IN ULONG NumberOfBytes, IN PHYSICAL_ADDRESS HighestAcceptableAddress)
Definition: videoprt.c:1724
VPAPI PVOID NTAPI VideoPortAllocateCommonBuffer(IN PVOID HwDeviceExtension, IN PVP_DMA_ADAPTER VpDmaAdapter, IN ULONG DesiredLength, OUT PPHYSICAL_ADDRESS LogicalAddress, IN BOOLEAN CacheEnabled, PVOID Reserved)
Definition: dma.c:43
struct _VIDEO_I2C_CONTROL VIDEO_I2C_CONTROL
struct _I2C_CALLBACKS I2C_CALLBACKS
BOOLEAN(NTAPI * PI2C_STOP)(IN PVOID HwDeviceExtension, IN PI2C_CALLBACKS I2CCallbacks)
Definition: video.h:382
VPAPI VOID NTAPI VideoPortClearEvent(IN PVOID HwDeviceExtension, IN PEVENT pEvent)
VPAPI VP_STATUS NTAPI VideoPortSetRegistryParameters(IN PVOID HwDeviceExtension, IN PWSTR ValueName, IN PVOID ValueData, IN ULONG ValueLength)
Definition: videoprt.c:1081
enum _VIDEO_PORT_SERVICES VIDEO_PORT_SERVICES
BOOLEAN(NTAPI * PVIDEO_READ_DATA_LINE)(PVOID HwDeviceExtension)
Definition: video.h:362
VPAPI ULONG NTAPI VideoPortGetBytesUsed(IN PVOID HwDeviceExtension, IN PDMA pDma)
Definition: stubs.c:48
enum _VIDEO_DEVICE_DATA_TYPE VIDEO_DEVICE_DATA_TYPE
struct _VIDEO_CHILD_STATE_CONFIGURATION * PVIDEO_CHILD_STATE_CONFIGURATION
VPAPI VOID NTAPI VideoPortWritePortBufferUshort(IN PUSHORT Port, IN PUSHORT Buffer, IN ULONG Count)
_VP_LOCK_OPERATION
Definition: video.h:648
@ VpReadAccess
Definition: video.h:649
@ VpWriteAccess
Definition: video.h:650
@ VpModifyAccess
Definition: video.h:651
struct _VIDEO_PORT_DEBUG_REPORT_INTERFACE VIDEO_PORT_DEBUG_REPORT_INTERFACE
VP_STATUS(NTAPI * PDRIVER_IO_PORT_UCHAR)(IN ULONG_PTR Context, IN ULONG Port, IN UCHAR AccessMode, IN PUCHAR Data)
Definition: video.h:597
VPAPI VOID NTAPI VideoPortWritePortUchar(IN PUCHAR Port, IN UCHAR Value)
struct _VIDEO_PORT_AGP_INTERFACE * PVIDEO_PORT_AGP_INTERFACE
VPAPI VP_STATUS NTAPI VideoPortDisableInterrupt(IN PVOID HwDeviceExtension)
Definition: interrupt.c:154
VPAPI VP_STATUS NTAPI VideoPortGetVgaStatus(IN PVOID HwDeviceExtension, OUT PULONG VgaStatus)
Definition: videoprt.c:1112
VPAPI VOID NTAPI VideoPortReadRegisterBufferUshort(IN PUSHORT Register, OUT PUSHORT Buffer, IN ULONG Count)
VPAPI VOID NTAPI VideoPortStopTimer(IN PVOID HwDeviceExtension)
Definition: timer.c:89
enum _HW_DMA_RETURN * PHW_DMA_RETURN
struct _VIDEO_PORT_I2C_INTERFACE_2 * PVIDEO_PORT_I2C_INTERFACE_2
VP_STATUS(NTAPI * PVIDEO_HW_POWER_GET)(IN PVOID HwDeviceExtension, IN ULONG HwId, IN OUT PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: video.h:292
struct _VIDEO_PORT_AGP_INTERFACE_2 * PVIDEO_PORT_AGP_INTERFACE_2
struct _DDC_CONTROL * PDDC_CONTROL
VP_STATUS(NTAPI * PDRIVER_IO_PORT_ULONG)(IN ULONG_PTR Context, IN ULONG Port, IN UCHAR AccessMode, IN PULONG Data)
Definition: video.h:612
struct _INT10_BIOS_ARGUMENTS INT10_BIOS_ARGUMENTS
VP_STATUS(NTAPI * PINT10_FREE_BUFFER)(IN PVOID Context, IN USHORT Seg, IN USHORT Off)
Definition: video.h:458
VPAPI VOID NTAPI VideoPortWritePortBufferUlong(IN PULONG Port, IN PULONG Buffer, IN ULONG Count)
VPAPI BOOLEAN NTAPI VideoPortSignalDmaComplete(IN PVOID HwDeviceExtension, IN PDMA pDmaHandle)
Definition: dma.c:315
VPAPI LONGLONG NTAPI VideoPortQueryPerformanceCounter(IN PVOID HwDeviceExtension, OUT PLONGLONG PerformanceFrequency OPTIONAL)
Definition: videoprt.c:1664
struct _VIDEO_PORT_CONFIG_INFO VIDEO_PORT_CONFIG_INFO
VP_STATUS(NTAPI * PDRIVER_IO_PORT_UCHAR_STRING)(IN ULONG_PTR Context, IN ULONG Port, IN UCHAR AccessMode, IN PUCHAR Data, IN ULONG DataLength)
Definition: video.h:604
VPAPI BOOLEAN NTAPI VideoPortLockPages(IN PVOID HwDeviceExtension, IN OUT PVIDEO_REQUEST_PACKET pVrp, IN OUT PEVENT pUEvent, IN PEVENT pDisplayEvent, IN DMA_FLAGS DmaFlags)
VP_STATUS(NTAPI * PROTECT_WC_MEMORY)(IN PVOID Context, IN PVOID HwDeviceExtension)
Definition: video.h:480
enum _VIDEO_CHILD_TYPE VIDEO_CHILD_TYPE
VP_STATUS(NTAPI * PINT10_WRITE_MEMORY)(IN PVOID Context, IN USHORT Seg, IN USHORT Off, IN PVOID Buffer, IN ULONG Length)
Definition: video.h:472
VOID(NTAPI * PEXECUTE_DMA)(IN PVOID HwDeviceExtension, IN PVP_DMA_ADAPTER VpDmaAdapter, IN PVP_SCATTER_GATHER_LIST SGList, IN PVOID Context)
Definition: video.h:253
VP_STATUS(NTAPI * PINT10_READ_MEMORY)(IN PVOID Context, IN USHORT Seg, IN USHORT Off, OUT PVOID Buffer, IN ULONG Length)
Definition: video.h:464
VPAPI VP_STATUS NTAPI VideoPortGetAccessRanges(_In_ PVOID HwDeviceExtension, _In_opt_ ULONG NumRequestedResources, _In_reads_opt_(NumRequestedResources) PIO_RESOURCE_DESCRIPTOR RequestedResources, _In_ ULONG NumAccessRanges, _Out_writes_(NumAccessRanges) PVIDEO_ACCESS_RANGE AccessRanges, _In_ PVOID VendorId, _In_ PVOID DeviceId, _Out_ PULONG Slot)
Retrieves bus-relative (mainly PCI) hardware resources access ranges and, if possible,...
Definition: resource.c:626
VPAPI PVOID NTAPI VideoPortGetAssociatedDeviceExtension(IN PVOID DeviceObject)
Definition: videoprt.c:1533
VPAPI PVOID NTAPI VideoPortGetDmaContext(IN PVOID HwDeviceExtension, IN PDMA pDma)
Definition: dma.c:414
VPAPI VP_STATUS NTAPI VideoPortStartDma(IN PVOID HwDeviceExtension, IN PVP_DMA_ADAPTER VpDmaAdapter, IN PVOID Mdl, IN ULONG Offset, IN OUT PULONG pLength, IN PEXECUTE_DMA ExecuteDmaRoutine, IN PVOID Context, IN BOOLEAN WriteToDevice)
Definition: dma.c:355
VPAPI VOID NTAPI VideoPortSetBytesUsed(IN PVOID HwDeviceExtension, IN OUT PDMA pDma, IN ULONG BytesUsed)
Definition: stubs.c:68
VPAPI VP_STATUS NTAPI VideoPortCreateSecondaryDisplay(IN PVOID HwDeviceExtension, IN OUT PVOID *SecondaryDeviceExtension, IN ULONG ulFlag)
Definition: videoprt.c:1467
VP_STATUS(NTAPI * PDRIVER_IO_PORT_USHORT)(IN ULONG_PTR Context, IN ULONG Port, IN UCHAR AccessMode, IN PUSHORT Data)
Definition: video.h:627
struct _QUERY_INTERFACE * PQUERY_INTERFACE
VPAPI VOID NTAPI VideoPortWritePortUshort(IN PUSHORT Port, IN USHORT Value)
_VIDEO_PORT_SERVICES
Definition: video.h:712
@ VideoPortServicesWCMemoryProtection
Definition: video.h:718
@ VideoPortServicesAGP
Definition: video.h:713
@ VideoPortServicesI2C
Definition: video.h:714
@ VideoPortServicesHeadless
Definition: video.h:715
@ VideoPortServicesDebugReport
Definition: video.h:717
@ VideoPortServicesInt10
Definition: video.h:716
VPAPI VOID NTAPI VideoPortAcquireSpinLock(IN PVOID HwDeviceExtension, IN PSPIN_LOCK SpinLock, OUT PUCHAR OldIrql)
Definition: spinlock.c:63
VPAPI ULONG NTAPI VideoPortGetBusData(IN PVOID HwDeviceExtension, IN BUS_DATA_TYPE BusDataType, IN ULONG SlotNumber, IN OUT PVOID Buffer, IN ULONG Offset, IN ULONG Length)
VPAPI ULONG NTAPI VideoPortCompareMemory(IN PVOID Source1, IN PVOID Source2, IN SIZE_T Length)
struct _DDC_CONTROL DDC_CONTROL
struct __VRB_SG * PVRB_SG
VPAPI VOID NTAPI VideoPortWriteRegisterUlong(IN PULONG Register, IN ULONG Value)
struct _VIDEO_PORT_SPIN_LOCK * PSPIN_LOCK
Definition: video.h:156
struct _VIDEO_PORT_CONFIG_INFO * PVIDEO_PORT_CONFIG_INFO
VPAPI LONG FASTCALL VideoPortInterlockedIncrement(IN PLONG Addend)
Definition: stubs.c:108
VPAPI BOOLEAN NTAPI VideoPortScanRom(PVOID HwDeviceExtension, PUCHAR RomBase, ULONG RomLength, PUCHAR String)
struct _VIDEO_PORT_AGP_INTERFACE_2 VIDEO_PORT_AGP_INTERFACE_2
VPAPI PVP_DMA_ADAPTER NTAPI VideoPortGetDmaAdapter(IN PVOID HwDeviceExtension, IN PVP_DEVICE_DESCRIPTION VpDeviceDescription)
Definition: dma.c:120
struct _VIDEO_X86_BIOS_ARGUMENTS * PVIDEO_X86_BIOS_ARGUMENTS
struct _VIDEO_HW_INITIALIZATION_DATA * PVIDEO_HW_INITIALIZATION_DATA
VPAPI PDMA NTAPI VideoPortMapDmaMemory(IN PVOID HwDeviceExtension, IN PVIDEO_REQUEST_PACKET pVrp, IN PHYSICAL_ADDRESS BoardAddress, IN PULONG Length, IN PULONG InIoSpace, IN PVOID MappedUserEvent, IN PVOID DisplayDriverEvent, IN OUT PVOID *VirtualAddress)
Definition: dma.c:284
VPAPI VP_STATUS NTAPI VideoPortEnableInterrupt(IN PVOID HwDeviceExtension)
Definition: interrupt.c:116
_VP_POOL_TYPE
Definition: video.h:541
@ VpNonPagedPool
Definition: video.h:542
@ VpPagedPool
Definition: video.h:543
@ VpPagedPoolCacheAligned
Definition: video.h:545
@ VpNonPagedPoolCacheAligned
Definition: video.h:544
struct _VIDEO_PORT_WCMEMORYPROTECTION_INTERFACE VIDEO_PORT_WCMEMORYPROTECTION_INTERFACE
VPAPI VOID NTAPI VideoPortReleaseBuffer(IN PVOID HwDeviceExtension, IN PVOID Buffer)
Definition: resource.c:1066
VPAPI PVIDEO_DEBUG_REPORT NTAPI VideoPortDbgReportCreate(IN PVOID HwDeviceExtension, IN ULONG ulCode, IN ULONG_PTR ulpArg1, IN ULONG_PTR ulpArg2, IN ULONG_PTR ulpArg3, IN ULONG_PTR ulpArg4)
struct _VIDEO_PORT_I2C_INTERFACE * PVIDEO_PORT_I2C_INTERFACE
struct _I2C_CALLBACKS * PI2C_CALLBACKS
struct _VIDEO_ACCESS_RANGE VIDEO_ACCESS_RANGE
BOOLEAN(NTAPI * PI2C_READ_2)(IN PVOID HwDeviceExtension, IN PVIDEO_I2C_CONTROL I2CControl, OUT PUCHAR Buffer, IN ULONG Length, IN BOOLEAN EndOfRead)
Definition: video.h:426
struct _VIDEO_ACCESS_RANGE * PVIDEO_ACCESS_RANGE
VPAPI VOID NTAPI VideoPortLogError(IN PVOID HwDeviceExtension, IN PVIDEO_REQUEST_PACKET Vrp OPTIONAL, IN VP_STATUS ErrorCode, IN ULONG UniqueId)
Definition: videoprt.c:970
BOOLEAN(NTAPI * PVIDEO_HW_INITIALIZE)(IN PVOID HwDeviceExtension)
Definition: video.h:207
#define VPAPI
Definition: video.h:47
VPAPI VOID NTAPI VideoPortWriteRegisterBufferUshort(IN PUSHORT Register, IN PUSHORT Buffer, IN ULONG Count)
VOID(NTAPI * PVIDEO_WAIT_VSYNC_ACTIVE)(PVOID HwDeviceExtension)
Definition: video.h:366
struct _VIDEO_REQUEST_PACKET * PVIDEO_REQUEST_PACKET
_HW_DMA_RETURN
Definition: video.h:230
@ DmaSyncReturn
Definition: video.h:232
@ DmaAsyncReturn
Definition: video.h:231
VPAPI PDMA NTAPI VideoPortAssociateEventsWithDmaHandle(IN PVOID HwDeviceExtension, IN OUT PVIDEO_REQUEST_PACKET pVrp, IN PVOID MappedUserEvent, IN PVOID DisplayDriverEvent)
Definition: dma.c:439
VPAPI VP_STATUS NTAPI VideoPortRegisterBugcheckCallback(IN PVOID HwDeviceExtension, IN ULONG BugcheckCode, IN PVIDEO_BUGCHECK_CALLBACK Callback, IN ULONG BugcheckDataSize)
Definition: videoprt.c:1649
VPAPI VOID NTAPI VideoPortDbgReportComplete(IN OUT PVIDEO_DEBUG_REPORT pReport)
VPAPI VP_STATUS NTAPI VideoPortSetTrappedEmulatorPorts(IN PVOID HwDeviceExtension, IN ULONG NumAccessRanges, IN PVIDEO_ACCESS_RANGE AccessRange)
Definition: resource.c:1160
BOOLEAN(NTAPI * PI2C_START)(IN PVOID HwDeviceExtension, IN PI2C_CALLBACKS I2CCallbacks)
Definition: video.h:377
struct _VIDEO_CHILD_STATE * PVIDEO_CHILD_STATE
struct _I2C_FNC_TABLE * PI2C_FNC_TABLE
VPAPI VOID NTAPI VideoPortReadRegisterBufferUlong(IN PULONG Register, OUT PULONG Buffer, IN ULONG Count)
struct __VP_DMA_ADAPTER * PVP_DMA_ADAPTER
Definition: video.h:159
VP_STATUS(NTAPI * PMINIPORT_GET_REGISTRY_ROUTINE)(IN PVOID HwDeviceExtension, IN PVOID Context, IN OUT PWSTR ValueName, IN OUT PVOID ValueData, IN ULONG ValueLength)
Definition: video.h:510
struct _VIDEO_I2C_CONTROL * PVIDEO_I2C_CONTROL
struct _VIDEO_REQUEST_PACKET VIDEO_REQUEST_PACKET
enum _VP_LOCK_OPERATION VP_LOCK_OPERATION
VPAPI VOID NTAPI VideoPortStartTimer(IN PVOID HwDeviceExtension)
Definition: timer.c:78
BOOLEAN(NTAPI * PMINIPORT_SYNCHRONIZE_ROUTINE)(IN PVOID Context)
Definition: video.h:523
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: ke.h:114
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
IN UCHAR EdidSegment
Definition: video.h:708
IN ULONG Size
Definition: video.h:706
IN I2C_CALLBACKS I2CCallbacks
Definition: video.h:707
Definition: miniport.h:40
IN PVIDEO_READ_CLOCK_LINE ReadClockLine
Definition: video.h:372
IN PVIDEO_WRITE_DATA_LINE WriteDataLine
Definition: video.h:371
IN PVIDEO_READ_DATA_LINE ReadDataLine
Definition: video.h:373
IN PVIDEO_WRITE_CLOCK_LINE WriteClockLine
Definition: video.h:370
PVOID Reserved
Definition: video.h:702
IN PVIDEO_READ_DATA_LINE ReadDataLine
Definition: video.h:700
IN PVIDEO_WAIT_VSYNC_ACTIVE WaitVsync
Definition: video.h:701
IN ULONG Size
Definition: video.h:696
IN PVIDEO_WRITE_DATA_LINE WriteDataLine
Definition: video.h:698
IN PVIDEO_WRITE_CLOCK_LINE WriteClockLine
Definition: video.h:697
IN PVIDEO_READ_CLOCK_LINE ReadClockLine
Definition: video.h:699
CONST GUID * InterfaceType
Definition: video.h:298
USHORT Size
Definition: video.h:299
PINTERFACE Interface
Definition: video.h:301
USHORT Version
Definition: video.h:300
PVOID InterfaceSpecificData
Definition: video.h:302
_ANONYMOUS_UNION union _STATUS_BLOCK::@2249 DUMMYUNIONNAME
PVOID Pointer
Definition: video.h:324
ULONG_PTR Information
Definition: video.h:326
VP_STATUS Status
Definition: video.h:323
UCHAR RangeVisible
Definition: video.h:218
ULONG RangeLength
Definition: video.h:216
UCHAR RangeInIoSpace
Definition: video.h:217
UCHAR RangeShareable
Definition: video.h:219
PHYSICAL_ADDRESS RangeStart
Definition: video.h:215
UCHAR RangePassive
Definition: video.h:220
ULONG ChildDescriptorSize
Definition: video.h:262
PVOID ChildHwDeviceExtension
Definition: video.h:265
VIDEO_CHILD_STATE ChildStateArray[ANYSIZE_ARRAY]
Definition: video.h:668
INTERFACE_TYPE InterfaceType
Definition: video.h:563
PVIDEO_HW_FIND_ADAPTER HwFindAdapter
Definition: video.h:674
PVIDEO_HW_START_IO HwStartIO
Definition: video.h:677
PVIDEO_HW_POWER_SET HwSetPowerState
Definition: video.h:683
PVIDEO_HW_POWER_GET HwGetPowerState
Definition: video.h:684
PVIDEO_HW_INTERRUPT HwInterrupt
Definition: video.h:676
PVIDEO_HW_RESET_HW HwResetHw
Definition: video.h:680
PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor
Definition: video.h:685
INTERFACE_TYPE AdapterInterfaceType
Definition: video.h:673
PVIDEO_ACCESS_RANGE HwLegacyResourceList
Definition: video.h:688
PVIDEO_HW_TIMER HwTimer
Definition: video.h:681
PVIDEO_HW_INITIALIZE HwInitialize
Definition: video.h:675
PVIDEO_HW_START_DMA HwStartDma
Definition: video.h:682
PVIDEO_HW_QUERY_INTERFACE HwQueryInterface
Definition: video.h:686
PVIDEO_HW_LEGACYRESOURCES HwGetLegacyResources
Definition: video.h:690
IN PVIDEO_READ_DATA_LINE ReadDataLine
Definition: video.h:404
IN ULONG I2CDelay
Definition: video.h:405
IN PVIDEO_WRITE_CLOCK_LINE WriteClockLine
Definition: video.h:401
IN PVIDEO_WRITE_DATA_LINE WriteDataLine
Definition: video.h:402
IN PVIDEO_READ_CLOCK_LINE ReadClockLine
Definition: video.h:403
OUT PAGP_COMMIT_VIRTUAL AgpCommitVirtual
Definition: video.h:750
OUT PAGP_COMMIT_PHYSICAL AgpCommitPhysical
Definition: video.h:746
OUT PAGP_RESERVE_VIRTUAL AgpReserveVirtual
Definition: video.h:748
OUT PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:743
OUT PAGP_RESERVE_PHYSICAL AgpReservePhysical
Definition: video.h:744
OUT PAGP_FREE_VIRTUAL AgpFreeVirtual
Definition: video.h:751
OUT PAGP_SET_RATE AgpSetRate
Definition: video.h:753
OUT ULONGLONG AgpAllocationLimit
Definition: video.h:752
OUT PAGP_RELEASE_VIRTUAL AgpReleaseVirtual
Definition: video.h:749
OUT PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:742
OUT PAGP_FREE_PHYSICAL AgpFreePhysical
Definition: video.h:747
OUT PAGP_RELEASE_PHYSICAL AgpReleasePhysical
Definition: video.h:745
PAGP_RESERVE_PHYSICAL AgpReservePhysical
Definition: video.h:727
PAGP_COMMIT_PHYSICAL AgpCommitPhysical
Definition: video.h:729
PAGP_RESERVE_VIRTUAL AgpReserveVirtual
Definition: video.h:731
PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:725
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:726
PAGP_FREE_VIRTUAL AgpFreeVirtual
Definition: video.h:734
PAGP_FREE_PHYSICAL AgpFreePhysical
Definition: video.h:730
PAGP_RELEASE_PHYSICAL AgpReleasePhysical
Definition: video.h:728
PAGP_RELEASE_VIRTUAL AgpReleaseVirtual
Definition: video.h:732
PAGP_COMMIT_VIRTUAL AgpCommitVirtual
Definition: video.h:733
ULONGLONG AgpAllocationLimit
Definition: video.h:735
ULONG MaximumTransferLength
Definition: video.h:189
KINTERRUPT_MODE InterruptMode
Definition: video.h:172
UCHAR InterruptShareable
Definition: video.h:182
PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress
Definition: video.h:176
INTERFACE_TYPE AdapterInterfaceType
Definition: video.h:169
BOOLEAN NeedPhysicalAddresses
Definition: video.h:187
BOOLEAN ScatterGather
Definition: video.h:191
PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress
Definition: video.h:193
ULONG NumEmulatorAccessEntries
Definition: video.h:173
ULONG BusInterruptVector
Definition: video.h:171
ULONGLONG SystemMemorySize
Definition: video.h:195
PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries
Definition: video.h:174
DMA_WIDTH DmaWidth
Definition: video.h:184
ULONG MaximumScatterGatherChunkSize
Definition: video.h:192
ULONG_PTR EmulatorAccessEntriesContext
Definition: video.h:175
ULONG NumberOfPhysicalBreaks
Definition: video.h:190
ULONG VdmPhysicalVideoMemoryLength
Definition: video.h:177
PWSTR DriverRegistryPath
Definition: video.h:194
DMA_SPEED DmaSpeed
Definition: video.h:185
OUT VOID(* DbgReportComplete)(IN OUT PVIDEO_DEBUG_REPORT pReport)
Definition: video.h:831
OUT PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:816
OUT PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:817
OUT BOOLEAN(* DbgReportSecondaryData)(IN OUT PVIDEO_DEBUG_REPORT pReport, IN PVOID pvData, IN ULONG ulDataSize)
Definition: video.h:826
OUT PVIDEO_DEBUG_REPORT(* DbgReportCreate)(IN PVOID HwDeviceExtension, IN ULONG ulCode, IN ULONG_PTR ulpArg1, IN ULONG_PTR ulpArg2, IN ULONG_PTR ulpArg3, IN ULONG_PTR ulpArg4)
Definition: video.h:818
OUT PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:772
OUT PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:773
OUT PI2C_WRITE_2 I2CWrite
Definition: video.h:776
OUT PI2C_READ_2 I2CRead
Definition: video.h:777
OUT PI2C_START_2 I2CStart
Definition: video.h:774
OUT PI2C_STOP_2 I2CStop
Definition: video.h:775
PI2C_START I2CStart
Definition: video.h:762
PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:760
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:761
PI2C_WRITE I2CWrite
Definition: video.h:764
OUT PINT10_FREE_BUFFER Int10FreeBuffer
Definition: video.h:787
OUT PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:785
OUT PINT10_READ_MEMORY Int10ReadMemory
Definition: video.h:788
OUT PINT10_CALL_BIOS Int10CallBios
Definition: video.h:790
OUT PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:784
OUT PINT10_ALLOCATE_BUFFER Int10AllocateBuffer
Definition: video.h:786
OUT PINT10_WRITE_MEMORY Int10WriteMemory
Definition: video.h:789
OUT PINTERFACE_DEREFERENCE InterfaceDereference
Definition: video.h:798
OUT RESTORE_WC_MEMORY VideoPortRestoreWCMemory
Definition: video.h:800
OUT PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:797
OUT PROTECT_WC_MEMORY VideoPortProtectWCMemory
Definition: video.h:799
ULONG InputBufferLength
Definition: video.h:333
PSTATUS_BLOCK StatusBlock
Definition: video.h:331
ULONG OutputBufferLength
Definition: video.h:335
OUT ULONG MinorVersion
Definition: video.h:806
OUT USHORT ServicePackMinor
Definition: video.h:809
OUT ULONG BuildNumber
Definition: video.h:807
OUT ULONG MajorVersion
Definition: video.h:805
IN ULONG Size
Definition: video.h:804
OUT USHORT ServicePackMajor
Definition: video.h:808
BOOLEAN Dma64BitAddresses
Definition: video.h:657
BOOLEAN ScatterGather
Definition: video.h:655
BOOLEAN Dma32BitAddresses
Definition: video.h:656
PHYSICAL_ADDRESS Address
Definition: video.h:241
VP_SCATTER_GATHER_ELEMENT Elements[0]
Definition: video.h:249
ULONG_PTR Reserved
Definition: video.h:248
ULONG Length
Definition: video.h:645
__int64 PhysicalAddress
Definition: video.h:644
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
Definition: tdikrnl.h:1095
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
Definition: tdikrnl.h:1096
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
char * PSTR
Definition: typedefs.h:51
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
int64_t LONGLONG
Definition: typedefs.h:68
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
int32_t * PLONG
Definition: typedefs.h:58
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
BOOLEAN(NTAPI * PAGP_COMMIT_PHYSICAL)(IN PVOID HwDeviceExtension, IN PVOID PhysicalReserveContext, IN ULONG Pages, IN ULONG Offset)
Definition: videoagp.h:43
BOOLEAN(NTAPI * PAGP_SET_RATE)(IN PVOID HwDeviceExtension, IN ULONG AgpRate)
Definition: videoagp.h:95
PHYSICAL_ADDRESS(NTAPI * PAGP_RESERVE_PHYSICAL)(IN PVOID HwDeviceExtension, IN ULONG Pages, IN VIDEO_PORT_CACHE_TYPE Caching, OUT PVOID *PhysicalReserveContext)
Definition: videoagp.h:81
VOID(NTAPI * PAGP_FREE_PHYSICAL)(IN PVOID HwDeviceExtension, IN PVOID PhysicalReserveContext, IN ULONG Pages, IN ULONG Offset)
Definition: videoagp.h:57
PVOID(NTAPI * PAGP_RESERVE_VIRTUAL)(IN PVOID HwDeviceExtension, IN HANDLE ProcessHandle, IN PVOID PhysicalReserveContext, OUT PVOID *VirtualReserveContext)
Definition: videoagp.h:88
PVOID(NTAPI * PAGP_COMMIT_VIRTUAL)(IN PVOID HwDeviceExtension, IN PVOID VirtualReserveContext, IN ULONG Pages, IN ULONG Offset)
Definition: videoagp.h:50
VOID(NTAPI * PAGP_RELEASE_PHYSICAL)(IN PVOID HwDeviceExtension, IN PVOID PhysicalReserveContext)
Definition: videoagp.h:71
VOID(NTAPI * PAGP_FREE_VIRTUAL)(IN PVOID HwDeviceExtension, IN PVOID VirtualReserveContext, IN ULONG Pages, IN ULONG Offset)
Definition: videoagp.h:64
VOID(NTAPI * PAGP_RELEASE_VIRTUAL)(IN PVOID HwDeviceExtension, IN PVOID VirtualReserveContext)
Definition: videoagp.h:76
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
Definition: wdfinterrupt.h:458
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Definition: wdfregistry.h:275
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_In_ WDFIOTARGET Target
Definition: wdfrequest.h:306
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:228
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_IRQL_requires_same_ _In_opt_ PVOID Argument1
Definition: cmtypes.h:696
_In_ ULONG Rows
Definition: haltypes.h:7
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
unsigned char UCHAR
Definition: xmlstorage.h:181