本文整理汇总了C++中LPSTORAGE::CopyTo方法的典型用法代码示例。如果您正苦于以下问题:C++ LPSTORAGE::CopyTo方法的具体用法?C++ LPSTORAGE::CopyTo怎么用?C++ LPSTORAGE::CopyTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LPSTORAGE
的用法示例。
在下文中一共展示了LPSTORAGE::CopyTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dlg
void CEx27bView::OnEditPastefrom()
{
CEx27bDoc* pDoc = GetDocument();
// Paste from an .STG file
CFileDialog dlg(TRUE, "stg", "*.stg");
if (dlg.DoModal() != IDOK) {
return;
}
// Open the storage and substorage
LPSTORAGE pStgRoot;
VERIFY(::StgOpenStorage(dlg.GetPathName().AllocSysString(), NULL,
STGM_READ|STGM_SHARE_EXCLUSIVE,
NULL, 0, &pStgRoot) == S_OK);
ASSERT(pStgRoot != NULL);
LPSTORAGE pStgSub;
VERIFY(pStgRoot->OpenStorage(CEx27bDoc::s_szSub, NULL,
STGM_READ|STGM_SHARE_EXCLUSIVE,
NULL, 0, &pStgSub) == S_OK);
ASSERT(pStgSub != NULL);
// Copy the object data from the user storage to the temporary storage
VERIFY(pStgSub->CopyTo(NULL, NULL, NULL,
pDoc->m_pTempStgSub) == S_OK);
// Finally, load the object -- pClientSite not necessary
LPOLECLIENTSITE pClientSite =
(LPOLECLIENTSITE) pDoc->GetInterface(&IID_IOleClientSite);
ASSERT(pClientSite != NULL);
pDoc->DeleteContents();
VERIFY(::OleLoad(pDoc->m_pTempStgSub, IID_IOleObject, pClientSite,
(void**) &pDoc->m_lpOleObj) == S_OK);
SetViewAdvise();
pStgSub->Release();
pStgRoot->Release();
GetSize();
pDoc->SetModifiedFlag();
pDoc->UpdateAllViews(NULL);
}