RequestFlag in the WMI_LOGGER_CONTEXT

Windows Vista defined bit fields in union with the RequestFlag member of the WMI_LOGGER_CONTEXT. They are much more stable than this page’s listing may suggest at first glance. Though Windows 8 did add some, most of the change is just renaming. The only changes for Windows 10 are spelling corrections.

Mask Definition Versions Remarks
0x00000001
ULONG RequestNewFie : 1;
6.0 to 6.1 see below for history
ULONG DbgRequestNewFie : 1;
6.2 to 6.3  
ULONG DbgRequestNewFile : 1;
10.0 and higher  
0x00000002
ULONG RequestUpdateFile : 1;
6.0 to 6.1  
ULONG DbgRequestUpdateFile : 1;
6.2 and higher  
0x00000004
ULONG RequestFlush : 1;
6.0 to 6.1 see below for history
ULONG DbgRequestFlush : 1;
6.2 and higher  
0x00000008
ULONG RequestDisableRealtime : 1;
6.0 to 6.1  
ULONG DbgRequestDisableRealtime : 1;
6.2 and higher  
0x00000010
ULONG RequestDisconnectConsumer : 1;
6.0 to 6.1  
ULONG DbgRequestDisconnectConsumer : 1;
6.2 and higher  
0x00000020
ULONG RequestConnectConsumer : 1;
6.1 only  
ULONG DbgRequestConnectConsumer : 1;
6.2 and higher  
0x00000040
ULONG DbgRequestNotifyConsumer : 1;
6.2 and higher  
0x00000080
ULONG DbgRequestUpdateHeader : 1;
6.2 and higher  
0x00000100
ULONG DbgRequestDefferdFlush : 1;
6.2 to 6.3  
ULONG DbgRequestDeferredFlush : 1;
10.0 and higher  
0x00000200
ULONG DbgRequestDefferdFlushTimer : 1;
6.2 to 6.3  
ULONG DbgRequestDeferredFlushTimer : 1;
10.0 and higher  
0x00000400
ULONG DbgRequestFlushTimer : 1;
6.2 and higher  
0x00000800
ULONG DbgRequestUpdateDebugger : 1;
6.2 and higher  
 
ULONG DbgSpareRequestFlags : 20;
6.2 and higher  

Several are also older than suggested by the formal definition. The WMI_LOGGER_CONTEXT has a RequestFlag from as far back as version 5.1. Bits were defined for it in both the low and high words, but presumably by macro such that Microsoft’s names do not survive. The precursors of RequestNewFie (sic) and RequestFlush have values 0x00000001 and 0x00000002. The former appears to have been its own ULONG member in version 5.0.