// Deletes a sub folder and ALL sub folders/messages BOOL CMAPIEx::DeleteSubFolder(LPMAPIFOLDER pSubFolder, LPMAPIFOLDER pFolder) { if (!pSubFolder) return FALSE; if (!pFolder) { pFolder = m_pFolder; if (!pFolder) return FALSE; } LPSPropValue props = NULL; ULONG cValues = 0; ULONG rgTags[] = { 1, PR_ENTRYID }; if (pSubFolder->GetProps((LPSPropTagArray)rgTags, CMAPIEx::cm_nMAPICode, &cValues, &props) == S_OK) { HRESULT hr = pFolder->DeleteFolder(props[0].Value.bin.cb, (LPENTRYID)props[0].Value.bin.lpb, NULL, NULL, DEL_FOLDERS | DEL_MESSAGES); MAPIFreeBuffer(props); return hr == S_OK; } return FALSE; }