Geoff Chappell - Software Analyst
The public symbol file NTKRPAMP.PDB for the original release of Windows 10 tells that the kernel is built with the MI.H header at
d:\th\minkernel\ntos\mm
and draws from it the following type definitions:
| Line Number | Type |
|---|---|
| 544 | enum _MI_LOCK_ACQUIRE_TYPE |
| 1038 | enum _MI_SYSTEM_VA_TYPE |
| 1327 | struct _MMPFNENTRY |
| 1473 | struct _MIPFNBLINK |
| 1592 | struct _MMPFN |
| 1602 | unnamed union for u1 in _MMPFN |
| 1648 | unnamed union for u3 in _MMPFN |
| 1658 | unnamed struct for e2 in u3 in _MMPFN |
| 1686 | unnamed union for u4 in _MMPFN |
| 2043 | struct _MI_CACHED_PTE |
| 2082 | struct _MI_CACHED_PTES |
| 2107 | struct _MI_SYSTEM_PTE_TYPE |
| 2168 | struct _MI_PTE_CHAIN_HEAD |
| 2212 | struct _MI_SPECIAL_POOL |
| 3003 | enum _MI_PFN_CACHE_ATTRIBUTE |
| 4664 | struct _MI_BAD_MEMORY_EVENT_ENTRY |
| 5430 | struct _CACHED_KSTACK_LIST |
| 5438 | enum _MI_KSTACK_TYPE |
| 5452 | enum _MI_MEMORY_HIGHLOW |
| 5458 | enum _MI_NODE_NONPAGED_POOL_BITMAP |
| 5464 | struct _MI_SYSTEM_NODE_INFORMATION |
| 5529 | struct _MI_NODE_INFORMATION |
| 5559 | unnamed struct for Flags in _MI_NODE_INFORMATION |
| 5585 | struct _MI_REBUILD_LARGE_PAGE_COUNTDOWN |
| 5590 | struct _MI_REBUILD_LARGE_PAGES |
| 5623 | struct _MMDEREFERENCE_SEGMENT_HEADER |
| 5684 | struct _MI_DECAY_TIMER_LINKAGE |
| 5699 | struct _MI_DECAY_TIMER_LINK |
| 5700 | unnamed union for u1 in _MI_DECAY_TIMER_LINK |
| 5706 | struct _MMWORKING_SET_EXPANSION_HEAD |
| 5710 | struct _MMPAGE_FILE_EXPANSION_FLAGS |
| 5737 | struct _MMPAGE_FILE_EXPANSION |
| 5751 | struct _MMMOD_WRITER_LISTHEAD |
| 5759 | union _MI_RESERVATION_CLUSTER_INFO |
| 5767 | struct _MI_MODWRITE_DATA |
| 5833 | enum _MI_MEMORY_EVENT_TYPES |
| 5852 | struct _MI_AVAILABLE_PAGE_WAIT_STATES |
| 5857 | enum _MI_AVAILABLE_PAGE_WAIT_TYPES |
| 5863 | struct _MI_PARTITION_FLAGS |
| 5872 | struct _MI_LDW_WORK_CONTEXT |
| 5886 | struct _MM_PAGED_POOL_INFO |
| 5896 | struct _MI_COMBINE_WORKITEM |
| 5901 | struct _MI_COMBINE_PAGE_LISTHEAD |
| 5938 | struct _MI_PAGEFILE_TRACES |
| 5953 | unnamed struct for MdlHack in _MI_PAGEFILE_TRACES |
| 5985 | struct _MI_PAGE_COMBINE_STATISTICS |
| 6073 | struct _MI_PAGE_COMBINING_SUPPORT |
| 6102 | struct _MI_PARTITION_MODWRITES |
| 6207 | struct _MI_PARTITION_STORES |
| 6213 | unnamed union for WriteAllStoreHintedPages in _MI_PARTITION_STORES |
| 6248 | struct _MI_PARTITION_SEGMENTS |
| 6281 | struct _MI_PARTITION_PAGE_LISTS |
| 6365 | struct _MI_PARTITION_COMMIT |
| 6386 | struct _MI_PARTITION_ZEROING |
| 6417 | struct _MI_PARTITION_STATISTICS |
| 6446 | struct _MI_PARTITION_CORE |
| 6455 | unnamed union for u in _MI_PARTITION_CORE |
| 6533 | struct _MI_VISIBLE_PARTITION |
| 6623 | struct _MI_PARTITION |
| 7329 | struct _MI_RESAVAIL_TRACKER |
| 8095 | struct _COLORED_PAGE_INFO |
| 8510 | struct _PTE_TRACKER |
| 8534 | struct _SYSPTES_HEADER |
| 9354 | struct _VI_POOL_PAGE_HEADER |
| 9360 | struct _VI_POOL_ENTRY_INUSE |
| 9367 | struct _VI_POOL_ENTRY |
| 9375 | struct _MI_VERIFIER_POOL_HEADER |
| 9582 | enum _MM_POOL_TYPES |
| 9589 | enum _MM_POOL_PRIORITIES |
| 9596 | enum _MM_POOL_FAILURE_REASONS |
| 9613 | enum _MM_PREEMPTIVE_TRIMS |
| 10392 | struct _MI_CLONE_BLOCK_FLAGS |
| 10405 | struct _MMCLONE_BLOCK |
| 10431 | struct _MMCLONE_DESCRIPTOR |
| 10918 | struct _MI_CFG_BITMAP_INFO |
| 10924 | enum _MI_CFG_BITMAP_TYPE |
| 10933 | struct _MI_USER_VA_INFO |
| 11095 | struct _MMWSLE_HASH |
| 11121 | struct _MMWSLENTRY |
| 11193 | struct _MMCLONE_HEADER |
| 11196 | struct _MMWSLE_FREE_ENTRY |
| 11218 | struct _MI_ACTIVE_WSLE_LISTHEAD |
| 11223 | struct _MMWSLE |
| 11224 | unnamed union for u1 in _MMWSLE |
| 11246 | struct _MMWSLE_NONDIRECT_HASH |
| 11353 | struct _MMWSL |
| 11837 | struct _MMEXTEND_INFO |
| 11846 | struct _SEGMENT_FLAGS |
| 11901 | struct _MI_EXTRA_IMAGE_INFORMATION |
| 11914 | struct _MI_SECTION_IMAGE_INFORMATION |
| 11939 | struct _SEGMENT |
| 11965 | unnamed union for u1 in _SEGMENT |
| 11970 | unnamed untion for u2 in _SEGMENT |
| 12003 | struct _MAPPED_FILE_SEGMENT |
| 12026 | struct _MMSUBSECTION_FLAGS |
| 12045 | struct _MMSECTION_FLAGS |
| 12137 | struct _MI_CONTROL_AREA_WAIT_BLOCK |
| 12144 | struct _IMAGE_SECURITY_CONTEXT |
| 12202 | struct _MI_IMAGE_SECURITY_REFERENCE |
| 12213 | struct _CONTROL_AREA |
| 12221 | unnamed union for u in _CONTROL_AREA |
| 12235 | unnamed union for u2 in _CONtROL_AREA |
| 12236 | unnamed struct for e2 in u2 in _CONTROL_AREA |
| 12527 | struct _MI_PER_SESSION_PROTOS |
| 12542 | unnamed union for u2 in _MI_PER_SESSION_PROTOS |
| 12549 | struct _MI_FILE_EXTENTS_WAIT_BLOCK |
| 12554 | struct _MI_FILE_EXTENTS |
| 12562 | struct _SUBSECTION |
| 12583 | unnamed union for u in _SUBSECTION |
| 12591 | unnamed union for u1 in _SUBSECTION |
| 12616 | struct _MSUBSECTION |
| 12956 | enum _MI_WORKING_SET_TYPE |
| 12991 | struct _MI_QUEUED_DEADSTACK_WORKITEM |
| 12996 | struct _MI_IO_CACHE_STATS |
| 13011 | struct _MI_PROBE_RAISE_TRACKER |
| 13035 | struct _MMSESSION |
| 13060 | struct _MI_FORCED_COMMITS |
| 13065 | struct _MI_RESUME_WORKITEM |
| 13077 | struct _MI_ZERO_COST_COUNTS |
| 13082 | struct _MI_DRIVER_VA |
| 13115 | enum _MI_IO_PFN_TYPE |
| 13146 | struct _MI_POOL_STATE |
| 13215 | struct _MI_SECTION_STATE |
| 13351 | struct _MI_SYSTEM_IMAGE_STATE |
| 13380 | struct _MI_SESSION_STATE |
| 13427 | struct _MI_PROCESS_STATE |
| 13469 | struct _MI_HARDWARE_STATE |
| 13547 | struct _MI_SYSTEM_VA_STATE |
| 13616 | struct _MI_COMBINE_STATE |
| 13636 | struct _MI_PARTITION_STATE |
| 13662 | struct _MI_SHUTDOWN_STATE |
| 13705 | struct _MI_ERROR_STATE |
| 13748 | struct _MI_ACCESS_LOG_STATE |
| 13771 | struct _MI_DEBUGGER_STATE |
| 13792 | struct _MI_STANDBY_STATE |
| 13816 | struct _MI_SYSTEM_PTE_STATE |
| 13851 | struct _MI_IO_PAGE_STATE |
| 13868 | struct _MI_PAGING_IO_STATE |
| 13903 | struct _MI_COMMON_PAGE_STATE |
| 13933 | struct _MI_SYSTEM_TRIM_STATE |
| 13957 | struct _MI_VISIBLE_STATE |
| 14046 | struct _MI_SYSTEM_INFORMATION |
| 14354 | struct _MI_REVERSE_VIEW_MAP |
| 14444 | struct _MMINPAGE_FLAGS |
| 14482 | struct _MMINPAGE_SUPPORT_FLOW_THROUGH |
| 14530 | struct _MMINPAGE_SUPPORT |
| 14543 | unnamed union for u3 in _MMINPAGE_SUPPORT |
| 14547 | unnamed union for u1 in _MMINPAGE_SUPPORT |
| 14582 | struct _SECTION |
| 14597 | unnamed union for u1 in _SECTION |
| 14607 | unnamed union for u in _SECTION |
| 14683 | struct _MMVAD_FLAGS |
| 14703 | struct _MMVAD_FLAGS1 |
| 14713 | struct _MMVAD_FLAGS2 |
| 14725 | struct _MMSECURE_FLAGS |
| 14764 | struct _MMADDRESS_LIST |
| 14765 | unnamed union for u1 in _MMADDRESS_LIST |
| 14779 | struct _MI_LARGEPAGE_MEMORY_INFO |
| 14808 | struct _MI_VAD_EVENT_BLOCK |
| 14844 | struct _MI_VAD_SEQUENTIAL_INFO |
| 14849 | struct _MMVAD_SHORT |
| 14883 | unnamed union for u in _MMVAD_SHORT |
| 14888 | unnamed union for u1 in _MMVAD_SHORT |
| 14963 | struct _MMVAD |
| 14967 | unnamed union for u2 in _MMVAD |
| 14983 | unnamed union for u4 in _MMVAD |
| 15342 | struct _MODWRITER_FLAGS |
| 15349 | struct _MMMOD_WRITER_MDL_ENTRY |
| 15351 | unnamed union for u in _MMMOD_WRITER_MDL_ENTRY |
| 15383 | struct _MI_PAGING_FILE_SPACE_BITMAPS |
| 15417 | struct _MMPAGING_FILE |
| 15661 | struct _LOCK_TRACKER |
| 15674 | struct _LOCK_HEADER |
| 18909 | enum _MI_DYNAMICBASE_BITMAP |
| 20202 | struct _MM_SESSION_SPACE_FLAGS |
| 20214 | struct _MI_SESSION_DRIVER_UNLOAD |
| 20234 | struct _MM_SESSION_SPACE |
| 20238 | unnamed union for u in _MM_SESSION_SPACE |
| 21065 | struct _MI_TRIAGE_DUMP_DATA |
The header MI.H is not known in any Device Driver Kit (DDK) or Windows Driver Kit (WDK).