For complete code, refer to the CNVWM demo.
void DisplayContent(int i, IltmmWMProfileManager *pProfileManager) { USES_CONVERSION; IltmmWMProfile *pProfile = NULL; BSTR bstrString; // try to load the profile and save it to a bstr HRESULT hr = pProfileManager->LoadSystemProfile(i, &pProfile); if (SUCCEEDED(hr)) { // try to save the profile to the bstr provided hr = pProfileManager->SaveProfile(pProfile, &bstrString); if (SUCCEEDED(hr)) { // display it here MessageBox(NULL, bstrString, TEXT("Profile Content"), MB_OK); // free the bstr SysFreeString(bstrString); } else MessageBox(NULL, TEXT("Error occurred during the WMProfile save"), TEXT("Profile Content"), MB_OK); // release the profile object pProfile->Release(); } else MessageBox(NULL, TEXT("Error occurred during the WMProfile load"), TEXT("Profile Content"), MB_OK); }