NTWMI.H

The public symbol file NTKRPAMP.PDB for the original release of Windows 10 tells that the kernel is built with the NTWMI.H header at

d:\th.public.fre\internal\sdk\inc\minwin

and draws from it the following type definitions:

Line Number Type
421 struct _ETW_REF_CLOCK
428 enum _ETW_BUFFER_STATE
466 enum _ETW_RT_EVENT_LOSS
476 struct _WMI_BUFFER_HEADER
3799 struct _PERFINFO_GROUPMASK
4193 struct _PERFINFO_PPM_STATE_SELECTION
4412 enum _PERFINFO_KERNELMEMORY_USAGE_TYPE
4428 enum _PERFINFO_MM_STAT

The header NTWMI.H is published in the “minwin” directory of the Windows Driver Kit (WDK) for Windows 10 in the original and Version 1511 editions. Microsoft is not known to have published it before or since.

Private Symbol Files

Perhaps by oversight, but perhaps not, Microsoft has since Windows 8 distributed some private symbol files in downloadable packages of otherwise public symbol files. Though Microsoft no longer packages symbol files for downloading, these same private symbol files and updates of them for newer Windows 10 releases continue to be made available at Microsoft’s public symbol server. A few of these private symbol files show that their corresponding binaries were built with NTWMI.H included by the source files. They thus tell of many more types that are defined in NTWMI.H than do the public symbol files for the kernel. The appilcable binaries are conspicuously few (up to and including the 2004 release of Windows 10):

Since this header’s contents are completely known for the early releases of Windows 10 but not before or since, it is as well to move on a few years. The table below is of types that are defined in the otherwise unseen NTWMI.H in the 2004 edition of WIndows 10:

