favstorageifc.h

来自「wince下internet explorer的浏览器的简单实现」· C头文件 代码 · 共 95 行

H
95
字号
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
#ifndef __FAVSTORAGE_IFC_H__
#define __FAVSTORAGE_IFC_H__

#ifndef NO_FAVORITES

class IFavStorage
{
public:

	// 
	// Return the root folder for favorites. For registry storage
	// it is HKCU\Software\Microsoft\Internet Explorer\Favorites and
	// for file storage it can be \windows\Favorites. The caller will
	// not free the returned pointer.
	//
	virtual LPTSTR GetRootFolder () = 0;

	//
	// dwSubFolder contains the number of sub folders directly below
	// the given folder path (szFolder). The sub folders are non-
	// favorite folders. dwFavorites contains number of favorite 
	// folders directly below the given folder path (szPath). If szFolder
	// is NULL, get the information for root folder.
	// Note: In file storage, the folder containing a .url file can be
	//       identified as a favorite folder.
	//
	virtual LRESULT GetFolderInfo (LPTSTR szFolder, 
								   DWORD &dwSubFolders,
								   DWORD &dwFavorites) = 0;

	//
	// Get the URL from the given favorite folder path.
	//
	virtual LPTSTR GetURL (LPTSTR szFavorite) = 0;

	// 
	// Return TRUE if Favorites root directory is available, FALSE
	// otherwise.
	//
	virtual BOOL IsFavAvailable () = 0;

	//
	// For the given folder path (szPath), get the next sub folder or 
	// favorite folder name. Caller is responsible for incrementing 
	// dwIndex.
	//
	virtual LRESULT EnumFolders (LPTSTR szPath,
							     DWORD dwIdx,
							     LPTSTR szBuffer,
							     DWORD &dwBufLen) = 0;

	//
	// In the given path (szPath) create a new favorite with title 
	// szFavTitle and URL szURL.
	//
	virtual LRESULT CreateFavorite (LPTSTR szPath,
								    LPTSTR szFavTitle,
								    LPTSTR szURL) = 0;

	//
	// Copy recursively all the folders and URLs from szSourcePath to
	// szDestaPath.
	//
	virtual LRESULT CopyFolder (LPTSTR szSourcePath,
							    LPTSTR szDestPath) = 0;

	// 
	// Delete all the sub folders of szPath recursively
	//
	virtual LRESULT DeleteFolder (LPTSTR szPath) = 0;

	//
	// Rename the given folder/favorite.
	//
	virtual LRESULT Rename (LPTSTR szOldName, LPTSTR szNewName) = 0;

	//
	// Check if the given favorite title is already present
	//
	virtual BOOL IsDuplicateFavorite (LPTSTR szPath,
									  LPTSTR szFavTitle) = 0;
};

#endif // ndef NO_FAVORITES
#endif

⌨️ 快捷键说明

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