/*++ Copyright (c) Microsoft Corporation ModuleName: DbgMacros.h Abstract: This file contains debug macros to make sure that an object is intialized This is useful in mode agnostic primitives where initialization is important in user mode but not in kernel mode (e.g. for a lock) Author: Revision History: --*/ #pragma once #if DBG_WDF #define DECLARE_DBGFLAG_INITIALIZED \ protected: \ BOOLEAN m_DbgFlagIsInitialized; #define ASSERT_DBGFLAG_INITIALIZED \ { \ ASSERT(m_DbgFlagIsInitialized == TRUE); \ } #define SET_DBGFLAG_INITIALIZED \ { \ m_DbgFlagIsInitialized = TRUE; \ } #define CLEAR_DBGFLAG_INITIALIZED \ { \ m_DbgFlagIsInitialized = FALSE; \ } #define ASSERT_DBGFLAG_NOT_INITIALIZED \ { \ ASSERT(m_DbgFlagIsInitialized == FALSE); \ } #else #define DECLARE_DBGFLAG_INITIALIZED #define ASSERT_DBGFLAG_INITIALIZED #define SET_DBGFLAG_INITIALIZED #define CLEAR_DBGFLAG_INITIALIZED #define ASSERT_DBGFLAG_NOT_INITIALIZED #endif