NTEXAPI_X.H

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

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

and draws from it the type definitions that are tabulated below. The header NTEXAPI_X.H is not known in any Device Driver Kit (DDK) or Windows Driver Kit (WDK).

Line Number Type
251 enum _PROCESSOR_CACHE_TYPE
260 struct _CACHE_DESCRIPTOR
462 enum _ALTERNATIVE_ARCHITECTURE_TYPE
567 struct _XSTATE_FEATURE
572 struct _XSTATE_CONFIGURATION
698 struct _KUSER_SHARED_DATA

Though only six of the types that are defined in NTEXAPI_X.H show in the public symbol files for the kernel, many more show in symbol files for other modules. Some of these others are kernel-mode drivers, especially for processor power management. Some are user-mode DLLs. Among these are some that are very far removed from system programming, e.g., URLMON.DLL from Internet Explorer. Though the symbol files in question are private symbol files, Microsoft has published them freely in downloadable packages of all the public symbol files for all of Windows, starting with Windows 8. If inclusion of these unusually detailed symbol files in these packages was at first an oversight, it has been left to stand for nearly a decade, though not for all modules. For instance, it ceased for URLMON.DLL after the 1709 edition of Windows 10.

For the record, here are the types that Microsoft’s freely published URLMON.PDB reveals were accessible to the source code for URLMON.DLL from including NTEXAPI_X.H when building for the original release of 32-bit Windows 10:

Line Number Type NTDDK.H WDM.H
43 struct _VARIABLE_NAME    
49 struct _VARIABLE_NAME_AND_VALUE    
79 enum _SYSTEM_FIRMWARE_TABLE_ACTION 6888  
84 struct _SYSTEM_FIRMWARE_TABLE_INFORMATION 6893  
98 struct _SYSTEM_FIRMWARE_TABLE_HANDLER 6907  
174 enum _TIMER_SET_INFORMATION_CLASS 6932  
181 struct _TIMER_SET_COALESCABLE_TIMER_INFO 6939  
211 struct _DRIVER_VERIFIER_THUNK_PAIRS 6967  
462 enum _ALTERNATIVE_ARCHITECTURE_TYPE   19325
567 struct _XSTATE_FEATURE 7057  
572 struct _XSTATE_CONFIGURATION 7062  
698 struct _KUSER_SHARED_DATA 7186  
1276 enum _SYSTEM_NET_RATE_CONTROL_TYPE    
1281 struct _SYSTEM_NET_RATE_CONTROL_CONTEXT_HEADER    
1291 struct _SYSTEM_NET_RATE_CONTROL_SET_CONTEXT    
1314 struct _SYSTEM_NET_RATE_CONTROL_QUOTA_CONTEXT    
1346 struct _SYSTEM_NET_RATE_CONTROL_CALLBACK_TABLE    

The line numbers to the left are from the unseen NTEXAPI_X.H. They are known from public symbol files.