Reputation: 4117
I see in the Microsoft driver code example debug trace flags:
#define DEBUG_TRACE_ERROR 0x00000001 // Errors - whenever we return a failure code
#define DEBUG_TRACE_LOAD_UNLOAD 0x00000002 // Loading/unloading of the filter
#define DEBUG_TRACE_INSTANCES 0x00000004 // Attach / detatch of instances
#define DEBUG_TRACE_METADATA_OPERATIONS 0x00000008 // Operation to access / modify in memory metadata
#define DEBUG_TRACE_ALL_IO 0x00000010 // All IO operations tracked by this filter
#define DEBUG_TRACE_INFO 0x00000020 // Misc. information
#define DEBUG_TRACE_ALL 0xFFFFFFFF // All flags
As I know flags should be 2 in the power (like 1, 2, 4, 8, 16, 32) to not intersect. But why DEBUG_TRACE_ALL_IO is 10 and DEBUG_TRACE_INFO is 20 and not 16 & 32?
Upvotes: 1
Views: 50
Reputation: 6121
Hex: 0x00000001 0x00000002 0x00000004 0x00000008 0x0000010 0x00000020
Dec: 1 2 4 8 16 32
Upvotes: 4