Здравствуйте Тимур, Вы писали:
Т>Здравствуйте 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 родителя?
Спасибо всем — вроде бы заработало. HSCOPEITEM родителя запоминается при первом обращении к Notify и потом может быть использовано.