Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This macro asserts an expression, and if that expression is FALSE, it prints a debugging message to NKDbgPrintfWand produces a DebugBreak.

Syntax

#define ASSERTMSG(

message,

Condition
)

Parameters

Message

Formatted debugging message.

Condition

Boolean value used to determine whether DEBUGMSGand DEBUGCHKare invoked.

Return Value

None.

Remarks

This macro may be used to check the value of a Boolean expression and produce a formatted text message, as well as generating a DebugBreakif the expression evaluates FALSE.

If the expression evaluates to FALSE, this code will print your failure message and then DebugBreakto allow you to examine the situation in a debugger. This macro also prints a debug message with the file name and line number where the assertion failed.

Call this macro to validate invariants in your code. For example, the following command

Copy Code
 ASSERTMSG(TEXT("Invalid number of items"),
		 dwCurrentNumberOfItems < dwMaxNumberOfItems);

Will print output like this:

Copy Code
 Invalid number of items
 Unknown: DEBUGCHK failed in file
C:\WINCE500\Programs\MyProgram\.\main.c at line 34

This macro is only present in Debug builds; it does nothing on Retail and ship builds.

To evaluate an assertion without printing an additional message, use ASSERT.

Requirements

Header dbgapi.h
Windows Embedded CE Windows CE 2.10 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also