NTRTL_X.H

Symbol files that Microsoft has published since Windows 8 tell of both user-mode and kernel-mode code that is compiled with the NTRTL_X.H header at

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

This NTRTL_X.H file is not in any generally released Windows Driver Kit (WDK) or Software Development Kit (SDK) or even in any old Device Driver Kit (DDK). Its existence has some public sign in plain text as a comment in IP2STRING.H, which says the latter was “Splited from ntrtl_x.h”, apparently in 2006. (The misspelling is Microsoft’s.)

User-Defined Types

Different symbol files have LF_UDT_SRC_LINE (0x1606) or even LF_UDT_MOD_SRC_LINE (0x1607) records for different selections of user-defined types (meaning classes, structures, unions and enumerations). The table below aggregates.

Many of the types that are known to be defined in NTRTL_X.H are also defined in one or another standard header from the WDK or SDK. The line numbers on the left are from the unseen NTRTL_X.H for the original release of 32-bit Windows 10, as known from symbol files. Those on the right are from the indicated headers, as readily available in the WDK or SDK for the same release.

Line Number Type WDM.H NTDDK.H NTIFS.H NTOSP.H WINNT.H
129 union _SLIST_HEADER 10527     190  
257 union _RTL_RUN_ONCE   1860      
332 struct _RTL_BARRIER         18178
348 unnamed struct for DUMMYRESERVEDSTRUCTNAME
in unnamed union
in _RTL_BARRIER
         
370 union _RTL_ELEVATION_FLAGS       218  
1047 enum _TABLE_SEARCH_RESULT   1936      
1058 enum _RTL_GENERIC_COMPARE_RESULTS   1947      
1181 struct _RTL_BALANCED_LINKS   2070      
1198 struct _RTL_AVL_TABLE   2087      
1611 struct _RTL_SPLAY_LINKS   2500      
1985 struct _RTL_GENERIC_TABLE   2874      
2270 struct _RTL_DYNAMIC_HASH_TABLE_ENTRY   3159      
2303 struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT   3192      
2309 struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR   3198      
2318 struct _RTL_DYNAMIC_HASH_TABLE   3207      
2660 struct _RTL_HEAP_PARAMETERS     2076    
3067 struct _RTL_QUERY_REGISTRY_TABLE 11367        
3334 struct _RTL_LFG_RNG_STATE          
4542 struct _GENERATE_NAME_CONTEXT     2799    
4633 struct _PREFIX_TABLE_ENTRY     2888    
4642 struct _PREFIX_TABLE     2897    
4703 struct _UNICODE_PREFIX_TABLE_ENTRY     2958    
4713 struct _UNICODE_PREFIX_TABLE     2968    
4810 struct _COMPRESSED_DATA_INFO     3065    
5987 struct _TIME_FIELDS 12718        
6501 struct _RTL_BITMAP 13054        
6689 struct _RTL_BITMAP_RUN 13242        
7561 struct _MESSAGE_RESOURCE_ENTRY         18398
7569 struct _MESSAGE_RESOURCE_BLOCK         18406
7575 struct _MESSAGE_RESOURCE_DATA         18412
7793 struct _OSVERSIONINFOEX2A          
7808 struct _OSVERSIONINFOEX2W          
7834 struct _OSVERSIONINFOA 13633       18417
7843 struct _OSVERSIONINFOW 13642       18426
7861 struct _OSVERSIONINFOEXA 13660       18444
7874 struct _OSVERSIONINFOEXW 13673       18457
8244 struct _RTL_UMS_CONTEXT          
8324 struct _RTL_UMS_COMPLETION_LIST          
8350 enum _RTL_UMS_THREAD_INFO_CLASS         18588
8361 enum _RTL_UMS_SCHEDULER_REASON         18599
8381 struct _RTL_UMS_SCHEDULER_STARTUP_INFO          
8529 enum _APPCONTAINER_SID_TYPE          
8831 enum _OS_DEPLOYMENT_STATE_VALUES 14055       18715