Line Number
(Version 2004)
Type
258 struct _WMI_TRACE_PACKET
275 struct _EVENT_INSTANCE_GUID_HEADER
286 unnamed struct Class in
anonymous union in
struct _EVENT_INSTANCE_GUID_HEADER
327 struct _PERFINFO_TRACE_HEADER
351 struct _SYSTEM_TRACE_HEADER
381 struct _WMI_TRACE_MESSAGE_PACKET
387 struct _MESSAGE_TRACE_HEADER
402 struct _MESSAGE_TRACE
412 struct _MESSAGE_TRACE_USER
427 struct _ETW_REF_CLOCK
434 enum _ETW_BUFFER_STATE
477 enum _ETW_RT_EVENT_LOSS
489 struct _WMI_BUFFER_HEADER
537 struct _TRACE_ENABLE_FLAG_EXTENSION
543 struct _TRACE_ENABLE_FLAG_EXT_HEADER
548 struct _TRACE_ENABLE_FLAG_EXT_ITEM
574 struct _ETW_STACK_CACHING_CONFIG
1700 struct _CPU_CONFIG_RECORD
1722 struct _PROCESSOR_RECORD
1735 struct _PHYSICAL_DISK_RECORD
1752 struct _VIRTUALIZATION_RECORD
1759 struct _BOOT_RECORD
1776 struct _LOGICAL_DISK_EXTENTS
1800 struct _LOGICAL_DISK_DEFRAG
1843 struct _OPTICAL_MEDIA_RECORD
1868 struct _NIC_RECORD
1884 struct _VIDEO_RECORD
1898 struct _WMI_DPI_RECORD
1907 struct _WMI_POWER_RECORD
1922 struct _WMI_IRQ_RECORD
1932 struct _WMI_PNP_RECORD_V3
1939 struct _WMI_PNP_RECORD_V4
1953 struct _WMI_PNP_RECORD_V5
1974 struct _WMI_IDE_CHANNEL_RECORD
1982 struct _WMI_JOB_INFORMATION
1989 struct _WMI_JOB_ASSIGN_PROCESS
1996 struct _WMI_JOB_REMOVE_PROCESS
2004 struct _WMI_JOB_SET_QUERY_CPU_RATE
2009 struct _WMI_JOB_SET_QUERY_NET_RATE
2015 struct _WMI_JOB_SET_QUERY_INFORMATION
2021 struct _WMI_JOB_SEND_NOTIFICATION_INFORMATION
2032 struct _WMI_PROCESS_INFORMATION
2048 struct _WMI_PROCESS_INFORMATION64
2060 struct _WMI_THREAD_INFORMATION
2067 struct _WMI_EXTENDED_THREAD_INFORMATION
2088 struct _WMI_EXTENDED_THREAD_INFORMATION64
2116 struct _WMI_IMAGELOAD_INFORMATION
2133 struct _WMI_IMAGELOAD_INFORMATION32
2150 struct _WMI_IMAGELOAD_INFORMATION64
2169 structc _WMI_IMAGEID_INFORMATION
2178 struct _WMI_IMAGEID_INFORMATION32
2187 struct _WMI_IMAGEID_INFORMATION64
2201 struct _ETW_DISKIO_READWRITE_V2
2224 struct _ETW_DISKIO_FLUSH_BUFFERS_V2
2239 struct _ETW_DISKIO_READWRITE_V3
2240 struct _ETW_DISKIO_FLUSH_BUFFERS_V3
2242 struct _WMI_DISKIO_READWRITE_INIT
2247 struct _WMI_DISKIO_IO_REDIRECTED_INIT
2252 struct _ETW_OPTICALIO_READWRITE
2264 struct _ETW_OPTICALIO_FLUSH_BUFFERS
2272 struct _ETW_OPTICALIO_INIT
2277 struct _WMI_REGISTRY
2288 struct _WMI_TXR
2296 struct _ETW_REGNOTIF_REGISTER
2304 struct _WMI_FILE_IO
2309 struct _WMI_TCPIP
2318 struct _WMI_UDP
2329 struct _WMI_PAGE_FAULT
2334 struct _WMI_CONTEXTSWAP
2372 struct _WMI_SPINLOCK
2425 struct _WMI_RESOURCE
2446 struct _WMI_QUEUE
2455 struct _WMI_PUSHLOCK
2461 struct _WMI_WAIT_SINGLE
2467 struct _WMI_WAIT_OBJECT_RECORD
2477 struct _WMI_WAIT_MULTIPLE
2486 struct _WMI_DELAY_EXECUTION
2495 struct _ETW_READY_THREAD_EVENT
2516 struct _ETW_KQUEUE_ENQUEUE_EVENT
2521 struct _ETW_KQUEUE_DEQUEUE_EVENT
2531 struct _ETW_ANTI_STARVATION_BOOST_EVENT
2542 struct _ETW_AUTOBOOST_SET_PRIORITY_FLOOR_EVENT
2568 struct _ETW_AUTOBOOST_CLEAR_PRIORITY_FLOOR_EVENT
2574 struct _ETW_AUTOBOOST_NO_ENTRIES_EVENT
2583 struct _ETW_PRIORITY_EVENT
2591 struct _ETW_IDEAL_PROCESSOR_EVENT
2597 struct _ETW_THREAD_AFFINITY_EVENT
2604 struct _ETW_THREAD_SET_NAME_EVENT
2610 struct _ETW_DEBUG_PRINT_EVENT
2624 struct _ETW_POOL_EVENT
2637 struct _ETW_CREATE_HANDLE_EVENT
2648 struct _ETW_DUPLICATE_HANDLE_EVENT
2659 struct _ETW_OBJECT_TYPE_EVENT
2665 struct _ETW_OBJECT_HANDLE_EVENT
2672 struct _ETW_REFDEREF_OBJECT_EVENT
2678 struct _ETW_CREATEDELETE_OBJECT_EVENT
2687 struct _ETW_WAKE_COUNTER_EVENT
2701 struct _ETW_HEAP_EVENT_COMMON
2718 struct _ETW_HEAP_EVENT_ALLOC
2738 struct _ETW_HEAP_EVENT_FREE
2757 struct _ETW_HEAP_EVENT_REALLOC
2774 struct _ETW_HEAP_EVENT_EXPANSION
2798 struct _ETW_HEAP_EVENT_CONTRACTION
2822 struct _ETW_HEAP_EVENT_CREATE
2855 struct _HEAP_EVENT_COMMIT_DECOMMIT
2865 struct _HEAP_COMMIT_DECOMMIT
2877 struct _HEAP_EVENT_SUBSEGMENT_ALLOC_FREE
2886 struct _HEAP_SUBSEGMENT_FREE
2893 struct _HEAP_SUBSEGMENT_ALLOC
2903 struct _HEAP_SUBSEGMENT_INIT
2919 struct _HEAP_AFINITY_MANAGER_ENABLE
2932 struct _HEAP_AFFINITY_SLOT_ASSIGN
2946 struct _HEAP_REUSE_THRESHOLD_ACTIVATED
2960 struct _HEAP_SUBSEGMENT_ACTIVATED
2973 struct _ETW_HEAP_EVENT_SNAPSHOT
2994 struct _ETW_HEAP_EVENT_RUNDOWN_RANGE
3006 struct _ETW_HEAP_EVENT_RUNDOWN
3022 struct _HEAP_EVENT_RANGE_CREATE
3028 struct _HEAP_EVENT_RANGE
3036 struct _HEAP_RANGE_CREATE
3043 struct _HEAP_RANGE_DESTROY
3050 struct _HEAP_RANGE_LOG
3057 struct _ETW_CRITSEC_EVENT_COLLISION
3067 struct _ETW_CRITSEC_EVENT_INIT
3075 struct _STACK_WALK_EVENT_DATA
3084 struct _ETW_LBR_ENTRY
3092 struct _LBR_TRACE_EVENT_DATA
3102 struct _IPT_TRACE_EVENT_DATA
3114 struct _LOAD_DLL_EVENT_DATA
3120 struct _CM_PERF_COUNTERS
3138 struct _CI_LOG_SCHEDULER_EVENT
3149 struct _CI_LOG_SCHEDULER_WAKEUP
3157 struct _CI_LOG_SCHEDULER_SLEEP
3163 struct _CI_LOG_SCHEDULER_SLEEP_RESPONSE
3169 struct _CI_LOG_MMCSS_START
3175 struct _CI_LOG_MMCSS_STOP
3187 struct _ETW_UMS_EVENT_DIRECTED_SWITCH_START
3196 struct _ETW_UMS_EVENT_DIRECTED_SWITCH_END
3207 struct _ETW_UMS_EVENT_PARK
3213 struct _ETW_UMS_EVENT_DISASSOCIATE
3221 struct _ETW_UMS_EVENT_CONTEXT_SWITCH
3236 struct _ETW_SET_TIMER_EVENT
3248 struct _ETW_CANCEL_TIMER_EVENT
3252 struct _ETW_TIMER_EXPIRATION_EVENT
3259 struct _ETW_TIMER_EXPIRATION_START_EVENT
3282 struct _ETW_SET_KTIMER2_EVENT
3295 struct _ETW_CANCEL_KTIMER2_EVENT
3304 struct _ETW_DISABLE_KTIMER2_EVENT
3311 struct _ETW_FINALIZE_KTIMER2_EVENT
3321 enum _PERFINFO_DYNAMIC_TICK_VETO_REASON
3332 enum _PERFINFO_DYNAMIC_TICK_DISABLE_REASON
3340 struct _ETW_CLOCK_CONFIGURATION_EVENT
3346 struct _ETW_CLOCK_TIME_UPDATE
3351 struct _ETW_CLOCK_STATE_CHANGE_EVENT
3368 struct _ETW_PER_SESSION_QUOTA
3379 struct _ETW_DFSS_START_NEW_INTERVAL
3394 struct _ETW_DFSS_RELEASE_THREAD_ON_IDLE
3406 struct _ETW_CPU_CACHE_FLUSH_EVENT
3756 struct _ETW_TP_EVENT_CALLBACK_ENQUEUE
3775 struct _ETW_TP_EVENT_CALLBACK_START
3794 struct _ETW_TP_EVENT_CALLBACK_CANCEL
3807 struct _ETW_TP_EVENT_POOL_CREATE
3815 struct _ETW_TP_EVENT_POOL_CLOSE
3823 struct _ETW_TP_EVENT_POOL_TH_MIN_SET
3832 struct _ETW_TP_EVENT_POOL_TH_MAX_SET
3841 struct _ETW_TP_EVENT_WORKER_NUMANODE_SWITCH
3858 struct _ETW_TP_EVENT_TIMER_SET
3870 struct _ETW_TP_EVENT_TIMER_CANCELLED
3878 struct _ETW_TP_EVENT_TIMER_SET_NTTIMER
3887 struct _ETW_TP_EVENT_TIMER_CANCEL_NTTIMER
3894 struct _ETW_TP_EVENT_TIMER_EXPIRATION_BEGIN
3901 struct _ETW_TP_EVENT_TIMER_EXPIRATION_END
3908 struct _ETW_TP_EVENT_TIMER_EXPIRATION
3925 struct _ETW_THREAD_EVENT_SUBPROCESSTAG
3935 struct _ETW_WNF_EVENT_SUBSCRIBE
3950 struct _ETW_WNF_EVENT_CALLBACK
3963 struct _ETW_WNF_EVENT_PUBLISH
3971 struct _ETW_WNF_EVENT_NAME_SUB_RUNDOWN
3995 struct _PERFINFO_GROUPMASK
4063 struct _PERFINFO_MARK_EVENT
4077 struct _PERFINFO_DRIVER_MAJORFUNCTION
4089 struct _PERFINFO_DRIVER_MAJORFUNCTION_RET
4097 struct _PERFINFO_DRIVER_COMPLETE_REQUEST
4119 struct _PERFINFO_DRIVER_COMPLETE_REQUEST_RET
4133 struct _PERFINFO_DRIVER_COMPLETIONROUTINE
4143 struct _PERFINFO_BATTERY_LIFE_INFO
4148 struct _PERFINFO_IDLE_STATE_CHANGE
4159 struct _PERFINFO_SET_POWER_ACTION
4175 struct _PERFINFO_SET_POWER_ACTION_RET
4186 struct _PERFINFO_SET_DEVICES_STATE
4197 struct _PERFINFO_SET_DEVICES_STATE_RET
4206 struct _PERFINFO_PO_NOTIFY_DEVICE
4256 struct _PERFINFO_PO_NOTIFY_DEVICE_COMPLETE
4268 struct _PERFINFO_PO_POSTSLEEP
4276 struct _PERFINFO_PO_SESSION_CALLOUT
4283 struct _PERFINFO_PO_PRESLEEP
4288 struct _PERFINFO_PO_POSTSLEEP
4292 struct _PERFINFO_PO_CALIBRATED_PERFCOUNTER
4296 struct _PERFINFO_BOOT_PHASE_START
4300 struct _PERFINFO_BOOT_PREFETCH_INFORMATION
4306 struct _PERFINFO_PO_SESSION_CALLOUT_RET
4310 struct _PERFINFO_PPM_IDLE_STATE_CHANGE
4377 struct _PERFINFO_PPM_IDLE_STATE_ENTER
4391 struct _PERFINFO_PPM_IDLE_STATE_EXIT
4396 struct _PERFINFO_PPM_STATE_SELECTION
4423 struct _PERFINFO_PPM_IDLE_EXIT_LATENCY
4434 struct _PERFINFO_PPM_PERF_STATE_CHANGE
4442 struct _PERFINFO_PPM_THERMAL_CONSTRAINT
4451 struct _PERFINFO_FILEOBJECT_INFORMATION
4455 struct _PERFINFO_FILENAME_SAME_INFORMATION
4460 struct _PERFINFO_PFMAPPED_SECTION_INFORMATION
4466 struct _PERFINFO_PFMAPPED_SECTION_OBJECT_INFORMATION
4475 struct _PERFINFO_SAMPLED_PROFILE_INFORMATION
4492 struct _PERFINFO_SAMPLED_PROFILE_CACHE
4497 struct _PERFINFO_SAMPLED_PROFILE_CONFIG
4503 struct _PERFINFO_PMC_SAMPLE_INFORMATION
4510 struct _PERFINFO_DPC_INFORMATION
4515 struct _PERFINFO_DPC_ENQUEUE_INFORMATION
4524 struct _PERFINFO_DPC_EXECUTION_INFORMATION
4529 struct _PERFINFO_YIELD_PROCESSOR_INFORMATION
4537 struct _PERFINFO_INTERRUPT_INFORMATION
4549 struct _PERFINFO_CLOCK_INTERRUPT_INFORMATION
4563 struct _PERFINFO_SPINLOCK_CONFIG
4584 struct _PERFINFO_EXECUTIVE_RESOURCE_CONFIG
4596 struct _PERFINFO_SESSIONCREATE_INFORMATION
4601 struct _PERFINFO_PAGE_RANGE_IDENTITY
4617 enum _PERFINFO_KERNELMEMORY_USAGE_TYPE
4624 struct _PERFINFO_KERNELMEMORY_RANGE_USAGE
4633 enum _PERFINFO_MM_STAT
4648 struct _PERFINFO_PAGECOMBINE_AGGREGATE_STAT
4672 struct _PERFINFO_PAGECOMBINE_ITERATION_STAT  
4685 struct _PERFINFO_HARDPAGEFAULT_INFORMATION
4697 struct _PERFINFO_VIRTUAL_ALLOC
4704 struct _PERFINFO_VIRTUAL_ALLOC_XPARTITION
4709 struct _PERFINFO_VAD_ROTATE_INFO
4721 enum _PERFINFO_MEM_RESET_INFO_TYPE
4728 struct _PERFINFO_MEM_RESET_INFO
4752 struct _PERFINFO_CC_WORKITEM_ENQUEUE
4761 struct _PERFINFO_CC_WORKITEM_DEQUEUE
4765 struct _PERFINFO_CC_WORKITEM_COMPLETE
4774 struct _PERFINFO_CC_READ_AHEAD
4783 struct _PERFINFO_CC_SCHEDULE_READ_AHEAD
4800 struct _PERFINFO_CC_LAZY_WRITE_SCAN
4815 struct _PERFINFO_CC_CAN_WRITE_FAIL
4822 struct _PERFINFO_CC_FLUSH_SECTION
4846 struct _PERFINFO_CC_FLUSH_CACHE
4856 struct _PERFINFO_CC_LOGGED_STREAM_INFO
4872 struct _PERFINFO_CC_EXTRA_WB_THREAD_INFO
4884 struct _PERFINFO_IMAGELOAD_IN_PAGEFILE_INFO
4888 unnamed union Flags in
struct _PERFINFO_IMAGELOAD_IN_PAGEFILE_INFO
4902 struct _PERFINFO_SYSCALL_ENTER_DATA
4906 struct _PERFINFO_SYSCALL_EXIT_DATA
4917 struct _PERFINFO_IPI_SEND_DATA
4926 struct _PERFINFO_IPI_RECEIVE_DATA
4938 struct _PERFINFO_MARK_INFORMATION
4950 struct _PERFINFO_FILE_CREATE
4960 struct _PERFINFO_FILE_INFORMATION
4969 struct _PERFINFO_FILE_DIRENUM
4980 struct _PERFINFO_FILE_PATH_OPERATION
4995 struct _PERFINFO_FILE_READ_WRITE
5006 struct _PERFINFO_FILE_SIMPLE_OPERATION
5013 struct _PERFINFO_FILE_OPERATION_END
5019 struct _PERFINFO_FLT_OPERATION
5028 struct _PERFINFO_FLT_OPERATION_STATUS
5046 struct _PERFINFO_MEMORY_INFORMATION
5057 struct _PERFINFO_SYSTEM_MEMORY_INFORMATION
5070 struct _PERFINFO_WORKINGSET_ENTRY
5088 struct _PERFINFO_WORKINGSET_INFORMATION
5100 struct _PERFINFO_MEMORY_NODE_ENTRY
5113 struct _PERFINFO_MEMORY_NODE_INFORMATION
5124 struct _PERFINFO_CONTIGUOUS_PAGE_GENERATE
5133 enum _PERFINFO_DEBUG_EVENT_REASON
5139 struct _PERFINFO_DEBUG_EVENT
5145 enum _PERFINFO_DOMAIN_CHANGE_EVENT_REASON
5155 struct _PERFINFO_DOMAIN_CHANGE_EVENT
5165 struct _PERFINFO_VTL_CHANGE
5176 struct _PERFINFO_SPEC_CONTROL_RETPOLINE_EXIT
5184 struct _PERFINFO_HV_HYPERCALL
5243 enum _PERFINFO_CCSWAP_TYPE
5268 struct _PERFINFO_CCSWAP_BUFFER
5282 struct _PERFINFO_CCSWAP_IDLE_SHORT
5295 struct _PERFINFO_CCSWAP_IDLE
5309 struct _PERFINFO_CCSWAP_LITE
5325 struct _PERFINFO_CCSWAP
5338 struct _PERFINFO_PROCESS_PERFCTR
5363 struct _PERFINFO_PROCESS_PERFCTR32
5385 struct _PERFINFO_PROCESS_PERFCTR64
5411 struct _PERFINFO_PROCESS_INSWAP
5422 struct _PERFINFO_IO_TIMER
5440 struct _WMI_LOGGER_INFORMATION