ReactOS  0.4.15-dev-2522-g9e0a3cd
dbgmacros.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 ModuleName:
6 
7  DbgMacros.h
8 
9 Abstract:
10 
11  This file contains debug macros
12  to make sure that an object is intialized
13 
14  This is useful in mode agnostic primitives
15  where initialization is important in user mode
16  but not in kernel mode (e.g. for a lock)
17 
18 Author:
19 
20 
21 
22 Revision History:
23 
24 
25 
26 --*/
27 
28 #pragma once
29 
30 #if DBG_WDF
31 #define DECLARE_DBGFLAG_INITIALIZED \
32  protected: \
33  BOOLEAN m_DbgFlagIsInitialized;
34 
35 #define ASSERT_DBGFLAG_INITIALIZED \
36 { \
37  ASSERT(m_DbgFlagIsInitialized == TRUE); \
38 }
39 
40 #define SET_DBGFLAG_INITIALIZED \
41 { \
42  m_DbgFlagIsInitialized = TRUE; \
43 }
44 
45 #define CLEAR_DBGFLAG_INITIALIZED \
46 { \
47  m_DbgFlagIsInitialized = FALSE; \
48 }
49 
50 #define ASSERT_DBGFLAG_NOT_INITIALIZED \
51 { \
52  ASSERT(m_DbgFlagIsInitialized == FALSE); \
53 }
54 
55 #else
56 
57 #define DECLARE_DBGFLAG_INITIALIZED
58 #define ASSERT_DBGFLAG_INITIALIZED
59 #define SET_DBGFLAG_INITIALIZED
60 #define CLEAR_DBGFLAG_INITIALIZED
61 #define ASSERT_DBGFLAG_NOT_INITIALIZED
62 
63 #endif