Microsoft KB Archive/177542

= FILE: Mapiasst.exe: MAPI ASSERT Debug Routines =

Article ID: 177542

Article Last Modified on 8/18/2005

-

APPLIES TO


 * Simple Messaging Application Programming Interface (MAPI)
 * Microsoft Messaging Application Programming Interface
 * Microsoft Exchange Development Kit 5.5
 * Microsoft Exchange Development Kit 5.5

-



This article was previously published under Q177542



SUMMARY
This sample consists of a header file that provides debugging routines to assist developers of messaging applications.



MORE INFORMATION
The following file is available for download from the Microsoft Download Center:

Download Mapiasst.exe now

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

The Mapiasst.exe sample, contains the following two files:
 * Mapiasst.h
 * Readme.txt

The header file, Mapiasst.h, was written to assist messaging developers in writing and debugging their applications.

Mapiasst.h includes the following three debug macros:

MAPI_ASSERT(HRESULT)
Pass MAPI_ASSERT a HRESULT and MAPI_ASSERT gives you basic error output and returns you to the debugger at the point where the error occurred.

Sample Output:

  **ASSERT! File : C:\Srccode\MsgStores\Main.Cpp Line : 29 Value : 0x80040111

MAPI_ASSERT_EX(HRESULT)
MAPI_ASSERT_EX works similar to MAPI_ASSERT and gives you the same information along with the meaning of the HRESULT error code. Again, you will be returned back to the debugger at the point of error.

Sample Output:

  **ASSERT! File : C:\Srccode\MsgStores\Main.Cpp Line : 29 Value : 0x80040111 Meaning : MAPI_E_LOGON_FAILED

SHOWTABLE(LPMAPITABLE)
SHOWTABLE uses the Tblvu32.dll function ViewMapiTable to display the passed in MAPITable (LPMAPITABLE) in a GUI dialog box. This is a good tool for debugging your MAPITables.

NOTE: Tblvu32.dll is available from the Microsoft FTP site at ftp.microsoft.com\Developr\Mapi\Samples\Mfcapps.zip)

Here is a short sample of how these debugging routines may be used: /////// MAIN.CPP //////// void main {    HRESULT         hr            = S_OK; LPMAPISESSION  lpSession      = NULL; LPMAPITABLE     lptMsgStores   = NULL;

// Init MAPI hr = MAPIInitialize(0);

MAPI_ASSERT_EX(hr);

// Logon to Extended MAPI session hr = MAPILogonEx((ULONG)GetActiveWindow,              //"OFFLINE"               NULL,               NULL,               NULL,               &lpSession);

MAPI_ASSERT_EX(hr);

// Get a table of Message Stores from the Session. hr = lpSession->GetMsgStoresTable(NULL, &lptMsgStores);

SHOWTABLE(lptMsgStores);

MAPI_ASSERT_EX(hr); }

Additional query words: ASSERT MAPI SHOWTABLE MAPI_ASSERT MAPI_ASSERT_EX debug Table Tables

Keywords: kbdownload kbgraphxlinkcritical kbmsg kbfile kbcode KB177542

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.