Hiya, I noticed the C++ thread, so I thought I would jump in and ask a question. I have a application that uses win32 MAPI to extract contact information. When I compile I need to link it to MS Mapi 32 API. However when I configure, I linked a free mapi 32 lib because I didn't have microsoft compiler. If I recall correctly the syntax of casting return value is a little different. *************************************** rc = (*mapiaddr)(0L, 0L, "Add to Vanquish Allow List. (Press Cancel to abort, use the Shift key to select multiple addresses.)", 1L, "Add to Allow List", 0L, NULL, MAPI_LOGON_UI | MAPI_NEW_SESSION, 0L, &lpnNewRecips, &lppNewRecips); ************************************** I need to make a call to make a window show up so that one can select addresses. later in a loop temp = env->NewStringUTF(lppNewRecips[i].lpszAddress); sets the address so that java can retrive it. Any help/direction would be wicked appreciated Cheers! Suzanne