⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swatchworksapce.cpp

📁 VC开发环境下
💻 CPP
字号:
// SwatchWorksapce.cpp : Implementation of CSwatchWorksapce

#include "stdafx.h"
#include "SwatchWorksapce.h"
#include ".\swatchworksapce.h"


// CSwatchWorksapce



//STDMETHODIMP CSwatchWorksapce::Open(BSTR bstrFileFullName,IGHSwatch** pGHSwatch)
//{
//	if(pGHSwatch==NULL)
//		return E_POINTER;
//
//	if(bstrFileFullName==NULL||::SysStringLen(bstrFileFullName)==0)
//		return E_UNEXPECTED;
//
//   	HRESULT hr;
//
//	
//	CComPtr<IStorage> cpLoadStorage;
//	hr=StgOpenStorageEx(OLE2W(bstrFileFullName),
//		STGM_READ|STGM_TRANSACTED|STGM_SHARE_DENY_NONE,STGFMT_STORAGE,
//		0,NULL,NULL,IID_IStorage,(void**)&cpLoadStorage);
//
//	if(S_OK==hr)
//		hr=OleLoad(cpLoadStorage,IID_IGHSwatch,NULL,(void**)&pGHSwatch);
//
//	if (S_OK==hr) 
//		hr=(*pGHSwatch)->put_FilePath(bstrFileFullName);
//
//	return hr;
//}
//
//STDMETHODIMP CSwatchWorksapce::Save(IGHSwatch* pGHSwatch)
//{
//	if (pGHSwatch==NULL)
//		return E_POINTER;
//
//	CComBSTR bstrFilePath;
//	HRESULT hr=pGHSwatch->get_FilePath(&bstrFilePath);
//
//	if(S_OK==hr)
//		hr=SaveAs(bstrFilePath,pGHSwatch);
//
//	return hr;
//}
//
//STDMETHODIMP CSwatchWorksapce::SaveAs(BSTR bstrFileFullName, IGHSwatch* pGHSwatch)
//{
//	
//	if(pGHSwatch==NULL)
//		return E_POINTER;
//
//	if(bstrFileFullName==NULL||::SysStringLen(bstrFileFullName)==0)
//		return E_UNEXPECTED;
//
//	HRESULT hr;
//	
//	CComPtr<IStorage> cpStorage;
//	hr=StgCreateStorageEx(OLE2W(bstrFileFullName),
//		STGM_READWRITE|STGM_CREATE|STGM_TRANSACTED|STGM_SHARE_DENY_WRITE,STGFMT_STORAGE,
//		0,NULL,NULL,IID_IStorage,(void**)&cpStorage);
//	
//	if(S_OK==hr)
//	{
//		CComPtr<IPersistStorage> cpPersistStorage;
//		hr=pGHSwatch->QueryInterface(&cpPersistStorage);
//
//		hr=OleSave(cpPersistStorage,cpStorage,FALSE);
//	}
//	
//	if (S_OK==hr) 
//		hr=pGHSwatch->put_FilePath(bstrFileFullName);
//
//	return hr;
//}

STDMETHODIMP CSwatchWorksapce::Create(BSTR bstrFileFullName,IGHIndexs* pGHIndexSystem, IGHSwatch** pGHSwatch)
{
	if(pGHSwatch==NULL||pGHIndexSystem==NULL)
		return E_POINTER;

	HRESULT hr;

	//Unsaved Indexs
	CComBSTR bstrFilePath;
	hr=pGHIndexSystem->get_FilePath(&bstrFilePath);
	if(bstrFilePath==NULL||::SysStringLen(bstrFilePath)==0)
		return E_UNEXPECTED;

	CComPtr<IGHSwatch> cpGHSwatch;
	hr=cpGHSwatch.CoCreateInstance(CLSID_GHSwatch);

	if(S_OK==hr)
		hr=SaveAs(bstrFileFullName,cpGHSwatch);

	if(S_OK==hr)
		hr=cpGHSwatch->put_IndexSystem(pGHIndexSystem);

	if(S_OK==hr)
		hr=cpGHSwatch.QueryInterface(pGHSwatch);
	
	return hr;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -