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

📄 hxfiles.h

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
    
    /************************************************************************
     *	Method:
     *	    IHXRequest::GetResponseHeaders
     *	Purpose:
     *	    Gets the headers that were returned in the RFC822 header section
     *	    of the response message
     */
    STDMETHOD(GetResponseHeaders)	(THIS_
					REF(IHXValues*) pResponseHeaders) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRequest::SetURL
     *	Purpose:
     *	    Sets the fully qualified path associated with a file object.
     *	    Note: On the server, this path does not include the file system
     *	    	mount point.
     */
    STDMETHOD(SetURL)			(THIS_
					const char* pURL) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRequest::GetURL
     *	Purpose:
     *	    Returns the fully qualified path associated with a file object.
     *	    Note: On the server, this path does not include the file system
     *	    	mount point.
     *
     *	    Note: The returned pointer's lifetime expires as soon as the
     *	    caller returns from a function which was called from the RMA
     *	    core (i.e. when you return control to the RMA core)
     */
    STDMETHOD(GetURL)			(THIS_
					REF(const char*) pURL) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileRename
 * 
 *  Purpose:
 * 
 *      Interface to allow renaming of files.  Query off of the File Object.
 *	Not all filesystem plugins implement this feature.
 * 
 *  IID_IHXFileRename:
 *  
 *	{00000214-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileRename, 0x00000214, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef  INTERFACE
#define INTERFACE   IHXFileRename

DECLARE_INTERFACE_(IHXFileRename, IUnknown)
{
    /*
     *	IUnknown methods
     */

    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     * IHXFileRename methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileRename::Rename
     *	Purpose:
     *	    Renames a file to a new name.
     */
    STDMETHOD(Rename)			(THIS_
					const char* pNewFileName) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileMove
 * 
 *  Purpose:
 * 
 *      Interface to allow removing of files.  Query off of the File Object.
 *	Not all filesystem plugins implement this feature.
 * 
 *  IID_IHXFileMove:
 *  
 *	{23E72FB0-DE0E-11d5-AA9A-00010251B340}
 * 
 */
DEFINE_GUID(IID_IHXFileMove, 0x23e72fb0, 0xde0e, 0x11d5, 0xaa, 0x9a, 0x0, 
			0x1, 0x2, 0x51, 0xb3, 0x40);

#undef  INTERFACE
#define INTERFACE   IHXFileMove

DECLARE_INTERFACE_(IHXFileMove, IUnknown)
{
    /*
     *	IUnknown methods
     */

    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     * IHXFileMove methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileMove::Move
     *	Purpose:
     *	    Moves a file to a different location in the file system
     */
    STDMETHOD(Move)			(THIS_
					const char* pNewFilePathName) PURE;
};
    

/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXDirHandler
 * 
 *  Purpose:
 * 
 *	Object that exports directory handler API
 * 
 *  IID_IHXDirHandler:
 * 
 *	{00000215-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXDirHandler, 0x00000215, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXDirHandler

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXDirHandler methods
     */

    /************************************************************************
     *	Method:
     *	    IHXDirHandler::InitDirHandler
     *	Purpose:
     *	    Associates a directory handler with the directory handler
     *	    response, it should notify of operation completness.
     */
    STDMETHOD(InitDirHandler)	(THIS_
				IHXDirHandlerResponse*    /*IN*/  pDirResponse) PURE;

    /************************************************************************
     *	Method:
     *	    IHXDirHandler::CloseDirHandler
     *	Purpose:
     *	    Closes the directory handler resource and releases all resources
     *	    associated with the object.
     */
    STDMETHOD(CloseDirHandler)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXDirHandler::MakeDir
     *	Purpose:
     *	    Create the directory
     */
    STDMETHOD(MakeDir)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXDirHandler::ReadDir
     *	Purpose:
     *	    Get a dump of the directory
     */
    STDMETHOD(ReadDir)	(THIS) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXDirHandlerResponse
 * 
 *  Purpose:
 * 
 *	Object that exports the directory handler response API
 * 
 *  IID_IHXDirHandlerResponse:
 * 
 *	{00000216-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXDirHandlerResponse, 0x00000216, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXDirHandlerResponse

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

    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;

    STDMETHOD_(ULONG32,Release)		(THIS) PURE;

    /*
     *	IHXDirHandlerResponse methods
     */

    /************************************************************************
     *	Method:
     *	    IHXDirHandlerResponse::InitDirHandlerDone
     *	Purpose:
     *	    Notification interface provided by users of the IHXDirHandler
     *	    interface. This method is called by the IHXDirHandler when the
     *	    initialization of the object is complete.
     */
    STDMETHOD(InitDirHandlerDone)	(THIS_
					HX_RESULT	    status) PURE;

    /************************************************************************
     *	Method:
     *	    IHXDirHandlerResponse::CloseDirHandlerDone
     *	Purpose:
     *	    Notification interface provided by users of the IHXDirHandler
     *	    interface. This method is called by the IHXDirHandler when the
     *	    close of the directory is complete.
     */
    STDMETHOD(CloseDirHandlerDone)	(THIS_
					HX_RESULT	    status) PURE;

    /************************************************************************
     *	Method:
     *	    IHXDirHandler::MakeDirDone
     *	Purpose:
     *	    Notification interface provided by users of the IHXDirHandler
     *	    interface. This method is called by the IHXDirHandler when the
     *	    attempt to create the directory is complete.
     */
    STDMETHOD(MakeDirDone)		(THIS_ 
					HX_RESULT	    status) PURE;

    /************************************************************************
     *	Method:
     *	    IHXDirHandler::ReadDirDone
     *	Purpose:
     *	    Notification interface provided by users of the IHXDirHandler
     *	    interface. This method is called by the IHXDirHandler when the
     *	    read from the directory is complete and a buffer is available.
     */
    STDMETHOD(ReadDirDone)		(THIS_ 
					HX_RESULT	    status,
					IHXBuffer*	    pBuffer) PURE;
};


// $Private:
/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXGetRecursionLevel
 * 
 *  Purpose:
 * 
 *	Set's Recursion Level
 * 
 *  IID_GetRecursionLevel:
 * 
 *	{00000218-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXGetRecursionLevel, 0x00000218, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXGetRecursionLevel

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

    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;

    STDMETHOD_(ULONG32,Release)		(THIS) PURE;

    /*
     *	IHXGetRecursionLevel methods
     */

    STDMETHOD_(UINT32, GetRecursionLevel)	(THIS) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileRestrictor
 * 
 *  Purpose:
 * 
 *	Allows restrictions on per file basis.  This will only get called for
 *  HTTP and it will only send in the localport.  Maybe some day.....
 * 
 *  IID_IHXFileRestrictor:
 * 
 *	{00000219-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileRestrictor, 0x00000219, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXFileRestrictor

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

    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;

    STDMETHOD_(ULONG32,Release)		(THIS) PURE;

    /*
     *	IHXFileRestrictor methods
     */

    STDMETHOD_(BOOL, IsAllowed)	(THIS_
				const char* url,
				ULONG32 LocalAddr,
				UINT16 LocalPort,
				ULONG32 RemoteAddr,
				UINT16 RemotePort) PURE;
};

// $EndPrivate.

/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFileRemove
 * 
 *  Purpose:
 * 
 *      Interface to allow removing of files.  Query off of the File Object.
 *	Not all filesystem plugins implement this feature.
 * 
 *  IID_IHXFileRemove:
 *  
 *	{0000021A-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFileRemove, 0x0000021A, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef  INTERFACE
#define INTERFACE   IHXFileRemove

DECLARE_INTERFACE_(IHXFileRemove, IUnknown)
{
    /*
     *	IUnknown methods
     */

    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*
     * IHXFileRemove methods
     */

    /************************************************************************
     *	Method:
     *	    IHXFileRemove::Remove
     *	Purpose:
     *	    Removes a file from the file system.
     */
    STDMETHOD(Remove)			(THIS) PURE;
};


// $Private:
/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXFastFileFactory
 * 
 *  Purpose:
 * 
 *      Interface to allow wrapping file objects with a buffer and block-sharing
 *	sceme.  Query off the server class factory.
 * 
 *  IID_IHXFastFileFactory:
 *  
 *	{0000021C-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXFastFileFactory, 0x0000021C, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#define CLSID_IHXFastFileFactory IID_IHXFastFileFactory

#undef  INTERFACE
#define INTERFACE   IHXFastFileFactory

DECLARE_INTERFACE_(IHXFastFileFactory, IUnknown)
{
    /*
     *	IUnknown methods
     */

    STDMETHOD(QueryInterface)   (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;

    STDMETHOD_(ULONG32,Release) (THIS) PURE;

    /*

⌨️ 快捷键说明

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