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

📄 hxfiles.h

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
 */
DEFINE_GUID(IID_IHXFileSystemObject, 0x00000202, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileSystemObject

DECLARE_INTERFACE_(IHXFileSystemObject, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXFileSystemObject methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileSystemObject::GetFileSystemInfo
     *	Purpose:
     *	    Returns information vital to the instantiation of file system
     *	    plugin.
     *
     *	    pShortName should be a short, human readable name in the form
     *      of "company-fsname".  For example: pShortName = "pn-local".
     */
    STDMETHOD(GetFileSystemInfo)    (THIS_
				    REF(const char*) /*OUT*/ pShortName,
				    REF(const char*) /*OUT*/ pProtocol) PURE;

    STDMETHOD(InitFileSystem)	(THIS_
				IHXValues* pOptions) PURE;

    STDMETHOD(CreateFile)	(THIS_
				IUnknown**    /*OUT*/	ppFileObject) PURE;

    /*
     * The following method is deprecated and should return HXR_NOTIMPL
     */

    STDMETHOD(CreateDir)	(THIS_
				IUnknown**   /*OUT*/ ppDirObject) PURE;

};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileStat
 * 
 *  Purpose:
 * 
 *      Gets information about a specific File object
 * 
 *  IID_IHXFileStat:
 *  
 *	{00000205-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileStat, 0x00000205, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileStat

DECLARE_INTERFACE_(IHXFileStat, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     *	IHXFileStat methods
     */

    STDMETHOD(Stat)		(THIS_
				IHXFileStatResponse* pFileStatResponse
				) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileStatResponse
 * 
 *  Purpose:
 * 
 *      Returns information about a specific File object
 * 
 *  IID_IHXFileStatResponse:
 *  
 *	{00000206-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileStatResponse, 0x00000206, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileStatResponse

DECLARE_INTERFACE_(IHXFileStatResponse, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     *	IHXFileStat methods
     */

    STDMETHOD(StatDone)		(THIS_
				 HX_RESULT status,
				 UINT32 ulSize,
				 UINT32 ulCreationTime,
				 UINT32 ulAccessTime,
				 UINT32 ulModificationTime,
				 UINT32 ulMode) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileSystemManager
 * 
 *  Purpose:
 * 
 *      Gives out File Objects based on URLs
 * 
 *  IID_IHXFileSystemManager:
 *  
 *	{00000207-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileSystemManager, 0x00000207, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileSystemManager

#define CLSID_IHXFileSystemManager IID_IHXFileSystemManager

DECLARE_INTERFACE_(IHXFileSystemManager, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     *	IHXFileSystemManager methods
     */

    STDMETHOD(Init) (THIS_
		    IHXFileSystemManagerResponse* /*IN*/  pFileManagerResponse
		    ) PURE;

    /* GetFileObject attempts to locate an existing file via the DoesExist
     * method in each file system's objects, and returns that object through
     * FSManagerResponse->FileObjectReady
     */
    STDMETHOD(GetFileObject)	(THIS_
				 IHXRequest* pRequest,
				 IHXAuthenticator* pAuthenticator) PURE;

    /* GetNewFileObject is similar to GetFileObject except that no DoesExist
     * checks are done.  The first file system that matches the mount point
     * or protocol for the path in the request object creates the file
     * which is then returned through FileObjectReady.  This is especially
     * useful for those who wish to open a brand new file for writing.
     */
    STDMETHOD(GetNewFileObject) (THIS_
				 IHXRequest* pRequest,
				 IHXAuthenticator* pAuthenticator) PURE;

    STDMETHOD(GetRelativeFileObject) (THIS_
				      IUnknown* pOriginalObject,
				      const char* pPath) PURE;

    /*
     * The following method is deprecated and should return HXR_NOTIMPL
     */

    STDMETHOD(GetDirObjectFromURL)	(THIS_
                                        const char* pURL) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileSystemManagerResponse
 * 
 *  Purpose:
 * 
 *      Gives out File System objects based on URLs
 * 
 *  IID_IHXFileSystemManagerResponse:
 *  
 *	{00000208-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileSystemManagerResponse, 0x00000208, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileSystemManagerResponse

DECLARE_INTERFACE_(IHXFileSystemManagerResponse, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     *	IHXFileSystemManagerResponse methods
     */

    /************************************************************************
     *	Method:
     *	IHXFileSystemManagerResponse::InitDone
     *	Purpose:
     */
    STDMETHOD(InitDone)	    (THIS_
			    HX_RESULT	    status) PURE;

    STDMETHOD(FileObjectReady)	(THIS_
				HX_RESULT status,
                                IUnknown* pObject) PURE;

    /*
     * The following method is deprecated and should return HXR_NOTIMPL
     */

    STDMETHOD(DirObjectReady)	(THIS_
				HX_RESULT status,
                                IUnknown* pDirObject) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileExists
 * 
 *  Purpose:
 * 
 *	Checks for the existense of a file.  Must be implemented.
 * 
 *  IID_IHXFileExists:
 * 
 *	{00000209-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileExists, 0x00000209, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileExists

DECLARE_INTERFACE_(IHXFileExists, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXFileExists methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileExists::DoesExist
     *	Purpose:
     */
    STDMETHOD(DoesExist) (THIS_
			const char*		/*IN*/  pPath, 
			IHXFileExistsResponse* /*IN*/  pFileResponse) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileExistsResponse
 * 
 *  Purpose:
 * 
 *	Response interface for IHXFileExists.  Must be implemented.
 * 
 *  IID_IHXFileExistsResponse:
 * 
 *	{0000020A-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileExistsResponse, 0x0000020a, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileExists

DECLARE_INTERFACE_(IHXFileExistsResponse, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXFileExistsResponse methods
     */

    STDMETHOD(DoesExistDone) (THIS_
			      BOOL	bExist) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileMimeMapper
 * 
 *  Purpose:
 * 
 *	Allows you to specify a mime type for a specific file.
 *	Optional interface.
 * 
 *  IID_IHXFileMimeMapper:
 * 
 *	{0000020B-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileMimeMapper, 0x0000020b, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileMimeMapper

DECLARE_INTERFACE_(IHXFileMimeMapper, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXFileMimeMapper methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileMimeMapper::FindMimeType
     *	Purpose:
     */
    STDMETHOD(FindMimeType) (THIS_
			    const char*		    /*IN*/  pURL, 
			    IHXFileMimeMapperResponse* /*IN*/  pMimeMapperResponse
			    ) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileMimeMapperResponse
 * 
 *  Purpose:
 * 
 *	Response interface for IHXFileMimeMapper.
 *	Optional interface.
 * 
 *  IID_IHXFileMimeMapperResponse:
 * 
 *	{0000020C-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileMimeMapperResponse, 0x0000020c, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileMimeMapperResponse

DECLARE_INTERFACE_(IHXFileMimeMapperResponse, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXFileMimeMapperResponse methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileMimeMapperResponse::MimeTypeFound
     *	Purpose:
     *	    Notification interface provided by users of the IHXFileMimeMapper
     *	    interface. This method is called by the IHXFileObject when the
     *	    initialization of the file is complete, and the Mime type is
     *	    available for the request file. If the file is not valid for the
     *	    file system, the status HXR_FAILED should be returned,
     *	    with a mime type of NULL. If the file is valid but the mime type
     *	    is unknown, then the status HXR_OK should be returned with
     *	    a mime type of NULL.
     *	    

⌨️ 快捷键说明

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