Process Hacker
Main Page
Namespaces
Data Structures
Files
File List
Globals
d3dkmt.h
Go to the documentation of this file.
1
#ifndef _D3DKMT_H
2
#define _D3DKMT_H
3
4
// D3D definitions
5
6
typedef
ULONG
D3DKMT_HANDLE
;
7
8
typedef
struct
_D3DKMT_OPENADAPTERFROMDEVICENAME
9
{
10
_In_ PCWSTR
pDeviceName
;
11
_Out_
D3DKMT_HANDLE
hAdapter
;
12
_Out_ LUID
AdapterLuid
;
13
}
D3DKMT_OPENADAPTERFROMDEVICENAME
;
14
15
typedef
struct
_D3DKMT_CLOSEADAPTER
16
{
17
_In_
D3DKMT_HANDLE
hAdapter
;
18
}
D3DKMT_CLOSEADAPTER
;
19
20
typedef
enum
_D3DKMT_QUERYRESULT_PREEMPTION_ATTEMPT_RESULT
21
{
22
D3DKMT_PreemptionAttempt
= 0,
23
D3DKMT_PreemptionAttemptSuccess
= 1,
24
D3DKMT_PreemptionAttemptMissNoCommand
= 2,
25
D3DKMT_PreemptionAttemptMissNotEnabled
= 3,
26
D3DKMT_PreemptionAttemptMissNextFence
= 4,
27
D3DKMT_PreemptionAttemptMissPagingCommand
= 5,
28
D3DKMT_PreemptionAttemptMissSplittedCommand
= 6,
29
D3DKMT_PreemptionAttemptMissFenceCommand
= 7,
30
D3DKMT_PreemptionAttemptMissRenderPendingFlip
= 8,
31
D3DKMT_PreemptionAttemptMissNotMakingProgress
= 9,
32
D3DKMT_PreemptionAttemptMissLessPriority
= 10,
33
D3DKMT_PreemptionAttemptMissRemainingQuantum
= 11,
34
D3DKMT_PreemptionAttemptMissRemainingPreemptionQuantum
= 12,
35
D3DKMT_PreemptionAttemptMissAlreadyPreempting
= 13,
36
D3DKMT_PreemptionAttemptMissGlobalBlock
= 14,
37
D3DKMT_PreemptionAttemptMissAlreadyRunning
= 15,
38
D3DKMT_PreemptionAttemptStatisticsMax
39
}
D3DKMT_QUERYRESULT_PREEMPTION_ATTEMPT_RESULT
;
40
41
typedef
enum
_D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE
42
{
43
D3DKMT_ClientRenderBuffer
= 0,
44
D3DKMT_ClientPagingBuffer
= 1,
45
D3DKMT_SystemPagingBuffer
= 2,
46
D3DKMT_SystemPreemptionBuffer
= 3,
47
D3DKMT_DmaPacketTypeMax
48
}
D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE
;
49
50
typedef
enum
_D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE
51
{
52
D3DKMT_RenderCommandBuffer
= 0,
53
D3DKMT_DeferredCommandBuffer
= 1,
54
D3DKMT_SystemCommandBuffer
= 2,
55
D3DKMT_MmIoFlipCommandBuffer
= 3,
56
D3DKMT_WaitCommandBuffer
= 4,
57
D3DKMT_SignalCommandBuffer
= 5,
58
D3DKMT_DeviceCommandBuffer
= 6,
59
D3DKMT_SoftwareCommandBuffer
= 7,
60
D3DKMT_QueuePacketTypeMax
61
}
D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE
;
62
63
typedef
enum
_D3DKMT_QUERYSTATISTICS_ALLOCATION_PRIORITY_CLASS
64
{
65
D3DKMT_AllocationPriorityClassMinimum
= 0,
66
D3DKMT_AllocationPriorityClassLow
= 1,
67
D3DKMT_AllocationPriorityClassNormal
= 2,
68
D3DKMT_AllocationPriorityClassHigh
= 3,
69
D3DKMT_AllocationPriorityClassMaximum
= 4,
70
D3DKMT_MaxAllocationPriorityClass
71
}
D3DKMT_QUERYSTATISTICS_ALLOCATION_PRIORITY_CLASS
;
72
73
#define D3DKMT_QUERYSTATISTICS_SEGMENT_PREFERENCE_MAX 5
74
75
typedef
struct
_D3DKMT_QUERYSTATISTICS_COUNTER
76
{
77
ULONG
Count
;
78
ULONGLONG
Bytes
;
79
}
D3DKMT_QUERYSTATISTICS_COUNTER
;
80
81
typedef
struct
_D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION
82
{
83
ULONG
PacketSubmited
;
84
ULONG
PacketCompleted
;
85
ULONG
PacketPreempted
;
86
ULONG
PacketFaulted
;
87
}
D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION
;
88
89
typedef
struct
_D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION
90
{
91
ULONG
PacketSubmited
;
92
ULONG
PacketCompleted
;
93
}
D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION
;
94
95
typedef
struct
_D3DKMT_QUERYSTATISTICS_PACKET_INFORMATION
96
{
97
D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION
QueuePacket
[
D3DKMT_QueuePacketTypeMax
];
98
D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION
DmaPacket
[
D3DKMT_DmaPacketTypeMax
];
99
}
D3DKMT_QUERYSTATISTICS_PACKET_INFORMATION
;
100
101
typedef
struct
_D3DKMT_QUERYSTATISTICS_PREEMPTION_INFORMATION
102
{
103
ULONG
PreemptionCounter
[
D3DKMT_PreemptionAttemptStatisticsMax
];
104
}
D3DKMT_QUERYSTATISTICS_PREEMPTION_INFORMATION
;
105
106
typedef
struct
_D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION
107
{
108
LARGE_INTEGER
RunningTime
;
// 100ns
109
ULONG
ContextSwitch
;
110
D3DKMT_QUERYSTATISTICS_PREEMPTION_INFORMATION
PreemptionStatistics
;
111
D3DKMT_QUERYSTATISTICS_PACKET_INFORMATION
PacketStatistics
;
112
ULONG64
Reserved
[8];
113
}
D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION
;
114
115
typedef
struct
_D3DKMT_QUERYSTATISTICS_NODE_INFORMATION
116
{
117
D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION
GlobalInformation
;
// global
118
D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION
SystemInformation
;
// system thread
119
ULONG64
Reserved
[8];
120
}
D3DKMT_QUERYSTATISTICS_NODE_INFORMATION
;
121
122
typedef
struct
_D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE_INFORMATION
123
{
124
ULONG
Frame
;
125
ULONG
CancelledFrame
;
126
ULONG
QueuedPresent
;
127
ULONG64
Reserved
[8];
128
}
D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE_INFORMATION
;
129
130
typedef
struct
_D3DKMT_QUERYSTATISTICS_VIDPNSOURCE_INFORMATION
131
{
132
D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE_INFORMATION
GlobalInformation
;
// global
133
D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE_INFORMATION
SystemInformation
;
// system thread
134
ULONG64
Reserved
[8];
135
}
D3DKMT_QUERYSTATISTICS_VIDPNSOURCE_INFORMATION
;
136
137
typedef
struct
_D3DKMT_QUERYSTATSTICS_REFERENCE_DMA_BUFFER
138
{
139
ULONG
NbCall
;
140
ULONG
NbAllocationsReferenced
;
141
ULONG
MaxNbAllocationsReferenced
;
142
ULONG
NbNULLReference
;
143
ULONG
NbWriteReference
;
144
ULONG
NbRenamedAllocationsReferenced
;
145
ULONG
NbIterationSearchingRenamedAllocation
;
146
ULONG
NbLockedAllocationReferenced
;
147
ULONG
NbAllocationWithValidPrepatchingInfoReferenced
;
148
ULONG
NbAllocationWithInvalidPrepatchingInfoReferenced
;
149
ULONG
NbDMABufferSuccessfullyPrePatched
;
150
ULONG
NbPrimariesReferencesOverflow
;
151
ULONG
NbAllocationWithNonPreferredResources
;
152
ULONG
NbAllocationInsertedInMigrationTable
;
153
}
D3DKMT_QUERYSTATSTICS_REFERENCE_DMA_BUFFER
;
154
155
typedef
struct
_D3DKMT_QUERYSTATSTICS_RENAMING
156
{
157
ULONG
NbAllocationsRenamed
;
158
ULONG
NbAllocationsShrinked
;
159
ULONG
NbRenamedBuffer
;
160
ULONG
MaxRenamingListLength
;
161
ULONG
NbFailuresDueToRenamingLimit
;
162
ULONG
NbFailuresDueToCreateAllocation
;
163
ULONG
NbFailuresDueToOpenAllocation
;
164
ULONG
NbFailuresDueToLowResource
;
165
ULONG
NbFailuresDueToNonRetiredLimit
;
166
}
D3DKMT_QUERYSTATSTICS_RENAMING
;
167
168
typedef
struct
_D3DKMT_QUERYSTATSTICS_PREPRATION
169
{
170
ULONG
BroadcastStall
;
171
ULONG
NbDMAPrepared
;
172
ULONG
NbDMAPreparedLongPath
;
173
ULONG
ImmediateHighestPreparationPass
;
174
D3DKMT_QUERYSTATISTICS_COUNTER
AllocationsTrimmed
;
175
}
D3DKMT_QUERYSTATSTICS_PREPRATION
;
176
177
typedef
struct
_D3DKMT_QUERYSTATSTICS_PAGING_FAULT
178
{
179
D3DKMT_QUERYSTATISTICS_COUNTER
Faults
;
180
D3DKMT_QUERYSTATISTICS_COUNTER
FaultsFirstTimeAccess
;
181
D3DKMT_QUERYSTATISTICS_COUNTER
FaultsReclaimed
;
182
D3DKMT_QUERYSTATISTICS_COUNTER
FaultsMigration
;
183
D3DKMT_QUERYSTATISTICS_COUNTER
FaultsIncorrectResource
;
184
D3DKMT_QUERYSTATISTICS_COUNTER
FaultsLostContent
;
185
D3DKMT_QUERYSTATISTICS_COUNTER
FaultsEvicted
;
186
D3DKMT_QUERYSTATISTICS_COUNTER
AllocationsMEM_RESET
;
187
D3DKMT_QUERYSTATISTICS_COUNTER
AllocationsUnresetSuccess
;
188
D3DKMT_QUERYSTATISTICS_COUNTER
AllocationsUnresetFail
;
189
ULONG
AllocationsUnresetSuccessRead
;
190
ULONG
AllocationsUnresetFailRead
;
191
192
D3DKMT_QUERYSTATISTICS_COUNTER
Evictions
;
193
D3DKMT_QUERYSTATISTICS_COUNTER
EvictionsDueToPreparation
;
194
D3DKMT_QUERYSTATISTICS_COUNTER
EvictionsDueToLock
;
195
D3DKMT_QUERYSTATISTICS_COUNTER
EvictionsDueToClose
;
196
D3DKMT_QUERYSTATISTICS_COUNTER
EvictionsDueToPurge
;
197
D3DKMT_QUERYSTATISTICS_COUNTER
EvictionsDueToSuspendCPUAccess
;
198
}
D3DKMT_QUERYSTATSTICS_PAGING_FAULT
;
199
200
typedef
struct
_D3DKMT_QUERYSTATSTICS_PAGING_TRANSFER
201
{
202
ULONGLONG
BytesFilled
;
203
ULONGLONG
BytesDiscarded
;
204
ULONGLONG
BytesMappedIntoAperture
;
205
ULONGLONG
BytesUnmappedFromAperture
;
206
ULONGLONG
BytesTransferredFromMdlToMemory
;
207
ULONGLONG
BytesTransferredFromMemoryToMdl
;
208
ULONGLONG
BytesTransferredFromApertureToMemory
;
209
ULONGLONG
BytesTransferredFromMemoryToAperture
;
210
}
D3DKMT_QUERYSTATSTICS_PAGING_TRANSFER
;
211
212
typedef
struct
_D3DKMT_QUERYSTATSTICS_SWIZZLING_RANGE
213
{
214
ULONG
NbRangesAcquired
;
215
ULONG
NbRangesReleased
;
216
}
D3DKMT_QUERYSTATSTICS_SWIZZLING_RANGE
;
217
218
typedef
struct
_D3DKMT_QUERYSTATSTICS_LOCKS
219
{
220
ULONG
NbLocks
;
221
ULONG
NbLocksWaitFlag
;
222
ULONG
NbLocksDiscardFlag
;
223
ULONG
NbLocksNoOverwrite
;
224
ULONG
NbLocksNoReadSync
;
225
ULONG
NbLocksLinearization
;
226
ULONG
NbComplexLocks
;
227
}
D3DKMT_QUERYSTATSTICS_LOCKS
;
228
229
typedef
struct
_D3DKMT_QUERYSTATSTICS_ALLOCATIONS
230
{
231
D3DKMT_QUERYSTATISTICS_COUNTER
Created
;
232
D3DKMT_QUERYSTATISTICS_COUNTER
Destroyed
;
233
D3DKMT_QUERYSTATISTICS_COUNTER
Opened
;
234
D3DKMT_QUERYSTATISTICS_COUNTER
Closed
;
235
D3DKMT_QUERYSTATISTICS_COUNTER
MigratedSuccess
;
236
D3DKMT_QUERYSTATISTICS_COUNTER
MigratedFail
;
237
D3DKMT_QUERYSTATISTICS_COUNTER
MigratedAbandoned
;
238
}
D3DKMT_QUERYSTATSTICS_ALLOCATIONS
;
239
240
typedef
struct
_D3DKMT_QUERYSTATSTICS_TERMINATIONS
241
{
242
D3DKMT_QUERYSTATISTICS_COUNTER
TerminatedShared
;
243
D3DKMT_QUERYSTATISTICS_COUNTER
TerminatedNonShared
;
244
D3DKMT_QUERYSTATISTICS_COUNTER
DestroyedShared
;
245
D3DKMT_QUERYSTATISTICS_COUNTER
DestroyedNonShared
;
246
}
D3DKMT_QUERYSTATSTICS_TERMINATIONS
;
247
248
typedef
struct
_D3DKMT_QUERYSTATISTICS_ADAPTER_INFORMATION
249
{
250
ULONG
NbSegments
;
251
ULONG
NodeCount
;
252
ULONG
VidPnSourceCount
;
253
254
ULONG
VSyncEnabled
;
255
ULONG
TdrDetectedCount
;
256
257
LONGLONG
ZeroLengthDmaBuffers
;
258
ULONGLONG
RestartedPeriod
;
259
260
D3DKMT_QUERYSTATSTICS_REFERENCE_DMA_BUFFER
ReferenceDmaBuffer
;
261
D3DKMT_QUERYSTATSTICS_RENAMING
Renaming
;
262
D3DKMT_QUERYSTATSTICS_PREPRATION
Preparation
;
263
D3DKMT_QUERYSTATSTICS_PAGING_FAULT
PagingFault
;
264
D3DKMT_QUERYSTATSTICS_PAGING_TRANSFER
PagingTransfer
;
265
D3DKMT_QUERYSTATSTICS_SWIZZLING_RANGE
SwizzlingRange
;
266
D3DKMT_QUERYSTATSTICS_LOCKS
Locks
;
267
D3DKMT_QUERYSTATSTICS_ALLOCATIONS
Allocations
;
268
D3DKMT_QUERYSTATSTICS_TERMINATIONS
Terminations
;
269
270
ULONG64
Reserved
[8];
271
}
D3DKMT_QUERYSTATISTICS_ADAPTER_INFORMATION
;
272
273
typedef
struct
_D3DKMT_QUERYSTATISTICS_SYSTEM_MEMORY
274
{
275
ULONGLONG
BytesAllocated
;
276
ULONGLONG
BytesReserved
;
277
ULONG
SmallAllocationBlocks
;
278
ULONG
LargeAllocationBlocks
;
279
ULONGLONG
WriteCombinedBytesAllocated
;
280
ULONGLONG
WriteCombinedBytesReserved
;
281
ULONGLONG
CachedBytesAllocated
;
282
ULONGLONG
CachedBytesReserved
;
283
ULONGLONG
SectionBytesAllocated
;
284
ULONGLONG
SectionBytesReserved
;
285
}
D3DKMT_QUERYSTATISTICS_SYSTEM_MEMORY
;
286
287
typedef
struct
_D3DKMT_QUERYSTATISTICS_PROCESS_INFORMATION
288
{
289
ULONG
NodeCount
;
290
ULONG
VidPnSourceCount
;
291
292
D3DKMT_QUERYSTATISTICS_SYSTEM_MEMORY
SystemMemory
;
293
294
ULONG64
Reserved
[8];
295
}
D3DKMT_QUERYSTATISTICS_PROCESS_INFORMATION
;
296
297
typedef
struct
_D3DKMT_QUERYSTATISTICS_DMA_BUFFER
298
{
299
D3DKMT_QUERYSTATISTICS_COUNTER
Size
;
300
ULONG
AllocationListBytes
;
301
ULONG
PatchLocationListBytes
;
302
}
D3DKMT_QUERYSTATISTICS_DMA_BUFFER
;
303
304
typedef
struct
_D3DKMT_QUERYSTATISTICS_COMMITMENT_DATA
305
{
306
ULONG64
TotalBytesEvictedFromProcess
;
307
ULONG64
BytesBySegmentPreference
[
D3DKMT_QUERYSTATISTICS_SEGMENT_PREFERENCE_MAX
];
308
}
D3DKMT_QUERYSTATISTICS_COMMITMENT_DATA
;
309
310
typedef
struct
_D3DKMT_QUERYSTATISTICS_POLICY
311
{
312
ULONGLONG
PreferApertureForRead
[
D3DKMT_MaxAllocationPriorityClass
];
313
ULONGLONG
PreferAperture
[
D3DKMT_MaxAllocationPriorityClass
];
314
ULONGLONG
MemResetOnPaging
;
315
ULONGLONG
RemovePagesFromWorkingSetOnPaging
;
316
ULONGLONG
MigrationEnabled
;
317
}
D3DKMT_QUERYSTATISTICS_POLICY
;
318
319
typedef
struct
_D3DKMT_QUERYSTATISTICS_PROCESS_ADAPTER_INFORMATION
320
{
321
ULONG
NbSegments
;
322
ULONG
NodeCount
;
323
ULONG
VidPnSourceCount
;
324
325
ULONG
VirtualMemoryUsage
;
326
327
D3DKMT_QUERYSTATISTICS_DMA_BUFFER
DmaBuffer
;
328
D3DKMT_QUERYSTATISTICS_COMMITMENT_DATA
CommitmentData
;
329
D3DKMT_QUERYSTATISTICS_POLICY
_Policy
;
330
331
ULONG64
Reserved
[8];
332
}
D3DKMT_QUERYSTATISTICS_PROCESS_ADAPTER_INFORMATION
;
333
334
typedef
struct
_D3DKMT_QUERYSTATISTICS_MEMORY
335
{
336
ULONGLONG
TotalBytesEvicted
;
337
ULONG
AllocsCommitted
;
338
ULONG
AllocsResident
;
339
}
D3DKMT_QUERYSTATISTICS_MEMORY
;
340
341
typedef
struct
_D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION_V1
342
{
343
ULONG
CommitLimit
;
344
ULONG
BytesCommitted
;
345
ULONG
BytesResident
;
346
347
D3DKMT_QUERYSTATISTICS_MEMORY
Memory
;
348
349
ULONG
Aperture
;
// boolean
350
351
ULONGLONG
TotalBytesEvictedByPriority
[
D3DKMT_MaxAllocationPriorityClass
];
352
353
ULONG64
SystemMemoryEndAddress
;
354
struct
355
{
356
ULONG64
PreservedDuringStandby
: 1;
357
ULONG64
PreservedDuringHibernate
: 1;
358
ULONG64
PartiallyPreservedDuringHibernate
: 1;
359
ULONG64
Reserved
: 61;
360
}
PowerFlags
;
361
362
ULONG64
Reserved
[7];
363
}
D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION_V1
;
364
365
typedef
struct
_D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION
366
{
367
ULONGLONG
CommitLimit
;
368
ULONGLONG
BytesCommitted
;
369
ULONGLONG
BytesResident
;
370
371
D3DKMT_QUERYSTATISTICS_MEMORY
Memory
;
372
373
ULONG
Aperture
;
// boolean
374
375
ULONGLONG
TotalBytesEvictedByPriority
[
D3DKMT_MaxAllocationPriorityClass
];
376
377
ULONG64
SystemMemoryEndAddress
;
378
struct
379
{
380
ULONG64
PreservedDuringStandby
: 1;
381
ULONG64
PreservedDuringHibernate
: 1;
382
ULONG64
PartiallyPreservedDuringHibernate
: 1;
383
ULONG64
Reserved
: 61;
384
}
PowerFlags
;
385
386
ULONG64
Reserved
[6];
387
}
D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION
;
388
389
typedef
struct
_D3DKMT_QUERYSTATISTICS_VIDEO_MEMORY
390
{
391
ULONG
AllocsCommitted
;
392
D3DKMT_QUERYSTATISTICS_COUNTER
AllocsResidentInP
[
D3DKMT_QUERYSTATISTICS_SEGMENT_PREFERENCE_MAX
];
393
D3DKMT_QUERYSTATISTICS_COUNTER
AllocsResidentInNonPreferred
;
394
ULONGLONG
TotalBytesEvictedDueToPreparation
;
395
}
D3DKMT_QUERYSTATISTICS_VIDEO_MEMORY
;
396
397
typedef
struct
_D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_POLICY
398
{
399
ULONGLONG
UseMRU
;
400
}
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_POLICY
;
401
402
typedef
struct
_D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_INFORMATION
403
{
404
ULONGLONG
BytesCommitted
;
405
ULONGLONG
MaximumWorkingSet
;
406
ULONGLONG
MinimumWorkingSet
;
407
408
ULONG
NbReferencedAllocationEvictedInPeriod
;
409
410
D3DKMT_QUERYSTATISTICS_VIDEO_MEMORY
VideoMemory
;
411
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_POLICY
_Policy
;
412
413
ULONG64
Reserved
[8];
414
}
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_INFORMATION
;
415
416
typedef
enum
_D3DKMT_QUERYSTATISTICS_TYPE
417
{
418
D3DKMT_QUERYSTATISTICS_ADAPTER
= 0,
419
D3DKMT_QUERYSTATISTICS_PROCESS
= 1,
420
D3DKMT_QUERYSTATISTICS_PROCESS_ADAPTER
= 2,
421
D3DKMT_QUERYSTATISTICS_SEGMENT
= 3,
422
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT
= 4,
423
D3DKMT_QUERYSTATISTICS_NODE
= 5,
424
D3DKMT_QUERYSTATISTICS_PROCESS_NODE
= 6,
425
D3DKMT_QUERYSTATISTICS_VIDPNSOURCE
= 7,
426
D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE
= 8
427
}
D3DKMT_QUERYSTATISTICS_TYPE
;
428
429
typedef
struct
_D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT
430
{
431
ULONG
SegmentId
;
432
}
D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT
;
433
434
typedef
struct
_D3DKMT_QUERYSTATISTICS_QUERY_NODE
435
{
436
ULONG
NodeId
;
437
}
D3DKMT_QUERYSTATISTICS_QUERY_NODE
;
438
439
typedef
struct
_D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE
440
{
441
ULONG
VidPnSourceId
;
442
}
D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE
;
443
444
typedef
union
_D3DKMT_QUERYSTATISTICS_RESULT
445
{
446
D3DKMT_QUERYSTATISTICS_ADAPTER_INFORMATION
AdapterInformation
;
447
D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION_V1
SegmentInformationV1
;
// WIN7
448
D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION
SegmentInformation
;
// WIN8
449
D3DKMT_QUERYSTATISTICS_NODE_INFORMATION
NodeInformation
;
450
D3DKMT_QUERYSTATISTICS_VIDPNSOURCE_INFORMATION
VidPnSourceInformation
;
451
D3DKMT_QUERYSTATISTICS_PROCESS_INFORMATION
ProcessInformation
;
452
D3DKMT_QUERYSTATISTICS_PROCESS_ADAPTER_INFORMATION
ProcessAdapterInformation
;
453
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_INFORMATION
ProcessSegmentInformation
;
454
D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION
ProcessNodeInformation
;
455
D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE_INFORMATION
ProcessVidPnSourceInformation
;
456
}
D3DKMT_QUERYSTATISTICS_RESULT
;
457
458
typedef
struct
_D3DKMT_QUERYSTATISTICS
459
{
460
_In_
D3DKMT_QUERYSTATISTICS_TYPE
Type
;
461
_In_ LUID
AdapterLuid
;
462
_In_opt_ HANDLE
hProcess
;
463
_Out_
D3DKMT_QUERYSTATISTICS_RESULT
QueryResult
;
464
465
union
466
{
467
_In_
D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT
QuerySegment
;
468
_In_
D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT
QueryProcessSegment
;
469
_In_
D3DKMT_QUERYSTATISTICS_QUERY_NODE
QueryNode
;
470
_In_
D3DKMT_QUERYSTATISTICS_QUERY_NODE
QueryProcessNode
;
471
_In_
D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE
QueryVidPnSource
;
472
_In_
D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE
QueryProcessVidPnSource
;
473
};
474
}
D3DKMT_QUERYSTATISTICS
;
475
476
// Function pointers
477
478
typedef
_Check_return_ NTSTATUS (APIENTRY *
PFND3DKMT_OPENADAPTERFROMDEVICENAME
)(_Inout_
D3DKMT_OPENADAPTERFROMDEVICENAME
*);
479
typedef
_Check_return_ NTSTATUS (APIENTRY *
PFND3DKMT_CLOSEADAPTER
)(_In_
const
D3DKMT_CLOSEADAPTER
*);
480
typedef
_Check_return_ NTSTATUS (APIENTRY *
PFND3DKMT_QUERYSTATISTICS
)(_In_
const
D3DKMT_QUERYSTATISTICS
*);
481
482
#endif
plugins
ExtendedTools
d3dkmt.h
Generated by
1.8.2