QueryColumns() fails with TBL_ALL_COLUMNS on Outlook 2010 x64

Jul 27, 2011 at 1:22 PM


I have an x64 application where a call to QueryColumns() on the Global Address List IMAPITable interface fails with MAPI_E_NOT_SUPPORTED (with Outlook 2010 x64).

I have confirmed the same behavior happens with MFCMAPI sample. This used to work. If I don't specify TBL_ALL_COLUMNS, now it works and returns the list of all columns. 

Anyone knows why this flag is no supported ? 

Right now, this code is used in some generic table querying code where I lack context to assess if I'm working on the GAL. So I have to resort to such kludge:

HRESULT hr = mapiTable->QueryColumns(TBL_ALL_COLUMNS, .......);

if (FAILED(hr)) {

hr = mapiTable->QueryColumns(0, .....);


Aug 1, 2011 at 8:54 PM

What's the purpose of the QueryColumns call? What do you do with the list of columns returned?