Re[6]: Вопрос - как динамически обновлять ММС?
От: Тимур  
Дата: 06.03.02 15:15
Оценка:
Здравствуйте Admiral, Вы писали:

A>Здравствуйте Тимур, Вы писали:


Т>>Здравствуйте Admiral, Вы писали:

Т>>Извините, забыл зайти как положено и появился в форуме как аноним.
Т>>Итак, еще раз.
Т>>Я делаю следующее:

Т>>
Т>>HRESULT CMyClassData::AddNew(bool& bHandled, CSnapInObjectRootBase* pObj) 
Т>>{ 
Т>>  CAddDLG dlgAdd; 
Т>>  int ret=dlgAdd.DoModal(); 
Т>>  if(ret==IDOK) 
Т>>  { 
Т>>    std::auto_ptr <CChildData> spData(new CChildData(dlgAdd.m_Name));
Т>>    m_myCollection.push_back(spData); 
Т>>    CComPtr<IConsole> mCons; 
Т>>    mCons=((CMyClass*)pObj)->>m_spConsole ; 
Т>>    CComQIPtr<IConsoleNameSpace, &IID_IConsoleNameSpace> spConsoleNameSpace(mCons); 
Т>>    SCOPEDATAITEM sdi; 
Т>>    ::ZeroMemory(&sdi,sizeof(SCOPEDATAITEM)); 
Т>>    sdi.mask =SDI_STR | SDI_PARAM | SDI_IMAGE | SDI_OPENIMAGE | SDI_PARENT; 
Т>>    spData->>GetScopePaneInfo(&sdi); 
Т>>    sdi.displayname =MMC_CALLBACK; 
Т>>    sdi.relativeID = spData->get_Cookie(); 
Т>>    HRESULT hr=spConsoleNameSpace->InsertItem (&sdi); } 
Т>>  } 
Т>>  bHandled=false;//true; 
Т>>  return S_OK; 
Т>>}; 
Т>>

Т>>InsertItem возвращает ошибку и ничего не вставляет.
Т>>Очевидно, что я делаю что-то не так. Но что — если есть какие-нибудь идеи, буду очень благодарен.
Т>>Тимур

A>Что возвращает spData->get_Cookie()? Если HSCOPEITEM родителя, тогда я пока затрудняюсь ответить, что не так.


A>ЗЫ:

A>Кстати, об auto_ptr:
A>http://rsdn.ru/forum/message.asp?mid=32311
Автор: Рек
Дата: 28.02.02


Похоже, что Вы правы — get_Cookie возвращает что-то не то. А где добыть HSCOPEITEM родителя?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.